[Buildroot] [PATCH] infra/ccache: avoid color diagnostics with GCC older than v4.9

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Sun Feb 12 12:59:14 UTC 2017


Hello,

On Sun, 12 Feb 2017 13:33:26 +0100, Yann E. MORIN wrote:

> Something like, maybe:
> 
>     diff --git a/package/ccache/ccache.mk b/package/ccache/ccache.mk
>     index f174a5d..35d7a7b 100644
>     --- a/package/ccache/ccache.mk
>     +++ b/package/ccache/ccache.mk
>     @@ -31,6 +31,7 @@ HOST_CCACHE_CONF_OPTS += --with-bundled-zlib
>      define HOST_CCACHE_PATCH_CONFIGURATION
>      	sed -i 's,getenv("CCACHE_DIR"),getenv("BR_CACHE_DIR"),' $(@D)/ccache.c
>      	sed -i 's,"%s/.ccache","$(BR_CACHE_DIR)",' $(@D)/conf.c
>     +	sed -i  '/if (getenv("GCC_COLORS")/,+4d' $(@D)/ccache.c
>      endef
>      
>      HOST_CCACHE_POST_PATCH_HOOKS += HOST_CCACHE_PATCH_CONFIGURATION
> 
> Or would we want it to be conditional on gcc < 4.9?

Yes, it should be conditional on gcc < 4.9.

> In anycase, I think overridign the environment variable is much
> easier...

Right, *but* if we forget to pass TARGET_MAKE_ENV or HOST_MAKE_ENV
somewhere, then we will get a build failure. As a trivial example,
package/makedevs/makedevs.mk directly calls $(HOSTCC), which uses
ccache, but does not use $(HOST_MAKE_ENV). So that one would not pass
GCC_COLORS="", and would therefore fail to build on machines with gcc <
4.9.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com



More information about the buildroot mailing list