diff options
author | Khem Raj <raj.khem@gmail.com> | 2020-10-01 22:59:33 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2020-10-02 09:22:13 -0700 |
commit | 03d01791cd5860e5c0b062da0f886588e3953418 (patch) | |
tree | b1ff01bd8382c31c0c0a63091717cf7025c2b7f1 /recipes-devtools/clang/clang_git.bb | |
parent | 2e74f5713bb13857872ace55ddb6e1463d3d3cc6 (diff) | |
download | meta-clang-03d01791cd5860e5c0b062da0f886588e3953418.tar.gz |
clang: Do not build all native targets for target as well
Just build BPF and AMDGPU (needed by mesa) when building target clang
along with the target arch
Pass -DNDEBUG -g0 to CXXFLAGS to strip debug info, current amount of
debug info is is humungous ( even with -g1 ) some binaries are > 1G
in size, it takes a long time to link them and also package them since
we have a strip debug info step which takes forever
This should speedup clang build significantly
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes-devtools/clang/clang_git.bb')
-rw-r--r-- | recipes-devtools/clang/clang_git.bb | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/recipes-devtools/clang/clang_git.bb b/recipes-devtools/clang/clang_git.bb index e9854d8..231d6ff 100644 --- a/recipes-devtools/clang/clang_git.bb +++ b/recipes-devtools/clang/clang_git.bb | |||
@@ -95,8 +95,8 @@ CMAKE_C_FLAGS_RELEASE;CMAKE_CXX_FLAGS_RELEASE;CMAKE_ASM_FLAGS_RELEASE;\ | |||
95 | LLVM_TARGETS_TO_BUILD ?= "AMDGPU;AArch64;ARM;BPF;Mips;PowerPC;RISCV;X86" | 95 | LLVM_TARGETS_TO_BUILD ?= "AMDGPU;AArch64;ARM;BPF;Mips;PowerPC;RISCV;X86" |
96 | LLVM_TARGETS_TO_BUILD_append = ";${@get_clang_host_arch(bb, d)};${@get_clang_target_arch(bb, d)}" | 96 | LLVM_TARGETS_TO_BUILD_append = ";${@get_clang_host_arch(bb, d)};${@get_clang_target_arch(bb, d)}" |
97 | 97 | ||
98 | LLVM_TARGETS_TO_BUILD_TARGET ?= "${LLVM_TARGETS_TO_BUILD}" | 98 | LLVM_TARGETS_TO_BUILD_TARGET ?= "" |
99 | LLVM_TARGETS_TO_BUILD_TARGET_append ?= ";${@get_clang_target_arch(bb, d)}" | 99 | LLVM_TARGETS_TO_BUILD_TARGET_append ?= ";AMDGPU;BPF;${@get_clang_target_arch(bb, d)}" |
100 | 100 | ||
101 | LLVM_EXPERIMENTAL_TARGETS_TO_BUILD ?= "" | 101 | LLVM_EXPERIMENTAL_TARGETS_TO_BUILD ?= "" |
102 | LLVM_EXPERIMENTAL_TARGETS_TO_BUILD_append = ";${@get_clang_experimental_target_arch(bb, d)}" | 102 | LLVM_EXPERIMENTAL_TARGETS_TO_BUILD_append = ";${@get_clang_experimental_target_arch(bb, d)}" |
@@ -104,6 +104,8 @@ LLVM_EXPERIMENTAL_TARGETS_TO_BUILD_append = ";${@get_clang_experimental_target_a | |||
104 | HF = "${@ bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', 'hf', '', d)}" | 104 | HF = "${@ bb.utils.contains('TUNE_CCARGS_MFLOAT', 'hard', 'hf', '', d)}" |
105 | HF[vardepvalue] = "${HF}" | 105 | HF[vardepvalue] = "${HF}" |
106 | 106 | ||
107 | #CMAKE_VERBOSE = "VERBOSE=1" | ||
108 | |||
107 | EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ | 109 | EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ |
108 | -DLLVM_ENABLE_EXPENSIVE_CHECKS=OFF \ | 110 | -DLLVM_ENABLE_EXPENSIVE_CHECKS=OFF \ |
109 | -DLLVM_ENABLE_PIC=ON \ | 111 | -DLLVM_ENABLE_PIC=ON \ |
@@ -114,6 +116,8 @@ EXTRA_OECMAKE += "-DLLVM_ENABLE_ASSERTIONS=OFF \ | |||
114 | -DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON \ | 116 | -DLLVM_BUILD_EXTERNAL_COMPILER_RT=ON \ |
115 | -DCMAKE_SYSTEM_NAME=Linux \ | 117 | -DCMAKE_SYSTEM_NAME=Linux \ |
116 | -DCMAKE_BUILD_TYPE=Release \ | 118 | -DCMAKE_BUILD_TYPE=Release \ |
119 | -DCMAKE_CXX_FLAGS_RELEASE='${CXXFLAGS} -DNDEBUG -g0' \ | ||
120 | -DCMAKE_C_FLAGS_RELEASE='${CFLAGS} -DNDEBUG -g0' \ | ||
117 | -DBUILD_SHARED_LIBS=OFF \ | 121 | -DBUILD_SHARED_LIBS=OFF \ |
118 | -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;lld;lldb' \ | 122 | -DLLVM_ENABLE_PROJECTS='clang;clang-tools-extra;lld;lldb' \ |
119 | -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR} \ | 123 | -DLLVM_BINUTILS_INCDIR=${STAGING_INCDIR} \ |
@@ -131,6 +135,7 @@ EXTRA_OECMAKE_append_class-nativesdk = "\ | |||
131 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ | 135 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ |
132 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ | 136 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ |
133 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ | 137 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ |
138 | -DCMAKE_STRIP=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-strip \ | ||
134 | -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \ | 139 | -DLLVM_TARGETS_TO_BUILD='${LLVM_TARGETS_TO_BUILD}' \ |
135 | -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}' \ | 140 | -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD='${LLVM_EXPERIMENTAL_TARGETS_TO_BUILD}' \ |
136 | -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ | 141 | -DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ |
@@ -149,6 +154,7 @@ EXTRA_OECMAKE_append_class-target = "\ | |||
149 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ | 154 | -DCMAKE_RANLIB=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ranlib \ |
150 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ | 155 | -DCMAKE_AR=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-ar \ |
151 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ | 156 | -DCMAKE_NM=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-nm \ |
157 | -DCMAKE_STRIP=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}llvm-strip \ | ||
152 | -DLLVM_TARGET_ARCH=${@get_clang_target_arch(bb, d)} \ | 158 | -DLLVM_TARGET_ARCH=${@get_clang_target_arch(bb, d)} \ |
153 | -DLLVM_DEFAULT_TARGET_TRIPLE=${TARGET_SYS}${HF} \ | 159 | -DLLVM_DEFAULT_TARGET_TRIPLE=${TARGET_SYS}${HF} \ |
154 | -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \ | 160 | -DPYTHON_LIBRARY=${STAGING_LIBDIR}/lib${PYTHON_DIR}${PYTHON_ABI}.so \ |