From ab2cd92c3a39f991c15e78726f941f20951b5836 Mon Sep 17 00:00:00 2001 From: stevenknight Date: Tue, 20 May 2003 02:30:01 +0000 Subject: [PATCH] Restore .sconsign file tracking back to a single global list, not directory-specific dictionary. git-svn-id: http://scons.tigris.org/svn/scons/trunk@689 fdb21ef1-2011-0410-befe-b5e4ea1792b1 --- src/engine/SCons/Node/FS.py | 2 +- 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 c226504c..4a633c9e 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 1832e895..6f830b64 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): """ -- 2.26.2