diff options
author | Ronald Oussoren <ronaldoussoren@mac.com> | 2009-12-24 13:16:53 (GMT) |
---|---|---|
committer | Ronald Oussoren <ronaldoussoren@mac.com> | 2009-12-24 13:16:53 (GMT) |
commit | 38ce3de0f466e3537efe316ebe31a7769187bbc3 (patch) | |
tree | 8f488938f4b056a3f8e484853397ad89fa808102 /Lib/distutils | |
parent | bbea7dc404e61643a9592626cb8345ddc03665fc (diff) | |
download | cpython-38ce3de0f466e3537efe316ebe31a7769187bbc3.zip cpython-38ce3de0f466e3537efe316ebe31a7769187bbc3.tar.gz cpython-38ce3de0f466e3537efe316ebe31a7769187bbc3.tar.bz2 |
Merged revisions 77028 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
................
r77028 | ronald.oussoren | 2009-12-24 14:14:21 +0100 (Thu, 24 Dec 2009) | 15 lines
Merged revisions 77026 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r77026 | ronald.oussoren | 2009-12-24 14:06:39 +0100 (Thu, 24 Dec 2009) | 8 lines
On OSX the output of "uname -m" always reflects the 32-bit architecture
for the machine ("i386" or "ppc"), even if the executable is
64-bit.
This patchs ensures that the distutils platform architecture
represents the architecture for the executable when running a
64-bit only executable on OSX.
........
................
Diffstat (limited to 'Lib/distutils')
-rw-r--r-- | Lib/distutils/util.py | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py index 50ad8fe..9a77561 100644 --- a/Lib/distutils/util.py +++ b/Lib/distutils/util.py @@ -162,11 +162,21 @@ def get_platform (): raise ValueError( "Don't know machine value for archs=%r"%(archs,)) + elif machine == 'i386': + # On OSX the machine type returned by uname is always the + # 32-bit variant, even if the executable architecture is + # the 64-bit variant + if sys.maxsize >= 2**32: + machine = 'x86_64' elif machine in ('PowerPC', 'Power_Macintosh'): # Pick a sane name for the PPC architecture. machine = 'ppc' + # See 'i386' case + if sys.maxsize >= 2**32: + machine = 'ppc64' + return "%s-%s-%s" % (osname, release, machine) # get_platform () |