19 lines
912 B
Diff
19 lines
912 B
Diff
# UNDF: UNDF-2026-000000171
|
|
diff --git a/mesonbuild/build.py b/mesonbuild/build.py
|
|
index abc1234..def5678 100644
|
|
--- a/mesonbuild/build.py
|
|
+++ b/mesonbuild/build.py
|
|
@@ -843,6 +843,8 @@ class BuildTarget(Target):
|
|
self.extra_files: T.List[File] = []
|
|
+ # Shadow set for O(1) duplicate detection in add_deps / process path.
|
|
+ self._extra_files_set: T.Set[File] = set()
|
|
|
|
@@ -1569,7 +1571,10 @@ class BuildTarget(Target):
|
|
if isinstance(dep, dependencies.InternalDependency):
|
|
# Those parts that are internal.
|
|
self.process_sourcelist(dep.sources)
|
|
- self.extra_files.extend(f for f in dep.extra_files if f not in self.extra_files)
|
|
+ for f in dep.extra_files:
|
|
+ if f not in self._extra_files_set:
|
|
+ self._extra_files_set.add(f)
|
|
+ self.extra_files.append(f)
|