blob: a27a4b4be5388a214b34b739264009fd3b6f716a [file] [log] [blame]
#############################################################
#
# ccache
#
#############################################################
CCACHE_VERSION = 3.1.11
CCACHE_SITE = http://samba.org/ftp/ccache
CCACHE_SOURCE = ccache-$(CCACHE_VERSION).tar.bz2
# When ccache is being built for the host, ccache is not yet
# available, so we have to use the special C compiler without the
# cache.
HOST_CCACHE_CONF_ENV = \
CC="$(HOSTCC_NOCCACHE)"
# We directly hardcode the cache location into the binary, as it is
# much easier to handle than passing an environment variable.
define HOST_CCACHE_FIX_CCACHE_DIR
sed -i 's,getenv("CCACHE_DIR"),"$(CCACHE_CACHE_DIR)",' $(@D)/ccache.c
endef
HOST_CCACHE_POST_CONFIGURE_HOOKS += \
HOST_CCACHE_FIX_CCACHE_DIR
# optimizations for ccache
export CCACHE_COMPILERCHECK=%compiler% --version
export CCACHE_BASEDIR=$(BUILD_DIR)
export CCACHE_SLOPPINESS=time_macros
HOST_CCACHE_POST_INSTALL_HOOKS += HOST_CCACHE_LARGE_LIMITS
define HOST_CCACHE_LARGE_LIMITS
$(CCACHE) -M100G -F0
endef
$(eval $(call AUTOTARGETS))
$(eval $(call AUTOTARGETS,host))
ifeq ($(BR2_CCACHE),y)
ccache-stats: host-ccache
$(Q)$(CCACHE) -s
endif