Skip to content

Commit 18a9d31

Browse files
committed
backends/ninja: fix dependencies added as full but should be order-only
Due to the confusing naming of the parameters, a number of arguments were incorrectly added as full dependencies when they should be order only.
1 parent 11ddfd7 commit 18a9d31

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

mesonbuild/backend/ninjabackend.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1044,7 +1044,7 @@ def generate_target(self, target: T.Union[build.Target]) -> None:
10441044
is_unity = self.is_unity(target)
10451045
header_deps = []
10461046
unity_src: list[File] = []
1047-
unity_deps = [] # Generated sources that must be built before compiling a Unity target.
1047+
unity_deps: list[File] = [] # Generated sources that must be built before compiling a Unity target.
10481048
header_deps += self.get_generated_headers(target)
10491049

10501050
if is_unity:
@@ -1146,7 +1146,7 @@ def generate_target(self, target: T.Union[build.Target]) -> None:
11461146
else:
11471147
transpiled_source_files.append(raw_src)
11481148
for src in transpiled_source_files:
1149-
o, s = self.generate_single_compile(target, src, True, [], header_deps)
1149+
o, s = self.generate_single_compile(target, src, True, full_deps=header_deps)
11501150
obj_list.append(o)
11511151

11521152
# Generate compile targets for all the preexisting sources for this target
@@ -1170,8 +1170,9 @@ def generate_target(self, target: T.Union[build.Target]) -> None:
11701170

11711171
if is_unity:
11721172
for src in self.generate_unity_files(target, unity_src):
1173-
o, s = self.generate_single_compile(target, src, True, [*unity_deps, *header_deps, *d_generated_deps],
1174-
fortran_order_deps, fortran_inc_args, unity_src)
1173+
o, s = self.generate_single_compile(target, src, True, unity_deps,
1174+
[*header_deps, *d_generated_deps, *fortran_order_deps],
1175+
fortran_inc_args, unity_src)
11751176
obj_list.append(o)
11761177
compiled_sources.append(s)
11771178
source2object[s] = o
@@ -3242,7 +3243,7 @@ def order_deps_to_strings(self, target: build.BuildTarget, order_deps: T.List[Fi
32423243

32433244
def generate_single_compile(self, target: build.BuildTarget, src: FileOrString,
32443245
is_generated: bool = False,
3245-
full_deps: T.Optional[T.List[FileOrString]] = None,
3246+
full_deps: list[FileOrString] | list[File] | None = None,
32463247
order_deps: T.Optional[T.List[File] | T.List[FileOrString]] = None,
32473248
extra_args: T.Optional[T.List[str]] = None,
32483249
unity_sources: list[File] | None = None,
@@ -3358,7 +3359,7 @@ def generate_single_compile(self, target: build.BuildTarget, src: FileOrString,
33583359
# C++ import std is complicated enough to get its own method.
33593360
istd_args, istd_dep = self.handle_cpp_import_std(target, compiler)
33603361
commands.extend(istd_args)
3361-
full_deps += istd_dep
3362+
full_deps += T.cast('list[FileOrString]', istd_dep)
33623363
if extra_args is not None:
33633364
commands.extend(extra_args)
33643365

0 commit comments

Comments
 (0)