diff options
author | Ronald Oussoren <ronaldoussoren@mac.com> | 2009-09-15 18:33:33 (GMT) |
---|---|---|
committer | Ronald Oussoren <ronaldoussoren@mac.com> | 2009-09-15 18:33:33 (GMT) |
commit | 91a11a46c0dfc01702bbd315fbb424aef2ccd45c (patch) | |
tree | df3642d0b602a11ac7f4975403c27622713baf5a /setup.py | |
parent | ea7120c7c1b37f12af31dfcc07f849ed0a5287d9 (diff) | |
download | cpython-91a11a46c0dfc01702bbd315fbb424aef2ccd45c.zip cpython-91a11a46c0dfc01702bbd315fbb424aef2ccd45c.tar.gz cpython-91a11a46c0dfc01702bbd315fbb424aef2ccd45c.tar.bz2 |
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.
Diffstat (limited to 'setup.py')
-rw-r--r-- | setup.py | 24 |
1 files changed, 11 insertions, 13 deletions
@@ -1499,19 +1499,17 @@ class PyBuildExt(build_ext): # 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 - - for a in archs: - frameworks.append('-arch') - frameworks.append(a) + fp = os.popen("file %s/Tk.framework/Tk | grep 'for architecture'"%(F,)) + detected_archs = [] + for ln in fp: + a = ln.split()[-1] + if a in archs: + detected_archs.append(ln.split()[-1]) + fp.close() + + for a in detected_archs: + frameworks.append('-arch') + frameworks.append(a) ext = Extension('_tkinter', ['_tkinter.c', 'tkappinit.c'], define_macros=[('WITH_APPINIT', 1)], |