From: Ronald Oussoren Date: Tue, 15 Sep 2009 18:47:35 +0000 (+0000) Subject: Merged revisions 74798 via svnmerge from X-Git-Tag: v2.6.3rc1~64 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c6ddd7f9a7f6cfa06e6afc16d1cc300f8ac53a7c;p=python 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. ........ --- diff --git a/setup.py b/setup.py index 62f61d6478..38b24e7943 100644 --- a/setup.py +++ b/setup.py @@ -1501,19 +1501,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)],