[sanitizer] Clean build_stage1 and use ccache
diff --git a/zorg/buildbot/builders/sanitizers/buildbot_fast.sh b/zorg/buildbot/builders/sanitizers/buildbot_fast.sh
index a08939e..8c38fc2 100755
--- a/zorg/buildbot/builders/sanitizers/buildbot_fast.sh
+++ b/zorg/buildbot/builders/sanitizers/buildbot_fast.sh
@@ -14,7 +14,7 @@
CHECK_LIBCXX=${CHECK_LIBCXX:-1}
CHECK_LLD=${CHECK_LLD:-1}
LLVM=$ROOT/llvm
-CMAKE_COMMON_OPTIONS="-GNinja -DCMAKE_BUILD_TYPE=Release -DLLVM_PARALLEL_LINK_JOBS=20"
+CMAKE_COMMON_OPTIONS="-GNinja -DCMAKE_BUILD_TYPE=Release"
clobber
@@ -22,7 +22,11 @@
build_stage1_clang_at_revison
-CMAKE_COMMON_OPTIONS="$CMAKE_COMMON_OPTIONS -DLLVM_ENABLE_ASSERTIONS=ON"
+CMAKE_COMMON_OPTIONS="$CMAKE_COMMON_OPTIONS -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_USE_LINKER=lld"
+
+if ccache -s ; then
+ CMAKE_COMMON_OPTIONS="${CMAKE_COMMON_OPTIONS} -DLLVM_CCACHE_BUILD=ON"
+fi
buildbot_update
diff --git a/zorg/buildbot/builders/sanitizers/buildbot_functions.sh b/zorg/buildbot/builders/sanitizers/buildbot_functions.sh
index 06261e0..da4900e 100755
--- a/zorg/buildbot/builders/sanitizers/buildbot_functions.sh
+++ b/zorg/buildbot/builders/sanitizers/buildbot_functions.sh
@@ -71,9 +71,13 @@
}
function build_stage1_clang_impl {
+ rm -rf ${STAGE1_DIR}
mkdir -p ${STAGE1_DIR}
local cmake_stage1_options="${CMAKE_COMMON_OPTIONS}"
cmake_stage1_options="${cmake_stage1_options} -DLLVM_ENABLE_PROJECTS='clang;compiler-rt;lld'"
+ if ccache -s ; then
+ cmake_stage1_options="${cmake_stage1_options} -DLLVM_CCACHE_BUILD=ON"
+ fi
(cd ${STAGE1_DIR} && cmake ${cmake_stage1_options} $LLVM && \
ninja clang lld compiler-rt llvm-symbolizer)
}
@@ -144,6 +148,7 @@
if [ "$CHECK_LIBCXX" != "0" -a \
"$sanitizer_name" != "ubsan" ]; then
echo @@@BUILD_STEP build libcxx/$sanitizer_name@@@
+ rm -rf ${libcxx_build_dir}
mkdir -p ${libcxx_build_dir}
local cmake_stage2_libcxx_options="-DLLVM_ENABLE_PROJECTS='libcxx;libcxxabi'"
(cd ${libcxx_build_dir} && \
@@ -165,6 +170,7 @@
local cmake_bug_workaround_cflags="$sanitizer_ldflags $fsanitize_flag -w"
sanitizer_cflags="$sanitizer_cflags $cmake_bug_workaround_cflags"
+ rm -rf ${build_dir}
mkdir -p ${build_dir}
local extra_dir
if [ "$CHECK_LLD" != "0" ]; then
@@ -242,7 +248,9 @@
cmake_stage3_options="${cmake_stage3_options} -DLLVM_ENABLE_PROJECTS='clang'"
echo @@@BUILD_STEP build stage3/$sanitizer_name clang@@@
- (mkdir -p ${build_dir} && cd ${build_dir} && cmake ${cmake_stage3_options} $LLVM && ninja clang) || \
+ rm -rf ${build_dir}
+ mkdir -p ${build_dir}
+ (cd ${build_dir} && cmake ${cmake_stage3_options} $LLVM && ninja clang) || \
echo $step_result
}