diff options
author | Khem Raj <raj.khem@gmail.com> | 2020-11-07 10:47:20 -0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2020-11-13 09:40:54 -0800 |
commit | 54e34a9d35c497e220ea8aef0a09cd531d84def7 (patch) | |
tree | 5a3c052d481d6f0dcddd7b66360535c90b2a3a6e | |
parent | a2c52be71980d7d4eaa66b0ae7d7af320d4746a4 (diff) | |
download | meta-clang-54e34a9d35c497e220ea8aef0a09cd531d84def7.tar.gz |
lto: Override LTO variable from oe-core for thin-lto
If thin-lto is used in DISTRO_FEATURES then enable thin-lto
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r-- | classes/clang.bbclass | 2 | ||||
-rw-r--r-- | classes/lto.bbclass | 7 | ||||
-rw-r--r-- | recipes-devtools/clang/clang_git.bb | 6 |
3 files changed, 5 insertions, 10 deletions
diff --git a/classes/clang.bbclass b/classes/clang.bbclass index 9f2aaac..40efa95 100644 --- a/classes/clang.bbclass +++ b/classes/clang.bbclass | |||
@@ -9,6 +9,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 ', d)}" | ||
13 | |||
12 | export CLANG_TIDY_toolchain-clang = "${HOST_PREFIX}clang-tidy" | 14 | export CLANG_TIDY_toolchain-clang = "${HOST_PREFIX}clang-tidy" |
13 | 15 | ||
14 | COMPILER_RT ??= "${@bb.utils.contains("RUNTIME", "llvm", "-rtlib=compiler-rt ${UNWINDLIB}", "", d)}" | 16 | COMPILER_RT ??= "${@bb.utils.contains("RUNTIME", "llvm", "-rtlib=compiler-rt ${UNWINDLIB}", "", d)}" |
diff --git a/classes/lto.bbclass b/classes/lto.bbclass deleted file mode 100644 index 80a3d4d..0000000 --- a/classes/lto.bbclass +++ /dev/null | |||
@@ -1,7 +0,0 @@ | |||
1 | # Enable LTO based on global distro settings | ||
2 | TOOLCHAIN_OPTIONS_append_toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'thin-lto', ' -flto=thin -fuse-ld=gold', '', d)}" | ||
3 | TOOLCHAIN_OPTIONS_append_toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'full-lto', ' -flto=full -fuse-ld=gold', '', d)}" | ||
4 | RANLIB_toolchain-clang = "${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib" | ||
5 | AR_toolchain-clang = "${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar" | ||
6 | NM_toolchain-clang = "${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm" | ||
7 | |||
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb index a6d3f58..defb089 100644 --- a/recipes-devtools/clang/clang_git.bb +++ b/recipes-devtools/clang/clang_git.bb | |||
@@ -52,17 +52,17 @@ def get_clang_experimental_target_arch(bb, d): | |||
52 | return get_clang_experimental_arch(bb, d, 'TARGET_ARCH') | 52 | return get_clang_experimental_arch(bb, d, 'TARGET_ARCH') |
53 | 53 | ||
54 | PACKAGECONFIG ??= "compiler-rt libcplusplus shared-libs lldb-wchar \ | 54 | PACKAGECONFIG ??= "compiler-rt libcplusplus shared-libs lldb-wchar \ |
55 | ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto full-lto', d)} \ | 55 | ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto lto', d)} \ |
56 | rtti eh libedit \ | 56 | rtti eh libedit \ |
57 | " | 57 | " |
58 | PACKAGECONFIG_class-native = "rtti eh libedit" | 58 | PACKAGECONFIG_class-native = "rtti eh libedit" |
59 | PACKAGECONFIG_class-nativesdk = "rtti eh libedit shared-libs ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto full-lto', d)}" | 59 | PACKAGECONFIG_class-nativesdk = "rtti eh libedit shared-libs ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto lto', d)}" |
60 | 60 | ||
61 | PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,libcxx,compiler-rt" | 61 | PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,libcxx,compiler-rt" |
62 | PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx" | 62 | PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx" |
63 | PACKAGECONFIG[unwindlib] = "-DCLANG_DEFAULT_UNWINDLIB=libunwind,-DCLANG_DEFAULT_UNWINDLIB=libgcc,libcxx" | 63 | PACKAGECONFIG[unwindlib] = "-DCLANG_DEFAULT_UNWINDLIB=libunwind,-DCLANG_DEFAULT_UNWINDLIB=libgcc,libcxx" |
64 | PACKAGECONFIG[thin-lto] = "-DLLVM_ENABLE_LTO=Thin -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," | 64 | PACKAGECONFIG[thin-lto] = "-DLLVM_ENABLE_LTO=Thin -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," |
65 | PACKAGECONFIG[full-lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," | 65 | PACKAGECONFIG[lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," |
66 | PACKAGECONFIG[shared-libs] = "-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON,,," | 66 | PACKAGECONFIG[shared-libs] = "-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON,,," |
67 | PACKAGECONFIG[terminfo] = "-DLLVM_ENABLE_TERMINFO=ON,-DLLVM_ENABLE_TERMINFO=OFF,ncurses," | 67 | PACKAGECONFIG[terminfo] = "-DLLVM_ENABLE_TERMINFO=ON,-DLLVM_ENABLE_TERMINFO=OFF,ncurses," |
68 | PACKAGECONFIG[pfm] = "-DLLVM_ENABLE_LIBPFM=ON,-DLLVM_ENABLE_LIBPFM=OFF,libpfm," | 68 | PACKAGECONFIG[pfm] = "-DLLVM_ENABLE_LIBPFM=ON,-DLLVM_ENABLE_LIBPFM=OFF,libpfm," |