summaryrefslogtreecommitdiffstats
path: root/setup.py
diff options
context:
space:
mode:
authorRonald Oussoren <ronaldoussoren@mac.com>2009-09-15 18:33:33 (GMT)
committerRonald Oussoren <ronaldoussoren@mac.com>2009-09-15 18:33:33 (GMT)
commit91a11a46c0dfc01702bbd315fbb424aef2ccd45c (patch)
treedf3642d0b602a11ac7f4975403c27622713baf5a /setup.py
parentea7120c7c1b37f12af31dfcc07f849ed0a5287d9 (diff)
downloadcpython-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.py24
1 files changed, 11 insertions, 13 deletions
diff --git a/setup.py b/setup.py
index 421271e..e128697 100644
--- a/setup.py
+++ b/setup.py
@@ -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)],