[OE-core] Possible patch for build issue (mostly affects mingw, but see below)

Khem Raj raj.khem at gmail.com
Fri Oct 16 06:47:07 UTC 2015


> On Oct 15, 2015, at 7:27 PM, Peter Seebach <peter.seebach at windriver.com> wrote:
> 
> I'd like a second opinion on this. Without this, we had very strange build
> failures which ended up being using the build system g++ with the mingw
> "host" (in cross-canadian land, this would be the machine the compiler will
> run on) headers. On study, the issue seems to be that libcpp is now being
> built for the build machine, but it's using C++ as of 5.2.0... But
> EXTRA_BUILD_FLAGS does not override CXXFLAGS, only CFLAGS and LDFLAGS, so
> you end up with the regular host system CFLAGS, which are the mingw ones,
> being used with the build system compiler.
> 
> Without this, I couldn't build gcc 5.2 for mingw. With this (and adding
> libgomp to the RUNTIMETARGET_remove_mingw32 in meta-mingw), I could.
> 
> However, I don't think this is actually mingw specific. I think that,
> without this fix, *every* build ends up using the host system's CXXFLAGS
> to build a build-system libcpp, instead of the build system's. It's just
> that, since they're usually compatible-enough for libcpp, no one ever
> noticed.
> 
> (Sending it out to the list as a plain patch because it's easier to read; if
> people want a pretty formatted gcc patch for oe-core, I can do that, and I
> think this one should go upstream too.)

this patch is ok.

> 
> Author: Peter Seebach <peter.seebach at windriver.com>
> Date:   Wed Oct 14 17:10:10 2015 -0500
> 
>    Makefile.tpl: Also pass CXXFLAGS_FOR_BUILD
> 
>    When doing a FOR_BUILD thing, you have to override CFLAGS with
>    CFLAGS_FOR_BUILD. And if you use C++, you also have to override
>    CXXFLAGS with CXXFLAGS_FOR_BUILD, or you end up trying to use the
>    mingw headers for a host build.
> 
>    Signed-off-by: Peter Seebach <peter.seebach at windriver.com>
> 
> diff --git a/Makefile.in b/Makefile.in
> index 36b4008..b64ef77 100644
> --- a/Makefile.in
> +++ b/Makefile.in
> @@ -169,6 +169,7 @@ BUILD_EXPORTS = \
> # built for the build system to override those in BASE_FLAGS_TO_PASS.
> EXTRA_BUILD_FLAGS = \
> 	CFLAGS="$(CFLAGS_FOR_BUILD)" \
> +	CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
> 	LDFLAGS="$(LDFLAGS_FOR_BUILD)"
> 
> # This is the list of directories to built for the host system.
> diff --git a/Makefile.tpl b/Makefile.tpl
> index 1ea1954..4f73d66 100644
> --- a/Makefile.tpl
> +++ b/Makefile.tpl
> @@ -172,6 +172,7 @@ BUILD_EXPORTS = \
> # built for the build system to override those in BASE_FLAGS_TO_PASS.
> EXTRA_BUILD_FLAGS = \
> 	CFLAGS="$(CFLAGS_FOR_BUILD)" \
> +	CXXFLAGS="$(CXXFLAGS_FOR_BUILD)" \
> 	LDFLAGS="$(LDFLAGS_FOR_BUILD)"
> 
> # This is the list of directories to built for the host system.
> --
> Listen, get this.  Nobody with a good compiler needs to be justified.
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 204 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20151015/0440140c/attachment-0002.sig>


More information about the Openembedded-core mailing list