From 82b182fb344a841fccb2b599fc4ea0d5c4ab254f Mon Sep 17 00:00:00 2001 From: Sergei Trofimovich Date: Sun, 23 Jun 2019 09:45:11 +0100 Subject: [PATCH] flag-o-matic.eclass: filter out '-B/foo' and '-B /foo' equally MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- eclass/flag-o-matic.eclass | 3 ++- eclass/tests/flag-o-matic.sh | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) 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 -- 2.26.2