From a3d3bf559c9789c8abe96d931fc5d3f109886db9 Mon Sep 17 00:00:00 2001 From: Frantisek Sumsal Date: Wed, 15 Nov 2023 11:41:45 +0100 Subject: [PATCH] fuzz: don't panic without a C++ compiler meson's `cpp_args` option is defined only if it detects a C++ compiler, otherwise we get an error: ../test/fuzz/meson.build:56:28: ERROR: Tried to access unknown option 'cpp_args'. --- test/fuzz/meson.build | 11 +++++++++-- tools/meson-build.sh | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/test/fuzz/meson.build b/test/fuzz/meson.build index 4b7d9236175..b6bcb525515 100644 --- a/test/fuzz/meson.build +++ b/test/fuzz/meson.build @@ -45,6 +45,13 @@ else sanitize_auto_features = 'auto' endif +fuzz_c_args = get_option('c_args') +if cxx_cmd != '' + fuzz_cpp_args = get_option('cpp_args') +else + fuzz_cpp_args = [] +endif + sanitize_address_undefined = custom_target( 'sanitize-address-undefined-fuzzers', output : 'sanitize-address-undefined-fuzzers', @@ -52,8 +59,8 @@ sanitize_address_undefined = custom_target( project_source_root, '@OUTPUT@', 'fuzzers', - ' '.join(get_option('c_args') + '-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION'), - ' '.join(get_option('cpp_args') + '-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION'), + ' '.join(fuzz_c_args + '-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION'), + ' '.join(fuzz_cpp_args + '-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION'), '-Dfuzz-tests=true -Db_lundef=false -Db_sanitize=address,undefined --optimization=@0@ @1@ --auto-features=@2@'.format( get_option('optimization'), get_option('werror') ? '--werror' : '', diff --git a/tools/meson-build.sh b/tools/meson-build.sh index 311b778f0a9..2366df23f9d 100755 --- a/tools/meson-build.sh +++ b/tools/meson-build.sh @@ -9,7 +9,7 @@ c_args="${4:?}" cpp_args="${5:?}" options="${6:?}" CC="${7:?}" -CXX="${8:?}" +CXX="$8" if [ ! -f "$builddir/build.ninja" ]; then # shellcheck disable=SC2086