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'.
This commit is contained in:
Frantisek Sumsal 2023-11-15 11:41:45 +01:00
parent b0f965966b
commit a3d3bf559c
2 changed files with 10 additions and 3 deletions

View File

@ -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' : '',

View File

@ -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