]> git.sur5r.net Git - openldap/blobdiff - configure.in
Keep from ldbm_sync'ing a DBCache unless it has been changed.
[openldap] / configure.in
index 888714e834bb2d554144b0669ca22cc809e328bb..87037a93c207cb7bf56a4db609d09b7d3398194c 100644 (file)
@@ -104,7 +104,7 @@ OL_ARG_ENABLE(x_compile,[  --enable-x-compile       enable cross compiling],
 
 dnl ----------------------------------------------------------------
 dnl General "with" options
-OL_ARG_ENABLE(dmalloc,[  --enable-dmalloc      enable debug malloc support], no)dnl
+dnl OL_ARG_ENABLE(dmalloc,[  --enable-dmalloc  enable debug malloc support], no)dnl
 
 OL_ARG_WITH(cyrus_sasl,[  --with-cyrus-sasl    with Cyrus SASL support],
        auto, [auto yes no] )
@@ -124,9 +124,6 @@ OL_ARG_WITH(yielding_select,[  --with-yielding-select       with implicitly yielding s
 dnl ----------------------------------------------------------------
 dnl Server options
 dnl ----------------------------------------------------------------
-dnl LDAPD OPTIONS
-AC_ARG_WITH(xxldapdoptions,[LDAPD (X.500-to-LDAP Gateway) Options:])
-OL_ARG_ENABLE(ldapd,[  --enable-ldapd  enable building ldapd], no)dnl
 
 dnl ----------------------------------------------------------------
 dnl SLAPD OPTIONS
@@ -135,6 +132,7 @@ OL_ARG_ENABLE(slapd,[  --enable-slapd       enable building slapd], yes)dnl
 OL_ARG_ENABLE(cleartext,[    --enable-cleartext        enable cleartext passwords], yes)dnl
 OL_ARG_ENABLE(crypt,[    --enable-crypt        enable crypt(3) passwords], auto)dnl
 OL_ARG_ENABLE(kpasswd,[    --enable-kpasswd    enable kerberos password verification], no)dnl
+OL_ARG_ENABLE(spasswd,[    --enable-spasswd    enable (Cyrus) SASL password verification], no)dnl
 OL_ARG_ENABLE(modules,[    --enable-modules    enable dynamic module support], no)dnl
 OL_ARG_ENABLE(multimaster,[    --enable-multimaster    enable multimaster replication], no)dnl
 OL_ARG_ENABLE(phonetic,[    --enable-phonetic  enable phonetic/soundex], no)dnl
@@ -148,17 +146,19 @@ dnl SLAPD Backend options
 OL_ARG_ENABLE(bdb2,[    --enable-bdb2  enable bdb2 backend], no)dnl
 OL_ARG_WITH(bdb2_module,[      --with-bdb2-module      module type], static,
        [static dynamic])
+OL_ARG_ENABLE(dnssrv,[    --enable-dnssrv      enable bdb2 backend], no)dnl
+OL_ARG_WITH(dnssrv_module,[      --with-dnssrv-module  module type], static,
+       [static dynamic])
 OL_ARG_ENABLE(ldap,[    --enable-ldap  enable ldap backend], no)dnl
 OL_ARG_WITH(ldap_module,[      --with-ldap-module      module type], static,
        [static dynamic])
 OL_ARG_ENABLE(ldbm,[    --enable-ldbm  enable ldbm backend], yes)dnl
 OL_ARG_WITH(ldbm_api,[      --with-ldbm-api    use LDBM API], auto,
-       [auto db2 db mdbm gdbm manual])
+       [auto berkeley bcompat mdbm gdbm])
 OL_ARG_WITH(ldbm_module,[      --with-ldbm-module      module type], static,
        [static dynamic])
 OL_ARG_WITH(ldbm_type,[      --with-ldbm-type  use LDBM type], auto,
        [auto btree hash])
-
 OL_ARG_ENABLE(passwd,[    --enable-passwd      enable passwd backend], no)dnl
 OL_ARG_WITH(passwd_module,[      --with-passwd-module  module type], static,
        [static dynamic])
@@ -168,12 +168,12 @@ OL_ARG_WITH(perl_module,[      --with-perl-module module type], static,
 OL_ARG_ENABLE(shell,[    --enable-shell        enable shell backend], no)dnl
 OL_ARG_WITH(shell_module,[      --with-shell-module    module type], static,
        [static dynamic])
-OL_ARG_ENABLE(tcl,[    --enable-tcl    enable tcl backend], no)dnl
-OL_ARG_WITH(tcl_module,[      --with-tcl-module        module type], static,
-       [static dynamic])
 OL_ARG_ENABLE(sql,[    --enable-sql    enable sql backend], no)dnl
 OL_ARG_WITH(sql_module,[      --with-sql-module        module type], static,
        [static dynamic])
+OL_ARG_ENABLE(tcl,[    --enable-tcl    enable tcl backend], no)dnl
+OL_ARG_WITH(tcl_module,[      --with-tcl-module        module type], static,
+       [static dynamic])
 
 dnl ----------------------------------------------------------------
 dnl SLURPD OPTIONS
@@ -205,6 +205,9 @@ if test $ol_enable_slapd = no ; then
        if test $ol_enable_bdb2 = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-bdb2 argument])
        fi
+       if test $ol_enable_dnssrv = yes ; then
+               AC_MSG_WARN([slapd disabled, ignoring --enable-dnssrv argument])
+       fi
        if test $ol_enable_ldap = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-ldap argument])
        fi
