diff options
Diffstat (limited to 'src/engine/SCons/Environment.py')
| -rw-r--r-- | src/engine/SCons/Environment.py | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/src/engine/SCons/Environment.py b/src/engine/SCons/Environment.py index ca5df58..3e499b6 100644 --- a/src/engine/SCons/Environment.py +++ b/src/engine/SCons/Environment.py @@ -705,7 +705,7 @@ class SubstitutionEnvironment(object): # -symbolic (linker global binding) # -R dir (deprecated linker rpath) # IBM compilers may also accept -qframeworkdir=foo - + params = shlex.split(arg) append_next_arg_to = None # for multi-word args for arg in params: @@ -795,7 +795,7 @@ class SubstitutionEnvironment(object): append_next_arg_to = arg else: dict['CCFLAGS'].append(arg) - + for arg in flags: do_parse(arg) return dict @@ -859,7 +859,7 @@ class SubstitutionEnvironment(object): # def MergeShellPaths(self, args, prepend=1): # """ -# Merge the dict in args into the shell environment in env['ENV']. +# Merge the dict in args into the shell environment in env['ENV']. # Shell path elements are appended or prepended according to prepend. # Uses Pre/AppendENVPath, so it always appends or prepends uniquely. @@ -962,14 +962,14 @@ class Base(SubstitutionEnvironment): platform = SCons.Platform.Platform(platform) self._dict['PLATFORM'] = str(platform) platform(self) - + self._dict['HOST_OS'] = self._dict.get('HOST_OS',None) self._dict['HOST_ARCH'] = self._dict.get('HOST_ARCH',None) - + # Now set defaults for TARGET_{OS|ARCH} self._dict['TARGET_OS'] = self._dict.get('TARGET_OS',None) self._dict['TARGET_ARCH'] = self._dict.get('TARGET_ARCH',None) - + # Apply the passed-in and customizable variables to the # environment before calling the tools, because they may use @@ -1158,7 +1158,7 @@ class Base(SubstitutionEnvironment): # "continue" statements whenever we finish processing an item, # but Python 1.5.2 apparently doesn't let you use "continue" # within try:-except: blocks, so we have to nest our code. - try: + try: if key == 'CPPDEFINES' and SCons.Util.is_String(self._dict[key]): self._dict[key] = [self._dict[key]] orig = self._dict[key] @@ -1209,7 +1209,7 @@ class Base(SubstitutionEnvironment): orig = orig.items() orig += val self._dict[key] = orig - else: + else: for v in val: orig[v] = None else: @@ -1232,7 +1232,7 @@ class Base(SubstitutionEnvironment): path = str(self.fs.Dir(path)) return path - def AppendENVPath(self, name, newpath, envname = 'ENV', + def AppendENVPath(self, name, newpath, envname = 'ENV', sep = os.pathsep, delete_existing=1): """Append path elements to the path 'name' in the 'ENV' dictionary for this environment. Will only add any particular @@ -1290,7 +1290,7 @@ class Base(SubstitutionEnvironment): dk = dk.items() elif SCons.Util.is_String(dk): dk = [(dk,)] - else: + else: tmp = [] for i in dk: if SCons.Util.is_List(i): @@ -1335,7 +1335,7 @@ class Base(SubstitutionEnvironment): dk = filter(lambda x, val=val: x not in val, dk) self._dict[key] = dk + val else: - dk = [x for x in dk if x not in val] + dk = [x for x in dk if x not in val] self._dict[key] = dk + val else: # By elimination, val is not a list. Since dk is a @@ -1382,7 +1382,7 @@ class Base(SubstitutionEnvironment): builders = self._dict['BUILDERS'] except KeyError: pass - + clone = copy.copy(self) # BUILDERS is not safe to do a simple copy clone._dict = semi_deepcopy_dict(self._dict, ['BUILDERS']) @@ -1410,7 +1410,7 @@ class Base(SubstitutionEnvironment): apply_tools(clone, tools, toolpath) # apply them again in case the tools overwrote them - clone.Replace(**new) + clone.Replace(**new) # Finally, apply any flags to be merged in if parse_flags: clone.MergeFlags(parse_flags) @@ -2087,6 +2087,14 @@ class Base(SubstitutionEnvironment): t.set_precious() return tlist + def Pseudo(self, *targets): + tlist = [] + for t in targets: + tlist.extend(self.arg2nodes(t, self.fs.Entry)) + for t in tlist: + t.set_pseudo() + return tlist + def Repository(self, *dirs, **kw): dirs = self.arg2nodes(list(dirs), self.fs.Dir) self.fs.Repository(*dirs, **kw) |
