]> git.sur5r.net Git - openldap/blobdiff - configure.in
small adjustment
[openldap] / configure.in
index bc84bec9a7dc9cc3e165adcd4284b0fc4e463a44..4118e342ccd5c438b02f9c4aeca41c30e5cfae48 100644 (file)
@@ -184,7 +184,7 @@ OL_ARG_ENABLE(meta,[    --enable-meta         enable metadirectory backend], no)dnl
 OL_ARG_WITH(meta_module,[    --with-meta-module          module type], static,
        [static dynamic])
 OL_ARG_ENABLE(monitor,[    --enable-monitor      enable monitor backend], no)dnl
-OL_ARG_WITH(monitor_module,[    --with-monitor-module    module type], static,
+OL_ARG_WITH(monitor_module,[    --with-monitor-module module type], static,
        [static dynamic])
 OL_ARG_ENABLE(passwd,[    --enable-passwd        enable passwd backend], no)dnl
 OL_ARG_WITH(passwd_module,[    --with-passwd-module  module type], static,
@@ -234,7 +234,7 @@ if test $ol_enable_slapd = no ; then
        if test $ol_enable_meta = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-meta argument])
        fi
-       if test $ol_enable_module = yes ; then
+       if test $ol_enable_monitor = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-monitor argument])
        fi
        if test $ol_enable_passwd = yes ; then
@@ -382,13 +382,23 @@ elif test $ol_enable_ldbm = no ; then
                $ol_enable_shell = no -a \
                $ol_enable_sql = no -a \
                $ol_enable_tcl = no ; then
-               AC_MSG_ERROR([slapd requires a backend])
+
+               if test $ol_enable_slapd = yes ; then
+                       AC_MSG_ERROR([slapd requires a backend])
+               else
+                       AC_MSG_WARN([skipping slapd, no backend specified])
+                       ol_enable_slapd=no
+               fi
        fi
 
        ol_with_ldbm_api=no
        ol_with_ldbm_type=no
        ol_with_ldbm_module=static
 
+       if test $ol_enable_bdb != no ; then
+               ol_with_ldbm_api=berkeley
+       fi
+
 else
        dnl SLAPD with LDBM
        if test $ol_with_ldbm_api = gdbm -a \
@@ -403,6 +413,21 @@ else
                $ol_with_ldbm_type = btree ; then
                AC_MSG_ERROR([NDBM only supports LDBM type hash])
        fi
+
+       if test $ol_enable_bdb = yes ; 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])
+               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
 
 if test $ol_enable_slurpd = yes ; then
@@ -421,13 +446,17 @@ fi
 if test $ol_enable_kbind = yes -o $ol_enable_kpasswd = yes ; then
        if test $ol_with_kerberos = no ; then
                AC_MSG_ERROR([options require --with-kerberos])
+       elif test $ol_with_kerberos = auto ; then
+               ol_with_kerberos=yes
        fi
-       ol_with_kerberos=yes
+
 elif test $ol_enable_kbind = no -o $ol_enable_kpasswd = no ; then
-       if test $ol_with_kerberos != no -a $ol_with_kerberos != auto ; then
+       if test $ol_with_kerberos = auto ; then
+               ol_with_kerberos=no
+       elif test $ol_with_kerberos != no ; then
                AC_MSG_WARN([Kerberos detection enabled unnecessarily]);
+               ol_with_kerberos=no
        fi
-       ol_with_kerberos=no
 fi
 
 if test $ol_enable_spasswd = yes ; then
@@ -443,6 +472,7 @@ dnl ----------------------------------------------------------------
 dnl Initialize vars
 LDAP_LIBS=
 LDIF_LIBS=
+LDBM_LIB=
 LDBM_LIBS=
 LTHREAD_LIBS=
 LUTIL_LIBS=
@@ -564,6 +594,8 @@ dnl The default CFLAGS is empty NOT whatever AC_PROG_CC sets.
 dnl (for now, let autoconf sort this out)
 dnl CFLAGS=${CFLAGS-""}
 
