diff options
author | Steven Knight <knight@baldmt.com> | 2005-02-14 03:22:34 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2005-02-14 03:22:34 (GMT) |
commit | 90db66e40e5121d66a62616ad0498c7fe5c13dfc (patch) | |
tree | 1fea16d051dcdb1147ced94deefb11fd31b151c5 /src/engine/SCons/Node/__init__.py | |
parent | 500cf5d333927fa54b3ec01284951c76e6902a9a (diff) | |
download | SCons-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__.py | 22 |
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 |