diff options
author | Xavier Claessens <xavier.claessens@collabora.com> | 2018-09-17 09:18:10 -0400 |
---|---|---|
committer | Xavier Claessens <xclaesse@gmail.com> | 2018-09-17 11:37:14 -0400 |
commit | 6112e6a8157f823c22dcc91f44e443037e90c73d (patch) | |
tree | daf7b0785ff72989dbb792b111bad4ecd6f6eaf5 /mesonbuild | |
parent | f5bb3005a220d28926ce50692eafa90b15918e79 (diff) | |
download | meson-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.py | 6 | ||||
-rw-r--r-- | mesonbuild/modules/python.py | 3 |
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()) |