summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node/__init__.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2001-11-02 03:12:07 (GMT)
committerSteven Knight <knight@baldmt.com>2001-11-02 03:12:07 (GMT)
commit2f51f69cf055ec44e37eaac22b1992bd5218278f (patch)
tree60165bd248d020974a0be3f5477825876a682445 /src/engine/SCons/Node/__init__.py
parent00c3ada748b164ecf909727fa81f521dde72fda9 (diff)
downloadSCons-2f51f69cf055ec44e37eaac22b1992bd5218278f.zip
SCons-2f51f69cf055ec44e37eaac22b1992bd5218278f.tar.gz
SCons-2f51f69cf055ec44e37eaac22b1992bd5218278f.tar.bz2
Rebuild in response to a changed build command.
Diffstat (limited to 'src/engine/SCons/Node/__init__.py')
-rw-r--r--src/engine/SCons/Node/__init__.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py
index 0e1a8d9..513b260 100644
--- a/src/engine/SCons/Node/__init__.py
+++ b/src/engine/SCons/Node/__init__.py
@@ -79,6 +79,23 @@ class Node:
def builder_set(self, builder):
self.builder = builder
+ def builder_sig_adapter(self):
+ """Create an adapter for calculating a builder's signature.
+
+ The underlying signature class will call get_contents()
+ to fetch the signature of a builder, but the actual
+ content of that signature depends on the node and the
+ environment (for construction variable substitution),
+ so this adapter provides the right glue between the two.
+ """
+ class Adapter:
+ def __init__(self, node):
+ self.node = node
+ def get_contents(self):
+ env = self.node.env.Dictionary()
+ return self.node.builder.get_contents(env = env)
+ return Adapter(self)
+
def env_set(self, env):
self.env = env