summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2004-05-24 10:35:19 (GMT)
committerSteven Knight <knight@baldmt.com>2004-05-24 10:35:19 (GMT)
commita29a5edcad30b950b1a1a7cb621065ba05adccb1 (patch)
tree6373b4998d93f7245aa60dbd0b8588a5b0243986 /src
parent571b716dd3556cb7307a74684f205705ae46b40e (diff)
downloadSCons-a29a5edcad30b950b1a1a7cb621065ba05adccb1.zip
SCons-a29a5edcad30b950b1a1a7cb621065ba05adccb1.tar.gz
SCons-a29a5edcad30b950b1a1a7cb621065ba05adccb1.tar.bz2
Accomodate conversion from old .sconsign formats.
Diffstat (limited to 'src')
-rw-r--r--src/engine/SCons/Node/FS.py13
-rw-r--r--src/engine/SCons/Sig/__init__.py8
2 files changed, 20 insertions, 1 deletions
diff --git a/src/engine/SCons/Node/FS.py b/src/engine/SCons/Node/FS.py
index 0d158a1..13a2f52 100644
--- a/src/engine/SCons/Node/FS.py
+++ b/src/engine/SCons/Node/FS.py
@@ -1396,7 +1396,18 @@ class File(Base):
def get_stored_info(self):
try:
- return self.dir.sconsign().get_entry(self.name)
+ stored = self.dir.sconsign().get_entry(self.name)
+ if isinstance(stored, BuildInfo):
+ return stored
+ # The stored build information isn't a BuildInfo object.
+ # This probably means it's an old SConsignEntry from SCons
+ # 0.95 or before. The relevant attribute names are the same,
+ # though, so just copy the attributes over to an object of
+ # the correct type.
+ binfo = BuildInfo()
+ for key, val in stored.__dict__.items():
+ setattr(binfo, key, val)
+ return binfo
except:
return BuildInfo()
diff --git a/src/engine/SCons/Sig/__init__.py b/src/engine/SCons/Sig/__init__.py
index 271f252..6626571 100644
--- a/src/engine/SCons/Sig/__init__.py
+++ b/src/engine/SCons/Sig/__init__.py
@@ -46,6 +46,14 @@ except ImportError:
default_max_drift = 2*24*60*60
+class SConsignEntry:
+ """The old SConsignEntry format.
+ We keep this around to handle conversions from old .sconsign files."""
+ timestamp = None
+ bsig = None
+ csig = None
+ implicit = None
+
class Calculator:
"""
Encapsulates signature calculations and .sconsign file generating