summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2004-09-18 23:02:56 (GMT)
committerSteven Knight <knight@baldmt.com>2004-09-18 23:02:56 (GMT)
commit07ba45e583a9f03e9a7b91212e165d45d1df1978 (patch)
tree96f741d3e308c022c801036190067eab0d115b20 /src/engine/SCons/Node
parent0d70cbb58a33aeca99b6e0b4d2f11c93a92dd670 (diff)
downloadSCons-07ba45e583a9f03e9a7b91212e165d45d1df1978.zip
SCons-07ba45e583a9f03e9a7b91212e165d45d1df1978.tar.gz
SCons-07ba45e583a9f03e9a7b91212e165d45d1df1978.tar.bz2
Fix --debug=explain when the action is a Python function.
Diffstat (limited to 'src/engine/SCons/Node')
-rw-r--r--src/engine/SCons/Node/__init__.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py
index 0638375..47139fc 100644
--- a/src/engine/SCons/Node/__init__.py
+++ b/src/engine/SCons/Node/__init__.py
@@ -545,7 +545,7 @@ class Node:
if self.has_builder():
executor = self.get_executor()
- binfo.bact = executor.get_contents()
+ binfo.bact = executor.strfunction()
binfo.bactsig = calc.module.signature(executor)
sigs.append(binfo.bactsig)
@@ -899,10 +899,13 @@ class Node:
if len(lines) == 0:
newact, newactsig = self.binfo.bact, self.binfo.bactsig
- if old.bact != newact:
- lines.append("the build action changed:\n" +
- "%sold: %s\n" % (' '*15, old.bact) +
- "%snew: %s\n" % (' '*15, newact))
+ if old.bactsig != newactsig:
+ if old.bact == newact:
+ lines.append("the contents of the build action changed\n")
+ else:
+ lines.append("the build action changed:\n" +
+ "%sold: %s\n" % (' '*15, old.bact) +
+ "%snew: %s\n" % (' '*15, newact))
if len(lines) == 0:
return "rebuilding `%s' for unknown reasons" % self