diff options
author | Khem Raj <raj.khem@gmail.com> | 2019-02-06 17:13:03 -0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2019-02-07 22:44:28 -0800 |
commit | 00b9cd93d591099071e7087b9a354da6338dc1b7 (patch) | |
tree | 77aa937e17d333f03ac817065c7d3cedc536062f | |
parent | 7bd92153728422fcca645863daf84e87e065db75 (diff) | |
download | meta-clang-00b9cd93d591099071e7087b9a354da6338dc1b7.tar.gz |
clang: Compiler native and clang for target with Thin-LTO enabled
Should speed up compiler speed
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r-- | recipes-devtools/clang/clang_git.bb | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb index 464f2f7..63709fa 100644 --- a/recipes-devtools/clang/clang_git.bb +++ b/recipes-devtools/clang/clang_git.bb | |||
@@ -43,12 +43,13 @@ def get_clang_target_arch(bb, d): | |||
43 | def get_clang_experimental_target_arch(bb, d): | 43 | def get_clang_experimental_target_arch(bb, d): |
44 | return get_clang_experimental_arch(bb, d, 'TARGET_ARCH') | 44 | return get_clang_experimental_arch(bb, d, 'TARGET_ARCH') |
45 | 45 | ||
46 | PACKAGECONFIG ??= "compiler-rt libcplusplus shared-libs" | 46 | PACKAGECONFIG ??= "compiler-rt libcplusplus lto shared-libs" |
47 | PACKAGECONFIG_class-native = "" | 47 | PACKAGECONFIG_class-native = "lto" |
48 | PACKAGECONFIG_class-nativesdk = "compiler-rt libcplusplus" | 48 | PACKAGECONFIG_class-nativesdk = "compiler-rt libcplusplus lto" |
49 | 49 | ||
50 | PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,compiler-rt" | 50 | PACKAGECONFIG[compiler-rt] = "-DCLANG_DEFAULT_RTLIB=compiler-rt,,compiler-rt" |
51 | PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx" | 51 | PACKAGECONFIG[libcplusplus] = "-DCLANG_DEFAULT_CXX_STDLIB=libc++,,libcxx" |
52 | PACKAGECONFIG[lto] = "-DLLVM_ENABLE_LTO=Thin -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR},,binutils," | ||
52 | PACKAGECONFIG[shared-libs] = "-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON,,," | 53 | PACKAGECONFIG[shared-libs] = "-DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_LINK_LLVM_DYLIB=ON,,," |
53 | 54 | ||
54 | # | 55 | # |
@@ -97,6 +98,9 @@ EXTRA_OECMAKE_append_class-target = "\ | |||
97 | -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ | 98 | -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ |
98 | -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ | 99 | -DCLANG_TABLEGEN=${STAGING_BINDIR_NATIVE}/clang-tblgen \ |
99 | -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD_TARGET}' \ | 100 | -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD_TARGET}' \ |
101 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ | ||
102 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ | ||
103 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ | ||
100 | -DLLVM_TARGET_ARCH=${@get_clang_target_arch(bb, d)} \ | 104 | -DLLVM_TARGET_ARCH=${@get_clang_target_arch(bb, d)} \ |
101 | -DLLVM_DEFAULT_TARGET_TRIPLE=${TARGET_SYS} \ | 105 | -DLLVM_DEFAULT_TARGET_TRIPLE=${TARGET_SYS} \ |
102 | " | 106 | " |
@@ -167,3 +171,6 @@ INSANE_SKIP_${PN}-dev += "dev-elf" | |||
167 | 171 | ||
168 | #Avoid SSTATE_SCAN_COMMAND running sed over llvm-config. | 172 | #Avoid SSTATE_SCAN_COMMAND running sed over llvm-config. |
169 | SSTATE_SCAN_FILES_remove = "*-config" | 173 | SSTATE_SCAN_FILES_remove = "*-config" |
174 | |||
175 | TOOLCHAIN = "clang" | ||
176 | |||