diff options
author | Steven Knight <knight@baldmt.com> | 2004-04-02 03:49:02 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2004-04-02 03:49:02 (GMT) |
commit | 9c4625382959ec8dbd113beb75cf5eac1f1cde7c (patch) | |
tree | 901065967750b3278a55cafbe343fd198ca3843c /src/engine/SCons/Environment.py | |
parent | 25b984647e137b2b63c2a32e791c95c7cc2fedae (diff) | |
download | SCons-9c4625382959ec8dbd113beb75cf5eac1f1cde7c.zip SCons-9c4625382959ec8dbd113beb75cf5eac1f1cde7c.tar.gz SCons-9c4625382959ec8dbd113beb75cf5eac1f1cde7c.tar.bz2 |
Fix Command() when not called through an Environment.
Diffstat (limited to 'src/engine/SCons/Environment.py')
-rw-r--r-- | src/engine/SCons/Environment.py | 24 |
1 files changed, 21 insertions, 3 deletions
diff --git a/src/engine/SCons/Environment.py b/src/engine/SCons/Environment.py index 477149b..e332f66 100644 --- a/src/engine/SCons/Environment.py +++ b/src/engine/SCons/Environment.py @@ -438,6 +438,8 @@ class Base: r.append(p) return r + subst_target_source = subst + def _update(self, dict): """Update an environment's values directly, bypassing the normal checks that occur when users try to set items. @@ -1200,12 +1202,28 @@ def NoSubstitutionProxy(subject): return getattr(self.__dict__['__subject'], name) def __setattr__(self, name, value): return setattr(self.__dict__['__subject'], name, value) + def raw_to_mode(self, dict): + try: + raw = dict['raw'] + except KeyError: + pass + else: + del dict['raw'] + dict['mode'] = raw def subst(self, string, *args, **kwargs): return string def subst_kw(self, kw, *args, **kwargs): return kw def subst_list(self, string, *args, **kwargs): - if not SCons.Util.is_List(string): - string = [[string]] - return string + nargs = (string, self,) + args + nkw = kwargs.copy() + nkw['gvars'] = {} + self.raw_to_mode(nkw) + return apply(SCons.Util.scons_subst_list, nargs, nkw) + def subst_target_source(self, string, *args, **kwargs): + nargs = (string, self,) + args + nkw = kwargs.copy() + nkw['gvars'] = {} + self.raw_to_mode(nkw) + return apply(SCons.Util.scons_subst, nargs, nkw) return _NoSubstitutionProxy(subject) |