Mercurial > cpython-lru_cache-weakref
diff setup.py @ 55971:4e7f6bc810b3 3.1
Merged revisions 74804 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
................
r74804 | ronald.oussoren | 2009-09-15 21:07:58 +0200 (Tue, 15 Sep 2009) | 15 lines
Merged revisions 74798 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r74798 | ronald.oussoren | 2009-09-15 20:33:33 +0200 (Tue, 15 Sep 2009) | 8 lines
MacOSX: detect the architectures supported by
Tk.framework and build _tkinter only for those
architectures.
This replaces the hardcoded solution that is no
longer valid now that 64-bit capable versions of
Tk are available on OSX.
........
................
| author | Ronald Oussoren <ronaldoussoren@mac.com> |
|---|---|
| date | Tue, 15 Sep 2009 19:11:53 +0000 |
| parents | 5c8b2238a2f5 |
| children | 3d77d7c16c90 |
line wrap: on
line diff
--- a/setup.py Tue Sep 15 18:57:03 2009 +0000 +++ b/setup.py Tue Sep 15 19:11:53 2009 +0000 @@ -1272,19 +1272,26 @@ # architectures. cflags = sysconfig.get_config_vars('CFLAGS')[0] archs = re.findall('-arch\s+(\w+)', cflags) - if 'x86_64' in archs or 'ppc64' in archs: - try: - archs.remove('x86_64') - except ValueError: - pass - try: - archs.remove('ppc64') - except ValueError: - pass + + tmpfile = os.path.join(self.build_temp, 'tk.arch') + if not os.path.exists(self.build_temp): + os.makedirs(self.build_temp) - for a in archs: - frameworks.append('-arch') - frameworks.append(a) + # Note: cannot use os.popen or subprocess here, that + # requires extensions that are not available here. + os.system("file %s/Tk.framework/Tk | grep 'for architecture' > %s"%(F, tmpfile)) + fp = open(tmpfile) + detected_archs = [] + for ln in fp: + a = ln.split()[-1] + if a in archs: + detected_archs.append(ln.split()[-1]) + fp.close() + os.unlink(tmpfile) + + for a in detected_archs: + frameworks.append('-arch') + frameworks.append(a) ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'], define_macros=[('WITH_APPINIT', 1)],
