summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2025-07-01 22:32:16 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-07-03 10:40:17 +0100
commit53d01ed4f4bae400bcef48f9576d49892b9ab508 (patch)
tree0e8af7aeed399528aafc7beb55fd1161648cec0d
parent83fb170a0933a397d9a24445e2ca3fb3908ddc21 (diff)
downloadpoky-53d01ed4f4bae400bcef48f9576d49892b9ab508.tar.gz
clang-native: Add class to use clang as native compiler
Some recipes demand full clang/llvm builds e.g. chromium we need to use clang as native toolchain. This class collects all needed bits to enable OE built clang to provide the clang native toolchain Setting TOOLCHAIN_NATIVE = "clang" in recipe will chose clang for native toolchain (From OE-Core rev: 43ba5ed17e069b13cd43c36650524a0113c81955) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/toolchain/clang-native.bbclass18
1 files changed, 18 insertions, 0 deletions
diff --git a/meta/classes/toolchain/clang-native.bbclass b/meta/classes/toolchain/clang-native.bbclass
new file mode 100644
index 0000000000..4de491a1cb
--- /dev/null
+++ b/meta/classes/toolchain/clang-native.bbclass
@@ -0,0 +1,18 @@
1BUILD_CC = "${CCACHE}${BUILD_PREFIX}clang ${BUILD_CC_ARCH}"
2BUILD_CXX = "${CCACHE}${BUILD_PREFIX}clang++ ${BUILD_CC_ARCH}"
3BUILD_FC = "${BUILD_PREFIX}gfortran ${BUILD_CC_ARCH}"
4BUILD_CPP = "${BUILD_PREFIX}clang ${BUILD_CC_ARCH} -E"
5BUILD_LD = "${BUILD_PREFIX}ld ${BUILD_LD_ARCH}"
6BUILD_CCLD = "${BUILD_PREFIX}clang ${BUILD_CC_ARCH}"
7BUILD_AR = "${BUILD_PREFIX}llvm-ar"
8BUILD_AS = "${BUILD_PREFIX}as ${BUILD_AS_ARCH}"
9BUILD_RANLIB = "${BUILD_PREFIX}llvm-ranlib -D"
10BUILD_STRIP = "${BUILD_PREFIX}llvm-strip"
11BUILD_OBJCOPY = "${BUILD_PREFIX}llvm-objcopy"
12BUILD_OBJDUMP = "${BUILD_PREFIX}llvm-objdump"
13BUILD_NM = "${BUILD_PREFIX}llvm-nm"
14BUILD_READELF = "${BUILD_PREFIX}llvm-readelf"
15
16DEPENDS += "clang-native libcxx-native compiler-rt-native"
17
18LDFLAGS += " --rtlib=libgcc --unwindlib=libgcc"