aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coredata.py8
-rwxr-xr-xmeson.py2
2 files changed, 9 insertions, 1 deletions
diff --git a/coredata.py b/coredata.py
index ee13ddc..511bfca 100644
--- a/coredata.py
+++ b/coredata.py
@@ -20,9 +20,12 @@
import pickle
+version = '0.1-research'
+
class CoreData():
def __init__(self, options):
+ self.version = version
self.prefix = options.prefix
self.libdir = options.libdir
self.bindir = options.bindir
@@ -47,7 +50,12 @@ def load(filename):
obj = pickle.load(open(filename, 'rb'))
if not isinstance(obj, CoreData):
raise RuntimeError('Core data file is corrupted.')
+ if obj.version != version:
+ raise RuntimeError('Build tree has been generated with Meson version %s, which is incompatible with current version %s.'%
+ (obj.version, version))
return obj
def save(obj, filename):
+ if obj.version != version:
+ raise RuntimeError('Fatal version mismatch corruption.')
pickle.dump(obj, open(filename, 'wb'))
diff --git a/meson.py b/meson.py
index cbe7d46..bde0a5a 100755
--- a/meson.py
+++ b/meson.py
@@ -20,7 +20,7 @@ import os.path
import environment, interpreter
import backends, build
-version = '0.1-research'
+from coredata import version
usage_info = '%prog [options] source_dir build_dir'