From 24799e053a5280bbe9d93c37bcb8526d756a9c67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20Andr=C3=A9=20Vadla=20Ravn=C3=A5s?= Date: Wed, 10 Apr 2024 11:29:42 +0200 Subject: [PATCH] ninja: Dedupe Swift link args of external deps MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit To avoid warnings about duplicate ā€œ-lā€ flags. --- mesonbuild/backend/ninjabackend.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index d4c5bb9668cf..e3fa989b5021 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -2143,7 +2143,17 @@ def determine_swift_external_dep_link_args(self, target, swiftc): if isinstance(d, build.StaticLibrary): for dep in d.get_external_deps(): args += swiftc.get_dependency_link_args(dep) - return args + + deduped_args = [] + seen_libs = set() + for arg in args: + if arg.startswith("-l"): + if arg not in seen_libs: + deduped_args.append(arg) + seen_libs.add(arg) + else: + deduped_args.append(arg) + return deduped_args def get_swift_link_deps(self, target): result = []