summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2003-05-20 02:30:01 (GMT)
committerSteven Knight <knight@baldmt.com>2003-05-20 02:30:01 (GMT)
commite4c92bc43a3c0a61186256315952047a0b998cab (patch)
treed87ba87c55f1009d1e46cbb3f320e52229cef6f2
parenta371da732f6b9bdf35639b88b0e6b8370b088261 (diff)
downloadSCons-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.py2
-rw-r--r--src/engine/SCons/Sig/__init__.py14
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):
"""