From efb8b34932e088251e4ec21a528680d6829aa3f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= Date: Thu, 8 May 2025 23:38:36 +0300 Subject: [PATCH] build-llvm: Support using --with-clang in a --host cross build When cross compiling with llvm-mingw, we already implicitly use clang and lld, but we don't need to specify these options as they are set implicitly via the llvm-mingw wrappers. --- build-llvm.sh | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/build-llvm.sh b/build-llvm.sh index 7e6fe42..6a229bb 100755 --- a/build-llvm.sh +++ b/build-llvm.sh @@ -157,9 +157,18 @@ CMAKEFLAGS="$LLVM_CMAKEFLAGS" if [ -n "$HOST" ]; then ARCH="${HOST%%-*}" - CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_C_COMPILER=$HOST-gcc" - CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_CXX_COMPILER=$HOST-g++" - CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_SYSTEM_PROCESSOR=$ARCH" + + if [ -n "$WITH_CLANG" ]; then + CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_C_COMPILER=clang" + CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_CXX_COMPILER=clang++" + CMAKEFLAGS="$CMAKEFLAGS -DLLVM_USE_LINKER=lld" + CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_C_COMPILER_TARGET=$HOST" + CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_CXX_COMPILER_TARGET=$HOST" + else + CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_C_COMPILER=$HOST-gcc" + CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_CXX_COMPILER=$HOST-g++" + CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_SYSTEM_PROCESSOR=$ARCH" + fi case $HOST in *-mingw32) CMAKEFLAGS="$CMAKEFLAGS -DCMAKE_SYSTEM_NAME=Windows"