Navigation Menu

Skip to content

Commit

Permalink
Remove all mention of Windows IA-64 support (GH-3389)
Browse files Browse the repository at this point in the history
It was mostly removed long ago.
  • Loading branch information
zware committed Sep 6, 2017
1 parent effc12f commit 49ce74e
Show file tree
Hide file tree
Showing 13 changed files with 12 additions and 66 deletions.
4 changes: 2 additions & 2 deletions Doc/distutils/apiref.rst
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
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
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
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
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
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
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
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
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
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
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
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
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

0 comments on commit 49ce74e

Please sign in to comment.