[Python-checkins] r76653 - in python/branches/py3k: Lib/distutils/msvc9compiler.py Misc/NEWS
martin.v.loewis
python-checkins at python.org
Thu Dec 3 21:57:49 CET 2009
Author: martin.v.loewis
Date: Thu Dec 3 21:57:49 2009
New Revision: 76653
Log:
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.
........
Modified:
python/branches/py3k/ (props changed)
python/branches/py3k/Lib/distutils/msvc9compiler.py
python/branches/py3k/Misc/NEWS
Modified: python/branches/py3k/Lib/distutils/msvc9compiler.py
==============================================================================
--- python/branches/py3k/Lib/distutils/msvc9compiler.py (original)
+++ python/branches/py3k/Lib/distutils/msvc9compiler.py Thu Dec 3 21:57:49 2009
@@ -17,6 +17,7 @@
import os
import subprocess
import sys
+import re
from distutils.errors import DistutilsExecError, DistutilsPlatformError, \
CompileError, LibError, LinkError
@@ -645,6 +646,28 @@
mfid = 1
else:
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)
try:
self.spawn(['mt.exe', '-nologo', '-manifest',
Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS (original)
+++ python/branches/py3k/Misc/NEWS Thu Dec 3 21:57:49 2009
@@ -154,6 +154,9 @@
Library
-------
+- Issue #4120: Drop reference to CRT from manifest when building extensions with
+ msvc9compiler.
+
- Issue #7333: The `posix` module gains an `initgroups()` function providing
access to the initgroups(3) C library call on Unix systems which implement
it. Patch by Jean-Paul Calderone.
More information about the Python-checkins
mailing list