Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Doc/distutils/apiref.rst
Original file line number Diff line number Diff line change
Expand Up @@ -814,13 +814,13 @@ This module provides the :class:`UnixCCompiler` class, a subclass of
.. module:: distutils.msvccompiler
:synopsis: Microsoft Compiler

.. XXX: This is *waaaaay* out of date!

This module provides :class:`MSVCCompiler`, an implementation of the abstract
:class:`CCompiler` class for Microsoft Visual Studio. Typically, extension
modules need to be compiled with the same compiler that was used to compile
Python. For Python 2.3 and earlier, the compiler was Visual Studio 6. For Python
2.4 and 2.5, the compiler is Visual Studio .NET 2003. The AMD64 and Itanium
binaries are created using the Platform SDK.
2.4 and 2.5, the compiler is Visual Studio .NET 2003.

:class:`MSVCCompiler` will normally choose the right compiler, linker etc. on
its own. To override this choice, the environment variables *DISTUTILS_USE_SDK*
Expand Down
4 changes: 2 additions & 2 deletions Doc/distutils/builtdist.rst
Original file line number Diff line number Diff line change
Expand Up @@ -351,8 +351,8 @@ installed, you can use a 32bit version of Windows to create 64bit extensions
and vice-versa.

To build for an alternate platform, specify the :option:`!--plat-name` option
to the build command. Valid values are currently 'win32', 'win-amd64' and
'win-ia64'. For example, on a 32bit version of Windows, you could execute::
to the build command. Valid values are currently 'win32', and 'win-amd64'.
For example, on a 32bit version of Windows, you could execute::

python setup.py build --plat-name=win-amd64

Expand Down
1 change: 0 additions & 1 deletion Doc/library/sysconfig.rst
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,6 @@ Other functions
Windows will return one of:

- win-amd64 (64bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc)
- win-ia64 (64bit Windows on Itanium)
- win32 (all others - specifically, sys.platform is returned)

Mac OS X can return:
Expand Down
2 changes: 1 addition & 1 deletion Lib/distutils/command/build_ext.py
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ def finalize_options(self):
if self.plat_name == 'win32':
suffix = 'win32'
else:
# win-amd64 or win-ia64
# win-amd64
suffix = self.plat_name[4:]
new_lib = os.path.join(sys.exec_prefix, 'PCbuild')
if suffix:
Expand Down
4 changes: 1 addition & 3 deletions Lib/distutils/msvc9compiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@
PLAT_TO_VCVARS = {
'win32' : 'x86',
'win-amd64' : 'amd64',
'win-ia64' : 'ia64',
}

class Reg:
Expand Down Expand Up @@ -344,7 +343,7 @@ def initialize(self, plat_name=None):
if plat_name is None:
plat_name = get_platform()
# sanity check for platforms to prevent obscure errors later.
ok_plats = 'win32', 'win-amd64', 'win-ia64'
ok_plats = 'win32', 'win-amd64'
if plat_name not in ok_plats:
raise DistutilsPlatformError("--plat-name must be one of %s" %
(ok_plats,))
Expand All @@ -362,7 +361,6 @@ def initialize(self, plat_name=None):
# to cross compile, you use 'x86_amd64'.
# On AMD64, 'vcvars32.bat amd64' is a native build env; to cross
# compile use 'x86' (ie, it runs the x86 compiler directly)
# No idea how itanium handles this, if at all.
if plat_name == get_platform() or plat_name == 'win32':
# native build or cross-compile to win32
plat_spec = PLAT_TO_VCVARS[plat_name]
Expand Down
2 changes: 1 addition & 1 deletion Lib/distutils/msvccompiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ def get_build_version():
def get_build_architecture():
"""Return the processor architecture.

Possible results are "Intel", "Itanium", or "AMD64".
Possible results are "Intel" or "AMD64".
"""

prefix = " bit ("
Expand Down
7 changes: 0 additions & 7 deletions Lib/distutils/tests/test_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,13 +78,6 @@ def test_get_platform(self):
sys.platform = 'win32'
self.assertEqual(get_platform(), 'win-amd64')

# windows XP, itanium
os.name = 'nt'
sys.version = ('2.4.4 (#71, Oct 18 2006, 08:34:43) '
'[MSC v.1310 32 bit (Itanium)]')
sys.platform = 'win32'
self.assertEqual(get_platform(), 'win-ia64')

