diff options
-rw-r--r-- | coredata.py | 8 | ||||
-rwxr-xr-x | meson.py | 2 |
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')) @@ -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' |