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
# $]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
# 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!
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
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
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
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
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,
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
dnl ================================================================
dnl Checks for programs
-dnl AC_PROG_INSTALL
+AC_PROG_INSTALL
AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion])
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)
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
sys/errno.h \
sys/ioctl.h \
sys/param.h \
- sys/queue.h \
sys/resource.h \
sys/select.h \
sys/socket.h \
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
AC_MSG_ERROR([broken POSIX regex!])
fi
+dnl ----------------------------------------------------------------
+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([
+ char UuidCreate@4();
+ char UuidToStringA@8();
+ ],
+ [
+ UuidCreate@4();
+ UuidToStringA@8();
+ ],
+ need_rpcrt=yes, need_rpcrt=no)
+if test $need_rpcrt = yes; then
+ SLAPD_LIBS="$SLAPD_LIBS -lrpcrt4"
+fi
+LIBS="$save_LIBS"
+AC_MSG_RESULT($need_rpcrt)
+
dnl ----------------------------------------------------------------
dnl Check for resolver routines
dnl need to check for both res_query and __res_query
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>
-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
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
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
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
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
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
ol_link_sasl=no
ol_link_spasswd=no
if test $ol_with_cyrus_sasl != no ; then
- AC_CHECK_HEADERS(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])
+ AC_CHECK_HEADERS(sasl/sasl.h sasl.h)
- 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
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
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";
lockf \
memcpy \
memmove \
+ mkstemp \
+ mktemp \
pipe \
read \
recv \
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 ----------------------------------------------------------------
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
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
])