diff --git a/test/fuzz/meson.build b/test/fuzz/meson.build index 45f777525c3..4b7d9236175 100644 --- a/test/fuzz/meson.build +++ b/test/fuzz/meson.build @@ -52,10 +52,11 @@ sanitize_address_undefined = custom_target( project_source_root, '@OUTPUT@', 'fuzzers', - '-Dfuzz-tests=true -Db_lundef=false -Db_sanitize=address,undefined --optimization=@0@ @1@ -Dc_args=@2@ -Dcpp_args=@2@ --auto-features=@3@'.format( + ' '.join(get_option('c_args') + '-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION'), + ' '.join(get_option('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' : '', - '-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION', sanitize_auto_features ), ' '.join(cc.cmd_array()), diff --git a/tools/meson-build.sh b/tools/meson-build.sh index 2ef60cfa8e3..311b778f0a9 100755 --- a/tools/meson-build.sh +++ b/tools/meson-build.sh @@ -2,21 +2,20 @@ # SPDX-License-Identifier: LGPL-2.1-or-later set -eux -src="$1" -dst="$2" -target="$3" -options="$4" -CC="$5" -CXX="$6" +sourcedir="${1:?}" +builddir="${2:?}" +target="${3:?}" +c_args="${4:?}" +cpp_args="${5:?}" +options="${6:?}" +CC="${7:?}" +CXX="${8:?}" -# shellcheck disable=SC2086 -[ -f "$dst/build.ninja" ] || CC="$CC" CXX="$CXX" meson setup "$src" "$dst" $options - -# Locate ninja binary, on CentOS 7 it is called ninja-build, so -# use that name if available. -ninja="ninja" -if command -v ninja-build >/dev/null ; then - ninja="ninja-build" +if [ ! -f "$builddir/build.ninja" ]; then + # shellcheck disable=SC2086 + CC="$CC" CXX="$CXX" meson setup -Dc_args="$c_args" -Dcpp_args="$cpp_args" "$builddir" "$sourcedir" $options fi -"$ninja" -C "$dst" "$target" +# Locate ninja binary, on CentOS 7 it is called ninja-build, so use that name if available. +command -v ninja-build >/dev/null && ninja="ninja-build" || ninja="ninja" +"$ninja" -C "$builddir" "$target"