ccache: update to 4.1
authorRosen Penev <rosenp@gmail.com>
Wed, 23 Dec 2020 09:16:17 +0000 (01:16 -0800)
committerHans Dedecker <dedeckeh@gmail.com>
Thu, 31 Dec 2020 09:03:21 +0000 (10:03 +0100)
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>
tools/Makefile
tools/ccache/Makefile
tools/ccache/patches/100-honour-copts.patch
tools/libressl/Makefile
tools/pkgconf/Makefile
tools/zstd/Makefile

index c66d4fb9917ee484316c9dcba8614857441b6bb5..4bef951c463908e319fc4b9d1203ef5250a23c65 100644 (file)
@@ -80,8 +80,9 @@ ifneq ($(HOST_OS),Linux)
 endif
 
 ifneq ($(CONFIG_CCACHE)$(CONFIG_SDK),)
-$(foreach tool, $(filter-out xz patch,$(tools-y)), $(eval $(curdir)/$(tool)/compile += $(curdir)/ccache/compile))
+$(foreach tool, $(filter-out xz zstd patch pkgconf libressl cmake,$(tools-y)), $(eval $(curdir)/$(tool)/compile += $(curdir)/ccache/compile))
 tools-y += ccache
+$(curdir)/ccache/compile := $(curdir)/cmake/compile $(curdir)/zstd/compile
 endif
 
 # in case there is no patch tool on the host we need to make patch tool a
index 6e55001fd5e1e197150e2888484363bff29fdff4..e016e0beb3bf44110a8088cd4a3ef667d37461cc 100644 (file)
@@ -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)
index ccfa1c0247c1d170b4f9e5d310e1d08188856bcb..e4045ef9be0824a216b90ae4b6b6ae3cc5ada160 100644 (file)
@@ -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);
index dbd8ca4d1ac9ecabd78ccc49459648f4dee13d4d..2b5a33450c829004162ca229b3ba060f5aff3222 100644 (file)
@@ -23,6 +23,7 @@ HOST_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/host-build.mk
 
+HOSTCC := $(HOSTCC_NOCACHE)
 HOST_CONFIGURE_ARGS += --enable-static --disable-shared --disable-tests
 HOST_CFLAGS += $(FPIC)
 
index 7d785aae3937c25ca3294eac77d299b9d167176d..0f56de0e29f879362ff072f6223caa110ea7466d 100644 (file)
@@ -19,6 +19,8 @@ include $(INCLUDE_DIR)/host-build.mk
 
 unexport PKG_CONFIG
 
+HOSTCC := $(HOSTCC_NOCACHE)
+
 define Host/Install
        $(MAKE) -C $(HOST_BUILD_DIR) install
        mv $(STAGING_DIR_HOST)/bin/pkgconf $(STAGING_DIR_HOST)/bin/pkg-config.real
index 7459725e8e79b846ed96551753d07fdd02459598..ec85362544f1f897a079b3018bd195d90a637929 100644 (file)
@@ -15,6 +15,7 @@ HOST_BUILD_PARALLEL:=1
 
 include $(INCLUDE_DIR)/host-build.mk
 
+HOSTCC := $(HOSTCC_NOCACHE)
 HOST_MAKE_FLAGS = PREFIX=$(HOST_BUILD_PREFIX) HAVE_ZLIB=0 HAVE_LZMA=0 HAVE_LZ4=0
 
 $(eval $(call HostBuild))