From a25f0741e8ac663c8b3a6e33df8a0875dceab804 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Wed, 13 May 2020 16:19:33 +0530 Subject: [PATCH] ninjabackend: Use order-only gen-header deps for gen-sources We do not need to *always* rebuild generated sources when a generated header changes. We will get that information from the compiler's dependency file, and ninja will track it for us. This is exactly the same as static sources. However, we do need an order-only dependency on all generated headers, because we cannot know what headers will be needed at compile time (which is when the compiler's dependency file is generated). This fixes spurious rebuilds and relinking in many cases. --- mesonbuild/backend/ninjabackend.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index 9b895c908..b1e6afa82 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -585,7 +585,7 @@ int dummy; o = self.generate_llvm_ir_compile(target, src) else: o = self.generate_single_compile(target, src, True, - header_deps=header_deps) + order_deps=header_deps) obj_list.append(o) use_pch = self.environment.coredata.base_options.get('b_pch', False)