summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Action.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2003-03-02 02:43:16 (GMT)
committerSteven Knight <knight@baldmt.com>2003-03-02 02:43:16 (GMT)
commitec3e478f83215dd7487daa70f1c0287d12e82f39 (patch)
tree6135096eda6c72b844a8d95cf00e01ea77fcda17 /src/engine/SCons/Action.py
parentc03ac136007521fda90a7963baa4956d950b9363 (diff)
downloadSCons-ec3e478f83215dd7487daa70f1c0287d12e82f39.zip
SCons-ec3e478f83215dd7487daa70f1c0287d12e82f39.tar.gz
SCons-ec3e478f83215dd7487daa70f1c0287d12e82f39.tar.bz2
Fix using more than two targets or sources in a list.
Diffstat (limited to 'src/engine/SCons/Action.py')
-rw-r--r--src/engine/SCons/Action.py28
1 files changed, 26 insertions, 2 deletions
diff --git a/src/engine/SCons/Action.py b/src/engine/SCons/Action.py
index 960ffce..ecad9b0 100644
--- a/src/engine/SCons/Action.py
+++ b/src/engine/SCons/Action.py
@@ -293,8 +293,19 @@ class CommandAction(ActionBase):
def get_raw_contents(self, target, source, env):
"""Return the complete contents of this action's command line.
"""
+ # We've discusssed using the real target and source names in
+ # a CommandAction's signature contents. This would have the
+ # advantage of recompiling when a file's name changes (keeping
+ # debug info current), but it would currently break repository
+ # logic that will change the file name based on whether the
+ # files come from a repository or locally. If we ever move to
+ # that scheme, though, here's how we'd do it:
+ #return SCons.Util.scons_subst(string.join(self.cmd_list),
+ # self.subst_dict(target, source, env),
+ # {})
return SCons.Util.scons_subst(string.join(self.cmd_list),
- self._sig_dict(target, source, env), {})
+ env.sig_dict(),
+ {})
def get_contents(self, target, source, env):
"""Return the signature contents of this action's command line.
@@ -302,8 +313,21 @@ class CommandAction(ActionBase):
This strips $(-$) and everything in between the string,
since those parts don't affect signatures.
"""
+ # We've discusssed using the real target and source names in
+ # a CommandAction's signature contents. This would have the
+ # advantage of recompiling when a file's name changes (keeping
+ # debug info current), but it would currently break repository
+ # logic that will change the file name based on whether the
+ # files come from a repository or locally. If we ever move to
+ # that scheme, though, here's how we'd do it:
+ #return SCons.Util.scons_subst(string.join(map(str, self.cmd_list)),
+ # self.subst_dict(target, source, env),
+ # {},
+ # _remove)
return SCons.Util.scons_subst(string.join(map(str, self.cmd_list)),
- self._sig_dict(target, source, env), {}, _remove)
+ env.sig_dict(),
+ {},
+ _remove)
class CommandGeneratorAction(ActionBase):
"""Class for command-generator actions."""