@@ -256,6 +259,9 @@ if test $ol_enable_slapd = no ; then
        if test $ol_with_bdb2_module != static ; then
                AC_MSG_WARN([slapd disabled, ignoring --with-bdb2-module argument])
        fi
+       if test $ol_with_dnssrv_module != static ; then
+               AC_MSG_WARN([slapd disabled, ignoring --with-dnssrv-module argument])
+       fi
        if test $ol_with_ldap_module != static ; then
                AC_MSG_WARN([slapd disabled, ignoring --with-ldap-module argument])
        fi
@@ -283,6 +289,7 @@ if test $ol_enable_slapd = no ; then
 
        # force settings to no
        ol_enable_bdb2=no
+       ol_enable_dnssrv=no
        ol_enable_ldap=no
        ol_enable_ldbm=no
        ol_enable_passwd=no
@@ -304,6 +311,7 @@ if test $ol_enable_slapd = no ; then
        ol_with_ldbm_type=no
 
        ol_with_bdb2_module=static
+       ol_with_dnssrv_module=static
        ol_with_ldap_module=static
        ol_with_ldbm_module=static
        ol_with_passwd_module=static
@@ -334,12 +342,13 @@ elif test $ol_enable_ldbm = no ; then
        fi
 
        if test $ol_enable_modules != yes -a \
+               $ol_enable_dnssrv = no -a \
                $ol_enable_ldap = no -a \
                $ol_enable_passwd = no -a \
                $ol_enable_perl = no -a \
                $ol_enable_shell = no -a \
-               $ol_enable_tcl = no -a \
-               $ol_enable_sql = no ; then
+               $ol_enable_sql = no -a \
+               $ol_enable_tcl = no ; then
                AC_MSG_ERROR([slapd requires a backend])
        fi
 
@@ -351,8 +360,8 @@ elif test $ol_enable_bdb2 = yes ; then
        dnl SLAPD with BDB2
 
        if test $ol_with_ldbm_api != auto -a \
-               $ol_with_ldbm_api != db2 ; then
-               AC_MSG_ERROR([BDB2 requires LDBM API DB2])
+               $ol_with_ldbm_api != berkeley ; then
+               AC_MSG_ERROR([BDB2 requires LDBM API berkeley or auto])
        fi
 
        ol_with_ldbm_api=db2
