X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=configure.in;h=ce23a79244d658b8efc5ab073ba18242a04f33ad;hb=58ddce8524d573c4fe201b83860b37485827dfb9;hp=9e064acc9a6c2a80361fdc007e2d00e7f35b8f89;hpb=bfaf2a805fc0656519c004c7a2fe676d24b037cd;p=openldap
diff --git a/configure.in b/configure.in
index 9e064acc9a..ce23a79244 100644
--- a/configure.in
+++ b/configure.in
@@ -1,7 +1,7 @@
dnl $OpenLDAP$
dnl This work is part of OpenLDAP Software .
dnl
-dnl Copyright 1998-2006 The OpenLDAP Foundation.
+dnl Copyright 1998-2008 The OpenLDAP Foundation.
dnl All rights reserved.
dnl
dnl Redistribution and use in source and binary forms, with or without
@@ -23,7 +23,7 @@ define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])dnl
dnl ================================================================
dnl Configure.in for OpenLDAP
-AC_COPYRIGHT([[Copyright 1998-2006 The OpenLDAP Foundation. All rights reserved.
+AC_COPYRIGHT([[Copyright 1998-2008 The OpenLDAP Foundation. All rights reserved.
Restrictions apply, see COPYRIGHT and LICENSE files.]])
AC_REVISION([$OpenLDAP$])
AC_INIT([OpenLDAP],,[http://www.openldap.org/its/])
@@ -50,8 +50,11 @@ fi
SHTOOL="$ac_cv_shtool"
dnl AC_SUBST(SHTOOL)dnl
-TB="`$SHTOOL echo -e '%B' 2>/dev/null`"
-TN="`$SHTOOL echo -e '%b' 2>/dev/null`"
+TB="" TN=""
+if test -t 1; then
+ TB="`$SHTOOL echo -e '%B' 2>/dev/null`"
+ TN="`$SHTOOL echo -e '%b' 2>/dev/null`"
+fi
OPENLDAP_CVS=""
if test -d $ac_aux_dir/CVS; then
@@ -93,7 +96,7 @@ AH_TOP([
/* begin of portable.h.pre */
/* This work is part of OpenLDAP Software .
*
- * Copyright 1998-2006 The OpenLDAP Foundation
+ * Copyright 1998-2008 The OpenLDAP Foundation
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -230,8 +233,6 @@ OL_ARG_ENABLE(syslog,[ --enable-syslog enable syslog support], auto)dnl
OL_ARG_ENABLE(proctitle,[ --enable-proctitle enable proctitle support], yes)dnl
dnl OL_ARG_ENABLE(referrals,[ --enable-referrals enable LDAPv2+ Referrals (experimental)], no)dnl
ol_enable_referrals=${ol_enable_referrals-no}
-dnl OL_ARG_ENABLE(kbind,[ --enable-kbind enable LDAPv2+ Kerberos IV bind (deprecated)], no)dnl
-ol_enable_kbind=${ol_enable_kbind-no}
OL_ARG_ENABLE(ipv6,[ --enable-ipv6 enable IPv6 support], auto)dnl
OL_ARG_ENABLE(local,[ --enable-local enable AF_LOCAL (AF_UNIX) socket support], auto)dnl
@@ -241,19 +242,21 @@ OL_ARG_WITH(cyrus_sasl,[ --with-cyrus-sasl with Cyrus SASL support],
auto, [auto yes no] )
OL_ARG_WITH(fetch,[ --with-fetch with fetch(3) URL support],
auto, [auto yes no] )
-dnl OL_ARG_WITH(kerberos,[ --with-kerberos with Kerberos support],
-dnl auto, [auto k5 k5only k425 kth k4 afs yes no])
-ol_with_kerberos=${ol_with_kerberos-auto}
+OL_ARG_WITH(gssapi,[ --with-gssapi with GSSAPI support],
+ auto, [auto yes no] )
OL_ARG_WITH(threads,[ --with-threads with threads],
auto, [auto nt posix mach pth lwp yes no manual] )
-OL_ARG_WITH(tls,[ --with-tls with TLS/SSL support],
- auto, [auto openssl yes no] )
+OL_ARG_WITH(tls,[ --with-tls with TLS/SSL support auto|openssl|gnutls],
+ auto, [auto openssl gnutls yes no] )
OL_ARG_WITH(yielding_select,
[ --with-yielding-select with implicitly yielding select],
auto, [auto yes no manual] )
OL_ARG_WITH(mp,
[ --with-mp with multiple precision statistics auto|longlong|long|bignum|gmp],
auto, [auto longlong long bignum gmp yes no])
+OL_ARG_WITH(odbc,
+ [ --with-odbc with specific ODBC support iodbc|unixodbc|odbc32|auto],
+ auto, [auto iodbc unixodbc odbc32] )
dnl ----------------------------------------------------------------
dnl Server options
@@ -283,14 +286,15 @@ Backends="bdb \
dnssrv \
hdb \
ldap \
- ldbm \
meta \
monitor \
+ ndb \
null \
passwd \
perl \
relay \
shell \
+ sock \
sql"
AC_ARG_ENABLE(xxslapbackends,[
@@ -299,29 +303,19 @@ SLAPD Backend Options:])
OL_ARG_ENABLE(backends,[ --enable-backends enable all available backends],
--, [no yes mod])dnl
OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend],
- yes, [no yes mod], ol_enable_backends)dnl
+ no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend],
yes, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend],
no, [no yes mod], ol_enable_backends)dnl
-OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend],
- no, [no yes mod], ol_enable_backends)dnl
-AC_ARG_WITH(ldbm_api,,[
- AC_MSG_WARN([Please use --enable-ldbm-api instead of --with-ldbm-api])
- enable_ldbm_api="$with_ldbm_api"])
-OL_ARG_ENABLE(ldbm_api,[ --enable-ldbm-api use LDBM API],
- auto, [auto berkeley bcompat mdbm gdbm])
-AC_ARG_WITH(ldbm_type,,[
- AC_MSG_WARN([Please use --enable-ldbm-type instead of --with-ldbm-type])
- enable_ldbm_type="$with_ldbm_type"])
-OL_ARG_ENABLE(ldbm_type,[ --enable-ldbm-type use LDBM type],
- auto, [auto btree hash])
OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend],
yes, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(ndb,[ --enable-ndb enable MySQL NDB Cluster backend],
+ no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(null,[ --enable-null enable null backend],
no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend],
@@ -332,17 +326,22 @@ OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend],
yes, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend],
no, [no yes mod], ol_enable_backends)dnl
+OL_ARG_ENABLE(sock,[ --enable-sock enable sock backend],
+ no, [no yes mod], ol_enable_backends)dnl
OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend],
no, [no yes mod], ol_enable_backends)dnl
dnl ----------------------------------------------------------------
dnl SLAPD Overlay Options
Overlays="accesslog \
+ auditlog \
+ collect \
+ constraint \
dds \
- denyop \
+ deref \
dyngroup \
dynlist \
- lastmod \
+ memberof \
ppolicy \
proxycache \
refint \
@@ -361,15 +360,21 @@ OL_ARG_ENABLE(overlays,[ --enable-overlays enable all available overlays],
--, [no yes mod])dnl
OL_ARG_ENABLE(accesslog,[ --enable-accesslog In-Directory Access Logging overlay],
no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(auditlog,[ --enable-auditlog Audit Logging overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(collect,[ --enable-collect Collect overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(constraint,[ --enable-constraint Attribute Constraint overlay],
+ no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(dds,[ --enable-dds Dynamic Directory Services overlay],
no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay],
+OL_ARG_ENABLE(deref,[ --enable-deref Dereference overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(dynlist,[ --enable-dynlist Dynamic List overlay],
no, [no yes mod], ol_enable_overlays)
-OL_ARG_ENABLE(lastmod,[ --enable-lastmod Last Modification overlay],
+OL_ARG_ENABLE(memberof,[ --enable-memberof Reverse Group Membership overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay],
no, [no yes mod], ol_enable_overlays)
@@ -392,12 +397,6 @@ OL_ARG_ENABLE(unique,[ --enable-unique Attribute Uniqueness overlay],
OL_ARG_ENABLE(valsort,[ --enable-valsort Value Sorting overlay],
no, [no yes mod], ol_enable_overlays)
-dnl ----------------------------------------------------------------
-dnl SLURPD OPTIONS
-AC_ARG_ENABLE(xxslurpdoptions,[
-SLURPD (Replication Daemon) Options:])
-OL_ARG_ENABLE(slurpd,[ --enable-slurpd enable building slurpd], auto)dnl
-
dnl ----------------------------------------------------------------
AC_ARG_ENABLE(xxliboptions,[
Library Generation & Linking Options])
@@ -437,15 +436,6 @@ if test $ol_enable_slapd = no ; then
if test $ol_enable_aci != no ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument])
fi
- if test $ol_enable_ldbm_api != auto ; then
- AC_MSG_WARN([slapd disabled, ignoring --enable-ldbm-api argument])
- fi
- if test $ol_enable_ldbm_type != auto ; then
- AC_MSG_WARN([slapd disabled, ignoring --enable-ldbm-type argument])
- fi
- if test $ol_enable_slurpd = yes ; then
- AC_MSG_ERROR([slurpd requires slapd])
- fi
if test $ol_enable_rewrite = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument])
fi
@@ -472,74 +462,30 @@ if test $ol_enable_slapd = no ; then
ol_enable_aci=no
ol_enable_wrappers=no
- ol_enable_ldbm_api=no
- ol_enable_ldbm_type=no
-
- ol_enable_slurpd=no
-
ol_enable_rewrite=no
-elif test $ol_enable_ldbm = no ; then
- dnl SLAPD without LDBM
-
- if test $ol_enable_ldbm_api != auto ; then
- AC_MSG_WARN([LDBM disabled, ignoring --enable-ldbm-api argument])
- fi
-
- if test $ol_enable_ldbm_type != auto ; then
- AC_MSG_WARN([LDBM disabled, ignoring --enable-ldbm-type argument])
- fi
-
- if test $ol_enable_modules != yes &&
- test $ol_enable_bdb = no &&
- test $ol_enable_dnssrv = no &&
- test $ol_enable_hdb = no &&
- test $ol_enable_ldap = no &&
- test $ol_enable_meta = no &&
- test $ol_enable_monitor = no &&
- test $ol_enable_null = no &&
- test $ol_enable_passwd = no &&
- test $ol_enable_perl = no &&
- test $ol_enable_relay = no &&
- test $ol_enable_shell = no &&
- test $ol_enable_sql = no ; then
-
- 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_enable_ldbm_api=no
- ol_enable_ldbm_type=no
-
- if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
- ol_enable_ldbm_api=berkeley
- fi
-
-else
- dnl SLAPD with LDBM
- if test $ol_enable_ldbm_api = gdbm &&
- test $ol_enable_ldbm_type = btree ; then
- AC_MSG_ERROR([GDBM only supports LDBM type hash])
- fi
- if test $ol_enable_ldbm_api = mdbm &&
- test $ol_enable_ldbm_type = btree ; then
- AC_MSG_ERROR([MDBM only supports LDBM type hash])
- fi
- if test $ol_enable_ldbm_api = ndbm &&
- test $ol_enable_ldbm_type = btree ; then
- AC_MSG_ERROR([NDBM only supports LDBM type hash])
- fi
-
- if test $ol_enable_bdb/$ol_enable_hdb != no/no ; then
- if test $ol_enable_ldbm_api = auto ; then
- ol_enable_ldbm_api=berkeley
- elif test $ol_enable_ldbm_api != berkeley ; then
- AC_MSG_ERROR([LDBM API not compatible with BDB/HDB])
- fi
+elif test $ol_enable_modules != yes &&
+ test $ol_enable_bdb = no &&
+ test $ol_enable_dnssrv = no &&
+ test $ol_enable_hdb = no &&
+ test $ol_enable_ldap = no &&
+ test $ol_enable_meta = no &&
+ test $ol_enable_monitor = no &&
+ test $ol_enable_ndb = no &&
+ test $ol_enable_null = no &&
+ test $ol_enable_passwd = no &&
+ test $ol_enable_perl = no &&
+ test $ol_enable_relay = no &&
+ test $ol_enable_shell = no &&
+ test $ol_enable_sock = no &&
+ test $ol_enable_sql = no ; then
+ dnl no slapd 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
@@ -547,35 +493,12 @@ if test $ol_enable_meta/$ol_enable_ldap = yes/no ; then
AC_MSG_ERROR([--enable-meta requires --enable-ldap])
fi
-if test $ol_enable_slurpd = yes ; then
- dnl SLURPD was specifically enabled
- if test $ol_with_threads = no ; then
- AC_MSG_ERROR([slurpd requires threads])
- fi
-fi
-
if test $ol_enable_lmpasswd = yes ; then
if test $ol_with_tls = no ; then
AC_MSG_ERROR([LAN Manager passwords require OpenSSL])
fi
fi
-if test $ol_enable_kbind = 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
-
-elif test $ol_enable_kbind = no ; 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
-fi
-
if test $ol_enable_spasswd = yes ; then
if test $ol_with_cyrus_sasl = no ; then
AC_MSG_ERROR([options require --with-cyrus-sasl])
@@ -588,15 +511,15 @@ AC_MSG_RESULT(done)
dnl ----------------------------------------------------------------
dnl Initialize vars
LDAP_LIBS=
-LDBM_LIBS=
+BDB_LIBS=
+SLAPD_NDB_LIBS=
+SLAPD_NDB_INCS=
LTHREAD_LIBS=
LUTIL_LIBS=
SLAPD_LIBS=
-SLURPD_LIBS=
BUILD_SLAPD=no
-BUILD_SLURPD=no
BUILD_THREAD=no
@@ -607,22 +530,26 @@ BUILD_BDB=no
BUILD_DNSSRV=no
BUILD_HDB=no
BUILD_LDAP=no
-BUILD_LDBM=no
BUILD_META=no
BUILD_MONITOR=no
+BUILD_NDB=no
BUILD_NULL=no
BUILD_PASSWD=no
BUILD_PERL=no
BUILD_RELAY=no
BUILD_SHELL=no
+BUILD_SOCK=no
BUILD_SQL=no
BUILD_ACCESSLOG=no
+BUILD_AUDITLOG=no
+BUILD_CONSTRAINT=no
BUILD_DDS=no
BUILD_DENYOP=no
BUILD_DYNGROUP=no
BUILD_DYNLIST=no
BUILD_LASTMOD=no
+BUILD_MEMBEROF=no
BUILD_PPOLICY=no
BUILD_PROXYCACHE=no
BUILD_REFINT=no
@@ -654,6 +581,7 @@ SLAPD_SQL_INCLUDES=
KRB4_LIBS=
KRB5_LIBS=
SASL_LIBS=
+GSSAPI_LIBS=
TLS_LIBS=
MODULES_LIBS=
SLAPI_LIBS=
@@ -893,9 +821,11 @@ AC_CHECK_HEADERS( \
sysexits.h \
sys/file.h \
sys/filio.h \
+ sys/fstyp.h \
sys/errno.h \
sys/ioctl.h \
sys/param.h \
+ sys/privgrp.h \
sys/resource.h \
sys/select.h \
sys/socket.h \
@@ -904,14 +834,18 @@ AC_CHECK_HEADERS( \
sys/time.h \
sys/types.h \
sys/uio.h \
+ sys/vmount.h \
syslog.h \
termios.h \
unistd.h \
utime.h \
- winsock.h \
- winsock2.h \
)
+dnl Only check Winsock on MinGW
+if test "$ac_cv_mingw32" = yes ; then
+ AC_CHECK_HEADERS( winsock.h winsock2.h )
+fi
+
AC_CHECK_HEADERS( resolv.h, [], [],
[$ac_includes_default
#include
@@ -943,9 +877,7 @@ fi
dnl The following is INTENTIONALLY scripted out because shell does not
dnl support variable names with the '@' character, which is what
dnl autoconf would try to generate if one merely used AC_SEARCH_LIBS
-dnl
-dnl Skip Winsock tests on Cygwin
-if test "$ac_cv_cygwin" != yes && test "$ac_cv_header_winsock_h" = yes; then
+if test "$ac_cv_header_winsock_h" = yes; then
AC_CACHE_CHECK([for winsock], [ol_cv_winsock],
save_LIBS="$LIBS"
for curlib in ws2_32 wsock32; do
@@ -1005,18 +937,35 @@ dnl AC_SYS_RESTARTABLE_SYSCALLS
dnl ----------------------------------------------------------------
AC_CHECK_FUNCS( poll )
-AC_CHECK_HEADERS( poll.h )
+if test $ac_cv_func_poll = yes; then
+AC_CHECK_HEADERS( poll.h sys/poll.h )
+fi
dnl ----------------------------------------------------------------
AC_CHECK_HEADERS( sys/epoll.h )
if test "${ac_cv_header_sys_epoll_h}" = yes; then
-AC_MSG_CHECKING(for epoll system call)
-AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char *argv)
+ AC_MSG_CHECKING(for epoll system call)
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
{
int epfd = epoll_create(256);
exit (epfd == -1 ? 1 : 0);
}]])],[AC_MSG_RESULT(yes)
-AC_DEFINE(HAVE_EPOLL,1, [define if your system supports epoll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
+ AC_DEFINE(HAVE_EPOLL,1, [define if your system supports epoll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
+fi
+
+dnl ----------------------------------------------------------------
+AC_CHECK_HEADERS( sys/devpoll.h )
+dnl "/dev/poll" needs as well...
+if test "${ac_cv_header_sys_devpoll_h}" = yes \
+ -a "${ac_cv_header_poll_h}" = yes ; \
+then
+ AC_MSG_CHECKING(for /dev/poll)
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
+{
+ int devpollfd = open("/dev/poll", /* O_RDWR */ 2);
+ exit (devpollfd == -1 ? 1 : 0);
+}]])],[AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_DEVPOLL,1, [define if your system supports /dev/poll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
fi
dnl ----------------------------------------------------------------
@@ -1025,7 +974,13 @@ OL_STRERROR
dnl ----------------------------------------------------------------
dnl require POSIX regex
-AC_CHECK_HEADERS( regex.h )
+AC_CHECK_HEADERS( regex.h, [], [],
+[$ac_includes_default
+#ifdef HAVE_SYS_TYPES_H
+#include
+#endif
+])
+
if test "$ac_cv_header_regex_h" != yes ; then
AC_MSG_ERROR([POSIX regex.h required.])
fi
@@ -1044,7 +999,7 @@ 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], :)
+ AC_SEARCH_LIBS([uuid_to_str], [uuid], [have_uuid=yes], :)
LIBS="$save_LIBS"
if test have_uuid = yes ; then
@@ -1056,6 +1011,24 @@ if test $ac_cv_header_sys_uuid_h = yes ; then
fi
fi
+dnl Look for uuid_generate
+if test $have_uuid = no ; then
+ AC_CHECK_HEADERS(uuid/uuid.h)
+ if test $ac_cv_header_uuid_uuid_h = yes ; then
+ save_LIBS="$LIBS"
+ AC_SEARCH_LIBS([uuid_generate], [uuid], [have_uuid=yes], :)
+ LIBS="$save_LIBS"
+
+ if test have_uuid = yes ; then
+ AC_DEFINE(HAVE_UUID_GENERATE,1,
+ [define if you have uuid_generate()])
+
+ test "$ac_cv_search_uuid_generate" = "none required" || \
+ SLAPD_LIBS="$SLAPD_LIBS $ac_cv_search_uuid_generate"
+ fi
+ fi
+fi
+
dnl For windows, check for the need of RPCRT for UUID function support
if test $have_uuid = no ; then
AC_MSG_CHECKING(to see if -lrpcrt4 is needed for win32 UUID support)
@@ -1154,178 +1127,66 @@ if test $ol_enable_local != no ; then
fi
dnl ----------------------------------------------------------------
-dnl Kerberos
-ol_link_kbind=no
-ol_link_krb5=no
-ol_link_krb4=no
-
-case $ol_with_kerberos in yes | auto | k5 | k5only | k425)
-
- AC_CHECK_HEADERS(krb5.h)
-
- if test $ac_cv_header_krb5_h = yes ; then
- dnl lazy check for Heimdal Kerberos
- AC_CHECK_HEADERS(heim_err.h)
- if test $ac_cv_header_heim_err_h = yes ; then
- krb5_impl=heimdal
- else
- krb5_impl=mit
- 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 -l$krb5crypto -lcom_err"],
- [have_krb5=no],
- [-l$krb5crypto -lcom_err])
-
- elif test $krb5_impl = heimdal; then
- AC_CHECK_LIB(des, main,
- [krb5crypto=des],
- [krb5crypto=crypto])
+dnl GSSAPI
+ol_link_gssapi=no
- AC_CHECK_LIB(krb5, main,
- [have_krb5=yes
- KRB5_LIBS="-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err"],
- [have_krb5=no],
- [-l$krb5crypto -lasn1 -lroken -lcom_err])
+case $ol_with_gssapi in yes | auto)
- AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1,
- [define if you have HEIMDAL Kerberos])
-
- else
- have_krb5=no
- AC_MSG_WARN([Unrecognized Kerberos5 Implementation])
+ ol_header_gssapi=no
+ AC_CHECK_HEADERS(gssapi/gssapi.h)
+ if test $ac_cv_header_gssapi_gssapi_h = yes ; then
+ ol_header_gssapi=yes
+ else
+ AC_CHECK_HEADERS(gssapi.h)
+ if test $ac_cv_header_gssapi_h = yes ; then
+ ol_header_gssapi=yes
fi
- if test $have_krb5 = yes ; then
- ol_link_krb5=yes
-
- AC_DEFINE(HAVE_KRB5, 1,
- [define if you have Kerberos V])
-
- if test $ol_with_kerberos = k5only ; then
- ol_with_kerberos=found
- fi
-
- elif test $ol_with_kerberos != auto ; then
- AC_MSG_ERROR([Required Kerberos 5 support not available])
+ dnl## not every gssapi has gss_oid_to_str()
+ dnl## as it's not defined in the GSSAPI V2 API
+ dnl## anymore
+ saveLIBS="$LIBS"
+ LIBS="$LIBS $GSSAPI_LIBS"
+ AC_CHECK_FUNCS(gss_oid_to_str)
+ LIBS="$saveLIBS"
+ fi
+
+ if test $ol_header_gssapi = yes ; then
+ dnl## we check for gss_wrap
+ dnl## as it's new to the GSSAPI V2 API
+ AC_CHECK_LIB(gssapi, gss_wrap,
+ [ol_link_gssapi=yes;GSSAPI_LIBS="-lgssapi"],
+ [ol_link_gssapi=no])
+ if test $ol_link_gssapi != yes ; then
+ AC_CHECK_LIB(gssapi_krb5, gss_wrap,
+ [ol_link_gssapi=yes;GSSAPI_LIBS="-lgssapi_krb5"],
+ [ol_link_gssapi=no])
fi
-
fi
- ;;
-esac
-
-if test $ol_link_krb5 = yes &&
- { test $ol_with_kerberos = yes ||
- test $ol_with_kerberos = auto ||
- test $ol_with_kerberos = k425; }; then
-
- AC_CHECK_HEADERS(kerberosIV/krb.h kerberosIV/des.h)
-
- if test $ac_cv_header_kerberosIV_krb_h = yes ; then
- if test $krb5_impl = mit; then
- AC_CHECK_LIB(krb4, main, [have_k425=yes
- KRB4_LIBS="-lkrb4 -ldes425"], [have_k425=no],
- [-ldes425 -lkrb5 -l$krb5crypto -lcom_err])
-
- elif test $krb5_impl = heimdal; then
- AC_CHECK_LIB(krb4, main, [have_k425=yes
- KRB4_LIBS="-lkrb4"], [have_k425=no],
- [-lkrb5 -l$krb5crypto -lasn1 -lroken -lcom_err])
-
- else
- have_425=no
- AC_MSG_WARN([Unrecongized Kerberos V Implementation])
- fi
- if test $have_k425 = yes ; then
- ol_with_kerberos=found
- ol_link_krb4=yes
-
- AC_DEFINE(HAVE_KRB425, 1,
- [define if you have Kerberos V with IV support])
- AC_DEFINE(HAVE_KRB4, 1,
- [define if you have Kerberos IV])
-
- AC_CACHE_CHECK([for des_debug in Kerberos libraries],
- [ol_cv_var_des_debug], [
- dnl save the flags
- save_LIBS="$LIBS"
- LIBS="$KRB4_LIBS $KRB5_LIBS $LIBS"
- AC_LINK_IFELSE([AC_LANG_PROGRAM([[
-#include
-#include
-extern int des_debug;
-]], [[
-des_debug = 1;
-]])],[ol_cv_var_des_debug=yes],[ol_cv_var_des_debug=no])
- dnl restore the LIBS
- LIBS="$save_LIBS"
- ])
-
- if test $ol_cv_var_des_debug = yes ; then
- AC_DEFINE(HAVE_DES_DEBUG,1,
- [define if you have Kerberos des_debug])
- fi
-
- LIBS="$save_LIBS"
- fi
- fi
-fi
-
-if test $ol_link_krb5 = yes ; then
- ol_with_kerberos=found
-fi
-
-case $ol_with_kerberos in yes | auto | k4 | kth)
-
- AC_CHECK_HEADERS(krb.h des.h krb-archaeology.h )
-
- if test $ac_cv_header_krb_h = yes ; then
- AC_CHECK_LIB(krb, main, [have_k4=yes], [have_k4=no], [-ldes])
-
- if test $have_k4 = yes ; then
- ol_with_kerberos=found
- ol_link_krb4=yes
-
- AC_DEFINE(HAVE_KRB4, 1,
- [define if you have Kerberos IV])
-
- KRB4_LIBS="-lkrb -ldes"
-
- if test $ac_cv_header_krb_archaeology_h = yes ; then
- AC_DEFINE(HAVE_KTH_KERBEROS, 1,
- [define if you have Kth Kerberos])
- fi
- fi
- fi
;;
esac
-if test $ol_link_krb4 = yes && test $ol_enable_kbind != no ; then
- ol_link_kbind=yes
-
-elif test $ol_enable_kbind = yes ; then
- AC_MSG_ERROR([Kerberos IV detection failed])
-fi
-
-if test $ol_link_krb4 = yes || test $ol_link_krb5 = yes ; then
- AC_DEFINE(HAVE_KERBEROS, 1, [define if you have Kerberos])
-
-elif test $ol_with_kerberos != auto && test $ol_with_kerberos != no ; then
- AC_MSG_ERROR([Kerberos detection failed])
+WITH_GSSAPI=no
+if test $ol_link_gssapi = yes; then
+ AC_DEFINE(HAVE_GSSAPI, 1, [define if you have GSSAPI])
+ WITH_GSSAPI=yes
+elif test $ol_with_gssapi = auto ; then
+ AC_MSG_WARN([Could not locate GSSAPI package])
+ AC_MSG_WARN([GSSAPI authentication not supported!])
+elif test $ol_with_gssapi = yes ; then
+ AC_MSG_ERROR([GSSAPI detection failed])
fi
dnl ----------------------------------------------------------------
dnl TLS/SSL
+if test $ol_with_tls = yes ; then
+ ol_with_tls=auto
+fi
+
ol_link_tls=no
-if test $ol_with_tls != no ; then
+if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then
AC_CHECK_HEADERS(openssl/ssl.h)
if test $ac_cv_header_openssl_ssl_h = yes ; then
@@ -1342,7 +1203,7 @@ if test $ol_with_tls != no ; then
fi
if test $have_openssl = yes ; then
- ol_with_tls=found
+ ol_with_tls=openssl
ol_link_tls=yes
AC_DEFINE(HAVE_OPENSSL, 1,
@@ -1356,31 +1217,48 @@ if test $ol_with_tls != no ; then
else
TLS_LIBS="-lssl -lcrypto"
fi
- fi
- OL_SSL_COMPAT
- if test $ol_cv_ssl_crl_compat = no ; then
- ol_link_ssl=no
- else
- AC_DEFINE(HAVE_OPENSSL_CRL, 1,
- [define if you have OpenSSL with CRL checking capability])
+
+ OL_SSL_COMPAT
+ if test $ol_cv_ssl_crl_compat = yes ; then
+ AC_DEFINE(HAVE_OPENSSL_CRL, 1,
+ [define if you have OpenSSL with CRL checking capability])
+ fi
fi
fi
+fi
-else
- AC_MSG_WARN([TLS data protection not supported!])
+if test $ol_link_tls = no ; then
+ if test $ol_with_tls = gnutls || test $ol_with_tls = auto ; then
+ AC_CHECK_HEADERS(gnutls/gnutls.h)
+
+ if test $ac_cv_header_gnutls_gnutls_h = yes ; then
+ AC_CHECK_LIB(gnutls, gnutls_init,
+ [have_gnutls=yes], [have_gnutls=no])
+
+ if test $have_gnutls = yes ; then
+ ol_with_tls=gnutls
+ ol_link_tls=yes
+
+ TLS_LIBS="-lgnutls"
+
+ AC_DEFINE(HAVE_GNUTLS, 1,
+ [define if you have GNUtls])
+ fi
+ fi
+ fi
fi
WITH_TLS=no
if test $ol_link_tls = yes ; then
AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
WITH_TLS=yes
-
elif test $ol_with_tls = auto ; then
AC_MSG_WARN([Could not locate TLS/SSL package])
AC_MSG_WARN([TLS data protection not supported!])
-
elif test $ol_with_tls != no ; then
AC_MSG_ERROR([Could not locate TLS/SSL package])
+else
+ AC_MSG_WARN([TLS data protection not supported!])
fi
dnl ----------------------------------------------------------------
@@ -1550,7 +1428,22 @@ dnl [ol_cv_pthread_lpthread_lexc])
fi
dnl Check functions for compatibility
- AC_CHECK_FUNCS(pthread_kill pthread_rwlock_destroy)
+ AC_CHECK_FUNCS(pthread_kill)
+
+ dnl Check for pthread_rwlock_destroy with
+ dnl as pthread_rwlock_t may not be defined.
+ AC_CACHE_CHECK([for pthread_rwlock_destroy with ],
+ [ol_cv_func_pthread_rwlock_destroy], [
+ dnl save the flags
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+#include
+pthread_rwlock_t rwlock;
+]], [[pthread_rwlock_destroy(&rwlock);]])],[ol_cv_func_pthread_rwlock_destroy=yes],[ol_cv_func_pthread_rwlock_destroy=no])
+ ])
+ if test $ol_cv_func_pthread_rwlock_destroy = yes ; then
+ AC_DEFINE(HAVE_PTHREAD_RWLOCK_DESTROY,1,
+ [define if you have pthread_rwlock_destroy function])
+ fi
dnl Check for pthread_detach with inclusion
dnl as it's symbol may have been mangled.
@@ -1680,7 +1573,7 @@ int main(argc, argv)
#endif
/* make sure task runs first */
-#if HAVE_THR_YIELD
+#ifdef HAVE_THR_YIELD
thr_yield();
#elif defined( HAVE_SCHED_YIELD )
sched_yield();
@@ -1997,103 +1890,27 @@ else
fi
dnl ----------------------------------------------------------------
-ol_link_ldbm=no
-
-case $ol_enable_ldbm_api in auto | berkeley | bcompat)
-
- if test $ol_enable_ldbm_api = bcompat; then \
- OL_BERKELEY_COMPAT_DB
- else
- OL_BERKELEY_DB
- fi
-
- if test $ol_cv_berkeley_db != no ; then
- AC_DEFINE(HAVE_BERKELEY_DB,1,
- [define this if Berkeley DB is available])
-
- ol_link_ldbm=berkeley
- ol_enable_ldbm_api=berkeley
-
- if test $ol_enable_ldbm_type = hash ; then
- AC_DEFINE(LDBM_USE_DBHASH,1,
- [define this to use DBHASH w/ LDBM backend])
- else
- AC_DEFINE(LDBM_USE_DBBTREE,1,
- [define this to use DBBTREE w/ LDBM backend])
- fi
-
- dnl $ol_cv_lib_db should be yes or -ldb
- dnl (it could be no, but that would be an error
- if test $ol_cv_lib_db != yes ; then
- LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db"
- fi
- fi
- ;;
-esac
+ol_link_bdb=no
if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
- if test $ol_link_ldbm != berkeley ; then
- AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available)
- else
- OL_BDB_COMPAT
-
- if test $ol_cv_bdb_compat != yes ; then
- AC_MSG_ERROR([BDB/HDB: BerkeleyDB version incompatible])
- fi
- fi
-fi
-
-if test $ol_link_ldbm = no && test $ol_enable_ldbm_type = btree ; then
- AC_MSG_WARN([Could not find LDBM with BTREE support])
- ol_enable_ldbm_api=none
-fi
-
-if test $ol_enable_ldbm_api = auto || test $ol_enable_ldbm_api = mdbm ; then
- OL_MDBM
-
- if test $ol_cv_mdbm = yes ; then
- ol_link_ldbm=mdbm
- ol_enable_ldbm_api=mdbm
- if test $ol_cv_lib_mdbm != yes ; then
- LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_mdbm"
- fi
- fi
-fi
+ OL_BERKELEY_DB
-if test $ol_enable_ldbm_api = auto || test $ol_enable_ldbm_api = gdbm ; then
- OL_GDBM
-
- if test $ol_cv_gdbm = yes ; then
- ol_link_ldbm=gdbm
- ol_enable_ldbm_api=gdbm
-
- if test $ol_cv_lib_gdbm != yes ; then
- LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_gdbm"
- fi
+ if test $ol_cv_berkeley_db = no ; then
+ AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available)
fi
-fi
-
-if test $ol_enable_ldbm_api = ndbm ; then
- OL_NDBM
- if test $ol_cv_ndbm = yes ; then
- ol_link_ldbm=ndbm
- ol_enable_ldbm_api=ndbm
+ AC_DEFINE(HAVE_BERKELEY_DB,1,
+ [define this if Berkeley DB is available])
- if test $ol_cv_lib_ndbm != yes ; then
- LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm"
- fi
+ dnl $ol_cv_lib_db should be yes or -ldb
+ dnl (it could be no, but that would be an error
+ if test $ol_cv_lib_db != yes ; then
+ BDB_LIBS="$BDB_LIBS $ol_cv_lib_db"
fi
-fi
-if test $ol_link_ldbm = no && test $ol_enable_ldbm != no ; then
- AC_MSG_ERROR([could not find suitable LDBM backend])
-fi
+ SLAPD_LIBS="$SLAPD_LIBS \$(BDB_LIBS)"
-if test $ol_enable_bdb = yes ||
- test $ol_enable_hdb = yes ||
- test $ol_enable_ldbm = yes ; then
- SLAPD_LIBS="$SLAPD_LIBS \$(LDBM_LIBS)"
+ ol_link_bdb=yes
fi
dnl ----------------------------------------------------------------
@@ -2173,16 +1990,41 @@ if test $ol_enable_sql != no ; then
sql_LIBS="$LIBS"
LIBS="$LTHREAD_LIBS"
- AC_CHECK_LIB(iodbc,SQLDriverConnect,[have_iodbc=yes],[have_iodbc=no])
- if test $have_iodbc = yes ; then
- ol_link_sql="-liodbc"
- else
- AC_CHECK_LIB(odbc,SQLDriverConnect,[have_odbc=yes],[have_odbc=no])
- if test $have_odbc = yes ; then
- ol_link_sql="-lodbc"
- fi
+ if test $ol_with_odbc = auto ; then
+ ol_with_odbc="iodbc unixodbc odbc32"
fi
+ for odbc in $ol_with_odbc ; do
+ if test $ol_link_sql = no ; then
+ case $odbc in
+ iodbc)
+ AC_CHECK_LIB(iodbc, SQLDriverConnect, [have_iodbc=yes], [have_iodbc=no])
+ if test $have_iodbc = yes ; then
+ ol_link_sql="-liodbc"
+ fi
+ ;;
+
+ unixodbc)
+ AC_CHECK_LIB(odbc, SQLDriverConnect, [have_odbc=yes], [have_odbc=no])
+ if test $have_odbc = yes ; then
+ ol_link_sql="-lodbc"
+ fi
+ ;;
+
+ odbc32)
+ AC_CHECK_LIB(odbc32, SQLDriverConnect, [have_odbc32=yes], [have_odbc32=no])
+ if test $have_odbc32 = yes ; then
+ ol_link_sql="-lodbc32"
+ fi
+ ;;
+
+ *)
+ AC_MSG_ERROR([unknown ODBC library])
+ ;;
+ esac
+ fi
+ done
+
LIBS="$sql_LIBS"
if test $ol_link_sql != no ; then
@@ -2193,6 +2035,47 @@ if test $ol_enable_sql != no ; then
fi
fi
+dnl ----------------------------------------------------------------
+dnl MySQL NDBapi
+dnl Note: uses C++, but we don't want to add C++ test overhead to
+dnl the rest of the libtool machinery.
+ol_link_ndb=no
+if test $ol_enable_ndb != no ; then
+ AC_CHECK_PROG(MYSQL,mysql_config,yes)
+ if test "$MYSQL" != yes ; then
+ AC_MSG_ERROR([could not locate mysql_config])
+ fi
+
+ SQL_INC=`mysql_config --include`
+ SLAPD_NDB_INCS="$SQL_INC $SQL_INC/storage/ndb $SQL_INC/storage/ndb/ndbapi"
+
+ save_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="$SLAPD_NDB_INCS"
+ AC_MSG_CHECKING(for NdbApi.hpp)
+ AC_PREPROC_IFELSE(
+ [AC_LANG_SOURCE([[#include ]])],
+ AC_MSG_RESULT(yes),
+ AC_MSG_ERROR([could not locate NdbApi headers])
+ )
+ CPPFLAGS="$save_CPPFLAGS"
+
+ SQL_LIB=`mysql_config --libs_r`
+ SLAPD_NDB_LIBS="$SQL_LIB -lndbclient -lstdc++"
+
+ save_LDFLAGS="$LDFLAGS"
+ save_LIBS="$LIBS"
+ LDFLAGS="$SQL_LIB"
+ AC_CHECK_LIB(ndbclient,ndb_init,[: ok],[
+ AC_MSG_ERROR([could not locate ndbclient library])
+ ],[-lstdc++])
+ LIBS="$save_LIBS"
+ LDFLAGS="$save_LDFLAGS"
+
+ if test "$ol_enable_ndb" = yes ; then
+ SLAPD_LIBS="$SLAPD_LIBS \$(SLAPD_NDB_LIBS)"
+ fi
+fi
+
dnl ----------------------------------------------------------------
dnl International Components for Unicode
OL_ICU
@@ -2369,14 +2252,43 @@ AC_CHECK_TYPE(size_t, unsigned)
AC_CHECK_TYPES([long long])
AC_CHECK_TYPES([ptrdiff_t])
-AC_CHECK_TYPE([socklen_t],,
- [AC_DEFINE_UNQUOTED([socklen_t], [int],
- [Define to `int' if does not define.])],
- [$ac_includes_default
+
+AC_CHECK_TYPE([socklen_t],,, [$ac_includes_default
+#ifdef HAVE_SYS_SOCKET_H
+#include
+#endif])
+
+dnl socklen_t-like type in accept(), default socklen_t or int:
+dnl - The OS might define socklen_t without using it. POSIX moved from
+dnl int to size_t to socklen_t, hoping to stay at a 32-bit type, and
+dnl HP-UX now has selectors for what to use.
+dnl - On Solaris 2.8 the prototype has void *len, but the default is OK.
+AC_MSG_CHECKING([the type of arg 3 to accept()])
+AC_CACHE_VAL(ol_cv_type_ber_socklen_t, [
+ set socklen_t int unsigned "unsigned long" long size_t
+ test "$ac_cv_type_socklen_t" = yes || shift
+ ol_cv_type_ber_socklen_t=$1 guessing="guessing "
+ for lentype in "$@" ; do for addrtype in "struct sockaddr" void ; do
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([$ac_includes_default
#ifdef HAVE_SYS_SOCKET_H
#include
#endif
- ])
+extern int accept(int s, $addrtype *ap, $lentype *lp);
+], [
+accept(0, (struct sockaddr *) 0, ($lentype *) 0);
+])], [ol_cv_type_ber_socklen_t=$lentype guessing= ; break 2])
+ done ; done])
+AC_MSG_RESULT([$guessing$ol_cv_type_ber_socklen_t *])
+AC_DEFINE_UNQUOTED(ber_socklen_t, $ol_cv_type_ber_socklen_t,
+ [Define to the type of arg 3 for `accept'.])
+
+dnl Modules should use ber_socklen_t, not socklen_t. Define socklen_t
+dnl for the time being anyway, for backwards compatibility.
+if test "$ac_cv_type_socklen_t" != yes; then
+ AC_DEFINE_UNQUOTED([socklen_t], [$ol_cv_type_ber_socklen_t],
+ [Define like ber_socklen_t if does not define.])
+fi
+
AC_TYPE_SIGNAL
@@ -2429,7 +2341,7 @@ AC_DEFINE(LBER_TAG_T,long,[define to large integer type])
dnl ----------------------------------------------------------------
dnl Check for multiple precision support
if test $ol_with_mp = longlong || test $ol_with_mp = auto ; then
- if test $ac_cv_sizeof_long_long > 4 ; then
+ if test $ac_cv_sizeof_long_long -gt 4 ; then
ol_with_mp=longlong
AC_DEFINE(USE_MP_LONG_LONG,1,[define to use 'long long' for MP])
elif test $ol_with_mp = longlong ; then
@@ -2437,7 +2349,7 @@ if test $ol_with_mp = longlong || test $ol_with_mp = auto ; then
fi
fi
if test $ol_with_mp = long || test $ol_with_mp = auto ; then
- if test $ac_cv_sizeof_long > 4 ; then
+ if test $ac_cv_sizeof_long -gt 4 ; then
ol_with_mp=long
AC_DEFINE(USE_MP_LONG,1,[define to use 'long' for MP])
elif test $ol_with_mp = long ; then
@@ -2459,7 +2371,7 @@ fi
if test $ol_with_mp = gmp || test $ol_with_mp = auto ; then
AC_CHECK_HEADERS(gmp.h)
AC_CHECK_LIB(gmp, __gmpz_add_ui)
- if test $ac_cv_header_gmp_h = yes && test $ac_cv_lib_gmp = yes ; then
+ if test $ac_cv_header_gmp_h = yes && test $ac_cv_lib_gmp___gmpz_add_ui = yes ; then
AC_DEFINE(USE_MP_GMP,1,[define to use GMP for MP])
ol_with_mp=gmp
elif test $ol_with_mp = gmp ; then
@@ -2501,7 +2413,7 @@ if test $ac_cv_func_vprintf = yes ; then
AC_CHECK_FUNCS(snprintf vsnprintf)
fi
-AC_CHECK_FUNCS( \
+AC_CHECK_FUNCS( \
bcopy \
closesocket \
chroot \
@@ -2510,17 +2422,19 @@ AC_CHECK_FUNCS( \
fcntl \
flock \
fstat \
- getdtablesize \
+ getdtablesize \
+ geteuid \
getgrgid \
gethostname \
getpass \
- getpassphrase \
+ getpassphrase \
getpwuid \
getpwnam \
getspnam \
- gettimeofday \
+ gettimeofday \
initgroups \
inet_ntoa_b \
+ ioctl \
lockf \
memcpy \
memmove \
@@ -2580,6 +2494,12 @@ if test "$ac_cv_func_getpeereid" != yes; then
#include
#endif])
fi
+ AC_CHECK_MEMBERS([struct stat.st_fstype, struct stat.st_vfstype])
+ if test "$ac_cv_member_struct_stat_st_fstype" = yes; then
+ AC_COMPILE_IFELSE([struct stat st; char *ptr=st.st_fstype;],
+ AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_CHAR],1,[define to 1 if st_fstype is char *]),
+ AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_INT],1,[define to 1 if st_fstype is int]))
+ fi
fi
LIBSRCS="$LIBSRCS getpeereid.c"
fi
@@ -2627,10 +2547,6 @@ if test "$ol_enable_syslog" = yes ; then
AC_DEFINE(LDAP_SYSLOG,1,
[define this to add syslog code])
fi
-if test "$ol_link_kbind" != no ; then
- AC_DEFINE(LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND,LDAP_VENDOR_VERSION,
- [define to LDAP VENDOR VERSION])
-fi
if test "$ol_enable_proctitle" != no ; then
AC_DEFINE(LDAP_PROCTITLE,1,
[define this for LDAP process title support])
@@ -2687,6 +2603,20 @@ fi
AC_DEFINE(SLAPD_MOD_STATIC,1,[statically linked module])
AC_DEFINE(SLAPD_MOD_DYNAMIC,2,[dynamically linked module])
+dnl back-monitor goes first (well, after back-config)
+if test "$ol_enable_monitor" != no ; then
+ BUILD_SLAPD=yes
+ BUILD_MONITOR=$ol_enable_monitor
+ if test "$ol_enable_monitor" = mod ; then
+ SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
+ MFLAG=SLAPD_MOD_DYNAMIC
+ else
+ SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
+ MFLAG=SLAPD_MOD_STATIC
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_MONITOR,$MFLAG,[define to support cn=Monitor backend])
+fi
+
if test "$ol_enable_bdb" != no ; then
BUILD_SLAPD=yes
BUILD_BDB=$ol_enable_bdb
@@ -2739,19 +2669,6 @@ if test "$ol_enable_ldap" != no ; then
AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
fi
-if test "$ol_link_ldbm" != no && test $ol_enable_ldbm != no; then
- BUILD_SLAPD=yes
- BUILD_LDBM=$ol_enable_ldbm
- if test "$ol_enable_ldbm" = mod ; then
- SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldbm"
- MFLAG=SLAPD_MOD_DYNAMIC
- else
- SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldbm"
- MFLAG=SLAPD_MOD_STATIC
- fi
- AC_DEFINE_UNQUOTED(SLAPD_LDBM,$MFLAG,[define to support LDBM backend])
-fi
-
if test "$ol_enable_meta" != no ; then
BUILD_SLAPD=yes
BUILD_META=$ol_enable_meta
@@ -2766,17 +2683,17 @@ if test "$ol_enable_meta" != no ; then
AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
fi
-if test "$ol_enable_monitor" != no ; then
+if test "$ol_enable_ndb" != no ; then
BUILD_SLAPD=yes
- BUILD_MONITOR=$ol_enable_monitor
- if test "$ol_enable_monitor" = mod ; then
- SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-monitor"
+ BUILD_NDB=$ol_enable_ndb
+ if test "$ol_enable_ndb" = mod ; then
+ SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ndb"
MFLAG=SLAPD_MOD_DYNAMIC
else
- SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-monitor"
+ SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ndb"
MFLAG=SLAPD_MOD_STATIC
fi
- AC_DEFINE_UNQUOTED(SLAPD_MONITOR,$MFLAG,[define to support cn=Monitor backend])
+ AC_DEFINE_UNQUOTED(SLAPD_NDB,$MFLAG,[define to support NDB backend])
fi
if test "$ol_enable_null" != no ; then
@@ -2847,6 +2764,19 @@ if test "$ol_enable_shell" != no ; then
AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend])
fi
+if test "$ol_enable_sock" != no ; then
+ BUILD_SLAPD=yes
+ BUILD_SOCK=$ol_enable_sock
+ if test "$ol_enable_sock" = mod ; then
+ SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sock"
+ MFLAG=SLAPD_MOD_DYNAMIC
+ else
+ SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sock"
+ MFLAG=SLAPD_MOD_STATIC
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_SOCK,$MFLAG,[define to support SOCK backend])
+fi
+
if test "$ol_link_sql" != no ; then
BUILD_SLAPD=yes
BUILD_SQL=$ol_enable_sql
@@ -2872,6 +2802,42 @@ if test "$ol_enable_accesslog" != no ; then
AC_DEFINE_UNQUOTED(SLAPD_OVER_ACCESSLOG,$MFLAG,[define for In-Directory Access Logging overlay])
fi
+if test "$ol_enable_auditlog" != no ; then
+ BUILD_AUDITLOG=$ol_enable_auditlog
+ if test "$ol_enable_auditlog" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS auditlog.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS auditlog.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_AUDITLOG,$MFLAG,[define for Audit Logging overlay])
+fi
+
+if test "$ol_enable_collect" != no ; then
+ BUILD_COLLECT=$ol_enable_collect
+ if test "$ol_enable_collect" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS collect.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS collect.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_COLLECT,$MFLAG,[define for Collect overlay])
+fi
+
+if test "$ol_enable_constraint" != no ; then
+ BUILD_CONSTRAINT=$ol_enable_constraint
+ if test "$ol_enable_constraint" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS constraint.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS constraint.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_CONSTRAINT,$MFLAG,[define for Attribute Constraint overlay])
+fi
+
if test "$ol_enable_dds" != no ; then
BUILD_DDS=$ol_enable_dds
if test "$ol_enable_dds" = mod ; then
@@ -2884,16 +2850,16 @@ if test "$ol_enable_dds" != no ; then
AC_DEFINE_UNQUOTED(SLAPD_OVER_DDS,$MFLAG,[define for Dynamic Directory Services overlay])
fi
-if test "$ol_enable_denyop" != no ; then
- BUILD_DENYOP=$ol_enable_denyop
- if test "$ol_enable_denyop" = mod ; then
+if test "$ol_enable_deref" != no ; then
+ BUILD_DDS=$ol_enable_deref
+ if test "$ol_enable_deref" = mod ; then
MFLAG=SLAPD_MOD_DYNAMIC
- SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS denyop.la"
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS deref.la"
else
MFLAG=SLAPD_MOD_STATIC
- SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS denyop.o"
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS deref.o"
fi
- AC_DEFINE_UNQUOTED(SLAPD_OVER_DENYOP,$MFLAG,[define for Deny Operation overlay])
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_DEREF,$MFLAG,[define for Dynamic Directory Services overlay])
fi
if test "$ol_enable_dyngroup" != no ; then
@@ -2920,16 +2886,16 @@ if test "$ol_enable_dynlist" != no ; then
AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNLIST,$MFLAG,[define for Dynamic List overlay])
fi
-if test "$ol_enable_lastmod" != no ; then
- BUILD_LASTMOD=$ol_enable_lastmod
- if test "$ol_enable_lastmod" = mod ; then
+if test "$ol_enable_memberof" != no ; then
+ BUILD_MEMBEROF=$ol_enable_memberof
+ if test "$ol_enable_memberof" = mod ; then
MFLAG=SLAPD_MOD_DYNAMIC
- SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS lastmod.la"
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS memberof.la"
else
MFLAG=SLAPD_MOD_STATIC
- SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS lastmod.o"
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS memberof.o"
fi
- AC_DEFINE_UNQUOTED(SLAPD_OVER_LASTMOD,$MFLAG,[define for Last Modification overlay])
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_MEMBEROF,$MFLAG,[define for Reverse Group Membership overlay])
fi
if test "$ol_enable_ppolicy" != no ; then
@@ -3053,12 +3019,6 @@ if test "$ol_enable_valsort" != no ; then
AC_DEFINE_UNQUOTED(SLAPD_OVER_VALSORT,$MFLAG,[define for Value Sorting overlay])
fi
-if test "$ol_enable_slurpd" != no &&
- test "$ol_link_threads" != no &&
- test $BUILD_SLAPD = yes ; then
- BUILD_SLURPD=yes
-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
@@ -3102,22 +3062,27 @@ dnl backends
AC_SUBST(BUILD_DNSSRV)
AC_SUBST(BUILD_HDB)
AC_SUBST(BUILD_LDAP)
- AC_SUBST(BUILD_LDBM)
AC_SUBST(BUILD_META)
AC_SUBST(BUILD_MONITOR)
+ AC_SUBST(BUILD_NDB)
AC_SUBST(BUILD_NULL)
AC_SUBST(BUILD_PASSWD)
AC_SUBST(BUILD_RELAY)
AC_SUBST(BUILD_PERL)
AC_SUBST(BUILD_SHELL)
+ AC_SUBST(BUILD_SOCK)
AC_SUBST(BUILD_SQL)
dnl overlays
AC_SUBST(BUILD_ACCESSLOG)
+ AC_SUBST(BUILD_AUDITLOG)
+ AC_SUBST(BUILD_COLLECT)
+ AC_SUBST(BUILD_CONSTRAINT)
AC_SUBST(BUILD_DDS)
AC_SUBST(BUILD_DENYOP)
AC_SUBST(BUILD_DYNGROUP)
AC_SUBST(BUILD_DYNLIST)
AC_SUBST(BUILD_LASTMOD)
+ AC_SUBST(BUILD_MEMBEROF)
AC_SUBST(BUILD_PPOLICY)
AC_SUBST(BUILD_PROXYCACHE)
AC_SUBST(BUILD_REFINT)
@@ -3128,12 +3093,12 @@ dnl overlays
AC_SUBST(BUILD_TRANSLUCENT)
AC_SUBST(BUILD_UNIQUE)
AC_SUBST(BUILD_VALSORT)
-AC_SUBST(BUILD_SLURPD)
AC_SUBST(LDAP_LIBS)
AC_SUBST(SLAPD_LIBS)
-AC_SUBST(SLURPD_LIBS)
-AC_SUBST(LDBM_LIBS)
+AC_SUBST(BDB_LIBS)
+AC_SUBST(SLAPD_NDB_LIBS)
+AC_SUBST(SLAPD_NDB_INCS)
AC_SUBST(LTHREAD_LIBS)
AC_SUBST(LUTIL_LIBS)
AC_SUBST(WRAP_LIBS)
@@ -3154,6 +3119,7 @@ AC_SUBST(MOD_PERL_LDFLAGS)
AC_SUBST(KRB4_LIBS)
AC_SUBST(KRB5_LIBS)
AC_SUBST(SASL_LIBS)
+AC_SUBST(GSSAPI_LIBS)
AC_SUBST(TLS_LIBS)
AC_SUBST(MODULES_LIBS)
AC_SUBST(SLAPI_LIBS)
@@ -3201,20 +3167,20 @@ AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.mk]
[servers/slapd/back-dnssrv/Makefile:build/top.mk:servers/slapd/back-dnssrv/Makefile.in:build/mod.mk]
[servers/slapd/back-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/Makefile.in:build/mod.mk]
[servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.mk]
-[servers/slapd/back-ldbm/Makefile:build/top.mk:servers/slapd/back-ldbm/Makefile.in:build/mod.mk]
[servers/slapd/back-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/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-ndb/Makefile:build/top.mk:servers/slapd/back-ndb/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-relay/Makefile:build/top.mk:servers/slapd/back-relay/Makefile.in:build/mod.mk]
[servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk]
+[servers/slapd/back-sock/Makefile:build/top.mk:servers/slapd/back-sock/Makefile.in:build/mod.mk]
[servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk]
[servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk]
[servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk]
[servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk]
-[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/run]
[tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk])
@@ -3228,7 +3194,7 @@ rm -f $BACKENDSC
cat > $BACKENDSC << ENDX
/* This work is part of OpenLDAP Software .
*
- * Copyright 1998-2006 The OpenLDAP Foundation.
+ * Copyright 1998-2008 The OpenLDAP Foundation.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -3279,7 +3245,7 @@ rm -f $OVERLAYSC
cat > $OVERLAYSC << ENDX
/* This work is part of OpenLDAP Software .
*
- * Copyright 1998-2006 The OpenLDAP Foundation.
+ * Copyright 1998-2008 The OpenLDAP Foundation.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -3327,7 +3293,11 @@ fi
/* end of generated file */
ENDX
-echo Please run \"make depend\" to build dependencies
+if test "${ol_cv_mkdep}" = no; then
+ echo '(Do not "make depend"; we do not know how to build dependencies)'
+else
+ echo 'Please run "make depend" to build dependencies'
+fi
]],[[
STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS"
STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS"