From 775d86c0fa6a13ee21ffc3eee7e1fa4121e97f00 Mon Sep 17 00:00:00 2001 From: Jussi Pakkanen Date: Fri, 1 Mar 2013 22:21:02 +0200 Subject: [PATCH] Guard against different Meson versions. --- coredata.py | 8 ++++++++ meson.py | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/coredata.py b/coredata.py index ee13ddc21..511bfca20 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 cbe7d461f..bde0a5a7f 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'