Guard against different Meson versions.

pull/15/head
Jussi Pakkanen 12 years ago
parent 8ca80ad525
commit 775d86c0fa
  1. 8
      coredata.py
  2. 2
      meson.py

@ -20,9 +20,12 @@
import pickle import pickle
version = '0.1-research'
class CoreData(): class CoreData():
def __init__(self, options): def __init__(self, options):
self.version = version
self.prefix = options.prefix self.prefix = options.prefix
self.libdir = options.libdir self.libdir = options.libdir
self.bindir = options.bindir self.bindir = options.bindir
@ -47,7 +50,12 @@ def load(filename):
obj = pickle.load(open(filename, 'rb')) obj = pickle.load(open(filename, 'rb'))
if not isinstance(obj, CoreData): if not isinstance(obj, CoreData):
raise RuntimeError('Core data file is corrupted.') 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 return obj
def save(obj, filename): def save(obj, filename):
if obj.version != version:
raise RuntimeError('Fatal version mismatch corruption.')
pickle.dump(obj, open(filename, 'wb')) pickle.dump(obj, open(filename, 'wb'))

@ -20,7 +20,7 @@ import os.path
import environment, interpreter import environment, interpreter
import backends, build import backends, build
version = '0.1-research' from coredata import version
usage_info = '%prog [options] source_dir build_dir' usage_info = '%prog [options] source_dir build_dir'

Loading…
Cancel
Save