summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node/NodeTests.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/Node/NodeTests.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/Node/NodeTests.py')
-rw-r--r--src/engine/SCons/Node/NodeTests.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/engine/SCons/Node/NodeTests.py b/src/engine/SCons/Node/NodeTests.py
index 2e053be..63b945f 100644
--- a/src/engine/SCons/Node/NodeTests.py
+++ b/src/engine/SCons/Node/NodeTests.py
@@ -78,10 +78,19 @@ class MyNonGlobalAction:
return [self]
class Environment:
+ def __init__(self, **kw):
+ self._dict = {}
+ self._dict.update(kw)
+ def __getitem__(self, key):
+ return self._dict[key]
def Dictionary(self, *args):
return {}
def Override(self, overrides):
- return overrides
+ d = self._dict.copy()
+ d.update(overrides)
+ return apply(Environment, (), d)
+ def _update(self, dict):
+ self._dict.update(dict)
class Builder:
def __init__(self):