diff setup.py @ 13734:16118b4859a1

util: add Mac-specific check whether we're in a GUI session (issue2553) The previous test assumed that 'os.name' was "mac" on Mac OS X. This is not the case; 'mac' was classic Mac OS, whereas Mac OS X has 'os.name' be 'posix'. Please note that this change will break Mercurial on hypothetical non-Mac OS X deployments of Darwin. Credit to Brodie Rao for thinking of CGSessionCopyCurrentDictionary() and Kevin Bullock for testing.
author Dan Villiom Podlaski Christiansen <danchr@gmail.com>
date Wed, 23 Mar 2011 09:43:34 +0100
parents 4e976235c985
children 861f28212398
line wrap: on
line diff
--- a/setup.py	Wed Mar 23 01:14:43 2011 +0100
+++ b/setup.py	Wed Mar 23 09:43:34 2011 +0100
@@ -314,11 +314,17 @@
     Extension('mercurial.parsers', ['mercurial/parsers.c']),
     ]
 
+osutil_ldflags = []
+
+if sys.platform == 'darwin':
+    osutil_ldflags += ['-framework', 'ApplicationServices']
+
 # disable osutil.c under windows + python 2.4 (issue1364)
 if sys.platform == 'win32' and sys.version_info < (2, 5, 0, 'final'):
     pymodules.append('mercurial.pure.osutil')
 else:
-    extmodules.append(Extension('mercurial.osutil', ['mercurial/osutil.c']))
+    extmodules.append(Extension('mercurial.osutil', ['mercurial/osutil.c'],
+                                extra_link_args=osutil_ldflags))
 
 if sys.platform == 'linux2' and os.uname()[2] > '2.6':
     # The inotify extension is only usable with Linux 2.6 kernels.