configure: add llvm toolchain option

This uses llvm tools. `clang-*` toolchain is left mostly for backward
compatibility, although it doesn't use llvm tools, only clang. On top of
that it's for enabling sanitizers. While `llvm` toolchain can be use
without sanitizer suffix.

Signed-off-by: Kacper Michajłow <kasper93@gmail.com>
This commit is contained in:
Kacper Michajłow
2026-03-31 18:10:47 +02:00
parent 7466d8a850
commit 43be5cccd8

12
configure vendored
View File

@@ -390,7 +390,7 @@ Toolchain options:
--tempprefix=PATH force fixed dir/prefix instead of mktemp for checks
--toolchain=NAME set tool defaults according to NAME
(<tool>[-sanitizer[-...]], e.g. clang-asan-ubsan
tools: gcc, clang, msvc, icl, gcov, llvm-cov,
tools: gcc, clang, llvm, msvc, icl, gcov, llvm-cov,
valgrind-memcheck, valgrind-massif, hardened
sanitizers: asan, fuzz, lsan, msan, tsan, ubsan)
--nm=NM use nm tool NM [$nm_default]
@@ -4875,6 +4875,16 @@ case "$toolchain" in
cc_default="clang"
cxx_default="clang++"
;;
llvm|llvm-*)
cc_default="clang"
cxx_default="clang++"
ar_default="llvm-ar"
nm_default="llvm-nm -g"
ranlib_default="llvm-ranlib"
strip_default="llvm-strip"
windres_default="llvm-windres"
test "$toolchain" != "llvm" && add_sanitizers "${toolchain#llvm-}"
;;
gcc-*)
add_sanitizers "${toolchain#gcc-}"
cc_default="gcc"