summaryrefslogtreecommitdiffstats
path: root/tools/ccache
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2020-12-23 01:16:17 -0800
committerHans Dedecker <dedeckeh@gmail.com>2020-12-31 10:03:21 +0100
commit31554e50d2c3d0707a40f9ed08b0d6999f584ba2 (patch)
tree59fde8c27d0a816ab8d63c4975e190bb75f912bc /tools/ccache
parentf3e45c45cba1a541693da840642b08226653dff4 (diff)
downloadopenwrt-31554e50d2c3d0707a40f9ed08b0d6999f584ba2.tar.gz
openwrt-31554e50d2c3d0707a40f9ed08b0d6999f584ba2.tar.bz2
openwrt-31554e50d2c3d0707a40f9ed08b0d6999f584ba2.zip
ccache: update to 4.1
Upstream switched to building with CMake. Adjust accordingly. Reapplied patch as upstream changed the file format. Added HOST_BUILD_PARALLEL for faster compilation. Added cmake tool dependency and removed circular dependencies as a result. Adjusted dependent tools to use NOCACHE as they are needed to build ccache. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Diffstat (limited to 'tools/ccache')
-rw-r--r--tools/ccache/Makefile17
-rw-r--r--tools/ccache/patches/100-honour-copts.patch20
2 files changed, 19 insertions, 18 deletions
diff --git a/tools/ccache/Makefile b/tools/ccache/Makefile
index 6e55001fd5..e016e0beb3 100644
--- a/tools/ccache/Makefile
+++ b/tools/ccache/Makefile
@@ -1,4 +1,4 @@
-#
+#
# Copyright (C) 2006-2015 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
@@ -8,25 +8,26 @@ include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/target.mk
PKG_NAME:=ccache
-PKG_VERSION:=3.7.11
+PKG_VERSION:=4.1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/ccache/ccache/releases/download/v$(PKG_VERSION)
-PKG_HASH:=8d450208099a4d202bd7df87caaec81baee20ce9dd62da91e9ea7b95a9072f68
+PKG_HASH:=5fdc804056632d722a1182e15386696f0ea6c59cb4ab4d65a54f0b269ae86f99
+
+HOST_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/host-build.mk
+include $(INCLUDE_DIR)/cmake.mk
-HOST_CONFIGURE_VARS += CC="$(HOSTCC_NOCACHE)"
+CMAKE_HOST_OPTIONS += \
+ -DCMAKE_C_COMPILER_LAUNCHER="" \
+ -DCMAKE_CXX_COMPILER_LAUNCHER=""
define Host/Install/ccache
$(INSTALL_DIR) $(STAGING_DIR_HOST)/bin/
$(CP) ./files/* $(STAGING_DIR_HOST)/bin/
endef
-define Host/Clean
- -$(MAKE) -C $(HOST_BUILD_DIR) uninstall
- $(call Host/Clean/Default)
-endef
define Host/Install
$(call Host/Install/Default)
$(call Host/Install/ccache)
diff --git a/tools/ccache/patches/100-honour-copts.patch b/tools/ccache/patches/100-honour-copts.patch
index ccfa1c0247..e4045ef9be 100644
--- a/tools/ccache/patches/100-honour-copts.patch
+++ b/tools/ccache/patches/100-honour-copts.patch
@@ -1,10 +1,10 @@
---- a/src/ccache.c
-+++ b/src/ccache.c
-@@ -2277,6 +2277,7 @@ calculate_object_hash(struct args *args,
- "CPLUS_INCLUDE_PATH",
- "OBJC_INCLUDE_PATH",
- "OBJCPLUS_INCLUDE_PATH", // clang
-+ "GCC_HONOUR_COPTS",
- NULL
- };
- for (const char **p = envvars; *p; ++p) {
+--- a/src/ccache.cpp
++++ b/src/ccache.cpp
+@@ -1654,6 +1654,7 @@ calculate_result_name(Context& ctx,
+ "CPLUS_INCLUDE_PATH",
+ "OBJC_INCLUDE_PATH",
+ "OBJCPLUS_INCLUDE_PATH", // clang
++ "GCC_HONOUR_COPTS",
+ nullptr};
+ for (const char** p = envvars; *p; ++p) {
+ const char* v = getenv(*p);