1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-08-04 22:03:09 +02:00

configure: allow multiple sanitizers in --toolchain

For example this allows: --toolchain=clang-asan-usan.

Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
This commit is contained in:
Kacper Michajłow
2025-07-17 02:38:22 +02:00
parent 36b8c200fb
commit 85ae10575b

21
configure vendored
View File

@ -381,10 +381,10 @@ Toolchain options:
--target-samples=DIR path to samples directory on target --target-samples=DIR path to samples directory on target
--tempprefix=PATH force fixed dir/prefix instead of mktemp for checks --tempprefix=PATH force fixed dir/prefix instead of mktemp for checks
--toolchain=NAME set tool defaults according to NAME --toolchain=NAME set tool defaults according to NAME
(gcc-asan, clang-asan, gcc-msan, clang-msan, (<tool>[-sanitizer[-...]], e.g. clang-asan-usan
gcc-tsan, clang-tsan, gcc-usan, clang-usan, tools: gcc, clang, msvc, icl, gcov, llvm-cov,
valgrind-massif, valgrind-memcheck, valgrind-memcheck, valgrind-massif, hardened
msvc, icl, gcov, llvm-cov, hardened) sanitizers: asan, lsan, msan, tsan, usan)
--nm=NM use nm tool NM [$nm_default] --nm=NM use nm tool NM [$nm_default]
--ar=AR use archive tool AR [$ar_default] --ar=AR use archive tool AR [$ar_default]
--as=AS use assembler AS [$as_default] --as=AS use assembler AS [$as_default]
@ -4646,14 +4646,23 @@ add_sanitizer_flags(){
esac esac
} }
add_sanitizers(){
IFS=-
set -- $*
unset IFS
for sanitizer; do
add_sanitizer_flags "$sanitizer"
done
}
case "$toolchain" in case "$toolchain" in
clang-*) clang-*)
add_sanitizer_flags "${toolchain#clang-}" add_sanitizers "${toolchain#clang-}"
cc_default="clang" cc_default="clang"
cxx_default="clang++" cxx_default="clang++"
;; ;;
gcc-*) gcc-*)
add_sanitizer_flags "${toolchain#gcc-}" add_sanitizers "${toolchain#gcc-}"
cc_default="gcc" cc_default="gcc"
cxx_default="g++" cxx_default="g++"
# In case of tsan with gcc, PIC has to be enabled # In case of tsan with gcc, PIC has to be enabled