summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Executor.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/SCons/Executor.py')
-rw-r--r--src/engine/SCons/Executor.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/engine/SCons/Executor.py b/src/engine/SCons/Executor.py
index 2a0882e..8151f87 100644
--- a/src/engine/SCons/Executor.py
+++ b/src/engine/SCons/Executor.py
@@ -32,6 +32,7 @@ __revision__ = "__FILE__ __REVISION__ __DATE__ __DEVELOPER__"
from SCons.Debug import logInstanceCreation
+import SCons.Util
class Executor:
@@ -71,6 +72,13 @@ class Executor:
overrides = {}
overrides.update(self.builder.overrides)
overrides.update(self.overrides)
+ try:
+ generate_build_dict = self.targets[0].generate_build_dict
+ except AttributeError:
+ pass
+ else:
+ overrides.update(generate_build_dict())
+ overrides.update(SCons.Util.subst_dict(self.targets, self.sources))
self.build_env = env.Override(overrides)
return self.build_env
@@ -101,6 +109,12 @@ class Executor:
for action in action_list:
func(action, self.targets, self.sources, env)
+ def cleanup(self):
+ try:
+ del self.build_env
+ except AttributeError:
+ pass
+
def add_sources(self, sources):
"""Add source files to this Executor's list. This is necessary
for "multi" Builders that can be called repeatedly to build up