aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreterbase.py
diff options
context:
space:
mode:
authorSalamandar <felix@piedallu.me>2018-04-26 15:12:20 +0200
committerSalamandar <felix@piedallu.me>2018-06-01 14:23:24 +0200
commitee2f8a0416f6973d03d36601f5dd99db7825ef7f (patch)
tree710ec5a2b148cddf0eae595c2cd6b013fce93959 /mesonbuild/interpreterbase.py
parent583e9c4af6fabaf9e61f16a7422160ae2977fce4 (diff)
downloadmeson-ee2f8a0416f6973d03d36601f5dd99db7825ef7f.zip
meson-ee2f8a0416f6973d03d36601f5dd99db7825ef7f.tar.gz
meson-ee2f8a0416f6973d03d36601f5dd99db7825ef7f.tar.bz2
Add basic code for feature version detection:
* store target version * Add empty method decorator
Diffstat (limited to 'mesonbuild/interpreterbase.py')
-rw-r--r--mesonbuild/interpreterbase.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/mesonbuild/interpreterbase.py b/mesonbuild/interpreterbase.py
index 9f323d1..52dad72 100644
--- a/mesonbuild/interpreterbase.py
+++ b/mesonbuild/interpreterbase.py
@@ -17,6 +17,7 @@
from . import mparser, mesonlib, mlog
from . import environment, dependencies
+from . import coredata
import os, copy, re, types
from functools import wraps
@@ -123,6 +124,22 @@ class permittedKwargs:
return f(*wrapped_args, **wrapped_kwargs)
return wrapped
+class featureVersion:
+ """Checks for newer/deprecated features"""
+
+ def __init__(self, feature_name, wanted_version):
+ self.feature_name = feature_name
+ self.wanted_version = wanted_version
+
+ def __call__(self, f):
+ @wraps(f)
+ def wrapped(*wrapped_args, **wrapped_kwargs):
+ tv = coredata.target_version
+ if tv == '':
+ return
+ return f(*wrapped_args, **wrapped_kwargs)
+ return wrapped
+
class InterpreterException(mesonlib.MesonException):
pass