From 19f649f47352f7e12508abd88a862e95979d152d Mon Sep 17 00:00:00 2001 From: Haseeb Ashraf Date: Sat, 25 Jan 2025 10:41:18 +0500 Subject: [PATCH] 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 --- meta/recipes-devtools/llvm/llvm_19.1.6.bb | 2 ++ 1 file changed, 2 insertions(+) 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} \ " -- 2.47.3