summaryrefslogtreecommitdiffstats
path: root/Lib/distutils/util.py
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2008-07-16 02:17:56 (GMT)
committerGeorg Brandl <georg@python.org>2008-07-16 02:17:56 (GMT)
commitfcaf910a1fe9739afcf3be41ac2db31e8286c40f (patch)
treebd41de5d54f438977672a0ae8285e0db5f9ccdab /Lib/distutils/util.py
parent26adf520f381c5902c82edbad1d341da6f03698d (diff)
downloadcpython-fcaf910a1fe9739afcf3be41ac2db31e8286c40f.zip
cpython-fcaf910a1fe9739afcf3be41ac2db31e8286c40f.tar.gz
cpython-fcaf910a1fe9739afcf3be41ac2db31e8286c40f.tar.bz2
Merged revisions 63955 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r63955 | ronald.oussoren | 2008-06-05 14:58:24 +0200 (Thu, 05 Jun 2008) | 20 lines MacOS X: Enable 4-way universal builds This patch adds a new configure argument on OSX: --with-universal-archs=[32-bit|64-bit|all] When used with the --enable-universalsdk option this controls which CPU architectures are includes in the framework. The default is 32-bit, meaning i386 and ppc. The most useful alternative is 'all', which includes all 4 CPU architectures supported by MacOS X (i386, ppc, x86_64 and ppc64). This includes limited support for the Carbon bindings in 64-bit mode as well, limited because (a) I haven't done extensive testing and (b) a large portion of the Carbon API's aren't available in 64-bit mode anyway. I've also duplicated a feature of Apple's build of python: setting the environment variable 'ARCHFLAGS' controls the '-arch' flags used for building extensions using distutils. ........
Diffstat (limited to 'Lib/distutils/util.py')
-rw-r--r--Lib/distutils/util.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py
index 72039a7..76798b9 100644
--- a/Lib/distutils/util.py
+++ b/Lib/distutils/util.py
@@ -124,12 +124,19 @@ def get_platform ():
osname = "macosx"
- if (release + '.') < '10.4.' and \
- get_config_vars().get('UNIVERSALSDK', '').strip():
+ if (release + '.') >= '10.4.' and \
+ '-arch' in get_config_vars().get('CFLAGS', '').strip():
# The universal build will build fat binaries, but not on
# systems before 10.4
+ #
+ # Try to detect 4-way universal builds, those have machine-type
+ # 'universal' instead of 'fat'.
+
machine = 'fat'
+ if '-arch x86_64' in get_config_vars().get('CFLAGS'):
+ machine = 'universal'
+
elif machine in ('PowerPC', 'Power_Macintosh'):
# Pick a sane name for the PPC architecture.
machine = 'ppc'