|author||Thomas Petazzoni <firstname.lastname@example.org>||2019-01-10 22:15:00 +0100|
|committer||Peter Korsgaard <email@example.com>||2019-01-16 23:39:28 +0100|
linux: use HOSTCC_NOCCACHE as kconfig HOSTCC
linux is a bit different than other kconfig-package, because it has "toolchain" in KCONFIG_DEPENDENCIES. Thanks to this, host-ccache *is* ready by the time kconfig invocations are made, so we could use $(HOSTCC) as the host compiler for kconfig related operations. However, for consistency with other kconfig-package packages, we chose to use $(HOSTCC_NOCCACHE) as well. We cannot rely on the default value of HOSTCC passed by the kconfig-package infrastructure, because $(LINUX_MAKE_FLAGS) also contains a HOSTCC definition that would override the one passed by the kconfig-package infrastructure. Signed-off-by: Thomas Petazzoni <firstname.lastname@example.org> Acked-by: "Yann E. MORIN" <email@example.com> Signed-off-by: Peter Korsgaard <firstname.lastname@example.org>
1 files changed, 10 insertions, 7 deletions
diff --git a/linux/linux.mk b/linux/linux.mk
index 6bf2b88038..02def89113 100644
@@ -269,13 +269,16 @@ endif
LINUX_KCONFIG_FRAGMENT_FILES = $(call qstrip,$(BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES))
LINUX_KCONFIG_EDITORS = menuconfig xconfig gconfig nconfig
-# LINUX_MAKE_FLAGS overrides HOSTCC to allow the kernel build to find our
-# host-openssl and host-libelf. However, this triggers a bug in the kconfig
-# build script that causes it to build with /usr/include/ncurses.h (which is
-# typically wchar) but link with $(HOST_DIR)/lib/libncurses.so (which is not).
-# We don't actually need any host-package for kconfig, so remove the HOSTCC
-# override again.
-LINUX_KCONFIG_OPTS = $(LINUX_MAKE_FLAGS) HOSTCC="$(HOSTCC)"
+# LINUX_MAKE_FLAGS overrides HOSTCC to allow the kernel build to find
+# our host-openssl and host-libelf. However, this triggers a bug in
+# the kconfig build script that causes it to build with
+# /usr/include/ncurses.h (which is typically wchar) but link with
+# $(HOST_DIR)/lib/libncurses.so (which is not). We don't actually
+# need any host-package for kconfig, so remove the HOSTCC override
+# again. In addition, even though linux depends on the toolchain and
+# therefore host-ccache would be ready, we use HOSTCC_NOCCACHE for
+# consistency with other kconfig packages.
+LINUX_KCONFIG_OPTS = $(LINUX_MAKE_FLAGS) HOSTCC="$(HOSTCC_NOCCACHE)"
# If no package has yet set it, set it from the Kconfig option
LINUX_NEEDS_MODULES ?= $(BR2_LINUX_NEEDS_MODULES)