summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Environment.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2004-02-24 06:19:49 (GMT)
committerSteven Knight <knight@baldmt.com>2004-02-24 06:19:49 (GMT)
commit4b3d35e6964da9108f1d55a8d0dbb2161300bd3f (patch)
tree21ab8d3cc408214f1e550bf4df7a27c3b45115fe /src/engine/SCons/Environment.py
parentd8b17914c7e3983c6c68c7aea2f0a835f00ddb07 (diff)
downloadSCons-4b3d35e6964da9108f1d55a8d0dbb2161300bd3f.zip
SCons-4b3d35e6964da9108f1d55a8d0dbb2161300bd3f.tar.gz
SCons-4b3d35e6964da9108f1d55a8d0dbb2161300bd3f.tar.bz2
Handle recursive substitution in overrides.
Diffstat (limited to 'src/engine/SCons/Environment.py')
-rw-r--r--src/engine/SCons/Environment.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/engine/SCons/Environment.py b/src/engine/SCons/Environment.py
index a626204..c6bc2a9 100644
--- a/src/engine/SCons/Environment.py
+++ b/src/engine/SCons/Environment.py
@@ -505,7 +505,10 @@ class Base:
apply_tools(clone, tools, toolpath)
# Apply passed-in variables after the new tools.
- apply(clone.Replace, (), kw)
+ new = {}
+ for key, value in kw.items():
+ new[key] = SCons.Util.scons_subst_once(value, self, key)
+ apply(clone.Replace, (), new)
return clone
def Detect(self, progs):
@@ -561,7 +564,10 @@ class Base:
env = copy.copy(self)
env._dict = copy.copy(self._dict)
env['__env__'] = env
- env._dict.update(overrides)
+ new = {}
+ for key, value in overrides.items():
+ new[key] = SCons.Util.scons_subst_once(value, self, key)
+ env._dict.update(new)
return env
else:
return self