diff options
| author | Steven Knight <knight@baldmt.com> | 2005-01-10 13:45:00 (GMT) |
|---|---|---|
| committer | Steven Knight <knight@baldmt.com> | 2005-01-10 13:45:00 (GMT) |
| commit | 519037f42eb7c90c5fb1f7d2e2b41ccee5fdba86 (patch) | |
| tree | 44bc33674ae55485c128e0a59a050cbda7a52973 /src/engine/SCons/Script/SConscript.py | |
| parent | 69e3c442cdfb846cbcba7702d500e237b66be71e (diff) | |
| download | SCons-519037f42eb7c90c5fb1f7d2e2b41ccee5fdba86.zip SCons-519037f42eb7c90c5fb1f7d2e2b41ccee5fdba86.tar.gz SCons-519037f42eb7c90c5fb1f7d2e2b41ccee5fdba86.tar.bz2 | |
Eliminate Executor's creation and use of a build_dict and a subst_dict, which were creating a separate OverrideEnvironment for every target and foiling the Memoizer's attempts at speeding up things.
Diffstat (limited to 'src/engine/SCons/Script/SConscript.py')
| -rw-r--r-- | src/engine/SCons/Script/SConscript.py | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/engine/SCons/Script/SConscript.py b/src/engine/SCons/Script/SConscript.py index e30a979..2e8c916 100644 --- a/src/engine/SCons/Script/SConscript.py +++ b/src/engine/SCons/Script/SConscript.py @@ -522,11 +522,15 @@ class DefaultEnvironmentCall: thereby prevent expansion of construction variables (since from the user's point of view this was called as a global function, with no associated construction environment).""" - def __init__(self, method_name): + def __init__(self, method_name, subst=0): self.method_name = method_name + if subst: + self.factory = SCons.Defaults.DefaultEnvironment + else: + self.factory = get_DefaultEnvironmentProxy def __call__(self, *args, **kw): - proxy = get_DefaultEnvironmentProxy() - method = getattr(proxy, self.method_name) + env = self.factory() + method = getattr(env, self.method_name) return apply(method, args, kw) |
