Backends="bdb dnssrv hdb ldap ldbm meta monitor null \
passwd perl relay shell sql"
-AC_ARG_WITH(xxslapoverlays,[
+AC_ARG_WITH(xxslapbackends,[
SLAPD Backend Options:])
-OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend no|yes|mod], yes, [no yes mod])dnl
-OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_WITH(ldbm_api,[ --with-ldbm-api with LDBM API auto|berkeley|bcompat|mdbm|gdbm], auto,
- [auto berkeley bcompat mdbm gdbm])
-OL_ARG_WITH(ldbm_type,[ --with-ldbm-type use LDBM type auto|btree|hash], auto,
- [auto btree hash])
-OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend no|yes|mod], yes, [no yes mod])dnl
-OL_ARG_ENABLE(null,[ --enable-null enable null backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend no|yes|mod], yes, [no yes mod])dnl
-OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend no|yes|mod], no, [no yes mod])dnl
-OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend no|yes|mod], no, [no yes mod])dnl
+OL_ARG_ENABLE(backends,[ --enable-backends enable all available backends no|yes|mod],
+ no, [no yes mod])dnl
+OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend no|yes|mod],
+ yes, [no yes mod])dnl
+OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend no|yes|mod],
+ no, [no yes mod])dnl
+OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend no|yes|mod],
+ no, [no yes mod])dnl
+OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend no|yes|mod],
+ no, [no yes mod])dnl
+OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend no|yes|mod], no,
+ [no yes mod])dnl
+OL_ARG_WITH(ldbm_api,[ --with-ldbm-api with LDBM API auto|berkeley|bcompat|mdbm|gdbm],
+ auto, [auto berkeley bcompat mdbm gdbm])
+OL_ARG_WITH(ldbm_type,[ --with-ldbm-type use LDBM type auto|btree|hash],
+ auto, [auto btree hash])
+OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend no|yes|mod],
+ no, [no yes mod])dnl
+OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend no|yes|mod],
+ yes, [no yes mod])dnl
+OL_ARG_ENABLE(null,[ --enable-null enable null backend no|yes|mod],
+ no, [no yes mod])dnl
+OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend no|yes|mod],
+ no, [no yes mod])dnl
+OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend no|yes|mod],
+ no, [no yes mod])dnl
+OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend no|yes|mod],
+ yes, [no yes mod])dnl
+OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend no|yes|mod],
+ no, [no yes mod])dnl
+OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend no|yes|mod],
+ no, [no yes mod])dnl
dnl ----------------------------------------------------------------
dnl SLAPD Overlay Options
AC_ARG_WITH(xxslapoverlays,[
SLAPD Overlay Options:])
-OL_ARG_ENABLE(chain,[ --enable-chain LDAP Chain Response no|yes|mod], no,
- [no yes mod])
-OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay no|yes|mod], no,
- [no yes mod])
-OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay no|yes|mod], no,
- [no yes mod])
-OL_ARG_ENABLE(lastmod,[ --enable-lastmod Last Modification overlay no|yes|mod], no,
- [no yes mod])
-OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay no|yes|mod], no,
- [no yes mod])
-OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay no|yes|mod], no,
-OL_ARG_ENABLE(refint,[ --enable-refint Referential Integrity overlay no|yes|mod], no,
- [no yes mod])
-OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay no|yes|mod], no,
-OL_ARG_ENABLE(unique,[ --enable-unique Attribute Uniqueness overlay no|yes|mod], no,
- [no yes mod])
+OL_ARG_ENABLE(overlays,[ --enable-overlays enable all available overlays no|yes|mod],
+ no, [no yes mod])dnl
+OL_ARG_ENABLE(chain,[ --enable-chain LDAP Chain Response no|yes|mod],
+ no, [no yes mod])
+OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay no|yes|mod],
+ no, [no yes mod])
+OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay no|yes|mod],
+ no, [no yes mod])
+OL_ARG_ENABLE(lastmod,[ --enable-lastmod Last Modification overlay no|yes|mod],
+ no, [no yes mod])
+OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay no|yes|mod],
+ no, [no yes mod])
+OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay no|yes|mod],
+ no, [no yes mod])
+OL_ARG_ENABLE(refint,[ --enable-refint Referential Integrity overlay no|yes|mod],
+ no, [no yes mod])
+OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay no|yes|mod],
+ no, [no yes mod])
+OL_ARG_ENABLE(unique,[ --enable-unique Attribute Uniqueness overlay no|yes|mod],
+ no, [no yes mod])
+
dnl ----------------------------------------------------------------
dnl SLURPD OPTIONS
dnl ----------------------------------------------------------------
dnl General "enable" options
+# Activate any backends that were not explicitly enabled.
+# Note that back_bdb defaults to "yes" so this loop won't touch it.
+if test $ol_enable_backends != no ; then
+ for i in $Backends; do
+ eval "ol_tmp=\$ol_enable_$i"
+ if test $ol_tmp = no ; then
+ eval "ol_enable_$i=$ol_enable_backends"
+ fi
+ done
+fi
+# Activate the overlays
+if test $ol_enable_overlays != no ; then
+ for i in $Overlays; do
+ eval "ol_tmp=\$ol_enable_$i"
+ if test $ol_tmp = no ; then
+ eval "ol_enable_$i=$ol_enable_overlays"
+ fi
+ done
+fi
+
# validate options
if test $ol_enable_slapd = no ; then
dnl SLAPD was specificallly disabled
if test $ol_enable_slapi = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
fi
+ if test $ol_enable_backends != no ; then
+ AC_MSG_WARN([slapd disabled, ignoring --enable-backends argument])
+ fi
for i in $Backends; do
eval "ol_tmp=\$ol_enable_$i"
if test $ol_tmp != no ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
fi
dnl overlays
+ if test $ol_enable_overlays != no ; then
+ AC_MSG_WARN([slapd disabled, ignoring --enable-overlays argument])
+ fi
for i in $Overlays; do
eval "ol_tmp=\$ol_enable_$i"
if test $ol_tmp != no ; then
# force settings to no
ol_enable_slapi=no
+ ol_enable_backends=no
+ ol_enable_overlays=no
ol_enable_modules=no
ol_enable_multimaster=no
ol_enable_rlookups=no
AC_MSG_ERROR([NDBM only supports LDBM type hash])
fi
- if test $ol_enable_bdb = yes -o $ol_enable_hdb = yes ; then
+ if test $ol_enable_bdb != no -o $ol_enable_hdb != no ; then
if test $ol_with_ldbm_api = auto ; then
ol_with_ldbm_api=berkeley
elif test $ol_with_ldbm_api != berkeley ; then
AC_MSG_ERROR([LDBM API not compatible with BDB/HDB])
fi
-
- elif test $ol_enable_bdb = auto ; then
- if test $ol_with_ldbm_api != berkeley \
- -o $ol_with_ldbm_api != auto ; then
- AC_MSG_WARN([LDBM API not compatible with BDB, disabling BDB])
- ol_enable_bdb=no
- fi
fi
fi
dnl check to see if system call automatically restart
dnl AC_SYS_RESTARTABLE_SYSCALLS
+dnl ----------------------------------------------------------------
+# strerror checks
+OL_STRERROR
+
dnl ----------------------------------------------------------------
dnl require POSIX regex
AC_CHECK_HEADERS( regex.h )
AC_MSG_ERROR([DNSSRV requires res_query()])
fi
+AC_CHECK_FUNCS( hstrerror )
+
dnl ----------------------------------------------------------------
dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
dnl PF_LOCAL may use getaddrinfo in available
fi
fi
-if test $ol_enable_bdb = yes -a $ol_link_ldbm != berkeley ; then
- AC_MSG_ERROR(BDB: BerkeleyDB not available)
-elif test $ol_enable_bdb != no -a $ol_link_ldbm = berkeley ; then
- OL_BDB_COMPAT
-
- if test $ol_cv_bdb_compat = yes ; then
- ol_enable_bdb=yes
- elif test $ol_enable_bdb = yes ; then
- AC_MSG_ERROR([BDB: BerkeleyDB version incompatible])
+if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then
+ if test $ol_link_ldbm != berkeley ; then
+ AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available)
else
- ol_enable_bdb=no
+ OL_BDB_COMPAT
+
+ if test $ol_cv_bdb_compat != yes ; then
+ AC_MSG_ERROR([BDB/HDB: BerkeleyDB version incompatible])
+ fi
fi
fi
-if test $ol_enable_hdb = yes -a $ol_link_ldbm != berkeley ; then
- AC_MSG_ERROR([HDB: BerkeleyDB not available])
-fi
if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
AC_MSG_WARN([Could not find LDBM with BTREE support])
fi
if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
- AC_MSG_WARN([could not find suitable LDBM backend])
- if test $ol_enable_ldbm = yes ; then
- AC_MSG_ERROR([select appropriate LDBM options or disable])
- fi
+ AC_MSG_ERROR([could not find suitable LDBM backend])
+fi
- AC_MSG_WARN(disabling LDBM)
- ol_enable_ldbm=no
+if test $ol_enable_bdb = yes -o \
+ $ol_enable_hdb = yes -o \
+ $ol_enable_ldbm = yes ; then
+ SLAPD_LIBS="$SLAPD_LIBS \$(LDBM_LIBS)"
fi
dnl ----------------------------------------------------------------
signal \
sigset \
strdup \
- strerror \
strpbrk \
strrchr \
strsep \
fi
fi
-dnl ----------------------------------------------------------------
-# Check Configuration
-OL_SYS_ERRLIST
-
dnl ----------------------------------------------------------------
dnl Sort out defines