[ 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.
This commit is contained in:
Mark Hammond 2007-08-21 01:04:47 +00:00
parent c65a5f1b14
commit e4f271f38d
1 changed files with 20 additions and 1 deletions

View File

@ -29,8 +29,27 @@ def get_platform ():
irix-5.3 irix-5.3
irix64-6.2 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'): if os.name != "posix" or not hasattr(os, 'uname'):
# XXX what about the architecture? NT is Intel or Alpha, # XXX what about the architecture? NT is Intel or Alpha,
# Mac OS is M68k or PPC, etc. # Mac OS is M68k or PPC, etc.