|  | dnl ---------------------------------------------------------------------- | 
|  | dnl This whole bit snagged from libstdc++-v3. | 
|  |  | 
|  | dnl | 
|  | dnl GCC_ENABLE | 
|  | dnl    (FEATURE, DEFAULT, HELP-ARG, HELP-STRING) | 
|  | dnl    (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, permit a|b|c) | 
|  | dnl    (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, SHELL-CODE-HANDLER) | 
|  | dnl | 
|  | dnl See docs/html/17_intro/configury.html#enable for documentation. | 
|  | dnl | 
|  | AC_DEFUN([GCC_ENABLE],[dnl | 
|  | m4_define([_g_switch],[--enable-$1])dnl | 
|  | m4_define([_g_help],[AC_HELP_STRING(_g_switch$3,[$4 @<:@default=$2@:>@])])dnl | 
|  | AC_ARG_ENABLE($1,_g_help, | 
|  | m4_bmatch([$5], | 
|  | [^permit ], | 
|  | [[ | 
|  | case "$enableval" in | 
|  | m4_bpatsubst([$5],[permit ])) ;; | 
|  | *) AC_MSG_ERROR(Unknown argument to enable/disable $1) ;; | 
|  | dnl Idea for future:  generate a URL pointing to | 
|  | dnl "onlinedocs/configopts.html#whatever" | 
|  | esac | 
|  | ]], | 
|  | [^$], | 
|  | [[ | 
|  | case "$enableval" in | 
|  | yes|no) ;; | 
|  | *) AC_MSG_ERROR(Argument to enable/disable $1 must be yes or no) ;; | 
|  | esac | 
|  | ]], | 
|  | [[$5]]), | 
|  | [enable_]m4_bpatsubst([$1],-,_)[=][$2]) | 
|  | m4_undefine([_g_switch])dnl | 
|  | m4_undefine([_g_help])dnl | 
|  | ]) | 
|  |  |