@@ -362,8 +371,8 @@ else
 
        if test $ol_enable_bdb2 != no ; then
                if test $ol_with_ldbm_api != auto -a \
-                       $ol_with_ldbm_api != db2 ; then
-                       AC_MSG_WARN([BDB2 requires LDBM api db2 or auto])
+                       $ol_with_ldbm_api != berkeley ; then
+                       AC_MSG_WARN([BDB2 requires LDBM api berkeley or auto])
                        ol_enable_bdb2=no
                fi
        fi
@@ -401,6 +410,13 @@ elif test $ol_enable_kbind = no -o $ol_enable_kpasswd = no ; then
        fi
 fi
 
+if test $ol_enable_spasswd = yes ; then
+       if test $ol_with_cyrus_sasl = no ; then
+               AC_MSG_ERROR([options require --with-cyrus-sasl])
+       fi
+       ol_link_spasswd=yes
+fi
+
 AC_MSG_RESULT(done)
 
 dnl ----------------------------------------------------------------
@@ -411,26 +427,28 @@ LDBM_LIBS=
 LTHREAD_LIBS=
 LUTIL_LIBS=
 
-LDAPD_LIBS=
+QUIPU_LIBS=
 SLAPD_LIBS=
 SLURPD_LIBS=
 
-BUILD_LDAPD=no
 BUILD_SLAPD=no
 BUILD_SLURPD=no
 
+BUILD_QUIPU=no
+BUILD_THREAD=no
+
 BUILD_BDB2=no
+BUILD_DNSSRV=no
 BUILD_LDAP=no
 BUILD_LDBM=no
 BUILD_PASSWD=no
 BUILD_PERL=no
-BUILD_QUIPU=no
 BUILD_SHELL=no
-BUILD_TCL=no
 BUILD_SQL=no
-BUILD_THREAD=no
+BUILD_TCL=no
 
 BUILD_BDB2_DYNAMIC=static
+BUILD_DNSSRV_DYNAMIC=static
 BUILD_LDAP_DYNAMIC=static
 BUILD_LDBM_DYNAMIC=static
 BUILD_PASSWD_DYNAMIC=static
@@ -459,6 +477,7 @@ SASL_LIBS=
 TERMCAP_LIBS=
 TLS_LIBS=
 MODULES_LIBS=
+AUTH_LIBS=
 
 dnl ================================================================
 dnl Checks for programs
@@ -611,6 +630,13 @@ if test "${ol_cv_mkdep}" = no ; then
        AC_MSG_WARN([do not know how to generate dependencies])
 fi
 
+dnl ----------------------------------------------------------------
+dnl Check for AIX security library
+AC_CHECK_LIB(s, afopen, [
+       AUTH_LIBS=-ls
+       AC_DEFINE(HAVE_AIX_SECURITY,1,[define if you have AIX security lib])
+])
+
 dnl ----------------------------------------------------------------
 dnl Check for module support
 ol_link_modules=no
@@ -632,6 +658,7 @@ if test $ol_enable_modules != no ; then
        ol_link_modules=yes
 else
        ol_with_bdb2_module=static
+       ol_with_dnssrv_module=static
        ol_with_ldap_module=static
        ol_with_ldbm_module=static
        ol_with_passwd_module=static
@@ -798,39 +825,6 @@ elif test $ol_enable_dns != no ; then
 fi
 
 
