This is an automated email from the ASF dual-hosted git repository.
alexey pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git
The following commit(s) were added to refs/heads/master by this push:
new de9a0370e [thirdparty] build only native LLVM target
de9a0370e is described below
commit de9a0370e5238ee731fb8e73ee2ea6d299c40dae
Author: Alexey Serbin <[email protected]>
AuthorDate: Wed Jan 22 10:02:38 2025 -0800
[thirdparty] build only native LLVM target
Since Kudu's build isn't targeting cross-compilation for other than
the native platform where it's being built at, there isn't much sense
building LLVM targets for all the platforms supported by Kudu as of now
(i.e. 'X86' and 'AArch64') or at some extent evaluated (i.e. 'PowerPC').
So, this patch sets LLVM_TARGETS_TO_BUILD cmake variable [1] to 'host'
(same as 'Native') to reduce build times and space utilized
by the thirdparty components.
This is a follow-up to 76c1c4a24 and 441d8bdb7.
I measured compilation times and amount of disk spaces taken by the
LLVM/CLANG results bits before and after this patch on a powerful
machine with many CPU cores; see below for the results.
Before-and-after stats for:
time ./build-support/enable_devtoolset.sh
./thirdparty/build-thirdparty.sh llvm
before:
real 31m32.537s
user 430m20.627s
sys 40m18.992s
after:
real 29m49.401s
user 403m10.287s
sys 39m10.828s
Before-and-after stats for:
cd $KUDU_HOME/build && du -hs llvm-11.0.0*
before:
2.8G llvm-11.0.0
49M llvm-11.0.0.libcxx
8.4M llvm-11.0.0.libcxxabi
2.7M llvm-11.0.0.libcxxabi.tsan
27M llvm-11.0.0.libcxx.tsan
1.2G llvm-11.0.0.tsan
after:
2.7G llvm-11.0.0
49M llvm-11.0.0.libcxx
8.4M llvm-11.0.0.libcxxabi
2.7M llvm-11.0.0.libcxxabi.tsan
27M llvm-11.0.0.libcxx.tsan
1016M llvm-11.0.0.tsan
[1] https://llvm.org/docs/CMake.html
Change-Id: Idfa65fb0704a0cd3be8242a4483396c4c71b62f0
Reviewed-on: http://gerrit.cloudera.org:8080/22369
Tested-by: Alexey Serbin <[email protected]>
Reviewed-by: Yifan Zhang <[email protected]>
---
thirdparty/build-definitions.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/thirdparty/build-definitions.sh b/thirdparty/build-definitions.sh
index fd5cda666..08e0ae3ba 100644
--- a/thirdparty/build-definitions.sh
+++ b/thirdparty/build-definitions.sh
@@ -345,7 +345,7 @@ build_llvm() {
-DLLVM_INCLUDE_EXAMPLES=OFF \
-DLLVM_INCLUDE_TESTS=OFF \
-DLLVM_INCLUDE_UTILS=OFF \
- -DLLVM_TARGETS_TO_BUILD="X86;AArch64;PowerPC" \
+ -DLLVM_TARGETS_TO_BUILD=host \
-DLLVM_ENABLE_RTTI=ON \
-DCMAKE_CXX_FLAGS="$CLANG_CXXFLAGS" \
-DCMAKE_EXE_LINKER_FLAGS="$CLANG_LDFLAGS" \