[openwrt/openwrt] tools/cmake: always use non-ccache CC and CXX variables

LEDE Commits lede-commits at lists.infradead.org
Thu Jan 7 02:45:04 EST 2021


aparcar pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/936220186d5d2ca99a9b5c7c895fe04ac5e2ce35

commit 936220186d5d2ca99a9b5c7c895fe04ac5e2ce35
Author: Sven Wegener <sven.wegener at stealer.net>
AuthorDate: Fri Jan 1 12:27:33 2021 +0100

    tools/cmake: always use non-ccache CC and CXX variables
    
    cmake is a dependency of ccache, which means it is build before ccache
    is available and hence must be build with non-ccache CC and CXX. It
    currently works, because the cmake build system splits the compiler
    variable and treats them as multiple compilers to check.
    
    For "ccache gcc" it first tests for "ccache", which always fails,
    because ccache is not a compiler by itself, even if it is available, and
    then ends up calling "gcc" alone, effectively never using ccache.
    
    Let's make this explicit by forcing the use of non-ccache CC and CXX.
    
    Signed-off-by: Sven Wegener <sven.wegener at stealer.net>
---
 tools/cmake/Makefile | 16 ++--------------
 1 file changed, 2 insertions(+), 14 deletions(-)

diff --git a/tools/cmake/Makefile b/tools/cmake/Makefile
index 64164fdd1d..006934466a 100644
--- a/tools/cmake/Makefile
+++ b/tools/cmake/Makefile
@@ -21,21 +21,9 @@ HOST_CONFIGURE_PARALLEL:=1
 
 include $(INCLUDE_DIR)/host-build.mk
 
-# Workaround for GCC versions below 6.X and ccache
-# Reference: https://github.com/openwrt/openwrt/pull/1929
-GCC_DMPVER_GREPCMD := grep -E '^(4\.[8-9]|[5]\.?)'
-GCC_DMPVER_STRING := $(shell $(HOSTCC_NOCACHE) -dumpversion | $(GCC_DMPVER_GREPCMD))
-ifneq ($(GCC_DMPVER_STRING),)
-  ifeq ($(CONFIG_CCACHE),y)
-    $(info GCC version less than 6.0 detected, disabling CCACHE)
-    HOST_CONFIGURE_VARS:=$(filter-out CC=% gcc%",$(HOST_CONFIGURE_VARS)) CC="$(HOSTCC_NOCACHE)"
-    HOST_CONFIGURE_VARS:=$(filter-out CXX=% g++%",$(HOST_CONFIGURE_VARS)) CXX="$(HOSTCXX_NOCACHE)"
-      else
-    $(info GCC version greater or equal to 6.0 detected, no workaround set for CCACHE)
-  endif
-endif
-
 HOST_CONFIGURE_VARS += \
+	CC="$(HOSTCC_NOCACHE)" \
+	CXX="$(HOSTCXX_NOCACHE)" \
 	MAKEFLAGS="$(HOST_JOBS)" \
 	CXXFLAGS="$(HOST_CFLAGS)"
 



More information about the lede-commits mailing list