diff options
author | Khem Raj <raj.khem@gmail.com> | 2019-02-08 10:07:54 -0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2019-02-09 19:27:13 -0800 |
commit | 48107e9c52b6ef16174280db582b078f687ae99f (patch) | |
tree | 0d54433fd0df6423972c70dcde3b43f4eced6431 /classes/clang.bbclass | |
parent | 00b9cd93d591099071e7087b9a354da6338dc1b7 (diff) | |
download | meta-clang-48107e9c52b6ef16174280db582b078f687ae99f.tar.gz |
clang: Enable LTO and lld based on distro knobs
Add to local.conf or distro config the following to enable lto flavors
and lld linker
DISTRO_FEATURES += "thin-lto"
DISTRO_FEATURES += "full-lto"
DISTRO_FEATURES += "lld"
Add lto.bbclass
To enable LTO is currently per recipe, or globally
to enable globally add following to global config meta-data e.g.
local.conf
INHRIT += "lto"
other-wise enable LTO per recipe using
inherit lto to recipe via bbappend or in main recipe
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'classes/clang.bbclass')
-rw-r--r-- | classes/clang.bbclass | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/classes/clang.bbclass b/classes/clang.bbclass index 88dd893..2d08c10 100644 --- a/classes/clang.bbclass +++ b/classes/clang.bbclass | |||
@@ -18,6 +18,9 @@ TUNE_CCARGS_append_toolchain-clang = " -Wno-error=unused-command-line-argument - | |||
18 | TOOLCHAIN_OPTIONS_append_toolchain-clang_class-nativesdk_x86-64 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux-x86-64.so.2" | 18 | TOOLCHAIN_OPTIONS_append_toolchain-clang_class-nativesdk_x86-64 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux-x86-64.so.2" |
19 | TOOLCHAIN_OPTIONS_append_toolchain-clang_class-nativesdk_x86 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux.so.2" | 19 | TOOLCHAIN_OPTIONS_append_toolchain-clang_class-nativesdk_x86 = " -Wl,-dynamic-linker,${base_libdir}/ld-linux.so.2" |
20 | 20 | ||
21 | # Enable lld globally" | ||
22 | TOOLCHAIN_OPTIONS_append_toolchain-clang = "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -fuse-ld=lld', '', d)}" | ||
23 | |||
21 | # choose between 'gcc' 'clang' an empty '' can be used as well | 24 | # choose between 'gcc' 'clang' an empty '' can be used as well |
22 | TOOLCHAIN ??= "gcc" | 25 | TOOLCHAIN ??= "gcc" |
23 | 26 | ||