diff options
author | Steven Knight <knight@baldmt.com> | 2003-03-03 08:10:04 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2003-03-03 08:10:04 (GMT) |
commit | 1eac1ba89777cce14d1ed50322ee163e8b38fd1e (patch) | |
tree | 517fc35207f1c5ce1d6fb8e116a24be5a40506ec /src/engine/SCons/Node/FS.py | |
parent | bc08cde50aee2b6a495506819b97014fdb880058 (diff) | |
download | SCons-1eac1ba89777cce14d1ed50322ee163e8b38fd1e.zip SCons-1eac1ba89777cce14d1ed50322ee163e8b38fd1e.tar.gz SCons-1eac1ba89777cce14d1ed50322ee163e8b38fd1e.tar.bz2 |
Push files to the CacheDir() before calling the superclass built() method, which may clear the build signature.
Diffstat (limited to 'src/engine/SCons/Node/FS.py')
-rw-r--r-- | src/engine/SCons/Node/FS.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py index a6dd7ae..551ae06 100644 --- a/src/engine/SCons/Node/FS.py +++ b/src/engine/SCons/Node/FS.py @@ -1037,9 +1037,13 @@ class File(Entry): SCons.Node.Node.build(self) def built(self): - SCons.Node.Node.built(self) + """Called just after this node is sucessfully built.""" + # Push this file out to cache before the superclass Node.built() + # method has a chance to clear the build signature, which it + # will do if this file has a source scanner. if self.fs.CachePath and os.path.exists(self.path): CachePush(self, None, None) + SCons.Node.Node.built(self) self.found_includes = {} if hasattr(self, '_exists'): delattr(self, '_exists') @@ -1160,7 +1164,10 @@ class File(Entry): def cachepath(self): if self.fs.CachePath: - bsig = str(self.get_bsig()) + bsig = self.get_bsig() + if bsig is None: + raise SCons.Errors.InternalError, "cachepath(%s) found a bsig of None" % self.path + bsig = str(bsig) subdir = string.upper(bsig[0]) dir = os.path.join(self.fs.CachePath, subdir) return dir, os.path.join(dir, bsig) |