mirror of https://github.com/python/cpython.git
Merged revisions 66171 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r66171 | amaury.forgeotdarc | 2008-09-03 01:19:56 +0200 (mer., 03 sept. 2008) | 9 lines Issue 2975: when compiling multiple extension modules with visual studio 2008 from the same python instance, some environment variables (LIB, INCLUDE) would grow without limit. Tested with these statements: distutils.ccompiler.new_compiler().initialize() print os.environ['LIB'] But I don't know how to turn them into reliable unit tests. ........
This commit is contained in:
parent
ebad7f0d47
commit
d8976f12d4
|
@ -193,6 +193,17 @@ def normalize_and_reduce_paths(paths):
|
||||||
reduced_paths.append(np)
|
reduced_paths.append(np)
|
||||||
return reduced_paths
|
return reduced_paths
|
||||||
|
|
||||||
|
def removeDuplicates(variable):
|
||||||
|
"""Remove duplicate values of an environment variable.
|
||||||
|
"""
|
||||||
|
oldList = variable.split(os.pathsep)
|
||||||
|
newList = []
|
||||||
|
for i in oldList:
|
||||||
|
if i not in newList:
|
||||||
|
newList.append(i)
|
||||||
|
newVariable = os.pathsep.join(newList)
|
||||||
|
return newVariable
|
||||||
|
|
||||||
def find_vcvarsall(version):
|
def find_vcvarsall(version):
|
||||||
"""Find the vcvarsall.bat file
|
"""Find the vcvarsall.bat file
|
||||||
|
|
||||||
|
@ -252,12 +263,12 @@ def query_vcvarsall(version, arch="x86"):
|
||||||
if '=' not in line:
|
if '=' not in line:
|
||||||
continue
|
continue
|
||||||
line = line.strip()
|
line = line.strip()
|
||||||
key, value = line.split('=')
|
key, value = line.split('=', 1)
|
||||||
key = key.lower()
|
key = key.lower()
|
||||||
if key in interesting:
|
if key in interesting:
|
||||||
if value.endswith(os.pathsep):
|
if value.endswith(os.pathsep):
|
||||||
value = value[:-1]
|
value = value[:-1]
|
||||||
result[key] = value
|
result[key] = removeDuplicates(value)
|
||||||
|
|
||||||
if len(result) != len(interesting):
|
if len(result) != len(interesting):
|
||||||
raise ValueError(str(list(result.keys())))
|
raise ValueError(str(list(result.keys())))
|
||||||
|
|
|
@ -74,6 +74,10 @@ Library
|
||||||
Extension Modules
|
Extension Modules
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
- Issue #2975: When compiling several extension modules with Visual Studio 2008
|
||||||
|
from the same python interpreter, some environment variables would grow
|
||||||
|
without limit.
|
||||||
|
|
||||||
- Issue #3643: Added a few more checks to _testcapi to prevent segfaults by
|
- Issue #3643: Added a few more checks to _testcapi to prevent segfaults by
|
||||||
exploitation of poor argument checking.
|
exploitation of poor argument checking.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue