From 0c2e93b863f8ec164e7e9e119ab127a752cb1331 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 20 Dec 2018 22:33:24 +0100 Subject: [PATCH] meson: declare version.h as dep for fuzzers This is supposed an error when building fuzzers for sanitization (that is a nested build with the sanitization options): In file included from ../../../../src/basic/util.c:21:0: ../../../../src/basic/build.h:4:21: fatal error: version.h: No such file or directory #include "version.h" ^ compilation terminated. Internally we do 'ninja -C test/fuzz/sanitize-address-fuzzers fuzzers'. I'm not quite sure why version.h is not built in this case. But declaring version_h as the dependency forces it to be built and solves the issue. It would be better to define the dependency on individual exe's, but this doesn't work: meson.build:2884:8: ERROR: Argument is of an unacceptable type 'CustomTarget'. Must be either an external dependency (returned by find_library() or dependency()) or an internal dependency (returned by declare_dependency()). Let's treat this a hack for another hack, which the nested build is. --- meson.build | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index f528b4125f..daafd822a3 100644 --- a/meson.build +++ b/meson.build @@ -2891,8 +2891,9 @@ foreach tuple : fuzzers endforeach endif -run_target('fuzzers', - depends : fuzzer_exes, +run_target( + 'fuzzers', + depends : [fuzzer_exes, version_h], command : ['true']) ############################################################