summaryrefslogtreecommitdiffstats
path: root/src/engine
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-07-14 18:48:56 (GMT)
committerSteven Knight <knight@baldmt.com>2002-07-14 18:48:56 (GMT)
commit64abe288f007db6a36ed2bb5d018fde707a243de (patch)
treeb45029d74b471fafd7757bceeb29a8c6ae5f73c3 /src/engine
parent4a6f158a8f3589b43fcda1c5ca50b743661a87f2 (diff)
downloadSCons-64abe288f007db6a36ed2bb5d018fde707a243de.zip
SCons-64abe288f007db6a36ed2bb5d018fde707a243de.tar.gz
SCons-64abe288f007db6a36ed2bb5d018fde707a243de.tar.bz2
Add --implicit-deps-changed. (Anthony Roach)
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/SCons/Node/__init__.py6
-rw-r--r--src/engine/SCons/Script/__init__.py9
2 files changed, 14 insertions, 1 deletions
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py
index bc0539e..90cd122 100644
--- a/src/engine/SCons/Node/__init__.py
+++ b/src/engine/SCons/Node/__init__.py
@@ -60,6 +60,10 @@ implicit_cache = 0
# controls whether implicit dep changes are ignored:
implicit_deps_unchanged = 0
+# controls whether the cached implicit deps are ignored:
+implicit_deps_changed = 0
+
+
class Node:
"""The base Node class, for entities that we know how to
build, or use to build other Nodes.
@@ -200,7 +204,7 @@ class Node:
if not self.builder:
return
- if implicit_cache:
+ if implicit_cache and not implicit_deps_changed:
implicit = self.get_stored_implicit()
if implicit is not None:
implicit = map(self.builder.source_factory, implicit)
diff --git a/src/engine/SCons/Script/__init__.py b/src/engine/SCons/Script/__init__.py
index 1d53fed..66b4fd7 100644
--- a/src/engine/SCons/Script/__init__.py
+++ b/src/engine/SCons/Script/__init__.py
@@ -550,6 +550,15 @@ def options_init():
long = ['implicit-cache'],
help = "Cache implicit dependencies")
+ def opt_implicit_deps_changed(opt, arg):
+ import SCons.Node
+ SCons.Node.implicit_cache = 1
+ SCons.Node.implicit_deps_changed = 1
+
+ Option(func = opt_implicit_deps_changed,
+ long = ['implicit-deps-changed'],
+ help = "Ignore the cached implicit deps.")
+
def opt_implicit_deps_unchanged(opt, arg):
import SCons.Node
SCons.Node.implicit_cache = 1