aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2018-09-17 09:18:10 -0400
committerXavier Claessens <xclaesse@gmail.com>2018-09-17 11:37:14 -0400
commit6112e6a8157f823c22dcc91f44e443037e90c73d (patch)
treedaf7b0785ff72989dbb792b111bad4ecd6f6eaf5 /mesonbuild
parentf5bb3005a220d28926ce50692eafa90b15918e79 (diff)
downloadmeson-6112e6a8157f823c22dcc91f44e443037e90c73d.zip
meson-6112e6a8157f823c22dcc91f44e443037e90c73d.tar.gz
meson-6112e6a8157f823c22dcc91f44e443037e90c73d.tar.bz2
Fix version check when passing feature option to find_installation()
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/interpreter.py6
-rw-r--r--mesonbuild/modules/python.py3
2 files changed, 6 insertions, 3 deletions
diff --git a/mesonbuild/interpreter.py b/mesonbuild/interpreter.py
index 0e6a041..131c24e 100644
--- a/mesonbuild/interpreter.py
+++ b/mesonbuild/interpreter.py
@@ -92,13 +92,15 @@ class FeatureOptionHolder(InterpreterObject, ObjectHolder):
def auto_method(self, args, kwargs):
return self.held_object.is_auto()
-def extract_required_kwarg(kwargs, subproject):
+def extract_required_kwarg(kwargs, subproject, feature_check=None):
val = kwargs.get('required', True)
disabled = False
required = False
feature = None
if isinstance(val, FeatureOptionHolder):
- FeatureNew('User option "feature"', '0.47.0').use(subproject)
+ if not feature_check:
+ feature_check = FeatureNew('User option "feature"', '0.47.0')
+ feature_check.use(subproject)
option = val.held_object
feature = val.name
if option.is_disabled():
diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py
index 0ba086b..48352c4 100644
--- a/mesonbuild/modules/python.py
+++ b/mesonbuild/modules/python.py
@@ -477,7 +477,8 @@ class PythonModule(ExtensionModule):
@permittedKwargs(['required'])
def find_installation(self, interpreter, state, args, kwargs):
- disabled, required, feature = extract_required_kwarg(kwargs, state.subproject)
+ feature_check = FeatureNew('Passing "feature" option to find_installation', '0.48.0')
+ disabled, required, feature = extract_required_kwarg(kwargs, state.subproject, feature_check)
if disabled:
mlog.log('find_installation skipped: feature', mlog.bold(feature), 'disabled')
return ExternalProgramHolder(NonExistingExternalProgram())