aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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())