+AC_CHECK_PROGS(AR,ar gar)
+
 AC_LIBTOOL_WIN32_DLL
 AC_LIBTOOL_DLOPEN
 AC_PROG_LIBTOOL
@@ -828,8 +860,15 @@ fi
 
 dnl ----------------------------------------------------------------
 dnl Check for resolver routines
+dnl      need to check for both res_query and __res_query
+dnl   need to check -lc, -lbind, and -lresolv
 ol_link_dnssrv=no
 AC_CHECK_FUNC(res_query,:)
+if test $ac_cv_func_res_query = no ; then 
+       AC_CHECK_FUNC(__res_query,:)
+       ac_cv_func_res_query=$ac_cv_func___res_query
+fi
+
 if test $ac_cv_func_res_query = no ; then 
        AC_CHECK_LIB(bind, res_query)
        ac_cv_func_res_query=$ac_cv_lib_bind_res_query
@@ -845,6 +884,11 @@ if test $ac_cv_func_res_query = no ; then
        ac_cv_func_res_query=$ac_cv_lib_resolv_res_query
 fi
 
+if test $ac_cv_func_res_query = no ; then 
+       AC_CHECK_LIB(resolv, __res_query)
+       ac_cv_func_res_query=$ac_cv_lib_resolv___res_query
+fi
+
 if test "$ac_cv_func_res_query" = yes ; then
        AC_DEFINE(HAVE_RES_QUERY,1,
                [define if you have res_query()])
@@ -919,11 +963,15 @@ if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
                fi
 
                if test $krb5_impl = mit; then
+                       AC_CHECK_LIB(k5crypto, main,
+                               [krb5crypto=k5crypto],
+                               [krb5crypto=crypto])
+
                        AC_CHECK_LIB(krb5, main,
                                [have_krb5=yes
-                               KRB5_LIBS="-lkrb5 -lcrypto -lcom_err"],
+                               KRB5_LIBS="-lkrb5 -l$krb5crypto -lcom_err"],
                                [have_krb5=no],
-                               [-lcrypto -lcom_err])
+                               [-l$krb5crypto -lcom_err])
 
                elif test $krb5_impl = heimdal; then
                        AC_CHECK_LIB(krb5, main,
@@ -934,6 +982,7 @@ if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
 
                        AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1,
                                [define if you have HEIMDAL Kerberos])
+
                else
                        have_krb5=no
                        AC_MSG_WARN([Unrecongized Kerberos5 Implementation])
