From: Haseeb Ashraf Date: Sat, 25 Jan 2025 05:41:18 +0000 (+0500) Subject: llvm: set LLVM_HOST_TRIPLE for cross-compilation X-Git-Tag: yocto-5.2~700 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=19f649f47352f7e12508abd88a862e95979d152d;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git llvm: set LLVM_HOST_TRIPLE for cross-compilation The correct way to configure cmake for cross-compilation includes setting the LLVM_HOST_TRIPLE as well. Documentation Ref: https://github.com/llvm/llvm-project/blob/llvmorg-19.1.6/llvm/docs/HowToCrossCompileLLVM.rst#configuring-cmake This fixes bug when LLVM is cross-compiled for AAarch64 but it was getting built with the triple of native build system instead of the TARGET_SYS (aarch64-oe-linux) in my case. `No available targets are compatible with triple "x86_64-unknown-linux-gnu"` Signed-off-by: Haseeb Ashraf Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-devtools/llvm/llvm_19.1.6.bb b/meta/recipes-devtools/llvm/llvm_19.1.6.bb index 003676a6529..3efd6c40c30 100644 --- a/meta/recipes-devtools/llvm/llvm_19.1.6.bb +++ b/meta/recipes-devtools/llvm/llvm_19.1.6.bb @@ -82,12 +82,14 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ EXTRA_OECMAKE:append:class-target = "\ -DCMAKE_CROSSCOMPILING:BOOL=ON \ + -DLLVM_HOST_TRIPLE=${TARGET_SYS} \ -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen${PV} \ -DLLVM_CONFIG_PATH=${STAGING_BINDIR_NATIVE}/llvm-config${PV} \ " EXTRA_OECMAKE:append:class-nativesdk = "\ -DCMAKE_CROSSCOMPILING:BOOL=ON \ + -DLLVM_HOST_TRIPLE=${SDK_SYS} \ -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen${PV} \ -DLLVM_CONFIG_PATH=${STAGING_BINDIR_NATIVE}/llvm-config${PV} \ "