improve the sccache usage

This commit is contained in:
Sylvestre Ledru 2022-10-18 21:12:34 +02:00
parent ba6a0af222
commit 8579a7d22b

14
debian/rules vendored
View File

@ -423,7 +423,8 @@ endif
SCCACHE_ENABLE=no SCCACHE_ENABLE=no
# if sccache is installed in the chroot, use it # if sccache is installed in the chroot, use it
ifeq ($(shell test -e /opt/sccache/sccache && echo -n yes),yes) ifeq ($(shell test -e /opt/sccache/sccache && echo -n yes),yes)
STAGE_1_CMAKE_EXTRA += -DCMAKE_C_COMPILER_LAUNCHER=/opt/sccache/sccache -DCMAKE_CXX_COMPILER_LAUNCHER=/opt/sccache/sccache SCCACHE_CMAKE = -DCMAKE_C_COMPILER_LAUNCHER=/opt/sccache/sccache -DCMAKE_CXX_COMPILER_LAUNCHER=/opt/sccache/sccache
STAGE_1_CMAKE_EXTRA += $(SCCACHE_CMAKE)
SCCACHE_ENABLE=yes SCCACHE_ENABLE=yes
endif endif
@ -510,9 +511,7 @@ override_dh_ocaml:
override_dh_auto_configure: preconfigure override_dh_auto_configure: preconfigure
if test -f /opt/sccache/sccache; then \ if test -f /opt/sccache/sccache; then \
touch $$SCCACHE_ERROR_LOG; \
ls -al /opt/sccache/*; \ ls -al /opt/sccache/*; \
ls -al /usr/bin/g++-*; \
fi fi
echo "Using gcc: " echo "Using gcc: "
$(CC) -v $(CC) -v
@ -554,8 +553,11 @@ override_dh_auto_configure: preconfigure
#- Matches what is done on brew: #- Matches what is done on brew:
#- https://bit.ly/3kDNpC9 #- https://bit.ly/3kDNpC9
ifeq (${SCCACHE_ENABLE},yes) ifeq (${SCCACHE_ENABLE},yes)
# Just in case...
/opt/sccache/sccache --stop-server /opt/sccache/sccache --stop-server
SCCACHE_LOG=sccache=debug SCCACHE_ERROR_LOG=/opt/sccache/sccache.log SCCACHE_GCS_KEY_PATH=/opt/sccache/secret-gcp-storage.json SCCACHE_GCS_BUCKET=apt-llvm-org-sccache SCCACHE_GCS_RW_MODE=READ_WRITE /opt/sccache/sccache --start-server # Start the sccache server with the right set of options to use GCP
# SCCACHE_LOG=sccache=debug
SCCACHE_ERROR_LOG=/opt/sccache/sccache.log SCCACHE_GCS_KEY_PATH=/opt/sccache/secret-gcp-storage.json SCCACHE_GCS_BUCKET=apt-llvm-org-sccache SCCACHE_GCS_RW_MODE=READ_WRITE /opt/sccache/sccache --start-server
endif endif
echo "Running tests: $(RUN_TEST)" echo "Running tests: $(RUN_TEST)"
echo "Using cmake: $(CMAKE_BIN)"; \ echo "Using cmake: $(CMAKE_BIN)"; \
@ -654,7 +656,7 @@ debian-full-build:
echo "Using cmake: $(CMAKE_BIN)" echo "Using cmake: $(CMAKE_BIN)"
# linker hack so stage2 can link against stage1 libs at runtime # linker hack so stage2 can link against stage1 libs at runtime
LD_LIBRARY_PATH=$(STAGE_1_LIB_DIR):$$LD_LIBRARY_PATH \ LD_LIBRARY_PATH=$(STAGE_1_LIB_DIR):$$LD_LIBRARY_PATH \
VERBOSE=1 $(PRE_PROCESS) $(CMAKE_BIN) --build $(TARGET_BUILD) $(NJOBS) --target stage2||cat $$SCCACHE_ERROR_LOG VERBOSE=1 $(PRE_PROCESS) $(CMAKE_BIN) --build $(TARGET_BUILD) $(NJOBS) --target stage2
# If we used sccache, shows stats # If we used sccache, shows stats
if test -f /opt/sccache/sccache; then \ if test -f /opt/sccache/sccache; then \
@ -692,6 +694,7 @@ debian-libclc-build:
cd libclc/build && \ cd libclc/build && \
$(CMAKE_BIN) ../ \ $(CMAKE_BIN) ../ \
-G $(GENERATOR) \ -G $(GENERATOR) \
$(SCCACHE_CMAKE) \
-DCMAKE_C_COMPILER=$(STAGE_2_BIN_DIR)/clang \ -DCMAKE_C_COMPILER=$(STAGE_2_BIN_DIR)/clang \
-DCMAKE_CXX_COMPILER=$(STAGE_2_BIN_DIR)/clang++ \ -DCMAKE_CXX_COMPILER=$(STAGE_2_BIN_DIR)/clang++ \
-DCMAKE_C_FLAGS="$(opt_flags) $(STAGE_2_CFLAGS)" \ -DCMAKE_C_FLAGS="$(opt_flags) $(STAGE_2_CFLAGS)" \
@ -714,6 +717,7 @@ ifeq (${COMPILER_RT_WASM_ENABLE},yes)
mkdir -p build-compiler-rt-$$build; \ mkdir -p build-compiler-rt-$$build; \
$(CMAKE_BIN) -B build-compiler-rt-$$build -S compiler-rt/lib/builtins/ \ $(CMAKE_BIN) -B build-compiler-rt-$$build -S compiler-rt/lib/builtins/ \
-G Ninja \ -G Ninja \
$(SCCACHE_CMAKE) \
-DCMAKE_C_COMPILER_TARGET=$$build-unknown-unknown \ -DCMAKE_C_COMPILER_TARGET=$$build-unknown-unknown \
-DCMAKE_CXX_COMPILER_TARGET=$$build-unknown-unknown \ -DCMAKE_CXX_COMPILER_TARGET=$$build-unknown-unknown \
-DCMAKE_ASM_COMPILER_TARGET=$$build-unknown-unknown \ -DCMAKE_ASM_COMPILER_TARGET=$$build-unknown-unknown \