-dnl ----------------------------------------------------------------
-dnl ISODE tests
-ol_link_isode=no
-if test $ol_enable_ldapd != no ; then
-       AC_MSG_WARN([ldapd is not supported and may suffer from bit rot.])
-
-       dnl look for ISODE libraries
-       AC_CHECK_LIB(xtpp, main, [
-               ol_link_isode=yes
-               AC_DEFINE(HAVE_XTPP,1, [define if you have -lxttp])
-               LDAPD_LIBS="$LDAPD_LIBS -lxtpp -lxtdsap -lxtisode -losi"
-               ],:,[-lxtdsap -lxtisode -losi])
-       AC_CHECK_LIB(dsap, main, [
-               ol_link_isode=yes
-               AC_DEFINE(HAVE_DSAP,1, [define if you have -ldsap])
-               LDAPD_LIBS="$LDAPD_LIBS -ldsap"
-               ],:,[-lisode])
-       AC_CHECK_LIB(isode, main, [
-               ol_link_isode=yes
-               AC_DEFINE(HAVE_ISODE,1, [define if you have -lisode])
-               LDAPD_LIBS="$LDAPD_LIBS -lisode"
-               ],:)
-fi
-
-if test $ol_link_isode != no; then
-       AC_CHECK_LIB(pp, main, [
-               AC_DEFINE(HAVE_PP,1, [define if you have -lpp])
-               LDAPD_LIBS="-lpp $LDAPD_LIBS"
-               ],:)
-
-       AC_PATH_PROG(PEPSY, pepsy)
-fi
-
 dnl ----------------------------------------------------------------
 dnl QUIPU
 if test $ol_enable_quipu != no ; then
@@ -1657,47 +1651,23 @@ if test $ol_link_threads != no ; then
 fi
 
 dnl ----------------------------------------------------------------
-
 ol_link_ldbm=no 
-if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = db2 ; then
-       OL_BERKELEY_DB2
 
-       if test $ol_cv_berkeley_db2 = yes ; then
-               ol_link_ldbm=db2
-               ol_with_ldbm_api=db2
+if test $ol_with_ldbm_api = auto \
+       -o $ol_with_ldbm_api = berkeley \
+       -o $ol_with_ldbm_api = bcompat ; then
 
