diff options
author | Steven Knight <knight@baldmt.com> | 2004-10-09 03:23:36 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2004-10-09 03:23:36 (GMT) |
commit | 759d82c0b890501e19708536e47d83e00c6dae09 (patch) | |
tree | e0e0d0df134f2f47857e0a202e6ea95e78552889 /src/engine/SCons/Node/__init__.py | |
parent | 08a678fdf7348b3d8df254225eb563d4a5ad6022 (diff) | |
download | SCons-759d82c0b890501e19708536e47d83e00c6dae09.zip SCons-759d82c0b890501e19708536e47d83e00c6dae09.tar.gz SCons-759d82c0b890501e19708536e47d83e00c6dae09.tar.bz2 |
Win32 portability fixes for tests.
Diffstat (limited to 'src/engine/SCons/Node/__init__.py')
-rw-r--r-- | src/engine/SCons/Node/__init__.py | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/engine/SCons/Node/__init__.py b/src/engine/SCons/Node/__init__.py index 27e185e..338df07 100644 --- a/src/engine/SCons/Node/__init__.py +++ b/src/engine/SCons/Node/__init__.py @@ -67,7 +67,7 @@ executed = 4 failed = 5 stack = 6 # nodes that are in the current Taskmaster execution stack -# controls whether implicit dependencies are cached: +# controls whether implicit depedencies are cached: implicit_cache = 0 # controls whether implicit dep changes are ignored: @@ -118,6 +118,9 @@ class Node: self.implicit = None # implicit (scanned) dependencies (None means not scanned yet) self.waiting_parents = [] self.wkids = None # Kids yet to walk, when it's an array + self.target_scanner = None # explicit scanner from this node's Builder + self.source_scanner = None + self.backup_source_scanner = None self.env = None self.state = None @@ -399,17 +402,15 @@ class Node: NOTE: "self" is the target being built, "node" is the source file for which we want to fetch the scanner. """ - if not self.has_builder(): - return None # if not buildable, can't have sources... + if self.source_scanner: + return self.source_scanner try: scanner = self.builder.source_scanner if scanner: return scanner except AttributeError: pass - - # No scanner specified by builder, try env['SCANNERS'] - return self.get_build_env().get_scanner(node.scanner_key()) + return node.backup_source_scanner or None def scan(self): """Scan this node's dependents for implicit dependencies.""" @@ -433,7 +434,7 @@ class Node: implicit = map(self.implicit_factory, implicit) self._add_child(self.implicit, self.implicit_dict, implicit) calc = build_env.get_calculator() - if implicit_deps_unchanged or self.current(calc): + if implicit_deps_unchanged or self.current(calc, scan=0): return else: # one of this node's sources has changed, so @@ -451,10 +452,8 @@ class Node: self._add_child(self.implicit, self.implicit_dict, deps) # scan this node itself for implicit dependencies - scanner = self.builder.target_scanner - if scanner: - deps = self.get_implicit_deps(build_env, scanner, self) - self._add_child(self.implicit, self.implicit_dict, deps) + deps = self.get_implicit_deps(build_env, self.target_scanner, self) + self._add_child(self.implicit, self.implicit_dict, deps) # XXX See note above re: --implicit-cache. #if implicit_cache: |