From 54e34a9d35c497e220ea8aef0a09cd531d84def7 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 7 Nov 2020 10:47:20 -0800 Subject: 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 --- classes/clang.bbclass | 2 ++ classes/lto.bbclass | 7 ------- recipes-devtools/clang/clang_git.bb | 6 +++--- 3 files changed, 5 insertions(+), 10 deletions(-) delete mode 100644 classes/lto.bbclass 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" AR_toolchain-clang = "${HOST_PREFIX}llvm-ar" NM_toolchain-clang = "${HOST_PREFIX}llvm-nm" +LTO_toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'thin-lto', '-flto=thin', '-flto ', d)}" + export CLANG_TIDY_toolchain-clang = "${HOST_PREFIX}clang-tidy" 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 @@ -# Enable LTO based on global distro settings -TOOLCHAIN_OPTIONS_append_toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'thin-lto', ' -flto=thin -fuse-ld=gold', '', d)}" -TOOLCHAIN_OPTIONS_append_toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'full-lto', ' -flto=full -fuse-ld=gold', '', d)}" -RANLIB_toolchain-clang = "${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib" -AR_toolchain-clang = "${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar" -NM_toolchain-clang = "${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm" - 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): return get_clang_experimental_arch(bb, d, 'TARGET_ARCH') PACKAGECONFIG ??= "compiler-rt libcplusplus shared-libs lldb-wchar \ - ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto full-lto', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto lto', d)} \ rtti eh libedit \ " PACKAGECONFIG_class-native = "rtti eh libedit" -PACKAGECONFIG_class-nativesdk = "rtti eh libedit shared-libs ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto full-lto', d)}" +PACKAGECONFIG_class-nativesdk = "rtti eh libedit shared-libs ${@bb.utils.filter('DISTRO_FEATURES', 'thin-lto lto', d)}" PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,libcxx,compiler-rt" PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx" PACKAGECONFIG[unwindlib] = "-DCLANG_DEFAULT_UNWINDLIB=libunwind,-DCLANG_DEFAULT_UNWINDLIB=libgcc,libcxx" PACKAGECONFIG[thin-lto] = "-DLLVM_ENABLE_LTO=Thin -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," -PACKAGECONFIG[full-lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," +PACKAGECONFIG[lto] = "-DLLVM_ENABLE_LTO=Full -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," PACKAGECONFIG[shared-libs] = "-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON,,," PACKAGECONFIG[terminfo] = "-DLLVM_ENABLE_TERMINFO=ON,-DLLVM_ENABLE_TERMINFO=OFF,ncurses," PACKAGECONFIG[pfm] = "-DLLVM_ENABLE_LIBPFM=ON,-DLLVM_ENABLE_LIBPFM=OFF,libpfm," -- cgit v1.2.3-54-g00ecf