-               if test $ol_with_ldbm_type = hash ; then
-                       AC_DEFINE(LDBM_USE_DBHASH,1,
-                               [define this to use DBHASH w/ LDBM backend])
-               else
-                       AC_DEFINE(LDBM_USE_DBBTREE,1,
-                               [define this to use DBBTREE w/ LDBM backend])
-               fi
-
-               OL_BERKELEY_DB2_DB_THREAD
-
-               dnl $ol_cv_lib_db2 should be yes or -ldb
-               dnl (it could be no, but that would be an error
-               if test $ol_cv_lib_db2 != yes ; then
-                       LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db2"
-               fi
-       fi
-fi
-
-ol_link_bdb2=no
-if test $ol_link_ldbm = db2 -a $ol_enable_bdb2 != no ; then
-       if test $ol_cv_berkeley_db2_db_thread != no ; then
-               ol_link_bdb2=yes
+       if test $ol_with_ldbm_api = bcompat; then \
+               OL_BERKELEY_COMPAT_DB
        else
-               AC_MSG_WARN([Installed BerkeleyDB does not provide DB_THREAD support.])
+               OL_BERKELEY_DB
        fi
-fi
 
-if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = db ; then
-       OL_BERKELEY_DB
+       if test $ol_cv_berkeley_db != no ; then
+               AC_DEFINE(HAVE_BERKELEY_DB,1,
+                       [define this if Berkeley DB is available])
 
-       if test $ol_cv_berkeley_db = yes ; then
-               ol_link_ldbm=db
+               ol_link_ldbm=berkeley
                ol_with_ldbm_api=db
 
                if test $ol_with_ldbm_type = hash ; then
@@ -1716,15 +1686,6 @@ if test $ol_with_ldbm_api = auto -o $ol_with_ldbm_api = db ; then
        fi
 fi
 
-if test $ol_with_ldbm_api = manual ; then
-       dnl User thinks he can manually configure LDBM api.
-       ol_link_ldbm=yes
-
-       AC_MSG_WARN([LDBM defines and link options must be set manually])
-
-       AC_CHECK_HEADERS(db.h db_185.h gdbm.h ndbm.h)
-fi
-
 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
        AC_MSG_WARN(Could not find LDBM with BTREE support)
        ol_with_ldbm_api=none
@@ -1778,6 +1739,16 @@ if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then
        ol_enable_ldbm=no
 fi
 
+dnl ----------------------------------------------------------------
+ol_link_bdb2=no
+if test $ol_enable_bdb2 != no ; then
+       if test $ol_enable_bdb2 = yes -a $ol_link_ldbm != berkeley ; then
+               AC_MSG_ERROR(BDB2 requires LDBM BerkeleyDB 2)
+       elif test $ol_link_ldbm = berkeley ; then
+               ol_link_bdb2=$ol_link_ldbm
+       fi
+fi
+
 dnl ----------------------------------------------------------------
 if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then
        LINK_BINS_DYNAMIC="yes"
@@ -1827,11 +1798,11 @@ if test $ol_enable_syslog != no ; then
 fi
 
 dnl ----------------------------------------------------------------
-if test $ol_enable_dmalloc != no ; then
-       AC_CHECK_HEADERS(dmalloc.h)
-       AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
-fi
-
+dnl dmalloc support (deprecated in favor of -DCSRIMALLOC support)
+dnl if test $ol_enable_dmalloc != no ; then
+dnl    AC_CHECK_HEADERS(dmalloc.h)
+dnl    AC_CHECK_LIB(dmalloc, dmalloc_shutdown)
+dnl fi
 dnl ----------------------------------------------------------------
 dnl TCL
 if test $ol_enable_tcl != no ; then
@@ -1894,6 +1865,7 @@ dnl
 dnl Check for Cyrus SASL
 dnl
 ol_link_sasl=no
+ol_link_spasswd=no
 if test $ol_with_cyrus_sasl != no ; then
        AC_CHECK_HEADER(sasl.h)
 
@@ -2098,6 +2070,7 @@ fi
 AC_CHECK_FUNCS(                \
        bcopy                   \
        closesocket             \
+       chroot                  \
        endgrent                \
        endpwent                \
        flock                   \
@@ -2105,6 +2078,7 @@ AC_CHECK_FUNCS(           \
        getgrgid                \
        gethostname             \
        getpass                 \
+       getpassphrase   \
        getpwuid                \
        getpwnam                \
        getspnam                \
@@ -2208,6 +2182,9 @@ fi
 if test "$ol_link_kpasswd" != no ; then
        AC_DEFINE(SLAPD_KPASSWD,1,[define to support Kerberos passwords])
 fi
+if test "$ol_link_spasswd" != no ; then
+       AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords])
+fi
 if test "$ol_enable_multimaster" != no ; then
        AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication])
 fi
@@ -2240,6 +2217,19 @@ if test "$ol_link_bdb2" != no ; then
        fi
 fi
 
+if test "$ol_enable_dnssrv" != no ; then
+       AC_DEFINE(SLAPD_DNSSRV,1,[define to support DNS SRV backend])
+       BUILD_SLAPD=yes
+       BUILD_DNSSRV=yes
+       if test "$ol_with_dnssrv_module" != static ; then
+               AC_DEFINE(SLAPD_DNSSRV_DYNAMIC,1,
+                       [define to support dynamic DNS SRV backend])
+               BUILD_DNSSRV=mod
+               BUILD_DNSSRV_DYNAMIC=shared
+               SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-dnssrv/back_dnssrv.la"
+       fi
+fi
+
 if test "$ol_enable_ldap" != no ; then
        AC_DEFINE(SLAPD_LDAP,1,[define to support LDAP backend])
        BUILD_SLAPD=yes
@@ -2337,10 +2327,6 @@ if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \
        BUILD_SLURPD=yes
 fi
 
-if test "$ol_link_isode" != no ; then
-       BUILD_LDAPD=yes
-fi
-
 dnl ----------------------------------------------------------------
 
 if test "$LINK_BINS_DYNAMIC" = yes; then
@@ -2366,31 +2352,32 @@ AC_SUBST(LIB_LINKAGE)
 AC_SUBST(LT_LIB_LINKAGE)
 AC_SUBST(DYN_EXT)
 
