Such checks are used at least in autotools-utils & kde* eclasses, and are done wrong there. Thus, I've created a little reusable snippet suitable for eutils. --- eclass/eutils.eclass | 15 +++++++++++++++ 1 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/eclass/eutils.eclass b/eclass/eutils.eclass index cd1f9ff..3d99f92 100644 --- a/eclass/eutils.eclass +++ b/eclass/eutils.eclass @@ -2028,3 +2028,18 @@ path_exists() { -o) return $(( r == $# )) ;; esac } + +# @FUNCTION: has_iuse +# @USAGE: flag +# @DESCRIPTION: +# Determines whether the given flag is in IUSE. Strips IUSE default prefixes +# as necessary. +has_iuse() { + debug-print-function ${FUNCNAME} "$@" + [[ ${#} -eq 1 ]] || die 'Invalid args to has_iuse()' + + local flag=${1} + local liuse=( ${IUSE} ) + + has "${flag}" "${liuse[@]#[+-]}" +} -- 1.7.6.1