From a11e19e8e12d84373cd3784f718ad7baafb24d7b Mon Sep 17 00:00:00 2001 From: John Turner Date: Mon, 1 Dec 2025 19:50:26 +0000 Subject: [PATCH] clean up fuzzer related meson logic --- fuzz/atom/parser/meson.build | 9 +++++---- fuzz/atom/vercmp/meson.build | 9 +++++---- fuzz/meson.build | 21 +++++++++++---------- 3 files changed, 21 insertions(+), 18 deletions(-) diff --git a/fuzz/atom/parser/meson.build b/fuzz/atom/parser/meson.build index efc84c6..88452f5 100644 --- a/fuzz/atom/parser/meson.build +++ b/fuzz/atom/parser/meson.build @@ -1,6 +1,7 @@ fuzzers += { - 'atom_parser': [ - meson.current_source_dir() / 'gencorpus.rs', - meson.current_source_dir() / 'fuzz.rs', - ], + 'atom_parser': { + 'gencorpus': meson.current_source_dir() / 'gencorpus.rs', + 'fuzzer': meson.current_source_dir() / 'fuzz.rs', + 'deps': [mon], + }, } diff --git a/fuzz/atom/vercmp/meson.build b/fuzz/atom/vercmp/meson.build index 51b237b..5634061 100644 --- a/fuzz/atom/vercmp/meson.build +++ b/fuzz/atom/vercmp/meson.build @@ -1,6 +1,7 @@ fuzzers += { - 'atom_vercmp': [ - meson.current_source_dir() / 'gencorpus.rs', - meson.current_source_dir() / 'fuzz.rs', - ], + 'atom_vercmp': { + 'gencorpus': meson.current_source_dir() / 'gencorpus.rs', + 'fuzzer': meson.current_source_dir() / 'fuzz.rs', + 'deps': [mon], + }, } diff --git a/fuzz/meson.build b/fuzz/meson.build index 1b61551..eb485db 100644 --- a/fuzz/meson.build +++ b/fuzz/meson.build @@ -4,9 +4,10 @@ fuzzers = {} subdir('atom') -foreach fuzzer, sources : fuzzers - gencorpus_rs = sources[0] - fuzz_rs = sources[1] +foreach fuzzer, meta : fuzzers + gencorpus_rs = meta['gencorpus'] + fuzz_rs = meta['fuzzer'] + deps = meta['deps'] gencorpus = executable( fuzzer + '_' + 'gencorpus', @@ -18,20 +19,20 @@ foreach fuzzer, sources : fuzzers corpus_directory = fuzzer + '_' + 'corpus' corpus = custom_target( - fuzzer + '_' + 'corpus', - output: fuzzer + '_' + 'corpus', + f'@fuzzer@_corpus', + output: f'@fuzzer@_corpus', command: [gencorpus, corpus_directory], ) fuzz_h = custom_target( - fuzzer + '_' + 'fuzz_h', + f'@fuzzer@_fuzz.h', input: fuzz_rs, - output: fuzzer + '_' + 'fuzz.h', + output: f'@fuzzer@_fuzz.h', command: [cbindgen, '@INPUT@', '-o', '@OUTPUT'], ) fuzz_rs = static_library( - fuzzer + '.rs', + f'@fuzzer@.rs', fuzz_rs, rust_abi: 'c', rust_args: [ @@ -39,12 +40,12 @@ foreach fuzzer, sources : fuzzers '-Cllvm-args=-sanitizer-coverage-level=3', '-Cllvm-args=-sanitizer-coverage-inline-8bit-counters', ], - dependencies: [mon], + dependencies: deps, link_with: [gentoo_utils], ) fuzz = executable( - fuzzer + '_' + 'fuzzer', + f'@fuzzer@_fuzzer', link_args: ['-fsanitize=fuzzer'], link_with: [fuzz_rs], )