diff options
-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()) |