mirror of
https://github.com/python/cpython.git
synced 2025-07-24 03:35:53 +00:00
Merged revisions 76651 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r76651 | martin.v.loewis | 2009-12-03 21:53:51 +0100 (Do, 03 Dez 2009) | 3 lines Issue #4120: Drop reference to CRT from manifest when building extensions with msvc9compiler. ........
This commit is contained in:
parent
71f09487fc
commit
1679ea849b
2 changed files with 26 additions and 0 deletions
|
@ -17,6 +17,7 @@ __revision__ = "$Id$"
|
||||||
import os
|
import os
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
|
import re
|
||||||
|
|
||||||
from distutils.errors import DistutilsExecError, DistutilsPlatformError, \
|
from distutils.errors import DistutilsExecError, DistutilsPlatformError, \
|
||||||
CompileError, LibError, LinkError
|
CompileError, LibError, LinkError
|
||||||
|
@ -645,6 +646,28 @@ class MSVCCompiler(CCompiler) :
|
||||||
mfid = 1
|
mfid = 1
|
||||||
else:
|
else:
|
||||||
mfid = 2
|
mfid = 2
|
||||||
|
try:
|
||||||
|
# Remove references to the Visual C runtime, so they will
|
||||||
|
# fall through to the Visual C dependency of Python.exe.
|
||||||
|
# This way, when installed for a restricted user (e.g.
|
||||||
|
# runtimes are not in WinSxS folder, but in Python's own
|
||||||
|
# folder), the runtimes do not need to be in every folder
|
||||||
|
# with .pyd's.
|
||||||
|
manifest_f = open(temp_manifest, "rb")
|
||||||
|
manifest_buf = manifest_f.read()
|
||||||
|
manifest_f.close()
|
||||||
|
pattern = re.compile(
|
||||||
|
r"""<assemblyIdentity.*?name=("|')Microsoft\."""\
|
||||||
|
r"""VC\d{2}\.CRT("|').*?(/>|</assemblyIdentity>)""",
|
||||||
|
re.DOTALL)
|
||||||
|
manifest_buf = re.sub(pattern, "", manifest_buf)
|
||||||
|
pattern = "<dependentAssembly>\s*</dependentAssembly>"
|
||||||
|
manifest_buf = re.sub(pattern, "", manifest_buf)
|
||||||
|
manifest_f = open(temp_manifest, "wb")
|
||||||
|
manifest_f.write(manifest_buf)
|
||||||
|
manifest_f.close()
|
||||||
|
except IOError:
|
||||||
|
pass
|
||||||
out_arg = '-outputresource:%s;%s' % (output_filename, mfid)
|
out_arg = '-outputresource:%s;%s' % (output_filename, mfid)
|
||||||
try:
|
try:
|
||||||
self.spawn(['mt.exe', '-nologo', '-manifest',
|
self.spawn(['mt.exe', '-nologo', '-manifest',
|
||||||
|
|
|
@ -154,6 +154,9 @@ C-API
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #4120: Drop reference to CRT from manifest when building extensions with
|
||||||
|
msvc9compiler.
|
||||||
|
|
||||||
- Issue #7333: The `posix` module gains an `initgroups()` function providing
|
- Issue #7333: The `posix` module gains an `initgroups()` function providing
|
||||||
access to the initgroups(3) C library call on Unix systems which implement
|
access to the initgroups(3) C library call on Unix systems which implement
|
||||||
it. Patch by Jean-Paul Calderone.
|
it. Patch by Jean-Paul Calderone.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue