tools/cmake: always use non-ccache CC and CXX variables
authorSven Wegener <sven.wegener@stealer.net>
Fri, 1 Jan 2021 11:27:33 +0000 (12:27 +0100)
committerPaul Spooren <mail@aparcar.org>
Thu, 7 Jan 2021 07:44:56 +0000 (21:44 -1000)
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@stealer.net>
tools/cmake/Makefile

index 64164fdd1de06ba2f37f4ac1ee5c5b4f07f1cd7e..006934466a5f903e67b869f3a6d27aeb60ccfce2 100644 (file)
@@ -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)"