summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/SCons/Node/__init__.py')
-rw-r--r--src/engine/SCons/Node/__init__.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py
index 03705f7..02c14bb 100644
--- a/src/engine/SCons/Node/__init__.py
+++ b/src/engine/SCons/Node/__init__.py
@@ -70,11 +70,14 @@ class Node:
self.bsig = None
self.csig = None
self.use_signature = 1
+ self.precious = None
def build(self):
"""Actually build the node. Return the status from the build."""
if not self.builder:
return None
+ if not self.precious:
+ self.remove()
try:
stat = self.builder.execute(env = self.env.Dictionary(),
target = self, source = self.sources)
@@ -164,6 +167,14 @@ class Node:
"""Set the signature of the node's content."""
self.csig = csig
+ def set_precious(self, precious = 1):
+ """Set the Node's precious value."""
+ self.precious = precious
+
+ def remove(self):
+ """Remove this Node's external object: no-op by default."""
+ pass
+
def add_dependency(self, depend):
"""Adds dependencies. The depend argument must be a list."""
self._add_child(self.depends, depend)