]> git.sur5r.net Git - openldap/blobdiff - configure.in
fix test006
[openldap] / configure.in
index 3bc40d1c056152e577c4291b0d7855bad7c303f2..0656458bb120ce6377cc946edafcb5f60a46fb8d 100644 (file)
@@ -200,26 +200,41 @@ dnl SLAPD Backend Options
 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
@@ -229,22 +244,27 @@ Overlays="chain denyop dyngroup lastmod ppolicy proxycache rwm \
 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
@@ -261,12 +281,35 @@ AC_ENABLE_SHARED
 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
@@ -302,6 +345,9 @@ if test $ol_enable_slapd = 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
@@ -313,6 +359,8 @@ if test $ol_enable_slapd = 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
@@ -381,19 +429,12 @@ else
                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
 
@@ -841,6 +882,10 @@ 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 )
@@ -939,6 +984,8 @@ if test "$ol_enable_dnssrv" != no -a "$ol_link_dnssrv" = no ; then
        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
@@ -1861,22 +1908,17 @@ if test $ol_with_ldbm_api = auto \
        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])
@@ -1922,13 +1964,13 @@ if test $ol_with_ldbm_api = ndbm ; then
 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 ----------------------------------------------------------------
@@ -2310,7 +2352,6 @@ AC_CHECK_FUNCS(           \
        signal                  \
        sigset                  \
        strdup                  \
-       strerror                \
        strpbrk                 \
        strrchr                 \
        strsep                  \
@@ -2350,10 +2391,6 @@ if test "$ac_cv_func_snprintf" != yes -o "$ac_cv_func_vsnprintf" != yes; then
        fi
 fi
 
-dnl ----------------------------------------------------------------
-# Check Configuration
-OL_SYS_ERRLIST
-
 dnl ----------------------------------------------------------------
 dnl Sort out defines