diff options
Diffstat (limited to 'src/engine/SCons/Node/FS.py')
-rw-r--r-- | src/engine/SCons/Node/FS.py | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py index e0941ad..e44da22 100644 --- a/src/engine/SCons/Node/FS.py +++ b/src/engine/SCons/Node/FS.py @@ -252,7 +252,7 @@ class Entry(Node): else: self.abspath = self.path = name self.parent = directory - self.uses_signature = 1 + self.use_signature = 1 def __str__(self): """A FS node's string representation is its path name.""" @@ -261,7 +261,16 @@ class Entry(Node): def exists(self): return os.path.exists(self.path) - + def current(self): + """If the underlying path doesn't exist, we know the node is + not current without even checking the signature, so return 0. + Otherwise, return None to indicate that signature calculation + should proceed as normal to find out if the node is current.""" + if not self.exists(): + return 0 + return None + + # XXX TODO? # Annotate with the creator @@ -300,7 +309,7 @@ class Dir(Entry): delattr(self, 'parent') else: self.entries['..'] = None - self.uses_signature = None + self.use_signature = None def up(self): return self.entries['..'] @@ -316,6 +325,12 @@ class Dir(Entry): filter(lambda k: k != '.' and k != '..', self.entries.keys())) + def current(self): + """Always return that a directory node is out-of-date so + that it will always be "built" by trying to build all of + its directory entries.""" + return 0 + # XXX TODO? # rfile |