aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2015-07-14 10:30:38 +0000
committerFelix Fietkau <nbd@openwrt.org>2015-07-14 10:30:38 +0000
commit7fa6d4c0932b804146478b61c86e5b28da7b6969 (patch)
treee3041feb98f45fe9db2edfafe185c19f64fe2cfe /tools
parentdef706c7aed515300a6eb4870c911992cfadf7d0 (diff)
downloadmaster-187ad058-7fa6d4c0932b804146478b61c86e5b28da7b6969.tar.gz
master-187ad058-7fa6d4c0932b804146478b61c86e5b28da7b6969.tar.bz2
master-187ad058-7fa6d4c0932b804146478b61c86e5b28da7b6969.zip
ccache: Make ccache aware of OpenWRT provided GCC patch.
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. Signed-off-by: Karl Vogel <karl.vogel@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@46364 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'tools')
-rw-r--r--tools/ccache/Makefile24
-rw-r--r--tools/ccache/patches/100-honour-copts.patch33
2 files changed, 37 insertions, 20 deletions
diff --git a/tools/ccache/Makefile b/tools/ccache/Makefile
index a0f6332522..76b6957780 100644
--- a/tools/ccache/Makefile
+++ b/tools/ccache/Makefile
@@ -23,29 +23,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 0000000000..dc328851fa
--- /dev/null
+++ b/tools/ccache/patches/100-honour-copts.patch
@@ -0,0 +1,33 @@
+From 90762a9b8d9a50b6176f10bd6c2e2b9501117561 Mon Sep 17 00:00:00 2001
+From: Karl Vogel <karl.vogel@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.
+
+Signed-off-by: Karl Vogel <karl.vogel@gmail.com>
+---
+ ccache.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ccache.c b/ccache.c
+index e41af13..b736a9c 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
+