# 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!
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(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])
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
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
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
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
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
$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 \
BUILD_LDBM=no
BUILD_META=no
BUILD_MONITOR=no
+BUILD_NULL=no
BUILD_PASSWD=no
BUILD_PERL=no
BUILD_SHELL=no
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
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
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
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
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();
],
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
[-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])
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
fi
else
- AC_WARN([TLS privacy protection not supported!])
+ AC_WARN([TLS data protection not supported!])
fi
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])
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
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)
+ 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
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";
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
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(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)
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)
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
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 \
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
])