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
d8ce735e
Commit
d8ce735e
authored
Jan 16, 2016
by
Steve Dower
Browse files
Options
Browse Files
Download
Plain Diff
Issue #25850: Use cross-compilation by default for 64-bit Windows.
parents
51578c0c
1d329413
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 @
d8ce735e
...
...
@@ -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 @
d8ce735e
...
...
@@ -131,6 +131,8 @@ Core and Builtins
Library
-------
- Issue #25850: Use cross-compilation by default for 64-bit Windows.
- Issue #25822: Add docstrings to the fields of urllib.parse results.
Patch contributed by Swati Jaiswal.
...
...
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