aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreter
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2022-03-29 13:43:59 +0200
committerEli Schwartz <eschwartz93@gmail.com>2022-05-03 02:00:29 -0400
commit06b76f7c9d7bbe74450ed49316eaeae28dccda7d (patch)
tree9d5f4f60bb0173bce1542a0f93137773a09d5c4e /mesonbuild/interpreter
parentd413dedf2a6a6f893e110f7a03d9e3468fdf1fc3 (diff)
downloadmeson-06b76f7c9d7bbe74450ed49316eaeae28dccda7d.zip
meson-06b76f7c9d7bbe74450ed49316eaeae28dccda7d.tar.gz
meson-06b76f7c9d7bbe74450ed49316eaeae28dccda7d.tar.bz2
dependencies: extract code to get all leaf dependencies
Extract to a separate function the code that resolves dependencies for compiler methods. We will reuse it for add_project_dependencies(). Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'mesonbuild/interpreter')
-rw-r--r--mesonbuild/interpreter/compiler.py15
1 files changed, 1 insertions, 14 deletions
diff --git a/mesonbuild/interpreter/compiler.py b/mesonbuild/interpreter/compiler.py
index 9dc6544..185d151 100644
--- a/mesonbuild/interpreter/compiler.py
+++ b/mesonbuild/interpreter/compiler.py
@@ -239,20 +239,7 @@ class CompilerHolder(ObjectHolder['Compiler']):
return args
def _determine_dependencies(self, deps: T.List['dependencies.Dependency'], endl: str = ':') -> T.Tuple[T.List['dependencies.Dependency'], str]:
- if deps:
- final_deps = []
- while deps:
- next_deps = []
- for d in mesonlib.listify(deps):
- if not isinstance(d, dependencies.Dependency) or d.is_built():
- raise InterpreterException('Dependencies must be external dependencies')
- final_deps.append(d)
- next_deps.extend(d.ext_deps)
- deps = next_deps
- deps = final_deps
- else:
- # Ensure that we always return a new instance
- deps = deps.copy()
+ deps = dependencies.get_leaf_external_dependencies(deps)
return deps, self._dep_msg(deps, endl)
@typed_pos_args('compiler.alignment', str)