From 8ab31014bfb4286c3459d5fcbe1465ea92ed03de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Thu, 3 Dec 2009 21:14:10 +0000 Subject: [PATCH] Merged revisions 76653 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r76653 | martin.v.loewis | 2009-12-03 21:57:49 +0100 (Do, 03 Dez 2009) | 10 lines 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. ........ ................ --- Lib/distutils/msvc9compiler.py | 23 +++++++++++++++++++++++ Misc/NEWS | 3 +++ 2 files changed, 26 insertions(+) diff --git a/Lib/distutils/msvc9compiler.py b/Lib/distutils/msvc9compiler.py index ef895422c68..c84fb0b4a68 100644 --- a/Lib/distutils/msvc9compiler.py +++ b/Lib/distutils/msvc9compiler.py @@ -17,6 +17,7 @@ __revision__ = "$Id$" import os import subprocess import sys +import re from distutils.errors import DistutilsExecError, DistutilsPlatformError, \ CompileError, LibError, LinkError @@ -645,6 +646,28 @@ class MSVCCompiler(CCompiler) : 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"""|)""", + re.DOTALL) + manifest_buf = re.sub(pattern, "", manifest_buf) + pattern = "\s*" + 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', diff --git a/Misc/NEWS b/Misc/NEWS index 545b46b2231..095bd6e57a7 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -55,6 +55,9 @@ Core and Builtins Library ------- +- Issue #4120: Drop reference to CRT from manifest when building extensions with + msvc9compiler. + - Issue #7410: deepcopy of itertools.count was resetting the count. - Issue #4486: When an exception has an explicit cause, do not print its