summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Node/__init__.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2005-02-14 03:22:34 (GMT)
committerSteven Knight <knight@baldmt.com>2005-02-14 03:22:34 (GMT)
commit90db66e40e5121d66a62616ad0498c7fe5c13dfc (patch)
tree1fea16d051dcdb1147ced94deefb11fd31b151c5 /src/engine/SCons/Node/__init__.py
parent500cf5d333927fa54b3ec01284951c76e6902a9a (diff)
downloadSCons-90db66e40e5121d66a62616ad0498c7fe5c13dfc.zip
SCons-90db66e40e5121d66a62616ad0498c7fe5c13dfc.tar.gz
SCons-90db66e40e5121d66a62616ad0498c7fe5c13dfc.tar.bz2
Don't read up entire directories to decide if an Alias is up-to-date.
Diffstat (limited to 'src/engine/SCons/Node/__init__.py')
-rw-r--r--src/engine/SCons/Node/__init__.py22
1 files changed, 8 insertions, 14 deletions
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py
index 96a78ca..3c0ce99 100644
--- a/src/engine/SCons/Node/__init__.py
+++ b/src/engine/SCons/Node/__init__.py
@@ -394,25 +394,19 @@ class Node:
# for this Node.
scanner = scanner.select(self)
- try:
- recurse = scanner.recursive
- except AttributeError:
- recurse = None
-
nodes = [self]
seen = {}
seen[self] = 1
deps = []
while nodes:
- n = nodes.pop(0)
- d = filter(lambda x, seen=seen: not seen.has_key(x),
- n.get_found_includes(env, scanner, path))
- if d:
- deps.extend(d)
- for n in d:
- seen[n] = 1
- if recurse:
- nodes.extend(d)
+ n = nodes.pop(0)
+ d = filter(lambda x, seen=seen: not seen.has_key(x),
+ n.get_found_includes(env, scanner, path))
+ if d:
+ deps.extend(d)
+ for n in d:
+ seen[n] = 1
+ nodes.extend(scanner.recurse_nodes(d))
return deps