[OpenWrt-Devel] [PATCH] Make ccache aware of OpenWRT provided GCC patch.

John Crispin john at phrozen.org
Tue Jul 14 05:48:42 EDT 2015


Hi,

subject is missing the prefix and the Signed-off-by line is missing.

	John

On 14/07/2015 11:38, Karl Vogel wrote:
> The OpenWRT GCC patch, 910-mbsd_multi.patch adds an extra option
> to gcc that depends on an environment variable. Standard ccache
> is unaware of this option and therefor can produce stdout from gcc
> that doesn't correspond to what you would get if you actually
> do a direct compilation with gcc.
> 
> This commit adds a patch to ccache to make it aware of the new
> option and removes the feature from the ccache package to use the
> host system's installed ccache binary.
> ---
>  tools/ccache/Makefile                       | 24 ++++------------------
>  tools/ccache/patches/100-honour-copts.patch | 31 +++++++++++++++++++++++++++++
>  2 files changed, 35 insertions(+), 20 deletions(-)
>  create mode 100644 tools/ccache/patches/100-honour-copts.patch
> 
> diff --git a/tools/ccache/Makefile b/tools/ccache/Makefile
> index 9020c9c..75c5f8c 100644
> --- a/tools/ccache/Makefile
> +++ b/tools/ccache/Makefile
> @@ -24,29 +24,13 @@ define Host/Install/ccache
>  	$(CP) ./files/* $(STAGING_DIR_HOST)/bin/
>  endef
>  
> -ifneq ($(strip $(shell which ccache >/dev/null && echo found)),found)
> -  define Host/Clean
> +define Host/Clean
>  	-$(MAKE) -C $(HOST_BUILD_DIR) uninstall
>  	$(call Host/Clean/Default)
> -  endef
> -  define Host/Install
> +endef
> +define Host/Install
>  	$(call Host/Install/Default)
>  	$(call Host/Install/ccache)
> -  endef
> -else
> -  define Host/Prepare
> -  endef
> -  define Host/Configure
> -  endef
> -  define Host/Compile
> -  endef
> -  define Host/Install
> -	$(call Host/Install/ccache)
> -  endef
> -  define Host/Clean
> -  endef
> -  define Download
> -  endef
> -endif
> +endef
>  
>  $(eval $(call HostBuild))
> diff --git a/tools/ccache/patches/100-honour-copts.patch b/tools/ccache/patches/100-honour-copts.patch
> new file mode 100644
> index 0000000..9182d33
> --- /dev/null
> +++ b/tools/ccache/patches/100-honour-copts.patch
> @@ -0,0 +1,31 @@
> +From 135d868c539f994afbcf80d313ba2e39f031d3b1 Mon Sep 17 00:00:00 2001
> +From: Karl Vogel <karl.vogel at gmail.com>
> +Date: Tue, 14 Jul 2015 11:05:33 +0200
> +Subject: [PATCH] Include environment variable GCC_HONOUR_COPTS in hash.
> +
> +The OpenWRT patch, 910-mbsd_multi.patch, to GCC adds an extra
> +compilation flag, -fhonour-copts, which is influenced by an
> +environment variable called GCC_HONOUR_COPTS.
> +
> +Include this environment var in the hash calculation as otherwise
> +the gcc stdout warning from a previous compilation might be shown
> +where, even when GCC_HONOUR_COPTS is in 's'ilent mode.
> +---
> + ccache.c | 1 +
> + 1 file changed, 1 insertion(+)
> +
> +diff --git a/ccache.c b/ccache.c
> +index e41af13..fa67ed2 100644
> +--- a/ccache.c
> ++++ b/ccache.c
> +@@ -965,6 +965,7 @@ calculate_object_hash(struct args *args, struct mdfour *hash, int direct_mode)
> + 			"CPLUS_INCLUDE_PATH",
> + 			"OBJC_INCLUDE_PATH",
> + 			"OBJCPLUS_INCLUDE_PATH", /* clang */
> ++                        "GCC_HONOUR_COPTS",
> + 			NULL
> + 		};
> + 		for (p = envvars; *p != NULL ; ++p) {
> +-- 
> +1.9.1
> +
> 
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list