xref: /netbsd-src/external/gpl3/gcc/dist/config/enable.m4 (revision 4fee23f98c45552038ad6b5bd05124a41302fb01)
1*4fee23f9Smrgdnl ----------------------------------------------------------------------
2*4fee23f9Smrgdnl This whole bit snagged from libstdc++-v3.
3*4fee23f9Smrg
4*4fee23f9Smrgdnl
5*4fee23f9Smrgdnl GCC_ENABLE
6*4fee23f9Smrgdnl    (FEATURE, DEFAULT, HELP-ARG, HELP-STRING)
7*4fee23f9Smrgdnl    (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, permit a|b|c)
8*4fee23f9Smrgdnl    (FEATURE, DEFAULT, HELP-ARG, HELP-STRING, SHELL-CODE-HANDLER)
9*4fee23f9Smrgdnl
10*4fee23f9Smrgdnl See docs/html/17_intro/configury.html#enable for documentation.
11*4fee23f9Smrgdnl
12*4fee23f9SmrgAC_DEFUN([GCC_ENABLE],[dnl
13*4fee23f9Smrgm4_define([_g_switch],[--enable-$1])dnl
14*4fee23f9Smrgm4_define([_g_help],[AC_HELP_STRING(_g_switch$3,[$4 @<:@default=$2@:>@])])dnl
15*4fee23f9Smrg AC_ARG_ENABLE($1,_g_help,
16*4fee23f9Smrg  m4_bmatch([$5],
17*4fee23f9Smrg   [^permit ],
18*4fee23f9Smrg     [[
19*4fee23f9Smrg      case "$enableval" in
20*4fee23f9Smrg       m4_bpatsubst([$5],[permit ])) ;;
21*4fee23f9Smrg       *) AC_MSG_ERROR(Unknown argument to enable/disable $1) ;;
22*4fee23f9Smrg          dnl Idea for future:  generate a URL pointing to
23*4fee23f9Smrg          dnl "onlinedocs/configopts.html#whatever"
24*4fee23f9Smrg      esac
25*4fee23f9Smrg     ]],
26*4fee23f9Smrg   [^$],
27*4fee23f9Smrg     [[
28*4fee23f9Smrg      case "$enableval" in
29*4fee23f9Smrg       yes|no) ;;
30*4fee23f9Smrg       *) AC_MSG_ERROR(Argument to enable/disable $1 must be yes or no) ;;
31*4fee23f9Smrg      esac
32*4fee23f9Smrg     ]],
33*4fee23f9Smrg   [[$5]]),
34*4fee23f9Smrg  [enable_]m4_bpatsubst([$1],-,_)[=][$2])
35*4fee23f9Smrgm4_undefine([_g_switch])dnl
36*4fee23f9Smrgm4_undefine([_g_help])dnl
37*4fee23f9Smrg])
38*4fee23f9Smrg
39