diff options
author | Steven Knight <knight@baldmt.com> | 2003-05-04 18:26:04 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2003-05-04 18:26:04 (GMT) |
commit | e591784eb29edfaf2760024f57ee1462f1bae1f3 (patch) | |
tree | a8637b156562104df4d39ab5f7b098446778cf0a /src/engine/SCons/Builder.py | |
parent | abe3ed8cdeb3d5a16ab3448f768f43c6aa1feeca (diff) | |
download | SCons-e591784eb29edfaf2760024f57ee1462f1bae1f3.zip SCons-e591784eb29edfaf2760024f57ee1462f1bae1f3.tar.gz SCons-e591784eb29edfaf2760024f57ee1462f1bae1f3.tar.bz2 |
If we added a temporary builder to a Node while calling the emitter, don't remove it if the emitter changed it on us.
Diffstat (limited to 'src/engine/SCons/Builder.py')
-rw-r--r-- | src/engine/SCons/Builder.py | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/engine/SCons/Builder.py b/src/engine/SCons/Builder.py index 22b177e..19cbe27 100644 --- a/src/engine/SCons/Builder.py +++ b/src/engine/SCons/Builder.py @@ -306,11 +306,14 @@ class BuilderBase: target, source = self.emitter(target=tlist, source=slist, env=env) - # Now delete the temporary builders that we attached to the + # Now delete the temporary builders that we attached to any # new targets, so that _init_nodes() doesn't do weird stuff # to them because it thinks they already have builders. for t in new_targets: - t.builder = None + if t.builder is self: + # Only delete the temporary builder if the emitter + # didn't change it on us. + t.builder = None # Have to call arg2nodes yet again, since it is legal for # emitters to spit out strings as well as Node instances. |