diff options
| -rw-r--r-- | mesonbuild/backend/backends.py | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/mesonbuild/backend/backends.py b/mesonbuild/backend/backends.py index 20f7907a1..3dfa2fba6 100644 --- a/mesonbuild/backend/backends.py +++ b/mesonbuild/backend/backends.py @@ -1196,25 +1196,31 @@ class Backend: links to and return them so they can be used in unit tests. """ - result: T.Set[str] = set() prospectives: T.Set[build.BuildTargetTypes] = set() + internal_deps: T.Set[str] = set() + external_deps: T.Set[str] = set() + if isinstance(target, build.BuildTarget): prospectives.update(target.get_all_link_deps()) - # External deps - result.update(self.extract_dll_paths(target)) for bdep in extra_bdeps: prospectives.add(bdep) if isinstance(bdep, build.BuildTarget): prospectives.update(bdep.get_all_link_deps()) + # Internal deps for ld in prospectives: dirseg = os.path.join(self.environment.get_build_dir(), self.get_target_dir(ld)) - result.add(dirseg) - if (isinstance(target, build.BuildTarget) and - not self.environment.machines.matches_build_machine(target.for_machine)): - result.update(self.get_mingw_extra_paths(target)) - return list(result) + internal_deps.add(dirseg) + + if isinstance(target, build.BuildTarget): + # External deps + external_deps.update(self.extract_dll_paths(target)) + + if not self.environment.machines.matches_build_machine(target.for_machine): + external_deps.update(self.get_mingw_extra_paths(target)) + + return list(internal_deps) + list(external_deps) def write_benchmark_file(self, datafile: T.BinaryIO) -> None: self.write_test_serialisation(self.build.get_benchmarks(), datafile) |
