diff options
author | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | 2021-08-02 09:45:55 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2021-08-03 10:00:28 -0700 |
commit | 17737cc4ecd3aea2c978bf83e283bcb08d097487 (patch) | |
tree | a4386a37907d9110572105af80ebe5a1c5bf3819 /classes/clang.bbclass | |
parent | 527f628b7d9bbfe8d3fbe743e876d30c4545a71a (diff) | |
download | meta-clang-17737cc4ecd3aea2c978bf83e283bcb08d097487.tar.gz |
meta-clang: Convert to new override syntax
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'classes/clang.bbclass')
-rw-r--r-- | classes/clang.bbclass | 102 |
1 files changed, 51 insertions, 51 deletions
diff --git a/classes/clang.bbclass b/classes/clang.bbclass index e642d0d..8825c15 100644 --- a/classes/clang.bbclass +++ b/classes/clang.bbclass | |||
@@ -1,90 +1,90 @@ | |||
1 | # Add the necessary override | 1 | # Add the necessary override |
2 | CCACHE_COMPILERCHECK_toolchain-clang ?= "%compiler% -v" | 2 | CCACHE_COMPILERCHECK:toolchain-clang ?= "%compiler% -v" |
3 | HOST_CC_ARCH_prepend_toolchain-clang = "-target ${HOST_SYS} " | 3 | HOST_CC_ARCH:prepend:toolchain-clang = "-target ${HOST_SYS} " |
4 | CC_toolchain-clang = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | 4 | CC:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" |
5 | CXX_toolchain-clang = "${CCACHE}${HOST_PREFIX}clang++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | 5 | CXX:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang++ ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" |
6 | CPP_toolchain-clang = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} -E" | 6 | CPP:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS} -E" |
7 | CCLD_toolchain-clang = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" | 7 | CCLD:toolchain-clang = "${CCACHE}${HOST_PREFIX}clang ${HOST_CC_ARCH}${TOOLCHAIN_OPTIONS}" |
8 | RANLIB_toolchain-clang = "${HOST_PREFIX}llvm-ranlib" | 8 | RANLIB:toolchain-clang = "${HOST_PREFIX}llvm-ranlib" |
9 | AR_toolchain-clang = "${HOST_PREFIX}llvm-ar" | 9 | AR:toolchain-clang = "${HOST_PREFIX}llvm-ar" |
10 | NM_toolchain-clang = "${HOST_PREFIX}llvm-nm" | 10 | NM:toolchain-clang = "${HOST_PREFIX}llvm-nm" |
11 | 11 | ||
12 | LTO_toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'thin-lto', '-flto=thin', '-flto -fuse-ld=lld', d)}" | 12 | LTO:toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'thin-lto', '-flto=thin', '-flto -fuse-ld=lld', d)}" |
13 | PACKAGE_DEBUG_SPLIT_STYLE_toolchain-clang = "debug-without-src" | 13 | PACKAGE_DEBUG_SPLIT_STYLE:toolchain-clang = "debug-without-src" |
14 | 14 | ||
15 | COMPILER_RT ??= "" | 15 | COMPILER_RT ??= "" |
16 | COMPILER_RT_class-native = "-rtlib=libgcc ${UNWINDLIB}" | 16 | COMPILER_RT:class-native = "-rtlib=libgcc ${UNWINDLIB}" |
17 | COMPILER_RT_powerpc = "-rtlib=libgcc ${UNWINDLIB}" | 17 | COMPILER_RT:powerpc = "-rtlib=libgcc ${UNWINDLIB}" |
18 | COMPILER_RT_armeb = "-rtlib=libgcc ${UNWINDLIB}" | 18 | COMPILER_RT:armeb = "-rtlib=libgcc ${UNWINDLIB}" |
19 | COMPILER_RT_libc-klibc = "-rtlib=libgcc ${UNWINDLIB}" | 19 | COMPILER_RT_libc-klibc = "-rtlib=libgcc ${UNWINDLIB}" |
20 | 20 | ||
21 | UNWINDLIB ??= "" | 21 | UNWINDLIB ??= "" |
22 | UNWINDLIB_class-native = "--unwindlib=libgcc" | 22 | UNWINDLIB:class-native = "--unwindlib=libgcc" |
23 | UNWINDLIB_powerpc = "--unwindlib=libgcc" | 23 | UNWINDLIB:powerpc = "--unwindlib=libgcc" |
24 | UNWINDLIB_armeb = "--unwindlib=libgcc" | 24 | UNWINDLIB:armeb = "--unwindlib=libgcc" |
25 | UNWINDLIB_libc-klibc = "--unwindlib=libgcc" | 25 | UNWINDLIB_libc-klibc = "--unwindlib=libgcc" |
26 | 26 | ||
27 | LIBCPLUSPLUS ??= "" | 27 | LIBCPLUSPLUS ??= "" |
28 | 28 | ||
29 | CXXFLAGS_append_toolchain-clang = " ${LIBCPLUSPLUS}" | 29 | CXXFLAGS:append:toolchain-clang = " ${LIBCPLUSPLUS}" |
30 | LDFLAGS_append_toolchain-clang = " ${COMPILER_RT} ${LIBCPLUSPLUS}" | 30 | LDFLAGS:append:toolchain-clang = " ${COMPILER_RT} ${LIBCPLUSPLUS}" |
31 | 31 | ||
32 | TUNE_CCARGS_remove_toolchain-clang = "-meb" | 32 | TUNE_CCARGS:remove:toolchain-clang = "-meb" |
33 | TUNE_CCARGS_remove_toolchain-clang = "-mel" | 33 | TUNE_CCARGS:remove:toolchain-clang = "-mel" |
34 | TUNE_CCARGS_append_toolchain-clang = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -mbig-endian", " -mlittle-endian", d)}" | 34 | TUNE_CCARGS:append:toolchain-clang = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", " -mbig-endian", " -mlittle-endian", d)}" |
35 | 35 | ||
36 | # Clang does not yet support big.LITTLE performance tunes, so use the LITTLE for tunes | 36 | # Clang does not yet support big.LITTLE performance tunes, so use the LITTLE for tunes |
37 | TUNE_CCARGS_remove_toolchain-clang = "-mcpu=cortex-a57.cortex-a53 -mcpu=cortex-a72.cortex-a53 -mcpu=cortex-a15.cortex-a7 -mcpu=cortex-a17.cortex-a7 -mcpu=cortex-a72.cortex-a35 -mcpu=cortex-a73.cortex-a53 -mcpu=cortex-a75.cortex-a55 -mcpu=cortex-a76.cortex-a55" | 37 | TUNE_CCARGS:remove:toolchain-clang = "-mcpu=cortex-a57.cortex-a53 -mcpu=cortex-a72.cortex-a53 -mcpu=cortex-a15.cortex-a7 -mcpu=cortex-a17.cortex-a7 -mcpu=cortex-a72.cortex-a35 -mcpu=cortex-a73.cortex-a53 -mcpu=cortex-a75.cortex-a55 -mcpu=cortex-a76.cortex-a55" |
38 | TUNE_CCARGS_append_toolchain-clang = "${@bb.utils.contains_any("TUNE_FEATURES", "cortexa72-cortexa53 cortexa57-cortexa53 cortexa73-cortexa53", " -mcpu=cortex-a53", "", d)}" | 38 | TUNE_CCARGS:append:toolchain-clang = "${@bb.utils.contains_any("TUNE_FEATURES", "cortexa72-cortexa53 cortexa57-cortexa53 cortexa73-cortexa53", " -mcpu=cortex-a53", "", d)}" |
39 | TUNE_CCARGS_append_toolchain-clang = "${@bb.utils.contains_any("TUNE_FEATURES", "cortexa15-cortexa7 cortexa17-cortexa7", " -mcpu=cortex-a7", "", d)}" | 39 | TUNE_CCARGS:append:toolchain-clang = "${@bb.utils.contains_any("TUNE_FEATURES", "cortexa15-cortexa7 cortexa17-cortexa7", " -mcpu=cortex-a7", "", d)}" |
40 | TUNE_CCARGS_append_toolchain-clang = "${@bb.utils.contains_any("TUNE_FEATURES", "cortexa72-cortexa35", " -mcpu=cortex-a35", "", d)}" | 40 | TUNE_CCARGS:append:toolchain-clang = "${@bb.utils.contains_any("TUNE_FEATURES", "cortexa72-cortexa35", " -mcpu=cortex-a35", "", d)}" |
41 | TUNE_CCARGS_append_toolchain-clang = "${@bb.utils.contains_any("TUNE_FEATURES", "cortexa75-cortex-a55 cortexa76-cortex-a55", " -mcpu=cortex-a55", "", d)}" | 41 | TUNE_CCARGS:append:toolchain-clang = "${@bb.utils.contains_any("TUNE_FEATURES", "cortexa75-cortex-a55 cortexa76-cortex-a55", " -mcpu=cortex-a55", "", d)}" |
42 | 42 | ||
43 | # Clang does not support octeontx2 processor | 43 | # Clang does not support octeontx2 processor |
44 | TUNE_CCARGS_remove_toolchain-clang = "-mcpu=octeontx2" | 44 | TUNE_CCARGS:remove:toolchain-clang = "-mcpu=octeontx2" |
45 | 45 | ||
46 | # LLD does not yet support relaxation for RISCV e.g. https://reviews.freebsd.org/D25210 | 46 | # LLD does not yet support relaxation for RISCV e.g. https://reviews.freebsd.org/D25210 |
47 | TUNE_CCARGS_append_toolchain-clang_riscv32 = " -mno-relax" | 47 | TUNE_CCARGS:append:toolchain-clang:riscv32 = " -mno-relax" |
48 | TUNE_CCARGS_append_toolchain-clang_riscv64 = " -mno-relax" | 48 | TUNE_CCARGS:append:toolchain-clang:riscv64 = " -mno-relax" |
49 | 49 | ||
50 | TUNE_CCARGS_remove_toolchain-clang_powerpc = "-mhard-float" | 50 | TUNE_CCARGS:remove:toolchain-clang:powerpc = "-mhard-float" |
51 | TUNE_CCARGS_remove_toolchain-clang_powerpc = "-mno-spe" | 51 | TUNE_CCARGS:remove:toolchain-clang:powerpc = "-mno-spe" |
52 | 52 | ||
53 | TUNE_CCARGS_append_toolchain-clang = " -Qunused-arguments" | 53 | TUNE_CCARGS:append:toolchain-clang = " -Qunused-arguments" |
54 | TUNE_CCARGS_append_toolchain-clang_libc-musl_powerpc64 = " -mlong-double-64" | 54 | TUNE_CCARGS:append:toolchain-clang:libc-musl:powerpc64 = " -mlong-double-64" |
55 | TUNE_CCARGS_append_toolchain-clang_libc-musl_powerpc64le = " -mlong-double-64" | 55 | TUNE_CCARGS:append:toolchain-clang:libc-musl:powerpc64le = " -mlong-double-64" |
56 | # usrmerge workaround | 56 | # usrmerge workaround |
57 | TUNE_CCARGS_append_toolchain-clang = "${@bb.utils.contains("DISTRO_FEATURES", "usrmerge", " --dyld-prefix=/usr", "", d)}" | 57 | TUNE_CCARGS:append:toolchain-clang = "${@bb.utils.contains("DISTRO_FEATURES", "usrmerge", " --dyld-prefix=/usr", "", d)}" |
58 | 58 | ||
59 | LDFLAGS_append_toolchain-clang_class-nativesdk_x86-64 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux-x86-64.so.2" | 59 | LDFLAGS:append:toolchain-clang:class-nativesdk:x86-64 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux-x86-64.so.2" |
60 | LDFLAGS_append_toolchain-clang_class-nativesdk_x86 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux.so.2" | 60 | LDFLAGS:append:toolchain-clang:class-nativesdk:x86 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux.so.2" |
61 | LDFLAGS_append_toolchain-clang_class-nativesdk_aarch64 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux-aarch64.so.1" | 61 | LDFLAGS:append:toolchain-clang:class-nativesdk:aarch64 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux-aarch64.so.1" |
62 | 62 | ||
63 | LDFLAGS_toolchain-clang_class-nativesdk = "${BUILDSDK_LDFLAGS} \ | 63 | LDFLAGS:toolchain-clang:class-nativesdk = "${BUILDSDK_LDFLAGS} \ |
64 | -Wl,-rpath-link,${STAGING_LIBDIR}/.. \ | 64 | -Wl,-rpath-link,${STAGING_LIBDIR}/.. \ |
65 | -Wl,-rpath,${libdir}/.. " | 65 | -Wl,-rpath,${libdir}/.. " |
66 | 66 | ||
67 | # Enable lld globally" | 67 | # Enable lld globally" |
68 | LDFLAGS_append_toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -fuse-ld=lld', '', d)}" | 68 | LDFLAGS:append:toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -fuse-ld=lld', '', d)}" |
69 | 69 | ||
70 | # choose between 'gcc' 'clang' an empty '' can be used as well | 70 | # choose between 'gcc' 'clang' an empty '' can be used as well |
71 | TOOLCHAIN ??= "gcc" | 71 | TOOLCHAIN ??= "gcc" |
72 | # choose between 'gnu' 'llvm' | 72 | # choose between 'gnu' 'llvm' |
73 | RUNTIME ??= "gnu" | 73 | RUNTIME ??= "gnu" |
74 | #RUNTIME_toolchain-gcc = "gnu" | 74 | #RUNTIME_toolchain-gcc = "gnu" |
75 | RUNTIME_armeb = "gnu" | 75 | RUNTIME:armeb = "gnu" |
76 | 76 | ||
77 | TOOLCHAIN_class-native = "gcc" | 77 | TOOLCHAIN:class-native = "gcc" |
78 | TOOLCHAIN_class-nativesdk = "gcc" | 78 | TOOLCHAIN:class-nativesdk = "gcc" |
79 | TOOLCHAIN_class-cross-canadian = "gcc" | 79 | TOOLCHAIN:class-cross-canadian = "gcc" |
80 | TOOLCHAIN_class-crosssdk = "gcc" | 80 | TOOLCHAIN:class-crosssdk = "gcc" |
81 | TOOLCHAIN_class-cross = "gcc" | 81 | TOOLCHAIN:class-cross = "gcc" |
82 | 82 | ||
83 | OVERRIDES =. "${@['', 'toolchain-${TOOLCHAIN}:']['${TOOLCHAIN}' != '']}" | 83 | OVERRIDES =. "${@['', 'toolchain-${TOOLCHAIN}:']['${TOOLCHAIN}' != '']}" |
84 | OVERRIDES =. "${@['', 'runtime-${RUNTIME}:']['${RUNTIME}' != '']}" | 84 | OVERRIDES =. "${@['', 'runtime-${RUNTIME}:']['${RUNTIME}' != '']}" |
85 | OVERRIDES[vardepsexclude] += "TOOLCHAIN RUNTIME" | 85 | OVERRIDES[vardepsexclude] += "TOOLCHAIN RUNTIME" |
86 | 86 | ||
87 | #DEPENDS_append_toolchain-clang_class-target = " clang-cross-${TARGET_ARCH} " | 87 | #DEPENDS_append_toolchain-clang:class-target = " clang-cross-${TARGET_ARCH} " |
88 | #DEPENDS_remove_toolchain-clang_allarch = "clang-cross-${TARGET_ARCH}" | 88 | #DEPENDS_remove_toolchain-clang_allarch = "clang-cross-${TARGET_ARCH}" |
89 | 89 | ||
90 | def clang_base_deps(d): | 90 | def clang_base_deps(d): |
@@ -108,8 +108,8 @@ def clang_base_deps(d): | |||
108 | return ret | 108 | return ret |
109 | return "" | 109 | return "" |
110 | 110 | ||
111 | BASE_DEFAULT_DEPS_toolchain-clang_class-target = "${@clang_base_deps(d)}" | 111 | BASE_DEFAULT_DEPS:toolchain-clang:class-target = "${@clang_base_deps(d)}" |
112 | BASE_DEFAULT_DEPS_append_class-native_toolchain-clang_runtime-llvm = " libcxx-native compiler-rt-native" | 112 | BASE_DEFAULT_DEPS:append:class-native:toolchain-clang_runtime-llvm = " libcxx-native compiler-rt-native" |
113 | 113 | ||
114 | cmake_do_generate_toolchain_file_append_toolchain-clang () { | 114 | cmake_do_generate_toolchain_file_append_toolchain-clang () { |
115 | cat >> ${WORKDIR}/toolchain.cmake <<EOF | 115 | cat >> ${WORKDIR}/toolchain.cmake <<EOF |