summaryrefslogtreecommitdiffstats
path: root/Lib/distutils/util.py
diff options
context:
space:
mode:
authorRonald Oussoren <ronaldoussoren@mac.com>2009-09-15 19:16:02 (GMT)
committerRonald Oussoren <ronaldoussoren@mac.com>2009-09-15 19:16:02 (GMT)
commitbea37aee6b2de078db2843e94c70a7a9206737f8 (patch)
tree4cebf23657b79786c8233c3bfb352848af1b85a8 /Lib/distutils/util.py
parentd097efe99f214894ae4d165db7a24c341936f6bd (diff)
downloadcpython-bea37aee6b2de078db2843e94c70a7a9206737f8.zip
cpython-bea37aee6b2de078db2843e94c70a7a9206737f8.tar.gz
cpython-bea37aee6b2de078db2843e94c70a7a9206737f8.tar.bz2
Merged revisions 74806 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r74806 | ronald.oussoren | 2009-09-15 21:13:15 +0200 (Tue, 15 Sep 2009) | 3 lines Finish support for --with-universal-archs=intel and --with-universal-archs=3-way (issue6245) ........
Diffstat (limited to 'Lib/distutils/util.py')
-rw-r--r--Lib/distutils/util.py25
1 files changed, 20 insertions, 5 deletions
diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py
index 0c88b81..6709bbf 100644
--- a/Lib/distutils/util.py
+++ b/Lib/distutils/util.py
@@ -144,11 +144,26 @@ def get_platform():
machine = 'fat'
cflags = get_config_vars().get('CFLAGS')
- if '-arch x86_64' in cflags:
- if '-arch i386' in cflags:
- machine = 'universal'
- else:
- machine = 'fat64'
+ archs = re.findall('-arch\s+(\S+)', cflags)
+ archs.sort()
+ archs = tuple(archs)
+
+ if len(archs) == 1:
+ machine = archs[0]
+ elif archs == ('i386', 'ppc'):
+ machine = 'fat'
+ elif archs == ('i386', 'x86_64'):
+ machine = 'intel'
+ elif archs == ('i386', 'ppc', 'x86_64'):
+ machine = 'fat3'
+ elif archs == ('ppc64', 'x86_64'):
+ machine = 'fat64'
+ elif archs == ('i386', 'ppc', 'ppc64', 'x86_64'):
+ machine = 'universal'
+ else:
+ raise ValueError(
+ "Don't know machine value for archs=%r"%(archs,))
+
elif machine in ('PowerPC', 'Power_Macintosh'):
# Pick a sane name for the PPC architecture.