AC_DEFUN([OG_MULTIARG_PROCESS], [dnl
pushdef([og_group], [translit([$1],[-],[_])])
new_default=
- for og_val in $2 `echo "$withval" | sed -e 's/,/ /g'`; do
- og_arg=invalid
+ for og_val in $2 `echo "$withval" | sed -e 's/,/ /g'`; do
+ og_arg=invalid
case "$og_val" in
dnl all and none are only permitted as the first in the list.
no | none ) new_default=no ;;
esac
])
if test -n "$new_default"; then
-dnl for og_item in "[$3]"; do
-dnl with_[]og_group[]_$og_item="$new_default"
-dnl done
+dnl for og_item in "[$3]"; do
+dnl with_[]og_group[]_$og_item="$new_default"
+dnl done
with_[]og_group[]_[]patsubst([$3],[ ],[=$new_default; with_[]og_group[]_])[]=$new_default
new_default=
og_arg=valid
)
fi
done
- popdef([og_group])
+ popdef([og_group])
])
+dnl helper for OG_MULTIARG_HELP_STINGS
+dnl mimicking AS_HELP_STRING here
+dnl we can't use AS_HELP_STRING (or m4_text_wrap) directly because
+dnl we need $1 and $2 expanded and indirected, a bit like a lisp `
+AC_DEFUN([_OG_MULTIARG_ITEM_EXPL], [dnl
+[ ][- $1 for $2]
+])dnl _OG_MULTIARG_ITEM_EXPL
+
dnl automatically generated help string
AC_DEFUN([OG_MULTIARG_HELP_STRINGS], [dnl
- pushdef([OG_MULTIARG_ITEM], AS_HELP_STRING([], - $[1] for $[3]))
+ pushdef([OG_MULTIARG_ITEM],
+ _OG_MULTIARG_ITEM_EXPL($[1], $[3]))
pushdef([OG_MULTIARG_MUTEX], [])
AS_HELP_STRING([], [Explanation of the items:])
$1
sxe_with_options="$sxe_with_options $1"
pushdef([og_group], [translit([$1],[-],[_])])
- pushdef([og_DefVal],ifelse($3,,auto,$3))
+ pushdef([og_DefVal],ifelse($3,,auto,$3))
pushdef([OG_MULTIARG_ITEM], dnl
_OG_MULTIARG_ITEM($1, $[1], $[2], $[3]))
pushdef([OG_MULTIARG_MUTEX], dnl
pushdef([OG_HELP_STRING], [AS_HELP_STRING($[1], $[2])])
pushdef([og_desc], [dnl
-patsubst([$2], [^[ ]AS_HELP_STRING], [AS_HELP_STRING])])
+patsubst([$2], [^[ ]AS_HELP_STRING], [AS_HELP_STRING])])
pushdef([og_helps], [dnl
-patsubst(patsubst(patsubst([OG_MULTIARG_HELP_STRINGS($5)], [^[ ]+], []), [[ ]+$], []), [^[ ]*
+patsubst(patsubst(patsubst([OG_MULTIARG_HELP_STRINGS($5)], [^[ ]+], []), [[ ]+$], []), [^[ ]*
], [])])
dnl I personally shoot everybody who fiddles with the whitespace here!!!!
- AC_ARG_WITH($1, [
+ AC_ARG_WITH($1, [
og_desc[]ifelse($5,[og_any],,[
AS_HELP_STRING([], OG_MULTIARG_POSSVAL(og_items))
AS_HELP_STRING([], OG_MULTIARG_MORE_ON_POSSVALS)
pushdef([og_mutices], [$sxe_og_[]og_group[]_mutices])
pushdef([indent], [ifelse([$3],[],[],[$3])])
- for og_val in og_items; do
+ for og_val in og_items; do
if eval "test \"\$have_[]og_group[]_${og_val}\" = \"yes\""; then
if eval "test \"\$with_[]og_group[]_${og_val}\" \
!= \"yes\""; then