summaryrefslogtreecommitdiff
path: root/mesonbuild/modules
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/modules')
-rw-r--r--mesonbuild/modules/python.py10
1 files changed, 3 insertions, 7 deletions
diff --git a/mesonbuild/modules/python.py b/mesonbuild/modules/python.py
index 8588c4cbb..ac74e13dc 100644
--- a/mesonbuild/modules/python.py
+++ b/mesonbuild/modules/python.py
@@ -22,7 +22,7 @@ from .. import mlog
from ..coredata import UserFeatureOption
from ..build import known_shmod_kwargs
from ..dependencies import NotFoundDependency
-from ..dependencies.detect import get_dep_identifier
+from ..dependencies.detect import get_dep_identifier, find_external_dependency
from ..dependencies.python import BasicPythonExternalProgram, python_factory, _PythonDependencyBase
from ..interpreter import ExternalProgramHolder, extract_required_kwarg, permitted_dependency_kwargs
from ..interpreter import primitives as P_OBJ
@@ -185,12 +185,8 @@ class PythonInstallation(ExternalProgramHolder):
new_kwargs = kwargs.copy()
new_kwargs['required'] = False
- # it's theoretically (though not practically) possible to not bind dep, let's ensure it is.
- dep: Dependency = NotFoundDependency('python', self.interpreter.environment)
- for d in python_factory(self.interpreter.environment, for_machine, new_kwargs, self.held_object):
- dep = d()
- if dep.found():
- break
+ candidates = python_factory(self.interpreter.environment, for_machine, new_kwargs, self.held_object)
+ dep = find_external_dependency('python', self.interpreter.environment, new_kwargs, candidates)
self.interpreter.coredata.deps[for_machine].put(identifier, dep)
return dep