]> git.sur5r.net Git - openldap/blobdiff - configure.in
removed default arguments from cpp-Files (to build on newer gcc)
[openldap] / configure.in
index 427c9ee3f01217520c7d6252dc5efbe0a8dc1dfd..e76123546d41aaad19704c5bc0cdd0230f8f879b 100644 (file)
@@ -25,7 +25,7 @@ define([AC_INIT_BINSH],
 # top-level directory of the distribution.
 
 echo "Copyright 1998-2002 The OpenLDAP Foundation,  All Rights Reserved."
-echo "Restrictions apply, see COPYRIGHT and LICENSE files."
+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
@@ -186,6 +199,9 @@ OL_ARG_WITH(meta_module,[    --with-meta-module       module type], static,
 OL_ARG_ENABLE(monitor,[    --enable-monitor      enable monitor backend], no)dnl
 OL_ARG_WITH(monitor_module,[    --with-monitor-module module type], static,
        [static dynamic])
+OL_ARG_ENABLE(null,[    --enable-null    enable null backend], no)dnl
+OL_ARG_WITH(null_module,[    --with-null-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,
        [static dynamic])
@@ -204,11 +220,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
@@ -237,6 +255,9 @@ if test $ol_enable_slapd = no ; then
        if test $ol_enable_monitor = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-monitor argument])
        fi
+       if test $ol_enable_null = yes ; then
+               AC_MSG_WARN([slapd disabled, ignoring --enable-null argument])
+       fi
        if test $ol_enable_passwd = yes ; then
                AC_MSG_WARN([slapd disabled, ignoring --enable-passwd argument])
        fi
@@ -294,6 +315,9 @@ dnl fi
        if test $ol_with_monitor_module != static ; then
                AC_MSG_WARN([slapd disabled, ignoring --with-monitor-module argument])
        fi
+       if test $ol_with_null_module != static ; then
+               AC_MSG_WARN([slapd disabled, ignoring --with-null-module argument])
+       fi
        if test $ol_with_passwd_module != static ; then
                AC_MSG_WARN([slapd disabled, ignoring --with-passwd-module argument])
        fi
@@ -323,6 +347,7 @@ dnl fi
        ol_enable_ldbm=no
        ol_enable_meta=no
        ol_enable_monitor=no
+       ol_enable_null=no
        ol_enable_passwd=no
        ol_enable_perl=no
        ol_enable_shell=no
@@ -346,6 +371,7 @@ dnl ol_enable_multimaster=no
        ol_with_ldbm_module=static
        ol_with_meta_module=static
        ol_with_monitor_module=static
+       ol_with_null_module=static
        ol_with_passwd_module=static
        ol_with_perl_module=static
        ol_with_shell_module=static
@@ -377,6 +403,7 @@ elif test $ol_enable_ldbm = no ; then
                $ol_enable_ldap = no -a \
                $ol_enable_meta = no -a \
                $ol_enable_monitor = no -a \
+               $ol_enable_null = no -a \
                $ol_enable_passwd = no -a \
                $ol_enable_perl = no -a \
                $ol_enable_shell = no -a \
@@ -491,6 +518,7 @@ BUILD_LDAP=no
 BUILD_LDBM=no
 BUILD_META=no
 BUILD_MONITOR=no
+BUILD_NULL=no
 BUILD_PASSWD=no
 BUILD_PERL=no
 BUILD_SHELL=no
@@ -503,6 +531,7 @@ BUILD_LDAP_DYNAMIC=static
 BUILD_LDBM_DYNAMIC=static
 BUILD_META_DYNAMIC=static
 BUILD_MONITOR_DYNAMIC=static
+BUILD_NULL_DYNAMIC=static
 BUILD_PASSWD_DYNAMIC=static
 BUILD_PERL_DYNAMIC=static
 BUILD_SHELL_DYNAMIC=static
@@ -539,7 +568,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 +636,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 +682,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
@@ -723,6 +748,7 @@ else
        ol_with_ldbm_module=static
        ol_with_meta_module=static
        ol_with_monitor_module=static
+       ol_with_null_module=static
        ol_with_passwd_module=static
        ol_with_perl_module=static
        ol_with_shell_module=static
@@ -800,6 +826,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
@@ -883,11 +910,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();
                ],
@@ -896,11 +942,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
@@ -1016,11 +1063,15 @@ if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \
                                [-l$krb5crypto -lcom_err])
 
                elif test $krb5_impl = heimdal; then
