]> git.sur5r.net Git - openldap/blobdiff - configure.in
move ldap_int_put_filter to ldap_pvt_put_filter
[openldap] / configure.in
index 2784cb931b035427062c42fd2e9ff912fa5cb09d..6b759e8ac74250274e7b6cc0ec226d20074d3d26 100644 (file)
@@ -1,6 +1,6 @@
 dnl $OpenLDAP$
 dnl
-dnl Copyright 1998-2001 The OpenLDAP Foundation.  All Rights Reserved.
+dnl Copyright 1998-2002 The OpenLDAP Foundation.  All Rights Reserved.
 dnl 
 dnl Redistribution and use in source and binary forms, with or without
 dnl modification, are permitted only as authorized by the OpenLDAP
@@ -16,7 +16,7 @@ define([AC_INIT_BINSH],
 # $]OpenLDAP[$
 # from] translit([$OpenLDAP$], $")] [
 
-# Copyright 1998-2001 The OpenLDAP Foundation.  All Rights Reserved.
+# Copyright 1998-2002 The OpenLDAP Foundation.  All Rights Reserved.
 # 
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted only as authorized by the OpenLDAP
@@ -24,8 +24,8 @@ define([AC_INIT_BINSH],
 # http://www.OpenLDAP.org/license.html or in file LICENSE in the
 # top-level directory of the distribution.
 
-echo "Copyright 1998-2001 The OpenLDAP Foundation,  All Rights Reserved."
-echo "Restrictions apply, see COPYRIGHT and LICENSE files."
+echo "Copyright 1998-2002 The OpenLDAP Foundation,  All Rights Reserved."
+echo " Restrictions apply, see COPYRIGHT and LICENSE files."
 ])dnl
 dnl ----------------------------------------------------------------
 dnl Disable config.cache!
@@ -51,7 +51,19 @@ if test -z "$OL_STRING"; then
        AC_MSG_ERROR([could not determine version])
 fi
 
-echo "Configuring $OL_STRING ..."
+if test -f "$ac_aux_dir/shtool" -a ! -d $ac_aux_dir/shtool; then
+       ac_cv_shtool="$ac_aux_dir/shtool"
+else
+       AC_MSG_ERROR([no shtool found in $ac_aux_dir])
+fi
+
+SHTOOL="$ac_cv_shtool"
+dnl AC_SUBST(SHTOOL)dnl
+
+TB=`$SHTOOL echo -e %B`
+TN=`$SHTOOL echo -e %b`
+
+echo "Configuring $TB$OL_STRING$TN ..."
 
 dnl Determine host platform
 dnl            we try not to use this for much
@@ -73,7 +85,7 @@ AC_SUBST(OPENLDAP_LIBVERSION)dnl
 
 dnl We use autoconf features new to 2.13.
 dnl aclocal.m4 should be built using aclocal from automake 1.4
-dnl libtool 1.3.3 should be installed.
+dnl libtool 1.4.2 should be installed.
 AC_PREREQ(2.13)dnl Required Autoconf version
 
 AC_CONFIG_HEADER(include/portable.h include/ldap_features.h include/lber_types.h)dnl
@@ -147,7 +159,8 @@ dnl ----------------------------------------------------------------
 
 dnl ----------------------------------------------------------------
 dnl SLAPD OPTIONS
-AC_ARG_WITH(xxslapdoptions,[SLAPD (Standalone LDAP Daemon) Options:])
+AC_ARG_WITH(xxslapdoptions,[
+SLAPD (Standalone LDAP Daemon) Options:])
 OL_ARG_ENABLE(slapd,[  --enable-slapd    enable building slapd], yes)dnl
 OL_ARG_ENABLE(aci,[    --enable-aci      enable per-object ACIs (experimental)], no)dnl
 OL_ARG_ENABLE(cleartext,[    --enable-cleartext          enable cleartext passwords], yes)dnl
@@ -164,7 +177,7 @@ OL_ARG_ENABLE(slp, [    --enable-slp          enable SLPv2 support], no)dnl
 OL_ARG_ENABLE(wrappers,[    --enable-wrappers    enable tcp wrapper support], no)dnl
 
 dnl SLAPD Backend options
-OL_ARG_ENABLE(bdb,[    --enable-bdb      enable Berkeley DB backend], no)dnl
+OL_ARG_ENABLE(bdb,[    --enable-bdb      enable Berkeley DB backend], yes)dnl
 OL_ARG_WITH(bdb_module,[    --with-bdb-module     module type], static,
        [static dynamic])
 OL_ARG_ENABLE(dnssrv,[    --enable-dnssrv        enable dnssrv backend], no)dnl
