Commit dd79f2df authored by Danomi Manchego's avatar Danomi Manchego Committed by Thomas Petazzoni
Browse files

ccache: provide capability to do initial ccache setup



For example, if your project is known to require more space than the
default max cache size, then you might want to increase the cache size
to a suitable amount using the -M (--max-size) option.

The string you specify here is passed verbatim to ccache.  Refer to
ccache documentation for more details.

These initial settings are applied after ccache has been compiled.

Signed-off-by: default avatarDanomi Manchego <danomimanchego123@gmail.com>
Reviewed-by: default avatarThomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Tested-by: default avatarThomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent d93a0b40
Loading
Loading
Loading
Loading
+19 −2
Original line number Diff line number Diff line
@@ -266,7 +266,7 @@ config BR2_CCACHE
	help
	  This option will enable the use of ccache, a compiler
	  cache. It will cache the result of previous builds to speed
	  up future builds. The cache is stored in
	  up future builds. By default, the cache is stored in
	  $HOME/.buildroot-ccache.

	  Note that Buildroot does not try to invalidate the cache
@@ -276,13 +276,30 @@ config BR2_CCACHE
	  ccache cache by removing the $HOME/.buildroot-ccache
	  directory.

if BR2_CCACHE

config BR2_CCACHE_DIR
	string "Compiler cache location"
	depends on BR2_CCACHE
	default "$(HOME)/.buildroot-ccache"
	help
	  Where ccache should store cached files.

config BR2_CCACHE_INITIAL_SETUP
	string "Compiler cache initial setup"
	help
	  Initial ccache settings to apply, such as --max-files or --max-size.

	  For example, if your project is known to require more space than the
	  default max cache size, then you might want to increase the cache size
	  to a suitable amount using the -M (--max-size) option.

	  The string you specify here is passed verbatim to ccache.  Refer to
	  ccache documentation for more details.

	  These initial settings are applied after ccache has been compiled.

endif

config BR2_DEPRECATED
	bool "Show packages that are deprecated or obsolete"
	help
+14 −4
Original line number Diff line number Diff line
@@ -38,15 +38,25 @@ define HOST_CCACHE_PATCH_CONFIGURATION
	sed -i 's,"%s/.ccache","$(BR_CACHE_DIR)",' $(@D)/ccache.c
endef

HOST_CCACHE_POST_CONFIGURE_HOOKS += \
	HOST_CCACHE_PATCH_CONFIGURATION
HOST_CCACHE_POST_CONFIGURE_HOOKS += HOST_CCACHE_PATCH_CONFIGURATION

define HOST_CCACHE_MAKE_CACHE_DIR
	mkdir -p $(BR_CACHE_DIR)
endef

HOST_CCACHE_POST_INSTALL_HOOKS += \
	HOST_CCACHE_MAKE_CACHE_DIR
HOST_CCACHE_POST_INSTALL_HOOKS += HOST_CCACHE_MAKE_CACHE_DIR

# Provide capability to do initial ccache setup (e.g. increase default size)
BR_CCACHE_INITIAL_SETUP = $(call qstrip,$(BR2_CCACHE_INITIAL_SETUP))
ifneq ($(BR_CCACHE_INITIAL_SETUP),)
define HOST_CCACHE_DO_INITIAL_SETUP
	@$(call MESSAGE,"Applying initial settings")
	$(CCACHE) $(BR_CCACHE_INITIAL_SETUP)
	$(CCACHE) -s
endef

HOST_CCACHE_POST_INSTALL_HOOKS += HOST_CCACHE_DO_INITIAL_SETUP
endif

$(eval $(host-autotools-package))