summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Builder.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/SCons/Builder.py')
-rw-r--r--src/engine/SCons/Builder.py16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/engine/SCons/Builder.py b/src/engine/SCons/Builder.py
index 57f50c9..e6e7822 100644
--- a/src/engine/SCons/Builder.py
+++ b/src/engine/SCons/Builder.py
@@ -547,13 +547,11 @@ class BuilderBase:
if len(tlist) == 1:
builder = self
- result = tlist[0]
else:
builder = ListBuilder(self, env, tlist)
- result = tlist
_init_nodes(builder, env, overwarn.data, tlist, slist)
- return result
+ return tlist
def __call__(self, env, target = None, source = _null, **kw):
return self._execute(env, target, source, OverrideWarner(kw))
@@ -711,16 +709,14 @@ class MultiStepBuilder(BuilderBase):
final_sources.append(snode)
else:
tgt = subsidiary_builder._execute(env, None, snode, overwarn)
- # Only supply the builder with sources it is capable
- # of building.
- if SCons.Util.is_List(tgt):
+ # If the subsidiary Builder returned more than one target,
+ # then filter out any sources that this Builder isn't
+ # capable of building.
+ if len(tgt) > 1:
tgt = filter(lambda x, self=self, suf=src_suffixes:
self.splitext(SCons.Util.to_String(x))[1] in suf,
tgt)
- if not SCons.Util.is_List(tgt):
- final_sources.append(tgt)
- else:
- final_sources.extend(tgt)
+ final_sources.extend(tgt)
return BuilderBase._execute(self, env, target, final_sources, overwarn)