From 9294fd23be8d691ccbf41dbef1b39772e03c1eda Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Tue, 6 Nov 2018 16:10:03 -0800 Subject: backends/ninja: all files in a java target should depend on generated sources Because java files are both headers and source it's very probably that generation and compilation will race otherwise. --- mesonbuild/backend/ninjabackend.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'mesonbuild/backend/ninjabackend.py') diff --git a/mesonbuild/backend/ninjabackend.py b/mesonbuild/backend/ninjabackend.py index 9e76c5b..5606c41 100644 --- a/mesonbuild/backend/ninjabackend.py +++ b/mesonbuild/backend/ninjabackend.py @@ -877,6 +877,10 @@ int dummy; def generate_single_java_compile(self, src, target, compiler, outfile): deps = [os.path.join(self.get_target_dir(l), l.get_filename()) for l in target.link_targets] + generated_sources = self.get_target_generated_sources(target) + for rel_src, gensrc in generated_sources.items(): + if rel_src.endswith('.java'): + deps.append(rel_src) args = [] args += compiler.get_buildtype_args(self.get_option_for_target('buildtype', target)) args += self.build.get_global_args(compiler, target.is_cross) -- cgit v1.1