-AC_SUBST(BUILD_LDAPD)
 AC_SUBST(BUILD_SLAPD)
   AC_SUBST(BUILD_BDB2)
+  AC_SUBST(BUILD_DNSSRV)
   AC_SUBST(BUILD_LDAP)
   AC_SUBST(BUILD_LDBM)
   AC_SUBST(BUILD_PASSWD)
   AC_SUBST(BUILD_PERL)
   AC_SUBST(BUILD_QUIPU)
   AC_SUBST(BUILD_SHELL)
-  AC_SUBST(BUILD_TCL)
   AC_SUBST(BUILD_SQL)
+  AC_SUBST(BUILD_TCL)
   AC_SUBST(BUILD_BDB2_DYNAMIC)
+  AC_SUBST(BUILD_DNSSRV_DYNAMIC)
   AC_SUBST(BUILD_LDAP_DYNAMIC)
   AC_SUBST(BUILD_LDBM_DYNAMIC)
   AC_SUBST(BUILD_PASSWD_DYNAMIC)
   AC_SUBST(BUILD_PERL_DYNAMIC)
   AC_SUBST(BUILD_SHELL_DYNAMIC)
-  AC_SUBST(BUILD_TCL_DYNAMIC)
   AC_SUBST(BUILD_SQL_DYNAMIC)
+  AC_SUBST(BUILD_TCL_DYNAMIC)
 AC_SUBST(BUILD_SLURPD)
 
 AC_SUBST(LDAP_LIBS)
-AC_SUBST(LDAPD_LIBS)
 AC_SUBST(LDIF_LIBS)
 AC_SUBST(SLAPD_LIBS)
+AC_SUBST(QUIPU_LIBS)
 AC_SUBST(SLURPD_LIBS)
 AC_SUBST(LDBM_LIBS)
 AC_SUBST(LTHREAD_LIBS)
@@ -2414,6 +2401,7 @@ AC_SUBST(SASL_LIBS)
 AC_SUBST(TERMCAP_LIBS)
 AC_SUBST(TLS_LIBS)
 AC_SUBST(MODULES_LIBS)
+AC_SUBST(AUTH_LIBS)
 
 AC_SUBST(SLAPD_SQL_LDFLAGS)
 AC_SUBST(SLAPD_SQL_LIBS)
@@ -2450,16 +2438,16 @@ libraries/libldif/Makefile:build/top.mk:libraries/libldif/Makefile.in:build/lib.
 libraries/liblunicode/Makefile:build/top.mk:libraries/liblunicode/Makefile.in:build/lib.mk:build/lib-static.mk \
 libraries/liblutil/Makefile:build/top.mk:libraries/liblutil/Makefile.in:build/lib.mk:build/lib-static.mk       \
 servers/Makefile:build/top.mk:servers/Makefile.in:build/dir.mk \
-servers/ldapd/Makefile:build/top.mk:servers/ldapd/Makefile.in:build/srv.mk \
 servers/slapd/Makefile:build/top.mk:servers/slapd/Makefile.in:build/srv.mk \
 servers/slapd/back-bdb2/Makefile:build/top.mk:servers/slapd/back-bdb2/Makefile.in:build/mod.mk \
+servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk \
 servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk \
 servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/mod.mk \
 servers/slapd/back-passwd/Makefile:build/top.mk:servers/slapd/back-passwd/Makefile.in:build/mod.mk \
 servers/slapd/back-perl/Makefile:build/top.mk:servers/slapd/back-perl/Makefile.in:build/mod.mk \
 servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk \
-servers/slapd/back-tcl/Makefile:build/top.mk:servers/slapd/back-tcl/Makefile.in:build/mod.mk \
 servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk \
+servers/slapd/back-tcl/Makefile:build/top.mk:servers/slapd/back-tcl/Makefile.in:build/mod.mk \
 servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk \
 servers/slapd/tools/Makefile:build/top.mk:servers/slapd/tools/Makefile.in \
 servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk \