Commit acd8349d authored by Amaury Forgeot d'Arc's avatar Amaury Forgeot d'Arc

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.
........
parent 82e68f4b
......@@ -193,6 +193,17 @@ def normalize_and_reduce_paths(paths):
reduced_paths.append(np)
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):
"""Find the vcvarsall.bat file
......@@ -252,12 +263,12 @@ def query_vcvarsall(version, arch="x86"):
if '=' not in line:
continue
line = line.strip()
key, value = line.split('=')
key, value = line.split('=', 1)
key = key.lower()
if key in interesting:
if value.endswith(os.pathsep):
value = value[:-1]
result[key] = value
result[key] = removeDuplicates(value)
if len(result) != len(interesting):
raise ValueError(str(list(result.keys())))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment