diff options
| author | Gary Oberbrunner <garyo@oberbrunner.com> | 2014-08-23 20:28:44 (GMT) |
|---|---|---|
| committer | Gary Oberbrunner <garyo@oberbrunner.com> | 2014-08-23 20:28:44 (GMT) |
| commit | a7d764ed831fa3243aa0bd3307f641e1e1f9f8a8 (patch) | |
| tree | 0193d9406107790a66098254869e4b070aa6cacc /src/engine/SCons/Environment.py | |
| parent | a6ea2d760464092ea91a0dd01ba6260288aa3587 (diff) | |
| parent | 6db60dbe1c3dc28f24bfca48135bcb4bc9bd66d6 (diff) | |
| download | SCons-a7d764ed831fa3243aa0bd3307f641e1e1f9f8a8.zip SCons-a7d764ed831fa3243aa0bd3307f641e1e1f9f8a8.tar.gz SCons-a7d764ed831fa3243aa0bd3307f641e1e1f9f8a8.tar.bz2 | |
Merged default branch into python3-port to keep it up to date.
Hand-updated a few things to keep them python3-safe, and handled
several merge conflicts.
Diffstat (limited to 'src/engine/SCons/Environment.py')
| -rw-r--r-- | src/engine/SCons/Environment.py | 46 |
1 files changed, 35 insertions, 11 deletions
diff --git a/src/engine/SCons/Environment.py b/src/engine/SCons/Environment.py index 737289b..59390f7 100644 --- a/src/engine/SCons/Environment.py +++ b/src/engine/SCons/Environment.py @@ -1206,7 +1206,13 @@ class Base(SubstitutionEnvironment): # based on what we think the value looks like. if SCons.Util.is_List(val): if key == 'CPPDEFINES': - orig = list(orig.items()) + tmp = [] + for (k, v) in orig.iteritems(): + if v is not None: + tmp.append((k, v)) + else: + tmp.append((k,)) + orig = tmp orig += val self._dict[key] = orig else: @@ -1286,8 +1292,15 @@ class Base(SubstitutionEnvironment): else: tmp.append((i,)) val = tmp + # Construct a list of (key, value) tuples. if SCons.Util.is_Dict(dk): - dk = list(dk.items()) + tmp = [] + for (k, v) in dk.iteritems(): + if v is not None: + tmp.append((k, v)) + else: + tmp.append((k,)) + dk = tmp elif SCons.Util.is_String(dk): dk = [(dk,)] else: @@ -1327,8 +1340,15 @@ class Base(SubstitutionEnvironment): else: tmp.append((i,)) dk = tmp + # Construct a list of (key, value) tuples. if SCons.Util.is_Dict(val): - val = list(val.items()) + tmp = [] + for (k, v) in val.iteritems(): + if v is not None: + tmp.append((k, v)) + else: + tmp.append((k,)) + val = tmp elif SCons.Util.is_String(val): val = [(val,)] if delete_existing: @@ -1351,7 +1371,13 @@ class Base(SubstitutionEnvironment): if SCons.Util.is_String(dk): dk = [dk] elif SCons.Util.is_Dict(dk): - dk = list(dk.items()) + tmp = [] + for (k, v) in dk.iteritems(): + if v is not None: + tmp.append((k, v)) + else: + tmp.append((k,)) + dk = tmp if SCons.Util.is_String(val): if val in dk: val = [] @@ -1378,10 +1404,8 @@ class Base(SubstitutionEnvironment): (like a function). There are no references to any mutable objects in the original Environment. """ - try: - builders = self._dict['BUILDERS'] - except KeyError: - pass + + builders = self._dict.get('BUILDERS', {}) clone = copy.copy(self) # BUILDERS is not safe to do a simple copy @@ -1803,8 +1827,8 @@ class Base(SubstitutionEnvironment): pass elif SCons.Util.is_String(pathext): pathext = self.subst(pathext) - prog = self.subst(prog) - path = SCons.Util.WhereIs(prog, path, pathext, reject) + prog = SCons.Util.CLVar(self.subst(prog)) # support "program --with-args" + path = SCons.Util.WhereIs(prog[0], path, pathext, reject) if path: return path return None @@ -2149,7 +2173,7 @@ class Base(SubstitutionEnvironment): def SourceCode(self, entry, builder): """Arrange for a source code builder for (part of) a tree.""" msg = """SourceCode() has been deprecated and there is no replacement. -\tIf you need this function, please contact dev@scons.tigris.org.""" +\tIf you need this function, please contact scons-dev@scons.org""" SCons.Warnings.warn(SCons.Warnings.DeprecatedSourceCodeWarning, msg) entries = self.arg2nodes(entry, self.fs.Entry) for entry in entries: |
