diff options
Diffstat (limited to 'src/engine/SCons')
| -rw-r--r-- | src/engine/SCons/Builder.py | 2 | ||||
| -rw-r--r-- | src/engine/SCons/Subst.py | 13 |
2 files changed, 12 insertions, 3 deletions
diff --git a/src/engine/SCons/Builder.py b/src/engine/SCons/Builder.py index 977bdea..05a3ed1 100644 --- a/src/engine/SCons/Builder.py +++ b/src/engine/SCons/Builder.py @@ -505,7 +505,7 @@ class BuilderBase: tlist = [ t_from_s(pre, suf, splitext) ] else: target = self._adjustixes(target, pre, suf, self.ensure_suffix) - tlist = env.arg2nodes(target, target_factory) + tlist = env.arg2nodes(target, target_factory, target=target, source=source) if self.emitter: # The emitter is going to do str(node), but because we're diff --git a/src/engine/SCons/Subst.py b/src/engine/SCons/Subst.py index 8646f62..752bbff 100644 --- a/src/engine/SCons/Subst.py +++ b/src/engine/SCons/Subst.py @@ -270,7 +270,13 @@ def subst_dict(target, source): dict = {} if target: - tnl = NLWrapper(target, lambda x: x.get_subst_proxy()) + def get_tgt_subst_proxy(thing): + try: + subst_proxy = thing.get_subst_proxy() + except AttributeError: + subst_proxy = thing # probably a string, just return it + return subst_proxy + tnl = NLWrapper(target, get_tgt_subst_proxy) dict['TARGETS'] = Targets_or_Sources(tnl) dict['TARGET'] = Target_or_Source(tnl) else: @@ -285,7 +291,10 @@ def subst_dict(target, source): pass else: node = rfile() - return node.get_subst_proxy() + try: + return node.get_subst_proxy() + except AttributeError: + return node # probably a String, just return it snl = NLWrapper(source, get_src_subst_proxy) dict['SOURCES'] = Targets_or_Sources(snl) dict['SOURCE'] = Target_or_Source(snl) |
