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.
This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2018-12-20 22:33:24 +01:00
parent 3d3075e309
commit 0c2e93b863

View File

@ -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'])
############################################################