+                       AC_CHECK_LIB(des, main,
+                               [krb5crypto=des],
+                               [krb5crypto=crypto])
+
                        AC_CHECK_LIB(krb5, main,
                                [have_krb5=yes
-                               KRB5_LIBS="-lkrb5 -ldes -lasn1 -lroken -lcom_err"],
+                               KRB5_LIBS="-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err"],
                                [have_krb5=no],
-                               [-ldes -lasn1 -lroken -lcom_err])
+                               [-l$krb5crypto -lasn1 -lroken -lcom_err])
 
                        AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1,
                                [define if you have HEIMDAL Kerberos])
@@ -1065,7 +1116,7 @@ if test $ol_link_krb5 = yes -a \( $ol_with_kerberos = yes -o \
                elif test $krb5_impl = heimdal; then
                        AC_CHECK_LIB(krb4, main, [have_k425=yes
                                KRB4_LIBS="-lkrb4"], [have_k425=no],
-                               [-lkrb5 -ldes -lasn1 -lroken -lcom_err])
+                               [-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err])
 
                else
                        have_425=no
@@ -1200,7 +1251,7 @@ if test $ol_with_tls != no ; then
        fi
 
 else
-       AC_WARN([TLS privacy protection not supported!])
+       AC_WARN([TLS data protection not supported!])
 fi
 
 if test $ol_link_tls = yes ; then
@@ -1208,7 +1259,7 @@ if test $ol_link_tls = yes ; then
 
 elif test $ol_with_tls = auto ; then
        AC_WARN([Could not locate TLS/SSL package])
-       AC_WARN([TLS privacy protection not supported!])
+       AC_WARN([TLS data protection not supported!])
 
 elif test $ol_with_tls != no ; then
        AC_ERROR([Could not locate TLS/SSL package])
@@ -1882,9 +1933,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 available)
-elif test $ol_enable_bdb != no -a $ol_link_ldbm != berkeley ; 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 +2009,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 +2155,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 +2174,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 +2191,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";
@@ -2546,6 +2618,22 @@ if test "$ol_enable_monitor" != no ; then
        fi
 fi
 
+if test "$ol_enable_null" != no ; then
+       AC_DEFINE(SLAPD_NULL,1,[define to support NULL backend])
+       BUILD_SLAPD=yes
+       BUILD_NULL=yes
+       if test "$ol_with_null_module" != static ; then
+               AC_DEFINE(SLAPD_NULL_DYNAMIC,1,
+                       [define to support dynamic NULL backend])
+               BUILD_NULL=mod
+               BUILD_NULL_DYNAMIC=shared
+               SLAPD_MODULES_LIST="$SLAPD_MODULES_LIST -dlopen \$(SLAP_DIR)back-null/back_null.la"
+               SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null"
+       else
+               SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null"
+       fi
+fi
+
 if test "$ol_enable_passwd" != no ; then
        AC_DEFINE(SLAPD_PASSWD,1,[define to support PASSWD backend])
        BUILD_SLAPD=yes
@@ -2634,7 +2722,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 ----------------------------------------------------------------
@@ -2663,6 +2750,7 @@ AC_SUBST(BUILD_SLAPD)
   AC_SUBST(BUILD_LDBM)
   AC_SUBST(BUILD_META)
   AC_SUBST(BUILD_MONITOR)
+  AC_SUBST(BUILD_NULL)
   AC_SUBST(BUILD_PASSWD)
   AC_SUBST(BUILD_PERL)
   AC_SUBST(BUILD_SHELL)
@@ -2674,6 +2762,7 @@ AC_SUBST(BUILD_SLAPD)
   AC_SUBST(BUILD_LDBM_DYNAMIC)
   AC_SUBST(BUILD_META_DYNAMIC)
   AC_SUBST(BUILD_MONITOR_DYNAMIC)
+  AC_SUBST(BUILD_NULL_DYNAMIC)
   AC_SUBST(BUILD_PASSWD_DYNAMIC)
   AC_SUBST(BUILD_PERL_DYNAMIC)
   AC_SUBST(BUILD_SHELL_DYNAMIC)
@@ -2719,6 +2808,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
@@ -2756,6 +2850,7 @@ servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.i
 servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/mod.mk \
 servers/slapd/back-meta/Makefile:build/top.mk:servers/slapd/back-meta/Makefile.in:build/mod.mk \
 servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk \
+servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/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 \
@@ -2768,5 +2863,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
 ])