@@ -969,7 +1018,7 @@ if test $ol_link_krb5 = yes -a \( $ol_with_kerberos = yes -o \
                if test $krb5_impl = mit; then
                        AC_CHECK_LIB(krb4, main, [have_k425=yes
                                KRB4_LIBS="-lkrb4 -ldes425"], [have_k425=no],
-                               [-ldes425 -lkrb5 -lcrypto -lcom_err])
+                               [-ldes425 -lkrb5 -l$krb5crypto -lcom_err])
 
                elif test $krb5_impl = heimdal; then
                        AC_CHECK_LIB(krb4, main, [have_k425=yes
@@ -1489,7 +1538,7 @@ int main(argc, argv)
                        CPPFLAGS="$save_CPPFLAGS"
                        LIBS="$save_LIBS"
                else
-                       AC_MSG_ERROR([could not link with POSIX Threads])
+                       AC_MSG_ERROR([could not locate usable POSIX Threads])
                fi
        fi
 
@@ -1502,7 +1551,7 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
        -o $ol_with_threads = mach ; then
 
        dnl check for Mach CThreads
-       AC_CHECK_HEADERS(mach/cthreads.h)
+       AC_CHECK_HEADERS(mach/cthreads.h cthread.h)
        if test $ac_cv_header_mach_cthreads_h = yes ; then
                ol_with_threads=found
 
@@ -1530,18 +1579,35 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
                        fi
                fi
 
-               if test $ol_link_threads != no ; then
-                       : check for cthread specific functionality here
-                       AC_DEFINE(HAVE_MACH_CTHREADS,1,
-                               [define if you have Mach Cthreads])
+    elif test $ac_cv_header_cthreads_h = yes ; then
+               dnl Hurd variant of Mach Cthreads
+               dnl uses <cthreads.h> and -lthreads
+
+               ol_with_threads=found
+               dnl save the flags
+               save_LIBS="$LIBS"
+               LIBS="$LIBS -lthreads"
+               AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
+               LIBS="$save_LIBS"
+
+               if test $ol_link_threads = yes ; then
+                       LTHREAD_LIBS="-lthreads"
+                       ol_link_threads=mach
                else
                        AC_MSG_ERROR([could not link with Mach CThreads])
                fi
-       fi
 
-       if test $ol_with_threads = mach ; then
+       elif test $ol_with_threads = mach ; then
                AC_MSG_ERROR([could not locate Mach CThreads])
        fi
+
+       if test $ol_link_threads = mach ; then
+               AC_DEFINE(HAVE_MACH_CTHREADS,1,
+                       [define if you have Mach Cthreads])
+       elif test $ol_with_threads = found ; then
+               AC_MSG_ERROR([could not link with Mach CThreads])
+       fi
 fi
 
 if test $ol_with_threads = auto -o $ol_with_threads = yes \
@@ -1752,7 +1818,7 @@ if test $ol_with_ldbm_api = auto \
                        [define this if Berkeley DB is available])
 
                ol_link_ldbm=berkeley
-               ol_with_ldbm_api=db
+               ol_with_ldbm_api=berkeley
 
                if test $ol_with_ldbm_type = hash ; then
                        AC_DEFINE(LDBM_USE_DBHASH,1,
@@ -1770,6 +1836,12 @@ if test $ol_with_ldbm_api = auto \
        fi
 fi
 
+if test $ol_enable_bdb = yes -a $ol_link_ldbm != berkeley ; then
+       AC_MSG_ERROR(BerkeleyDB not availabl)
+elif test $ol_enable_bdb != no -a $ol_link_ldbm != no ; then
+       ol_enable_bdb=yes
+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
@@ -2242,6 +2314,7 @@ AC_CHECK_FUNCS(           \
        strtoul                 \
        strspn                  \
        sysconf                 \
+       usleep                  \
        waitpid                 \
        wait4                   \
        write                   \
@@ -2361,10 +2434,11 @@ if test "$ol_enable_ldap" != no ; then
        fi
 fi
 
-if test "$ol_link_ldbm" != no ; then
+if test "$ol_link_ldbm" != no -a $ol_enable_ldbm != no; then
        AC_DEFINE(SLAPD_LDBM,1,[define to support LDBM backend])
        BUILD_SLAPD=yes
        BUILD_LDBM=yes
+       LDBM_LIB="-lldbm"
        if test "$ol_with_ldbm_module" != static ; then
                AC_DEFINE(SLAPD_LDBM_DYNAMIC,1,
                        [define to support dynamic LDBM backend])
@@ -2532,6 +2606,8 @@ AC_SUBST(BUILD_SLAPD)
   AC_SUBST(BUILD_TCL_DYNAMIC)
 AC_SUBST(BUILD_SLURPD)
 
+AC_SUBST(LDBM_LIB)
+
 AC_SUBST(LDAP_LIBS)
 AC_SUBST(LDIF_LIBS)
 AC_SUBST(SLAPD_LIBS)
@@ -2613,8 +2689,6 @@ 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 \
 tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk \
 tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
-contrib/Makefile:build/top.mk:contrib/Makefile.in:build/dir.mk \
-contrib/saucer/Makefile:build/top.mk:contrib/saucer/Makefile.in:build/rules.mk \
 ,[
 date > stamp-h
 echo Please \"make depend\" to build dependencies