summaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authorJan Janssen <medhefgo@web.de>2023-01-25 17:39:12 +0100
committerJan Janssen <medhefgo@web.de>2023-02-21 15:10:26 +0100
commit2ed35b2f3e183ad6455142bbca455167e3b08f39 (patch)
tree3b13e1f5bab5eae0eb12310793e54de6326819b6 /meson.build
parenta9a7153cd24666edb67a4917b9a95fa41cd1929c (diff)
downloadsystemd-2ed35b2f3e183ad6455142bbca455167e3b08f39.tar.gz
meson: Use dicts for fuzzer definitions
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build27
1 files changed, 14 insertions, 13 deletions
diff --git a/meson.build b/meson.build
index 32fc9e966d..347e09b0e0 100644
--- a/meson.build
+++ b/meson.build
@@ -4181,17 +4181,15 @@ endif
############################################################
foreach fuzzer : simple_fuzzers
- fuzzers += [ [[fuzzer]] ]
+ fuzzers += { 'sources' : [fuzzer] }
endforeach
fuzzer_exes = []
-foreach tuple : fuzzers
- sources = tuple[0]
- link_with = tuple.length() > 1 and tuple[1].length() > 0 ? tuple[1] : [libshared]
- dependencies = tuple.length() > 2 ? tuple[2] : []
- incs = tuple.length() > 3 and tuple[3].length() > 0 ? tuple[3] : includes
- defs = tuple.length() > 4 ? tuple[4] : []
+foreach fuzzer : fuzzers
+ sources = fuzzer.get('sources')
+ base = fuzzer.get('base', {})
+ dependencies = [base.get('dependencies', []), fuzzer.get('dependencies', [])]
link_args = []
if want_ossfuzz
@@ -4203,7 +4201,7 @@ foreach tuple : fuzzers
link_args += ['-fsanitize=fuzzer']
endif
else
- sources += 'src/fuzz/fuzz-main.c'
+ sources += files('src/fuzz/fuzz-main.c')
endif
sources += fuzz_generated_directives
@@ -4213,11 +4211,14 @@ foreach tuple : fuzzers
exe = executable(
name,
sources,
- include_directories : [incs, include_directories('src/fuzz')],
- link_with : link_with,
- dependencies : [dependencies,
- versiondep],
- c_args : defs + test_cflags,
+ include_directories : [
+ base.get('includes', []),
+ fuzzer.get('includes', includes),
+ include_directories('src/fuzz'),
+ ],
+ link_with : [base.get('link_with', []), fuzzer.get('link_with', libshared)],
+ dependencies : [dependencies, versiondep],
+ c_args : [test_cflags, fuzzer.get('c_args', [])],
link_args: link_args,
install : false,
build_by_default : fuzzer_build)