[OE-core] [PATCH 4/8] [linux-yocto] allow overriding compiler name in KConfig
Jérémy Rosen
jeremy.rosen at smile.fr
Tue Aug 23 13:43:56 UTC 2016
On 23/08/2016 15:36, Bruce Ashfield wrote:
> On Tue, Aug 23, 2016 at 3:25 AM, Jérémy Rosen <jeremy.rosen at smile.fr
> <mailto:jeremy.rosen at smile.fr>> wrote:
>
> The KConfig infrastructure hardwires the compiler name to gcc,
> which breaks
> the BUILD_CC feature. This is needed even when cross compiling because
> make *config rely on the kconfig infrastructure
>
>
> Can you elaborate ? I'm not aware of any issues with either the host
> builds or
> target builds with the kernel.
>
> If there's an issue, we need to fix it upstream .. not here.
Ok, two answers here
* the problem is specifically when the kernel builds a binary for the
host. not when the kernel itself is compiled. i.e it is the binary
needed to run menuconfig itself that was the problem.
* I have contacted the KConfig maintainer and he has offered me a more
elegant solution to that problem that does not require an upstream
patch. I will propose a better fix for the
three instances of KConfig (kernel, kernel headers, busybox) in V2 of
this patch
Sorry for the churn, I am compiling his approch as we speak :)
>
> ---
> meta/recipes-kernel/linux/linux-yocto.inc
> | 4 ++++
> meta/recipes-kernel/linux/linux-yocto/0001-Allow-overriding-host-compiler-name-from-environment.patch
> | 32 ++++++++++++++++++++++++++++++++
> 2 files changed, 36 insertions(+), 0 deletions(-)
> create mode 100644
> meta/recipes-kernel/linux/linux-yocto/0001-Allow-overriding-host-compiler-name-from-environment.patch
>
> diff --git a/meta/recipes-kernel/linux/linux-yocto.inc
> b/meta/recipes-kernel/linux/linux-yocto.inc
> index 98a48ec..63c1531 100644
> --- a/meta/recipes-kernel/linux/linux-yocto.inc
> +++ b/meta/recipes-kernel/linux/linux-yocto.inc
> @@ -58,3 +58,7 @@ do_install_append(){
> addtask kernel_link_images after do_compile before do_install
> addtask validate_branches before do_patch after do_kernel_checkout
> addtask kernel_configcheck after do_configure before do_compile
> +
> +SRC_URI_append = "
> file://0001-Allow-overriding-host-compiler-name-from-environment.patch"
>
>
> We don't carry patches to linux-yocto like this, they are sent to the
> linux-yocto mailing list, and
> integrated into the tree itself.
>
> Bruce
>
> +export HOSTCC = "${BUILD_CC}"
> +export HOSTCXX = "${BUILD_CXX}"
> diff --git
> a/meta/recipes-kernel/linux/linux-yocto/0001-Allow-overriding-host-compiler-name-from-environment.patch
> b/meta/recipes-kernel/linux/linux-
>
> yocto/0001-Allow-overriding-host-compiler-name-from-environment.patch
> new file mode 100644
> index 0000000..6fcfbc8
> --- /dev/null
> +++
> b/meta/recipes-kernel/linux/linux-yocto/0001-Allow-overriding-host-compiler-name-from-environment.patch
> @@ -0,0 +1,32 @@
> +From 0ce4c4f29b5d456a7707e870c7affe524f7c8807 Mon Sep 17 00:00:00
> 2001
> +From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Rosen?= <jeremy.rosen at smile.fr
> <mailto:jeremy.rosen at smile.fr>>
> +Date: Tue, 16 Aug 2016 22:39:29 +0200
> +Subject: [PATCH] Allow overriding host-compiler name from environment
> + variables
> +
> +---
> + Makefile | 8 ++++----
> + 1 file changed, 4 insertions(+), 4 deletions(-)
> +
> +diff --git a/Makefile b/Makefile
> +index 70dea02..1f0d2d2 100644
> +--- a/Makefile
> ++++ b/Makefile
> +@@ -295,10 +295,10 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" ];
> then echo $$BASH; \
> + else if [ -x /bin/bash ]; then echo /bin/bash; \
> + else echo sh; fi ; fi)
> +
> +-HOSTCC = gcc
> +-HOSTCXX = g++
> +-HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes
> -O2 -fomit-frame-pointer -std=gnu89
> +-HOSTCXXFLAGS = -O2
> ++HOSTCC ?= gcc
> ++HOSTCXX ?= g++
> ++HOSTCFLAGS ?= -Wall -Wmissing-prototypes -Wstrict-prototypes
> -O2 -fomit-frame-pointer -std=gnu89
> ++HOSTCXXFLAGS ?= -O2
> +
> + ifeq ($(shell $(HOSTCC) -v 2>&1 | grep -c "clang version"), 1)
> + HOSTCFLAGS += -Wno-unused-value -Wno-unused-parameter \
> +--
> +2.8.1
> +
> --
> git-series 0.8.9
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> <mailto:Openembedded-core at lists.openembedded.org>
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
> <http://lists.openembedded.org/mailman/listinfo/openembedded-core>
>
>
>
>
> --
> "Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160823/ad561442/attachment-0002.html>
More information about the Openembedded-core
mailing list