mirror of
https://github.com/python/cpython.git
synced 2025-09-29 11:45:57 +00:00
Issue #25850: Use cross-compilation by default for 64-bit Windows.
This commit is contained in:
commit
d8ce735e82
2 changed files with 7 additions and 16 deletions
|
@ -125,11 +125,11 @@ def _find_exe(exe, paths=None):
|
||||||
return exe
|
return exe
|
||||||
|
|
||||||
# A map keyed by get_platform() return values to values accepted by
|
# A map keyed by get_platform() return values to values accepted by
|
||||||
# 'vcvarsall.bat'. Note a cross-compile may combine these (eg, 'x86_amd64' is
|
# 'vcvarsall.bat'. Always cross-compile from x86 to work with the
|
||||||
# the param to cross-compile on x86 targetting amd64.)
|
# lighter-weight MSVC installs that do not include native 64-bit tools.
|
||||||
PLAT_TO_VCVARS = {
|
PLAT_TO_VCVARS = {
|
||||||
'win32' : 'x86',
|
'win32' : 'x86',
|
||||||
'win-amd64' : 'amd64',
|
'win-amd64' : 'x86_amd64',
|
||||||
}
|
}
|
||||||
|
|
||||||
# A map keyed by get_platform() return values to the file under
|
# A map keyed by get_platform() return values to the file under
|
||||||
|
@ -193,19 +193,8 @@ class MSVCCompiler(CCompiler) :
|
||||||
raise DistutilsPlatformError("--plat-name must be one of {}"
|
raise DistutilsPlatformError("--plat-name must be one of {}"
|
||||||
.format(tuple(PLAT_TO_VCVARS)))
|
.format(tuple(PLAT_TO_VCVARS)))
|
||||||
|
|
||||||
# On x86, 'vcvarsall.bat amd64' creates an env that doesn't work;
|
# Get the vcvarsall.bat spec for the requested platform.
|
||||||
# to cross compile, you use 'x86_amd64'.
|
plat_spec = PLAT_TO_VCVARS[plat_name]
|
||||||
# On AMD64, 'vcvarsall.bat amd64' is a native build env; to cross
|
|
||||||
# compile use 'x86' (ie, it runs the x86 compiler directly)
|
|
||||||
if plat_name == get_platform() or plat_name == 'win32':
|
|
||||||
# native build or cross-compile to win32
|
|
||||||
plat_spec = PLAT_TO_VCVARS[plat_name]
|
|
||||||
else:
|
|
||||||
# cross compile from win32 -> some 64bit
|
|
||||||
plat_spec = '{}_{}'.format(
|
|
||||||
PLAT_TO_VCVARS[get_platform()],
|
|
||||||
PLAT_TO_VCVARS[plat_name]
|
|
||||||
)
|
|
||||||
|
|
||||||
vc_env = _get_vc_env(plat_spec)
|
vc_env = _get_vc_env(plat_spec)
|
||||||
if not vc_env:
|
if not vc_env:
|
||||||
|
|
|
@ -131,6 +131,8 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #25850: Use cross-compilation by default for 64-bit Windows.
|
||||||
|
|
||||||
- Issue #25822: Add docstrings to the fields of urllib.parse results.
|
- Issue #25822: Add docstrings to the fields of urllib.parse results.
|
||||||
Patch contributed by Swati Jaiswal.
|
Patch contributed by Swati Jaiswal.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue