media-libs/gst-plugins-base: filter out -mno-sse* flags that break introspection...
authorMart Raudsepp <leio@gentoo.org>
Fri, 26 Jan 2018 23:33:35 +0000 (01:33 +0200)
committerMart Raudsepp <leio@gentoo.org>
Sat, 27 Jan 2018 03:29:20 +0000 (05:29 +0200)
commitba018ae41ad2ef5b0bc78ad9a93d1dc982522be0
treeb70e219fcc8fee000fae0cf515caf65d6daa8d56
parent44fa8120472495f279d983af887ff0967bb31e79
media-libs/gst-plugins-base: filter out -mno-sse* flags that break introspection build

People who copy-paste the whole -march=native meaning out in full detail from the
various commands that give the equivalent face issues with the build here, because
the build system adds -msse4.1 and other flags explicitly itself to build runtime
tested SSE accelerated code, which doesn't get used if the runtime CPU doesn't
support them. Because of CFLAGS ordering of -mno-sse4.1 from make.conf and -msse4.1
from gst-plugins-base configure, and apparently slightly different flags used for
introspection generation, this ends up with introspection build thinking the SSE
specific symbols are there, while they actually aren't.

People who do this copy-pasting, really shouldn't be copying it all over verbatim,
especially the -mno-* flags, which are redundant in the usual situation (the
specific -march= probably doesn't enable them, so no need to -mno them), but causes
issues for such specific runtime checked optimizations.
Because we have a concrete list of instruction set flags in configure.ac that we'd
hit the issue with when the opposite -mno is present in CFLAGS, be nice to these
users by explicitly filtering out these redundant flags.
I think there's still something to fix in an upstream patch instead (the different
flags between library and introspection build?) , hence leaving the bug open for
the time being still.

Bug: https://bugs.gentoo.org/610340
Package-Manager: Portage-2.3.19, Repoman-2.3.6
media-libs/gst-plugins-base/gst-plugins-base-1.12.4.ebuild