diff options
author | Khem Raj <raj.khem@gmail.com> | 2025-06-09 21:26:00 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2025-07-06 22:08:11 -0700 |
commit | e90aaa3dae2a180897fe175ef14c8cf734b2a365 (patch) | |
tree | 7fea633ab04356f6150c30006ce53e1749e0aeeb | |
parent | 521fcaf2c3fdeddb2ef76837cae5da926068864a (diff) | |
download | meta-clang-e90aaa3dae2a180897fe175ef14c8cf734b2a365.tar.gz |
clang-legacy: Adjust for oe-core changes
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r-- | classes/clang-legacy.bbclass | 41 |
1 files changed, 14 insertions, 27 deletions
diff --git a/classes/clang-legacy.bbclass b/classes/clang-legacy.bbclass index 3c4baf2..5f9d211 100644 --- a/classes/clang-legacy.bbclass +++ b/classes/clang-legacy.bbclass | |||
@@ -2,21 +2,11 @@ | |||
2 | CCACHE_COMPILERCHECK:toolchain-clang ?= "%compiler% -v" | 2 | CCACHE_COMPILERCHECK:toolchain-clang ?= "%compiler% -v" |
3 | HOST_CC_ARCH:prepend:toolchain-clang:class-target = "-target ${HOST_SYS} " | 3 | HOST_CC_ARCH:prepend:toolchain-clang:class-target = "-target ${HOST_SYS} " |
4 | HOST_CC_ARCH:prepend:toolchain-clang:class-nativesdk = "-target ${HOST_SYS} " | 4 | HOST_CC_ARCH:prepend:toolchain-clang:class-nativesdk = "-target ${HOST_SYS} " |
5 | CC:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | 5 | LD:toolchain-clang:class-target = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', '${HOST_PREFIX}ld.lld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', '${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', d)}" |
6 | CXX:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | 6 | LD:toolchain-clang:class-nativesdk = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', '${HOST_PREFIX}ld.lld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', '${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', d)}" |
7 | CPP:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} -E" | 7 | |
8 | CCLD:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | 8 | LTO:toolchain-clang:class-target = "${@bb.utils.contains('DISTRO_FEATURES', 'thin-lto', '-flto=thin', '-flto -fuse-ld=lld', d)}" |
9 | RANLIB:toolchain-clang = "${HOST_PREFIX}llvm-ranlib" | 9 | LTO:toolchain-clang:class-nativesdk = "${@bb.utils.contains('DISTRO_FEATURES', 'thin-lto', '-flto=thin', '-flto -fuse-ld=lld', d)}" |
10 | AR:toolchain-clang = "${HOST_PREFIX}llvm-ar" | ||
11 | NM:toolchain-clang = "${HOST_PREFIX}llvm-nm" | ||
12 | OBJDUMP:toolchain-clang = "${HOST_PREFIX}llvm-objdump" | ||
13 | OBJCOPY:toolchain-clang = "${HOST_PREFIX}llvm-objcopy" | ||
14 | STRIP:toolchain-clang = "${HOST_PREFIX}llvm-strip" | ||
15 | STRINGS:toolchain-clang = "${HOST_PREFIX}llvm-strings" | ||
16 | READELF:toolchain-clang = "${HOST_PREFIX}llvm-readelf" | ||
17 | LD:toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', '${HOST_PREFIX}ld.lld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', '${HOST_PREFIX}ld${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', d)}" | ||
18 | |||
19 | LTO:toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'thin-lto', '-flto=thin', '-flto -fuse-ld=lld', d)}" | ||
20 | 10 | ||
21 | COMPILER_RT ??= "" | 11 | COMPILER_RT ??= "" |
22 | COMPILER_RT:class-native = "-rtlib=libgcc ${UNWINDLIB}" | 12 | COMPILER_RT:class-native = "-rtlib=libgcc ${UNWINDLIB}" |
@@ -34,10 +24,6 @@ LIBCPLUSPLUS:armv5 = "-stdlib=libstdc++" | |||
34 | CXXFLAGS:append:toolchain-clang = " ${LIBCPLUSPLUS}" | 24 | CXXFLAGS:append:toolchain-clang = " ${LIBCPLUSPLUS}" |
35 | LDFLAGS:append:toolchain-clang = " ${COMPILER_RT} ${LIBCPLUSPLUS}" | 25 | LDFLAGS:append:toolchain-clang = " ${COMPILER_RT} ${LIBCPLUSPLUS}" |
36 | 26 | ||
37 | TUNE_CCARGS:remove:toolchain-clang = "-meb" | ||
38 | TUNE_CCARGS:remove:toolchain-clang = "-mel" | ||
39 | TUNE_CCARGS:append:toolchain-clang = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -mbig-endian", " -mlittle-endian", d)}" | ||
40 | |||
41 | # Clang does not yet support big.LITTLE performance tunes, so use the LITTLE for tunes | 27 | # Clang does not yet support big.LITTLE performance tunes, so use the LITTLE for tunes |
42 | TUNE_CCARGS:remove:toolchain-clang = "\ | 28 | TUNE_CCARGS:remove:toolchain-clang = "\ |
43 | -mcpu=cortex-a57.cortex-a53${TUNE_CCARGS_MARCH_OPTS} \ | 29 | -mcpu=cortex-a57.cortex-a53${TUNE_CCARGS_MARCH_OPTS} \ |
@@ -79,7 +65,8 @@ LDFLAGS:toolchain-clang:class-nativesdk = "${BUILDSDK_LDFLAGS} \ | |||
79 | -Wl,-rpath,${libdir}/.. " | 65 | -Wl,-rpath,${libdir}/.. " |
80 | 66 | ||
81 | # Enable lld globally except for ppc32 where it causes random segfaults in Qemu usermode | 67 | # Enable lld globally except for ppc32 where it causes random segfaults in Qemu usermode |
82 | LDFLAGS:append:toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -fuse-ld=lld', '', d)}" | 68 | LDFLAGS:append:toolchain-clang:class-target = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -fuse-ld=lld', '', d)}" |
69 | LDFLAGS:append:toolchain-clang:class-nativesdk = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -fuse-ld=lld', '', d)}" | ||
83 | LDFLAGS:remove:toolchain-clang:powerpc = "-fuse-ld=lld" | 70 | LDFLAGS:remove:toolchain-clang:powerpc = "-fuse-ld=lld" |
84 | 71 | ||
85 | # Remove gcc specific -fcanon-prefix-map option, added in gcc-13+ | 72 | # Remove gcc specific -fcanon-prefix-map option, added in gcc-13+ |
@@ -95,15 +82,15 @@ TC_CXX_RUNTIME ??= "gnu" | |||
95 | TC_CXX_RUNTIME:armeb = "gnu" | 82 | TC_CXX_RUNTIME:armeb = "gnu" |
96 | TC_CXX_RUNTIME:armv5 = "gnu" | 83 | TC_CXX_RUNTIME:armv5 = "gnu" |
97 | 84 | ||
98 | TOOLCHAIN:class-native = "gcc" | 85 | #TOOLCHAIN:class-native = "gcc" |
99 | TOOLCHAIN:class-nativesdk = "gcc" | 86 | #TOOLCHAIN:class-nativesdk = "gcc" |
100 | TOOLCHAIN:class-cross-canadian = "gcc" | 87 | #TOOLCHAIN:class-cross-canadian = "gcc" |
101 | TOOLCHAIN:class-crosssdk = "gcc" | 88 | #TOOLCHAIN:class-crosssdk = "gcc" |
102 | TOOLCHAIN:class-cross = "gcc" | 89 | #TOOLCHAIN:class-cross = "gcc" |
103 | 90 | ||
104 | OVERRIDES =. "${@['', 'toolchain-${TOOLCHAIN}:']['${TOOLCHAIN}' != '']}" | 91 | #OVERRIDES =. "${@['', 'toolchain-${TOOLCHAIN}:']['${TOOLCHAIN}' != '']}" |
105 | OVERRIDES =. "${@['', 'runtime-${TC_CXX_RUNTIME}:']['${TC_CXX_RUNTIME}' != '']}" | 92 | OVERRIDES =. "${@['', 'runtime-${TC_CXX_RUNTIME}:']['${TC_CXX_RUNTIME}' != '']}" |
106 | OVERRIDES[vardepsexclude] += "TOOLCHAIN TC_CXX_RUNTIME" | 93 | OVERRIDES[vardepsexclude] += "TC_CXX_RUNTIME" |
107 | 94 | ||
108 | YOCTO_ALTERNATE_EXE_PATH:toolchain-clang:class-target = "${STAGING_BINDIR}/llvm-config" | 95 | YOCTO_ALTERNATE_EXE_PATH:toolchain-clang:class-target = "${STAGING_BINDIR}/llvm-config" |
109 | YOCTO_ALTERNATE_LIBDIR:toolchain-clang:class-target = "/${BASELIB}" | 96 | YOCTO_ALTERNATE_LIBDIR:toolchain-clang:class-target = "/${BASELIB}" |