diff options
author | Steven Knight <knight@baldmt.com> | 2003-05-20 02:30:01 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2003-05-20 02:30:01 (GMT) |
commit | e4c92bc43a3c0a61186256315952047a0b998cab (patch) | |
tree | d87ba87c55f1009d1e46cbb3f320e52229cef6f2 | |
parent | a371da732f6b9bdf35639b88b0e6b8370b088261 (diff) | |
download | SCons-e4c92bc43a3c0a61186256315952047a0b998cab.zip SCons-e4c92bc43a3c0a61186256315952047a0b998cab.tar.gz SCons-e4c92bc43a3c0a61186256315952047a0b998cab.tar.bz2 |
Restore .sconsign file tracking back to a single global list, not directory-specific dictionary.
-rw-r--r-- | src/engine/SCons/Node/FS.py | 2 | ||||
-rw-r--r-- | src/engine/SCons/Sig/__init__.py | 14 |
2 files changed, 5 insertions, 11 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py index c226504..4a633c9 100644 --- a/src/engine/SCons/Node/FS.py +++ b/src/engine/SCons/Node/FS.py @@ -1043,7 +1043,7 @@ class Dir(Entry): creating it first if necessary.""" if not self._sconsign: import SCons.Sig - self._sconsign = SCons.Sig.SConsignFileFactory(self) + self._sconsign = SCons.Sig.SConsignFile(self) return self._sconsign def srcnode(self): diff --git a/src/engine/SCons/Sig/__init__.py b/src/engine/SCons/Sig/__init__.py index 1832e89..6f830b6 100644 --- a/src/engine/SCons/Sig/__init__.py +++ b/src/engine/SCons/Sig/__init__.py @@ -47,7 +47,7 @@ except ImportError: default_max_drift = 2*24*60*60 #XXX Get rid of the global array so this becomes re-entrant. -sig_files = {} +sig_files = [] # 1 means use build signature for derived source files # 0 means use content signature for derived source files @@ -55,18 +55,10 @@ build_signature = 1 def write(): global sig_files - for sig_file in sig_files.values(): + for sig_file in sig_files: sig_file.write() -def SConsignFileFactory( dir, module=None): - try: - return sig_files[dir.path] - except KeyError: - sig_files[dir.path] = SConsignFile(dir, module) - return sig_files[dir.path] - - class SConsignEntry: """Objects of this type are pickled to the .sconsign file, so it @@ -118,6 +110,8 @@ class SConsignFile: except: SCons.Warnings.warn(SCons.Warnings.CorruptSConsignWarning, "Ignoring corrupt .sconsign file: %s"%self.sconsign) + global sig_files + sig_files.append(self) def get(self, filename): """ |