Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
1d329413
Commit
1d329413
authored
Jan 16, 2016
by
Steve Dower
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Issue #25850: Use cross-compilation by default for 64-bit Windows.
parent
e248f687
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
7 additions
and
16 deletions
+7
-16
Lib/distutils/_msvccompiler.py
Lib/distutils/_msvccompiler.py
+5
-16
Misc/NEWS
Misc/NEWS
+2
-0
No files found.
Lib/distutils/_msvccompiler.py
View file @
1d329413
...
...
@@ -125,11 +125,11 @@ def _find_exe(exe, paths=None):
return
exe
# 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
#
the param to cross-compile on x86 targetting amd64.)
# 'vcvarsall.bat'.
Always cross-compile from x86 to work with the
#
lighter-weight MSVC installs that do not include native 64-bit tools.
PLAT_TO_VCVARS
=
{
'win32'
:
'x86'
,
'win-amd64'
:
'amd64'
,
'win-amd64'
:
'
x86_
amd64'
,
}
# 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 {}"
.
format
(
tuple
(
PLAT_TO_VCVARS
)))
# On x86, 'vcvarsall.bat amd64' creates an env that doesn't work;
# to cross compile, you use 'x86_amd64'.
# 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
# Get the vcvarsall.bat spec for the requested platform.
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
)
if
not
vc_env
:
...
...
Misc/NEWS
View file @
1d329413
...
...
@@ -44,6 +44,8 @@ Core and Builtins
Library
-------
- Issue #25850: Use cross-compilation by default for 64-bit Windows.
- Issue #17633: Improve zipimport'
s
support
for
namespace
packages
.
-
Issue
#
24705
:
Fix
sysconfig
.
_parse_makefile
not
expanding
${}
vars
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment