From ecc6081b3efb5f9d6117acfde692360226eae798 Mon Sep 17 00:00:00 2001 From: Ronald Oussoren Date: Thu, 24 Dec 2009 13:14:21 +0000 Subject: 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. ........ --- Lib/distutils/util.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Lib/distutils/util.py b/Lib/distutils/util.py index cca7b49..8adf6e0 100644 --- a/Lib/distutils/util.py +++ b/Lib/distutils/util.py @@ -165,11 +165,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) -- cgit v0.12