summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2020-11-07 10:47:20 -0800
committerKhem Raj <raj.khem@gmail.com>2020-11-13 09:40:54 -0800
commit54e34a9d35c497e220ea8aef0a09cd531d84def7 (patch)
tree5a3c052d481d6f0dcddd7b66360535c90b2a3a6e
parenta2c52be71980d7d4eaa66b0ae7d7af320d4746a4 (diff)
downloadmeta-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.bbclass2
-rw-r--r--classes/lto.bbclass7
-rw-r--r--recipes-devtools/clang/clang_git.bb6
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"
9AR_toolchain-clang = "${HOST_PREFIX}llvm-ar" 9AR_toolchain-clang = "${HOST_PREFIX}llvm-ar"
10NM_toolchain-clang = "${HOST_PREFIX}llvm-nm" 10NM_toolchain-clang = "${HOST_PREFIX}llvm-nm"
11 11
12LTO_toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'thin-lto', '-flto=thin', '-flto ', d)}"
13
12export CLANG_TIDY_toolchain-clang = "${HOST_PREFIX}clang-tidy" 14export CLANG_TIDY_toolchain-clang = "${HOST_PREFIX}clang-tidy"
13 15
14COMPILER_RT ??= "${@bb.utils.contains("RUNTIME", "llvm", "-rtlib=compiler-rt ${UNWINDLIB}", "", d)}" 16COMPILER_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
2TOOLCHAIN_OPTIONS_append_toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'thin-lto', ' -flto=thin -fuse-ld=gold', '', d)}"
3TOOLCHAIN_OPTIONS_append_toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'full-lto', ' -flto=full -fuse-ld=gold', '', d)}"
4RANLIB_toolchain-clang = "${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib"
5AR_toolchain-clang = "${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar"
6NM_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
54PACKAGECONFIG ??= "compiler-rt libcplusplus shared-libs lldb-wchar \ 54PACKAGECONFIG ??= "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 "
58PACKAGECONFIG_class-native = "rtti eh libedit" 58PACKAGECONFIG_class-native = "rtti eh libedit"
59PACKAGECONFIG_class-nativesdk = "rtti eh libedit shared-libs ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto full-lto', d)}" 59PACKAGECONFIG_class-nativesdk = "rtti eh libedit shared-libs ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto lto', d)}"
60 60
61PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,libcxx,compiler-rt" 61PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,libcxx,compiler-rt"
62PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx" 62PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx"
63PACKAGECONFIG[unwindlib] = "-DCLANG_DEFAULT_UNWINDLIB=libunwind,-DCLANG_DEFAULT_UNWINDLIB=libgcc,libcxx" 63PACKAGECONFIG[unwindlib] = "-DCLANG_DEFAULT_UNWINDLIB=libunwind,-DCLANG_DEFAULT_UNWINDLIB=libgcc,libcxx"
64PACKAGECONFIG[thin-lto] = "-DLLVM_ENABLE_LTO=Thin -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," 64PACKAGECONFIG[thin-lto] = "-DLLVM_ENABLE_LTO=Thin -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils,"
65PACKAGECONFIG[full-lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," 65PACKAGECONFIG[lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils,"
66PACKAGECONFIG[shared-libs] = "-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON,,," 66PACKAGECONFIG[shared-libs] = "-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON,,,"
67PACKAGECONFIG[terminfo] = "-DLLVM_ENABLE_TERMINFO=ON,-DLLVM_ENABLE_TERMINFO=OFF,ncurses," 67PACKAGECONFIG[terminfo] = "-DLLVM_ENABLE_TERMINFO=ON,-DLLVM_ENABLE_TERMINFO=OFF,ncurses,"
68PACKAGECONFIG[pfm] = "-DLLVM_ENABLE_LIBPFM=ON,-DLLVM_ENABLE_LIBPFM=OFF,libpfm," 68PACKAGECONFIG[pfm] = "-DLLVM_ENABLE_LIBPFM=ON,-DLLVM_ENABLE_LIBPFM=OFF,libpfm,"