diff options
author | 2019-06-23 09:45:11 +0100 | |
---|---|---|
committer | 2019-06-23 09:53:42 +0100 | |
commit | 82b182fb344a841fccb2b599fc4ea0d5c4ab254f (patch) | |
tree | ebfa26b9e975d0154402e8189b1e7015b49d6ca2 /eclass | |
parent | sys-fs/zfs-kmod: drop 0.8.0-r1 (diff) | |
download | gentoo-82b182fb344a841fccb2b599fc4ea0d5c4ab254f.tar.gz gentoo-82b182fb344a841fccb2b599fc4ea0d5c4ab254f.tar.bz2 gentoo-82b182fb344a841fccb2b599fc4ea0d5c4ab254f.zip |
flag-o-matic.eclass: filter out '-B/foo' and '-B /foo' equally
In bug #687198 Julian noticed that strip-unsupported-flags()
filters out '-B' but not '/foo' in CFLAGS='-B /foo' and causes
breakage.
This change still does not allow -B flag but at least filters
out both '-B' and it's parameter.
Reported-by: Julian Cléaud
Bug: https://bugs.gentoo.org/687198
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/flag-o-matic.eclass | 3 | ||||
-rwxr-xr-x | eclass/tests/flag-o-matic.sh | 16 |
2 files changed, 18 insertions, 1 deletions
diff --git a/eclass/flag-o-matic.eclass b/eclass/flag-o-matic.eclass index 933104190ae3..3b32bd9d6319 100644 --- a/eclass/flag-o-matic.eclass +++ b/eclass/flag-o-matic.eclass @@ -496,7 +496,8 @@ test-flags-PROG() { while (( $# )); do case "$1" in - --param) + # '-B /foo': bug # 687198 + --param|-B) if test-flag-${comp} "$1" "$2"; then flags+=( "$1" "$2" ) fi diff --git a/eclass/tests/flag-o-matic.sh b/eclass/tests/flag-o-matic.sh index 97cd71d710a2..691b052c3d43 100755 --- a/eclass/tests/flag-o-matic.sh +++ b/eclass/tests/flag-o-matic.sh @@ -58,6 +58,22 @@ strip-unsupported-flags [[ ${CFLAGS} == "--param l1-cache-size=32" ]] && [[ ${CXXFLAGS} == "-z=2" ]] && [[ ${LDFLAGS} == "" ]] ftend +CFLAGS="-O2 -B/foo -O1" +CXXFLAGS="-O2 -B/foo -O1" +LDFLAGS="-O2 -B/foo -O1" +tbegin "strip-unsupported-flags for '-B/foo'" +strip-unsupported-flags +[[ ${CFLAGS} == "-O2 -O1" ]] && [[ ${CXXFLAGS} == "-O2 -O1" ]] && [[ ${LDFLAGS} == "" ]] +ftend + +CFLAGS="-O2 -B /foo -O1" +CXXFLAGS="-O2 -B /foo -O1" +LDFLAGS="-O2 -B /foo -O1" +tbegin "strip-unsupported-flags for '-B /foo'" +strip-unsupported-flags +[[ ${CFLAGS} == "-O2 -O1" ]] && [[ ${CXXFLAGS} == "-O2 -O1" ]] && [[ ${LDFLAGS} == "" ]] +ftend + for var in $(all-flag-vars) ; do eval ${var}=\"-filter -filter-glob -foo-${var%FLAGS}\" done |