[U-Boot] [U-Boot, 1/2] common: Add CCACHE variable to allow use of ccache

York Sun yorksun at freescale.com
Thu Aug 22 01:39:46 CEST 2013


On 05/20/2013 10:25 AM, Marek Vasut wrote:
> Prefix HOSTCC and CC with CCACHE variable to allow easy use of ccache.
> In case the user wants to use ccache, exporting CCACHE=ccache will do
> the trick. It is of course possible to either make the cross-compiler
> name into a shellscript which invokes the ccache and the compiler, but
> setting this variable makes use of ccache easier and more convenient.
> 
> Using ccache becomes convenient when using MAKEALL for large build
> tests, where the speedup after building the cache for the first time
> is about 4-6 times.
> 
> Signed-off-by: Marek Vasut <marex at denx.de>
> Cc: Tom Rini <trini at ti.com>
> 
> ---
> config.mk |    8 +++++---
>  1 file changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/config.mk b/config.mk
> index 1fd109f..d59ded2 100644
> --- a/config.mk
> +++ b/config.mk
> @@ -98,6 +98,8 @@ else
>  HOSTCC		= gcc
>  endif
>  
> +HOSTCC		:= $(CCACHE) $(HOSTCC)
> +
>  ifeq ($(HOSTOS),cygwin)
>  HOSTCFLAGS	+= -ansi
>  endif
> @@ -140,13 +142,13 @@ binutils-version = $(shell $(SHELL) $(SRCTREE)/tools/binutils-version.sh $(AS))
>  #
>  # Include the make variables (CC, etc...)
>  #
> -AS	= $(CROSS_COMPILE)as
> +AS	= $(CCACHE) $(CROSS_COMPILE)as
>  
>  # Always use GNU ld
>  LD	= $(shell if $(CROSS_COMPILE)ld.bfd -v > /dev/null 2>&1; \
>  		then echo "$(CROSS_COMPILE)ld.bfd"; else echo "$(CROSS_COMPILE)ld"; fi;)
>  
> -CC	= $(CROSS_COMPILE)gcc
> +CC	= $(CCACHE) $(CROSS_COMPILE)gcc
>  CPP	= $(CC) -E
>  AR	= $(CROSS_COMPILE)ar
>  NM	= $(CROSS_COMPILE)nm
> @@ -320,7 +322,7 @@ endif
>  
>  #########################################################################
>  
> -export	HOSTCC HOSTCFLAGS HOSTLDFLAGS PEDCFLAGS HOSTSTRIP CROSS_COMPILE \
> +export	HOSTCC HOSTCFLAGS HOSTLDFLAGS PEDCFLAGS HOSTSTRIP CROSS_COMPILE CCACHE \
>  	AS LD CC CPP AR NM STRIP OBJCOPY OBJDUMP MAKE
>  export	CONFIG_SYS_TEXT_BASE PLATFORM_CPPFLAGS PLATFORM_RELFLAGS CPPFLAGS CFLAGS AFLAGS
>  
> 

Where did this patch go? I found it useful.

York



More information about the U-Boot mailing list