From: Erik Karlsson Date: Mon, 6 Oct 2025 13:46:36 +0000 (+0200) Subject: rules.mk: do not set CCACHE_NOHASHDIR X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=11820ef8016878482dc4aa61692ffc30464f3af5;p=openwrt%2Fstaging%2Fblocktrron.git rules.mk: do not set CCACHE_NOHASHDIR Not hashing CWD is potentially unsafe since it involves deliberately poisoning the cache in certain situations in exchange for performance gain. It can lead to debug information pointing out either no longer existing or much worse incorrect source files, possibly leading developers onto a false track and wasting a lot of time. If one wishes to save build time by sharing the cache between multiple source trees, this can be achieved safely by enabling reproducible debug information, like this: CONFIG_CCACHE_DIR="$(HOME)/.ccache" CONFIG_REPRODUCIBLE_DEBUG_INFO=y Note that CWD hashing gets disabled implicitly when reproducible debug information is enabled. The CCACHE_NOHASHDIR option is only for disabling CWD hashing in cases where it is not safe to do so. Signed-off-by: Erik Karlsson Link: https://github.com/openwrt/openwrt/pull/20317 Signed-off-by: Robert Marko --- diff --git a/rules.mk b/rules.mk index 47c5f5de62..60aab167f0 100644 --- a/rules.mk +++ b/rules.mk @@ -349,7 +349,6 @@ ifneq ($(CONFIG_CCACHE),) TARGET_CXX:= ccache $(TARGET_CXX) HOSTCC:= ccache $(HOSTCC) HOSTCXX:= ccache $(HOSTCXX) - export CCACHE_NOHASHDIR:=true export CCACHE_NOCOMPRESS:=true export CCACHE_BASEDIR:=$(TOPDIR) export CCACHE_DIR:=$(if $(call qstrip,$(CONFIG_CCACHE_DIR)),$(call qstrip,$(CONFIG_CCACHE_DIR)),$(TOPDIR)/.ccache)