diff options
author | Steven Knight <knight@baldmt.com> | 2004-02-24 06:19:49 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2004-02-24 06:19:49 (GMT) |
commit | 4b3d35e6964da9108f1d55a8d0dbb2161300bd3f (patch) | |
tree | 21ab8d3cc408214f1e550bf4df7a27c3b45115fe /src/engine/SCons/Node/NodeTests.py | |
parent | d8b17914c7e3983c6c68c7aea2f0a835f00ddb07 (diff) | |
download | SCons-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.py | 11 |
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): |