Enhance OL_ARG_ENABLE for overridable defaults, trim some redundancy in

the passed in help string. (Append the valid args to the help string...)
This commit is contained in:
Howard Chu 2005-08-25 09:48:28 +00:00
parent 7b613bb85b
commit 166048823a
2 changed files with 63 additions and 64 deletions

View File

@ -20,9 +20,10 @@ dnl $1 = option name
dnl $2 = help-string
dnl $3 = default value (auto). "--" means do not set it by default
dnl $4 = allowed values (auto yes no)
dnl $5 = overridden default
AC_DEFUN([OL_ARG_ENABLE], [# OpenLDAP --enable-$1
AC_ARG_ENABLE($1,ifelse($3,--,[$2],
[$2 @<:@]ifelse($3,,auto,$3)@:>@),[
pushdef([ol_DefVal],ifelse($3,,auto,$3))
AC_ARG_ENABLE($1,ifelse($4,,[$2],[$2] translit([$4],[ ],[|])) ifelse($3,--,,@<:@ol_DefVal@:>@),[
ol_arg=invalid
for ol_val in ifelse($4,,[auto yes no],[$4]) ; do
if test "$enableval" = "$ol_val" ; then
@ -34,8 +35,9 @@ AC_DEFUN([OL_ARG_ENABLE], [# OpenLDAP --enable-$1
fi
ol_enable_$1="$ol_arg"
]ifelse($3,--,,[,
[ ol_enable_$1=ifelse($3,,"auto","$3")]]))dnl
[ ol_enable_$1=ifelse($5,,ol_DefVal,[${]$5[:-]ol_DefVal[}])]]))dnl
dnl AC_MSG_RESULT([OpenLDAP -enable-$1 $ol_enable_$1])
popdef([ol_DefVal])
# end --enable-$1
])dnl
dnl

View File

@ -279,39 +279,38 @@ Backends="bdb dnssrv hdb ldap ldbm meta monitor null \
AC_ARG_ENABLE(xxslapbackends,[
SLAPD Backend Options:])
OL_ARG_ENABLE(backends,[ --enable-backends enable all available backends no|yes|mod],
OL_ARG_ENABLE(backends,[ --enable-backends enable all available backends],
--, [no yes mod])dnl
test -n "$ol_enable_backends" && ol_dflt_backends="$ol_enable_backends"
OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend no|yes|mod],
[${ol_dflt_backends-yes}], [no yes mod])dnl
OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend no|yes|mod],
[${ol_dflt_backends-no}], [no yes mod])dnl
OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend no|yes|mod],
[${ol_dflt_backends-yes}], [no yes mod])dnl
OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend no|yes|mod],
[${ol_dflt_backends-no}], [no yes mod])dnl
OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend no|yes|mod],
[${ol_dflt_backends-no}], [no yes mod])dnl
OL_ARG_ENABLE(ldbm_api,[ --enable-ldbm-api use LDBM API auto|berkeley|bcompat|mdbm|gdbm],
OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend],
yes, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend],
yes, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(ldbm_api,[ --enable-ldbm-api use LDBM API],
auto, [auto berkeley bcompat mdbm gdbm])
OL_ARG_ENABLE(ldbm_type,[ --enable-ldbm-type use LDBM type auto|btree|hash],
OL_ARG_ENABLE(ldbm_type,[ --enable-ldbm-type use LDBM type],
auto, [auto btree hash])
OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend no|yes|mod],
[${ol_dflt_backends-no}], [no yes mod])dnl
OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend no|yes|mod],
[${ol_dflt_backends-yes}], [no yes mod])dnl
OL_ARG_ENABLE(null,[ --enable-null enable null backend no|yes|mod],
[${ol_dflt_backends-no}], [no yes mod])dnl
OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend no|yes|mod],
[${ol_dflt_backends-no}], [no yes mod])dnl
OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend no|yes|mod],
[${ol_dflt_backends-no}], [no yes mod])dnl
OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend no|yes|mod],
[${ol_dflt_backends-yes}], [no yes mod])dnl
OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend no|yes|mod],
[${ol_dflt_backends-no}], [no yes mod])dnl
OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend no|yes|mod],
[${ol_dflt_backends-no}], [no yes mod])dnl
OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend],
yes, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(null,[ --enable-null enable null backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend],
yes, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend],
no, [no yes mod], ol_enable_backends)dnl
dnl ----------------------------------------------------------------
dnl SLAPD Overlay Options
@ -321,38 +320,36 @@ Overlays="accesslog denyop dyngroup dynlist glue lastmod ppolicy proxycache \
AC_ARG_ENABLE(xxslapoverlays,[
SLAPD Overlay Options:])
OL_ARG_ENABLE(overlays,[ --enable-overlays enable all available overlays no|yes|mod],
OL_ARG_ENABLE(overlays,[ --enable-overlays enable all available overlays],
--, [no yes mod])dnl
test -n "$ol_enable_overlays" && ol_dflt_overlays="$ol_enable_overlays"
OL_ARG_ENABLE(accesslog,[ --enable-accesslog In-Directory Access Logging overlay no|yes|mod],
[${ol_dflt_overlays-no}], [no yes mod])
OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay no|yes|mod],
[${ol_dflt_overlays-no}], [no yes mod])
OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay no|yes|mod],
[${ol_dflt_overlays-no}], [no yes mod])
OL_ARG_ENABLE(dynlist,[ --enable-dynlist Dynamic List overlay no|yes|mod],
[${ol_dflt_overlays-no}], [no yes mod])
OL_ARG_ENABLE(glue,[ --enable-glue Backend Glue overlay no|yes|mod],
[${ol_dflt_overlays-yes}], [no yes mod])
OL_ARG_ENABLE(lastmod,[ --enable-lastmod Last Modification overlay no|yes|mod],
[${ol_dflt_overlays-no}], [no yes mod])
OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay no|yes|mod],
[${ol_dflt_overlays-no}], [no yes mod])
OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay no|yes|mod],
[${ol_dflt_overlays-no}], [no yes mod])
OL_ARG_ENABLE(refint,[ --enable-refint Referential Integrity overlay no|yes|mod],
[${ol_dflt_overlays-no}], [no yes mod])
OL_ARG_ENABLE(retcode,[ --enable-retcode Return Code testing overlay no|yes|mod],
[${ol_dflt_overlays-no}], [no yes mod])
OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay no|yes|mod],
[${ol_dflt_overlays-no}], [no yes mod])
OL_ARG_ENABLE(syncprov,[ --enable-syncprov Syncrepl Provider overlay no|yes|mod],
[${ol_dflt_overlays-yes}], [no yes mod])
OL_ARG_ENABLE(translucent,[ --enable-translucent Translucent Proxy overlay no|yes|mod],
[${ol_dflt_overlays-no}], [no yes mod])
OL_ARG_ENABLE(unique,[ --enable-unique Attribute Uniqueness overlay no|yes|mod],
[${ol_dflt_overlays-no}], [no yes mod])
OL_ARG_ENABLE(accesslog,[ --enable-accesslog In-Directory Access Logging overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(dynlist,[ --enable-dynlist Dynamic List overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(glue,[ --enable-glue Backend Glue overlay],
yes, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(lastmod,[ --enable-lastmod Last Modification overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(refint,[ --enable-refint Referential Integrity overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(retcode,[ --enable-retcode Return Code testing overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(syncprov,[ --enable-syncprov Syncrepl Provider overlay],
yes, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(translucent,[ --enable-translucent Translucent Proxy overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(unique,[ --enable-unique Attribute Uniqueness overlay],
no, [no yes mod], ol_enable_overlays)
dnl ----------------------------------------------------------------
dnl SLURPD OPTIONS