[Python-checkins] r77029 - in python/branches/release31-maint: Lib/distutils/util.py

ronald.oussoren python-checkins at python.org
Thu Dec 24 14:16:53 CET 2009


Author: ronald.oussoren
Date: Thu Dec 24 14:16:53 2009
New Revision: 77029

Log:
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.
  ........
................


Modified:
   python/branches/release31-maint/   (props changed)
   python/branches/release31-maint/Lib/distutils/util.py

Modified: python/branches/release31-maint/Lib/distutils/util.py
==============================================================================
--- python/branches/release31-maint/Lib/distutils/util.py	(original)
+++ python/branches/release31-maint/Lib/distutils/util.py	Thu Dec 24 14:16:53 2009
@@ -162,11 +162,21 @@
                     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 ()


More information about the Python-checkins mailing list