[Python-checkins] r57229 - python/trunk/Lib/distutils/util.py

mark.hammond python-checkins at python.org
Tue Aug 21 03:04:47 CEST 2007


Author: mark.hammond
Date: Tue Aug 21 03:04:47 2007
New Revision: 57229

Modified:
   python/trunk/Lib/distutils/util.py
Log:
[ 1761786 ] distutils.util.get_platform() return value on 64bit Windows
As discussed on distutils-sig: Allows the generated installer name on 
64bit Windows platforms to be different than the name generated for 
32bit Windows platforms.


Modified: python/trunk/Lib/distutils/util.py
==============================================================================
--- python/trunk/Lib/distutils/util.py	(original)
+++ python/trunk/Lib/distutils/util.py	Tue Aug 21 03:04:47 2007
@@ -29,8 +29,27 @@
        irix-5.3
        irix64-6.2
 
-    For non-POSIX platforms, currently just returns 'sys.platform'.
-    """
+    Windows will return one of:
+       win-x86_64 (64bit Windows on x86_64 (AMD64))
+       win-ia64 (64bit Windows on Itanium)
+       win32 (all others - specifically, sys.platform is returned)
+
+    For other non-POSIX platforms, currently just returns 'sys.platform'.
+    """
+    if os.name == 'nt':
+        # sniff sys.version for architecture.
+        prefix = " bit ("
+        i = string.find(sys.version, prefix)
+        if i == -1:
+            return sys.platform
+        j = string.find(sys.version, ")", i)
+        look = sys.version[i+len(prefix):j].lower()
+        if look=='amd64':
+            return 'win-x86_64'
+        if look=='itanium':
+            return 'win-ia64'
+        return sys.platform
+
     if os.name != "posix" or not hasattr(os, 'uname'):
         # XXX what about the architecture? NT is Intel or Alpha,
         # Mac OS is M68k or PPC, etc.


More information about the Python-checkins mailing list