aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild
diff options
context:
space:
mode:
authorDylan Baker <dylan@pnwbakers.com>2018-11-06 16:10:03 -0800
committerDylan Baker <dylan@pnwbakers.com>2018-11-07 14:26:22 -0800
commit9294fd23be8d691ccbf41dbef1b39772e03c1eda (patch)
tree1d3b669e47a06700fcfb329fe2168dfbe3308d82 /mesonbuild
parent62e1735828753012b3cf80f94ab4e176b015d17d (diff)
downloadmeson-9294fd23be8d691ccbf41dbef1b39772e03c1eda.zip
meson-9294fd23be8d691ccbf41dbef1b39772e03c1eda.tar.gz
meson-9294fd23be8d691ccbf41dbef1b39772e03c1eda.tar.bz2
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.
Diffstat (limited to 'mesonbuild')
-rw-r--r--mesonbuild/backend/ninjabackend.py4
1 files changed, 4 insertions, 0 deletions
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)