# macbook
os.name = 'posix'
sys.version = ('2.5 (r25:51918, Sep 19 2006, 08:49:13) '
Expand Down
12 changes: 1 addition & 11 deletions Lib/distutils/util.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,24 +30,14 @@ def get_platform ():

Windows will return one of:
win-amd64 (64bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc)
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 = sys.version.find(prefix)
if i == -1:
return sys.platform
j = sys.version.find(")", i)
look = sys.version[i+len(prefix):j].lower()
if look == 'amd64':
if 'amd64' in sys.version.lower():
return 'win-amd64'
if look == 'itanium':
return 'win-ia64'
return sys.platform

# Set for cross builds explicitly
Expand Down
8 changes: 2 additions & 6 deletions Lib/msilib/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@
import sys

AMD64 = "AMD64" in sys.version
Itanium = "Itanium" in sys.version
Win64 = AMD64 or Itanium

# Partially taken from Wine
datasizemask= 0x00ff
Expand Down Expand Up @@ -150,9 +148,7 @@ def init_database(name, schema,
si.SetProperty(PID_TITLE, "Installation Database")
si.SetProperty(PID_SUBJECT, ProductName)
si.SetProperty(PID_AUTHOR, Manufacturer)
if Itanium:
si.SetProperty(PID_TEMPLATE, "Intel64;1033")
elif AMD64:
if AMD64:
si.SetProperty(PID_TEMPLATE, "x64;1033")
else:
si.SetProperty(PID_TEMPLATE, "Intel;1033")
Expand Down Expand Up @@ -272,7 +268,7 @@ def start_component(self, component = None, feature = None, flags = None, keyfil
if component is None:
component = self.logical
self.component = component
if Win64:
if AMD64:
flags |= 256
if keyfile:
keyid = self.cab.gen_id(self.absolute, keyfile)
Expand Down
12 changes: 1 addition & 11 deletions Lib/sysconfig.py
Original file line number Diff line number Diff line change
Expand Up @@ -611,24 +611,14 @@ def get_platform():

Windows will return one of:
win-amd64 (64bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc)
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 = sys.version.find(prefix)
if i == -1:
return sys.platform
j = sys.version.find(")", i)
look = sys.version[i+len(prefix):j].lower()
if look == 'amd64':
if 'amd64' in sys.version.lower():
return 'win-amd64'
if look == 'itanium':
return 'win-ia64'
return sys.platform

if os.name != "posix" or not hasattr(os, 'uname'):
Expand Down
7 changes: 0 additions & 7 deletions Lib/test/test_sysconfig.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,13 +119,6 @@ def test_get_platform(self):
sys.platform = 'win32'
self.assertEqual(get_platform(), 'win-amd64')

# windows XP, itanium
os.name = 'nt'
sys.version = ('2.4.4 (#71, Oct 18 2006, 08:34:43) '
'[MSC v.1310 32 bit (Itanium)]')
sys.platform = 'win32'
self.assertEqual(get_platform(), 'win-ia64')

# macbook
os.name = 'posix'
sys.version = ('2.5 (r25:51918, Sep 19 2006, 08:49:13) '
Expand Down
6 changes: 0 additions & 6 deletions PC/config.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@
#include "Python.h"

extern PyObject* PyInit_array(void);
#ifndef MS_WINI64
extern PyObject* PyInit_audioop(void);
#endif
extern PyObject* PyInit_binascii(void);
extern PyObject* PyInit_cmath(void);
extern PyObject* PyInit_errno(void);
Expand Down Expand Up @@ -80,11 +78,7 @@ struct _inittab _PyImport_Inittab[] = {

{"array", PyInit_array},
{"_ast", PyInit__ast},
#ifdef MS_WINDOWS
#ifndef MS_WINI64
{"audioop", PyInit_audioop},
#endif
#endif
{"binascii", PyInit_binascii},
{"cmath", PyInit_cmath},
{"errno", PyInit_errno},
Expand Down
9 changes: 1 addition & 8 deletions PC/pyconfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -112,26 +112,19 @@ WIN32 is still required for the locale module.
defined on Win32 *and* Win64. Win32 only code must therefore be
guarded as follows:
#if defined(MS_WIN32) && !defined(MS_WIN64)
Some modules are disabled on Itanium processors, therefore we
have MS_WINI64 set for those targets, otherwise MS_WINX64
*/
#ifdef _WIN64
#define MS_WIN64
#endif

/* set the COMPILER */
#ifdef MS_WIN64
#if defined(_M_IA64)
#define COMPILER _Py_PASTE_VERSION("64 bit (Itanium)")
#define MS_WINI64
#define PYD_PLATFORM_TAG "win_ia64"
#elif defined(_M_X64) || defined(_M_AMD64)
#if defined(_M_X64) || defined(_M_AMD64)
#if defined(__INTEL_COMPILER)
#define COMPILER ("[ICC v." _Py_STRINGIZE(__INTEL_COMPILER) " 64 bit (amd64) with MSC v." _Py_STRINGIZE(_MSC_VER) " CRT]")
#else
#define COMPILER _Py_PASTE_VERSION("64 bit (AMD64)")
#endif /* __INTEL_COMPILER */
#define MS_WINX64
#define PYD_PLATFORM_TAG "win_amd64"
#else
#define COMPILER _Py_PASTE_VERSION("64 bit (Unknown)")
Expand Down