@@ -173,7 +186,7 @@ OL_ARG_WITH(dnssrv_module,[    --with-dnssrv-module  module type], static,
 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_ENABLE(ldbm,[    --enable-ldbm    enable ldbm backend], no)dnl
 OL_ARG_WITH(ldbm_api,[    --with-ldbm-api       with LDBM API], auto,
        [auto berkeley bcompat mdbm gdbm])
 OL_ARG_WITH(ldbm_module,[    --with-ldbm-module          module type], static,
@@ -204,11 +217,13 @@ OL_ARG_WITH(tcl_module,[    --with-tcl-module       module type], static,
 
 dnl ----------------------------------------------------------------
 dnl SLURPD OPTIONS
-AC_ARG_WITH(xxslurpdoptions,[SLURPD (Replication Daemon) Options:])
+AC_ARG_WITH(xxslurpdoptions,[
+SLURPD (Replication Daemon) Options:])
 OL_ARG_ENABLE(slurpd,[  --enable-slurpd          enable building slurpd], auto)dnl
 
 dnl ----------------------------------------------------------------
-AC_ARG_WITH(xxliboptions,[Library Generation & Linking Options])
+AC_ARG_WITH(xxliboptions,[
+Library Generation & Linking Options])
 AC_ENABLE_STATIC
 dnl AC_DISABLE_SHARED
 AC_ENABLE_SHARED
@@ -539,7 +554,7 @@ SLAPD_SLP_LIBS=
 dnl ================================================================
 dnl Checks for programs
 
-dnl AC_PROG_INSTALL
+AC_PROG_INSTALL
 
 AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
 
@@ -607,10 +622,6 @@ AC_PROG_AWK
 OL_PROG_LN_H
 AC_PROG_LN_S
 
-if test "$LN_H" = "cp" -a "$LN_S" = "ln"; then
-       LN_S="$LN_H"
-fi
-
 AC_PATH_PROG(SENDMAIL, sendmail, /usr/lib/sendmail,
        $PATH:/usr/libexec:/usr/lib:/usr/sbin:/usr/etc:/etc)
 AC_PATH_PROG(EDITOR, vi, /usr/ucb/vi, $PATH:/usr/ucb)
@@ -657,9 +668,9 @@ fi
 
 dnl ----------------------------------------------------------------
 dnl Checks for UNIX Variants
-AC_AIX
-AC_ISC_POSIX
-AC_MINIX
+dnl AC_AIX
+dnl AC_ISC_POSIX
+dnl AC_MINIX
 
 dnl ----------------------------------------------------------------
 dnl Checks for system services
@@ -780,7 +791,6 @@ AC_CHECK_HEADERS(   \
        sys/errno.h             \
        sys/ioctl.h             \
        sys/param.h             \
-       sys/queue.h             \
        sys/resource.h  \
        sys/select.h    \
        sys/socket.h    \
@@ -801,6 +811,7 @@ dnl Checks for libraries
 AC_CHECK_FUNC(dlopen, :, [AC_CHECK_LIB(dl, dlopen)])
 
 dnl HP-UX requires -lV3
+dnl this is not needed on newer versions of HP-UX
 AC_CHECK_LIB(V3, sigset)
 
 dnl The following is INTENTIONALLY scripted out because shell does not
@@ -884,11 +895,30 @@ if test "$ol_cv_c_posix_regex" = no ; then
 fi
 
 dnl ----------------------------------------------------------------
+dnl UUID Support
+
+have_uuid=no
+AC_CHECK_HEADERS(sys/uuid.h)
+if test $ac_cv_header_sys_uuid_h = yes ; then
+       save_LIBS="$LIBS"
+       AC_SEARCH_LIBS(uuid_to_str, uuid, [have_uuid=yes], :)
+       LIBS="$save_LIBS"
+
+       if test have_uuid = yes ; then
+               AC_DEFINE(HAVE_UUID_TO_STR,1,
+                       [define if you have uuid_to_str()])
+
+               test "$ac_cv_search_uuid_to_str" = "none required" || \
+                       SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_to_str"
+       fi
+fi
+
 dnl For windows, check for the need of RPCRT for UUID function support
-AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
-save_LIBS="$LIBS"
-LIBS="$LIBS -lrpcrt4"
-AC_TRY_LINK([
+if test $have_uuid = no ; then
+       AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
+       save_LIBS="$LIBS"
+       LIBS="$LIBS -lrpcrt4"
+       AC_TRY_LINK([
                char UuidCreate@4();
                char UuidToStringA@8();
                ],
@@ -897,11 +927,12 @@ AC_TRY_LINK([
                UuidToStringA@8();
                ],
                need_rpcrt=yes, need_rpcrt=no)
-if test $need_rpcrt = yes; then
-       SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
+       if test $need_rpcrt = yes; then
+               SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
+       fi
+       LIBS="$save_LIBS"
+       AC_MSG_RESULT($need_rpcrt)
 fi
-LIBS="$save_LIBS"
-AC_MSG_RESULT($need_rpcrt)
 
 dnl ----------------------------------------------------------------
 dnl Check for resolver routines
@@ -950,16 +981,14 @@ fi
 dnl ----------------------------------------------------------------
 dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN
 dnl PF_LOCAL may use getaddrinfo in available
-AC_CHECK_FUNCS( getaddrinfo inet_ntop )
+AC_CHECK_FUNCS( getaddrinfo gai_strerror inet_ntop )
 
 ol_link_ipv6=no
 if test $ac_cv_func_getaddrinfo = no -o $ac_cv_func_inet_ntop = no ; then
        if test $ol_enable_ipv6 = yes ; then
                AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()])
        fi
-else
-       AC_CHECK_FUNCS( gai_strerror )
-
+elif test $ol_enable_ipv6 != no ; then
        AC_CACHE_CHECK([INET6_ADDRSTRLEN],[ol_cv_inet6_addrstrlen],[
                AC_EGREP_CPP(__has_inet6_addrstrlen__,[
 #                      include <netinet/in.h>
@@ -1596,11 +1625,11 @@ 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 cthread.h)
+       AC_CHECK_HEADERS(mach/cthreads.h cthreads.h)
        if test $ac_cv_header_mach_cthreads_h = yes ; then
                ol_with_threads=found
 
-               dnl check for cthread support in current $LIBS
+               dnl check for cthreads support in current $LIBS
                AC_CHECK_FUNC(cthread_fork,[ol_link_threads=yes])
 
                if test $ol_link_threads = no ; then
@@ -1621,6 +1650,7 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
                        if test $ol_cv_cthread_all_load = yes ; then
                                LTHREAD_LIBS="$LTHREAD_LIBS -all_load"
                                ol_link_threads=mach
+                               ol_with_threads=found
                        fi
                fi
 
@@ -1639,6 +1669,7 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
                if test $ol_link_threads = yes ; then
                        LTHREAD_LIBS="-lthreads"
                        ol_link_threads=mach
+                       ol_with_threads=found
                else
                        AC_MSG_ERROR([could not link with Mach CThreads])
                fi
@@ -1667,6 +1698,7 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \
                        AC_DEFINE(HAVE_GNU_PTH,1,[if you have GNU Pth])
                        LTHREAD_LIBS="$LTHREAD_LIBS -lpth"
                        ol_link_threads=pth
+                       ol_with_threads=found
 
                        if test $ol_with_yielding_select = auto ; then
                                ol_with_yielding_select=yes
@@ -1882,9 +1914,17 @@ if test $ol_with_ldbm_api = auto \
 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
+       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)
+       else
+               ol_enable_bdb=no
+       fi
 fi
 
 if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then
@@ -1950,32 +1990,46 @@ fi
 
 dnl ----------------------------------------------------------------
 if test $ol_enable_wrappers != no ; then
-       AC_CHECK_HEADERS(tcpd.h)
+       AC_CHECK_HEADERS(tcpd.h,[
+               AC_MSG_CHECKING([for TCP wrappers library])
+               save_LIBS="$LIBS"
+               LIBS="$LIBS -lwrap"
+               AC_TRY_LINK([
+#include <tcpd.h>
+int allow_severity = 0;
+int deny_severity  = 0;
 
-       if test $ac_cv_header_tcpd_h != yes ; then
-               have_wrappers=no
-       else
-               AC_TRY_COMPILE([
+struct request_info *req;
+               ],[
+hosts_access(req)
+               ],[AC_MSG_RESULT([-lwrap])
+               have_wrappers=yes
+               LIBS="$save_LIBS"],[
+               dnl try with -lnsl
+               LIBS="$LIBS -lnsl"
+               AC_TRY_LINK([
+#include <tcpd.h>
 int allow_severity = 0;
 int deny_severity  = 0;
-               ],[hosts_access()],[have_wrappers=yes],[have_wrappers=no])
-       fi
+
+struct request_info *req;
+               ],[
+hosts_access(req)
+               ],[AC_MSG_RESULT([-lwrap -lnsl])
+               have_wrappers=yes
+               LIBS="$save_LIBS -lnsl"],[
+               AC_MSG_RESULT(no)
+               have_wrappers=no
+               LIBS=$save_LIBS])],[
+               have_wrappers=no])],[have_wrappers=no])
 
        if test $have_wrappers = yes ; then
                AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
                WRAP_LIBS="-lwrap"
-
-               dnl We add another check for -lnsl since some libwrap's
-               dnl need it, but it isn't always included from above
-               AC_CHECK_LIB(nsl, main)
+       elif test $ol_enable_wrappers = yes ; then
+               AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options ore disable])
        else
-               AC_MSG_WARN(could not find -lwrap)
-               if test $ol_enable_wrappers = yes ; then
-                       AC_MSG_ERROR(could not find wrappers, select appropriate options or disable)
-               fi
-
-               AC_MSG_WARN(disabling wrappers support)
-               ol_enable_wrappers=no
+               AC_MSG_WARN([could not find TCP wrappers, support disabled])
                WRAP_LIBS=""
        fi
 fi
@@ -2082,17 +2136,13 @@ dnl
 ol_link_sasl=no
 ol_link_spasswd=no
 if test $ol_with_cyrus_sasl != no ; then
-       AC_CHECK_HEADERS(sasl.h)
+       AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
 
-       if test $ac_cv_header_sasl_h = yes ; then
-               AC_CHECK_LIB(sasl, sasl_client_init,
-                       [have_cyrus_sasl=yes], [have_cyrus_sasl=no])
-
-               if test $have_cyrus_sasl != no ; then
-                       SASL_LIBS="-lsasl"
-                       AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
-                       ol_link_sasl=yes
-               fi
+       if test $ac_cv_header_sasl_sasl_h = yes -o $ac_cv_header_sasl_h = yes; then
+               AC_CHECK_LIB(sasl2, sasl_client_init,
+                       [ol_link_sasl="-lsasl2"],
+                       [AC_CHECK_LIB(sasl, sasl_client_init,
+                               [ol_link_sasl="-lsasl"])])
        fi
 
        if test $ol_link_sasl = no ; then
@@ -2105,9 +2155,12 @@ if test $ol_with_cyrus_sasl != no ; then
                                AC_MSG_WARN([Strong authentication not supported!])
                        fi
                fi
-
-       elif test $ol_enable_spasswd != no ; then
-               ol_link_spasswd=yes
+       else
+               AC_DEFINE(HAVE_CYRUS_SASL,1,[define if you have Cyrus SASL])
+               SASL_LIBS="$ol_link_sasl"
+               if test $ol_enable_spasswd != no ; then
+                       ol_link_spasswd=yes
+               fi
        fi
 
 else
@@ -2119,7 +2172,7 @@ fi
 
 dnl ----------------------------------------------------------------
 dnl Check for entropy sources
-if test $cross_compiling != yes -a $ac_cv_mingw32 != yes ; then
+if test $cross_compiling != yes -a "$ac_cv_mingw32" != yes ; then
        dev=no
        if test -r /dev/urandom ; then
                dev="/dev/urandom";
@@ -2337,6 +2390,8 @@ AC_CHECK_FUNCS(           \
        lockf                   \
        memcpy                  \
        memmove                 \
+       mkstemp                 \
+       mktemp                  \
        pipe                    \
        read                    \
        recv                    \
@@ -2632,7 +2687,6 @@ fi
 if test "$ol_enable_rewrite" != no ; then
        AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta])
        BUILD_REWRITE=yes
-       SLAPD_LIBS="$SLAPD_LIBS -lrewrite"
 fi
 
 dnl ----------------------------------------------------------------
@@ -2717,6 +2771,11 @@ AC_SUBST(SLAPD_SQL_LDFLAGS)
 AC_SUBST(SLAPD_SQL_LIBS)
 AC_SUBST(SLAPD_SQL_INCLUDES)
 
+dnl ----------------------------------------------------------------
+dnl final help output
+AC_ARG_WITH(xxinstall,[
+See INSTALL file for further details.])
+
 dnl ----------------------------------------------------------------
 dnl final output
 dnl
@@ -2766,5 +2825,5 @@ tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk \
 tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \
 ,[
 date > stamp-h
-echo Please \"make depend\" to build dependencies
+echo Please run \"make depend\" to build dependencies
 ])