X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=configure.in;h=792cf0cd7da87fae39dca56961bcad11cf8b3d38;hb=1d420df7178eb5fa491e40dbba517b89ede7fae5;hp=67925e43351ff505eacb70a97c6bcfb297dbac2f;hpb=6a64f4bc24816d644fd31b725e6f2545c934dd05;p=openldap diff --git a/configure.in b/configure.in index 67925e4335..792cf0cd7d 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-2012 The OpenLDAP Foundation. dnl All rights reserved. dnl dnl Redistribution and use in source and binary forms, with or without @@ -23,9 +23,9 @@ 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-2012 The OpenLDAP Foundation. All rights reserved. Restrictions apply, see COPYRIGHT and LICENSE files.]]) -AC_REVISION([$OpenLDAP$]) +AC_REVISION([$Id$]) AC_INIT([OpenLDAP],,[http://www.openldap.org/its/]) m4_define([AC_PACKAGE_BUGREPORT],[]) AC_CONFIG_SRCDIR(build/version.sh)dnl @@ -50,15 +50,20 @@ 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 - OPENLDAP_CVS="(from CVS sources) " +OPENLDAP_REPO="" +if test -d $ac_aux_dir/../.git; then + OPENLDAP_REPO="(from Git clone) " +elif test -d $ac_aux_dir/CVS; then + OPENLDAP_REPO="(from CVS checkout) " fi -echo "Configuring ${TB}${OL_STRING}${TN} ${OPENLDAP_CVS}..." +echo "Configuring ${TB}${OL_STRING}${TN} ${OPENLDAP_REPO}..." dnl Determine host platform dnl we try not to use this for much @@ -93,7 +98,7 @@ AH_TOP([ /* begin of portable.h.pre */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2006 The OpenLDAP Foundation + * Copyright 1998-2012 The OpenLDAP Foundation * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -230,8 +235,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 +244,19 @@ 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(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|moznss], + auto, [auto openssl gnutls moznss 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,13 +286,16 @@ Backends="bdb \ dnssrv \ hdb \ ldap \ + mdb \ meta \ monitor \ + ndb \ null \ passwd \ perl \ relay \ shell \ + sock \ sql" AC_ARG_ENABLE(xxslapbackends,[ @@ -305,10 +311,14 @@ 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(mdb,[ --enable-mdb enable mdb database backend], + yes, [no yes mod], ol_enable_backends)dnl 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], @@ -319,6 +329,8 @@ 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 @@ -326,17 +338,20 @@ dnl ---------------------------------------------------------------- dnl SLAPD Overlay Options Overlays="accesslog \ auditlog \ + collect \ + constraint \ dds \ - denyop \ + deref \ dyngroup \ dynlist \ - lastmod \ + memberof \ ppolicy \ proxycache \ refint \ retcode \ rwm \ seqmod \ + sssvlv \ syncprov \ translucent \ unique \ @@ -351,15 +366,19 @@ OL_ARG_ENABLE(accesslog,[ --enable-accesslog In-Directory Access Logging ov 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) @@ -372,7 +391,9 @@ OL_ARG_ENABLE(retcode,[ --enable-retcode Return Code testing overlay], OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay], no, [no yes mod], ol_enable_overlays) OL_ARG_ENABLE(seqmod,[ --enable-seqmod Sequential Modify overlay], - yes, [no yes mod], ol_enable_overlays) + no, [no yes mod], ol_enable_overlays) +OL_ARG_ENABLE(sssvlv,[ --enable-sssvlv ServerSideSort/VLV overlay], + no, [no yes mod], ol_enable_overlays) OL_ARG_ENABLE(syncprov,[ --enable-syncprov Syncrepl Provider overlay], yes, [no yes mod], ol_enable_overlays) OL_ARG_ENABLE(translucent,[ --enable-translucent Translucent Proxy overlay], @@ -382,12 +403,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]) @@ -427,9 +442,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_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 @@ -456,8 +468,6 @@ if test $ol_enable_slapd = no ; then ol_enable_aci=no ol_enable_wrappers=no - ol_enable_slurpd=no - ol_enable_rewrite=no elif test $ol_enable_modules != yes && @@ -465,13 +475,16 @@ elif test $ol_enable_modules != yes && test $ol_enable_dnssrv = no && test $ol_enable_hdb = no && test $ol_enable_ldap = no && + test $ol_enable_mdb = 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 @@ -487,35 +500,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]) @@ -529,14 +519,14 @@ dnl ---------------------------------------------------------------- dnl Initialize vars LDAP_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 @@ -547,28 +537,35 @@ BUILD_BDB=no BUILD_DNSSRV=no BUILD_HDB=no BUILD_LDAP=no +BUILD_MDB=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_DEREF=no BUILD_DYNGROUP=no BUILD_DYNLIST=no BUILD_LASTMOD=no +BUILD_MEMBEROF=no BUILD_PPOLICY=no BUILD_PROXYCACHE=no BUILD_REFINT=no BUILD_RETCODE=no BUILD_RWM=no BUILD_SEQMOD=no +BUILD_SSSVLV=no BUILD_SYNCPROV=no BUILD_TRANSLUCENT=no BUILD_UNIQUE=no @@ -598,7 +595,6 @@ TLS_LIBS= MODULES_LIBS= SLAPI_LIBS= LIBSLAPI= -LIBSLAPITOOLS= AUTH_LIBS= ICU_LIBS= @@ -703,12 +699,14 @@ if test $ol_enable_perl != no ; then fi AC_PROG_CPP +OL_MSVC dnl ---------------------------------------------------------------- dnl Checks for Windows NT case $host_os in *mingw32* ) ac_cv_mingw32=yes ;; *cygwin* ) ac_cv_cygwin=yes ;; + *interix* ) ac_cv_interix=yes ;; esac dnl ---------------------------------------------------------------- @@ -833,9 +831,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 \ @@ -844,14 +844,21 @@ 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 \ + -o "$ac_cv_interix" = yes \ + -o "$ol_cv_msvc" = yes +then + AC_CHECK_HEADERS( winsock.h winsock2.h ) +fi + AC_CHECK_HEADERS( resolv.h, [], [], [$ac_includes_default #include @@ -880,39 +887,48 @@ if test $ac_cv_func_sigaction = no && test $ac_cv_func_sigaction = no ; then AC_CHECK_LIB(V3, sigset) fi +if test $ol_cv_msvc = yes ; then + ol_cv_winsock=yes +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 -AC_CACHE_CHECK([for winsock], [ol_cv_winsock], -save_LIBS="$LIBS" -for curlib in ws2_32 wsock32; do - LIBS="$LIBS -l$curlib" - AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include +if test "$ac_cv_header_winsock_h" = yes; then + AC_CACHE_CHECK([for winsock], [ol_cv_winsock],[ + save_LIBS="$LIBS" + for curlib in none ws2_32 wsock32; do + if test $curlib != none ; then + LIBS="$save_LIBS -l$curlib" + fi + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[ socket(0,0,0); select(0,NULL,NULL,NULL,NULL); closesocket(0); gethostname(NULL,0); - ]])],[ol_cv_winsock=yes],[ol_cv_winsock=no]) - - if test $ol_cv_winsock = yes; then - AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock]) - ac_cv_func_socket=yes - ac_cv_func_select=yes - ac_cv_func_closesocket=yes - ac_cv_func_gethostname=yes - if test $curlib = ws2_32; then - ol_cv_winsock=winsock2 - AC_DEFINE(HAVE_WINSOCK2, 1, - [define if you have winsock2]) + ]])],[ol_cv_winsock=$curlib],[ol_cv_winsock=no]) + + test "$ol_cv_winsock" != no && break + done + LIBS="$save_LIBS" + ]) + + if test $ol_cv_winsock != no ; then + AC_DEFINE(HAVE_WINSOCK, 1, [define if you have winsock]) + ac_cv_func_socket=yes + ac_cv_func_select=yes + ac_cv_func_closesocket=yes + ac_cv_func_gethostname=yes + + if test $ol_cv_winsock != none -a $ol_cv_winsock != yes ; then + LIBS="$LIBS -l$ol_cv_winsock" fi - break + + if test $ol_cv_winsock = ws2_32 -o $ol_cv_winsock = yes ; then + AC_DEFINE(HAVE_WINSOCK2, 1, [define if you have winsock2]) + fi fi - LIBS="$save_LIBS" -done) fi dnl Find socket() @@ -923,7 +939,7 @@ dnl -linet AC_CHECK_FUNC(socket, :, [ dnl hopefully we won't include too many libraries AC_CHECK_LIB(socket, main) - AC_CHECK_LIB(net, main) + AC_CHECK_LIB(net, socket) AC_CHECK_LIB(nsl_s, main) AC_CHECK_LIB(nsl, main) AC_CHECK_LIB(inet, socket) @@ -945,27 +961,49 @@ 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 ---------------------------------------------------------------- -# strerror checks 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 @@ -982,12 +1020,14 @@ dnl UUID Support have_uuid=no AC_CHECK_HEADERS(sys/uuid.h) +dnl The HAVE_UUID_TO_STR code path also needs uuid_create 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], :) + AC_SEARCH_LIBS([uuid_create], [uuid], :, [have_uuid=no]) LIBS="$save_LIBS" - if test have_uuid = yes ; then + if test $have_uuid = yes ; then AC_DEFINE(HAVE_UUID_TO_STR,1, [define if you have uuid_to_str()]) @@ -996,6 +1036,26 @@ if test $ac_cv_header_sys_uuid_h = yes ; then fi fi +dnl Look for uuid_generate +dnl The HAVE_UUID_GENERATE code path also needs uuid_unparse_lower +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], :) + AC_SEARCH_LIBS([uuid_unparse_lower], [uuid], :, [have_uuid=no]) + 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) @@ -1093,174 +1153,6 @@ if test $ol_enable_local != no ; then fi 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]) - - 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]) - - AC_DEFINE(HAVE_HEIMDAL_KERBEROS, 1, - [define if you have HEIMDAL Kerberos]) - - else - have_krb5=no - AC_MSG_WARN([Unrecognized Kerberos5 Implementation]) - 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]) - 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]) -fi - dnl ---------------------------------------------------------------- dnl TLS/SSL @@ -1310,6 +1202,53 @@ if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then fi fi +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 + +dnl NOTE: caller must specify -I/path/to/nspr4 and -I/path/to/nss3 +dnl and -L/path/to/nspr4 libs and -L/path/to/nss3 libs if those libs +dnl are not in the default system location +if test $ol_link_tls = no ; then + if test $ol_with_tls = moznss || test $ol_with_tls = auto ; then + have_moznss=no + AC_CHECK_HEADERS([nssutil.h]) + if test "$ac_cv_header_nssutil_h" = yes ; then + AC_CHECK_LIB([nss3], [NSS_Initialize], + [ have_moznss=yes ], [ have_moznss=no ]) + fi + + if test "$have_moznss" = yes ; then + ol_with_tls=moznss + ol_link_tls=yes + AC_DEFINE(HAVE_MOZNSS, 1, + [define if you have MozNSS]) + TLS_LIBS="-lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4" + else + if test $ol_with_tls = moznss ; then + AC_MSG_ERROR([MozNSS not found - please specify the location to the NSPR and NSS header files in CPPFLAGS and the location to the NSPR and NSS libraries in LDFLAGS (if not in the system location)]) + fi + fi + fi +fi + WITH_TLS=no if test $ol_link_tls = yes ; then AC_DEFINE(HAVE_TLS, 1, [define if you have TLS]) @@ -1490,7 +1429,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. @@ -1620,7 +1574,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(); @@ -1765,23 +1719,6 @@ case $ol_with_threads in auto | yes | lwp) ) fi fi - - dnl check for SunOS4 LWP - AC_CHECK_HEADERS(lwp/lwp.h) - if test $ac_cv_header_lwp_lwp_h = yes ; then - AC_CHECK_LIB(lwp, lwp_create, [have_lwp=yes], [have_lwp=no]) - - if test $have_lwp = yes ; then - AC_DEFINE(HAVE_LWP,1, - [if you have SunOS LWP package]) - LTHREAD_LIBS="$LTHREAD_LIBS -llwp" - ol_link_threads=lwp - - if test $ol_with_yielding_select = auto ; then - ol_with_yielding_select=no - fi - fi - fi ;; esac @@ -1801,7 +1738,6 @@ if test $ol_with_threads = manual ; then OL_HEADER_LINUX_THREADS AC_CHECK_HEADERS(mach/cthreads.h) - AC_CHECK_HEADERS(lwp/lwp.h) AC_CHECK_HEADERS(thread.h synch.h) fi @@ -1914,6 +1850,7 @@ dnl ---------------------------------------------------------------- dnl Tests for reentrant functions necessary to build -lldap_r AC_CHECK_FUNCS( \ ctime_r \ + gmtime_r localtime_r \ gethostbyname_r gethostbyaddr_r \ ) @@ -1955,12 +1892,6 @@ if test $ol_enable_bdb/$ol_enable_hdb != no/no; then BDB_LIBS="$BDB_LIBS $ol_cv_lib_db" fi - OL_BDB_COMPAT - - if test $ol_cv_bdb_compat != yes ; then - AC_MSG_ERROR([BDB/HDB: BerkeleyDB version incompatible]) - fi - SLAPD_LIBS="$SLAPD_LIBS \$(BDB_LIBS)" ol_link_bdb=yes @@ -2043,16 +1974,56 @@ 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]) + + dnl The windows API uses __stdcall which cannot be detected by AC_CHECK_LIB + if test $have_odbc32 = no ; then + AC_MSG_CHECKING([for SQLDriverConnect in -lodbc32 with windows.h]) + save_LIBS="$LIBS" + LIBS="$LIBS -lodbc32" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include + #include + ]], [[ + SQLDriverConnect(NULL,NULL,NULL,0,NULL,0,NULL,0); + ]])],[have_odbc32=yes], [have_odbc32=no]) + LIBS="$save_LIBS" + AC_MSG_RESULT($have_odbc32) + fi + + 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 @@ -2063,6 +2034,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 @@ -2159,7 +2171,7 @@ if test $ol_with_fetch != no ; then OL_LIB_FETCH if test $ol_cv_lib_fetch != no ; then - LUTIL_LIBS="$LUTIL_LIBS $ol_link_fetch" + LIBS="$LIBS $ol_link_fetch" ol_link_fetch=freebsd elif test $ol_with_fetch != auto ; then @@ -2239,14 +2251,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 @@ -2329,7 +2370,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 @@ -2360,9 +2401,12 @@ AC_CHECK_FUNC(_snprintf, [ac_cv_func_snprintf=yes AC_DEFINE(snprintf, _snprintf, [define to snprintf routine]) ]) -AC_CHECK_FUNC(_vsnprintf, [ac_cv_func_vsnprintf=yes +AC_CHECK_FUNCS(vsnprintf _vsnprintf) + +if test $ac_cv_func_vsnprintf = no -a $ac_cv_func__vsnprintf = yes ; then + ac_cv_func_vsnprintf=yes AC_DEFINE(vsnprintf, _vsnprintf, [define to vsnprintf routine]) -]) +fi AC_FUNC_VPRINTF @@ -2371,7 +2415,7 @@ if test $ac_cv_func_vprintf = yes ; then AC_CHECK_FUNCS(snprintf vsnprintf) fi -AC_CHECK_FUNCS( \ +AC_CHECK_FUNCS( \ bcopy \ closesocket \ chroot \ @@ -2380,17 +2424,18 @@ 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 \ @@ -2418,6 +2463,7 @@ AC_CHECK_FUNCS( \ strtoq \ strtouq \ strtoll \ + strtoull \ strspn \ sysconf \ waitpid \ @@ -2450,6 +2496,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 @@ -2477,8 +2529,7 @@ if test "$ol_enable_slapi" != no ; then fi AC_CHECK_LIB(ltdl, lt_dlinit, [ SLAPI_LIBS=-lltdl - LIBSLAPI=libslapi.a - LIBSLAPITOOLS=../libslapi.a + LIBSLAPI=slapi/libslapi.la AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl]) ],[AC_MSG_ERROR([could not locate libtool -lltdl])]) @@ -2497,10 +2548,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]) @@ -2557,6 +2604,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 @@ -2609,6 +2670,19 @@ if test "$ol_enable_ldap" != no ; then AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend]) fi +if test "$ol_enable_mdb" != no ; then + BUILD_SLAPD=yes + BUILD_MDB=$ol_enable_mdb + if test "$ol_enable_mdb" = mod ; then + SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-mdb" + MFLAG=SLAPD_MOD_DYNAMIC + else + SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-mdb" + MFLAG=SLAPD_MOD_STATIC + fi + AC_DEFINE_UNQUOTED(SLAPD_MDB,$MFLAG,[define to support MDB backend]) +fi + if test "$ol_enable_meta" != no ; then BUILD_SLAPD=yes BUILD_META=$ol_enable_meta @@ -2623,17 +2697,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 @@ -2704,6 +2778,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 @@ -2741,6 +2828,30 @@ if test "$ol_enable_auditlog" != no ; then 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 @@ -2753,16 +2864,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_DEREF=$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 @@ -2789,16 +2900,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 @@ -2874,6 +2985,18 @@ if test "$ol_enable_seqmod" != no ; then AC_DEFINE_UNQUOTED(SLAPD_OVER_SEQMOD,$MFLAG,[define for Sequential Modify overlay]) fi +if test "$ol_enable_sssvlv" != no ; then + BUILD_SSSVLV=$ol_enable_sssvlv + if test "$ol_enable_sssvlv" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS sssvlv.la" + else + MFLAG=SLAPD_MOD_STATIC + SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS sssvlv.o" + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_SSSVLV,$MFLAG,[define for ServerSideSort/VLV overlay]) +fi + if test "$ol_enable_syncprov" != no ; then BUILD_SYNCPROV=$ol_enable_syncprov if test "$ol_enable_syncprov" = mod ; then @@ -2922,12 +3045,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 @@ -2946,7 +3063,7 @@ dnl For Windows build, we don't want to include -dlopen flags. dnl They hurt more than they help. dnl -if test "$ac_cv_mingw32" = yes ; then +if test "$ac_cv_mingw32" = yes -o $ol_cv_msvc = yes ; then PLAT=NT SLAPD_MODULES_LDFLAGS= else @@ -2971,38 +3088,46 @@ dnl backends AC_SUBST(BUILD_DNSSRV) AC_SUBST(BUILD_HDB) AC_SUBST(BUILD_LDAP) + AC_SUBST(BUILD_MDB) 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_DEREF) 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) AC_SUBST(BUILD_RETCODE) AC_SUBST(BUILD_RWM) AC_SUBST(BUILD_SEQMOD) + AC_SUBST(BUILD_SSSVLV) AC_SUBST(BUILD_SYNCPROV) 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(BDB_LIBS) +AC_SUBST(SLAPD_NDB_LIBS) +AC_SUBST(SLAPD_NDB_INCS) AC_SUBST(LTHREAD_LIBS) AC_SUBST(LUTIL_LIBS) AC_SUBST(WRAP_LIBS) @@ -3027,7 +3152,6 @@ AC_SUBST(TLS_LIBS) AC_SUBST(MODULES_LIBS) AC_SUBST(SLAPI_LIBS) AC_SUBST(LIBSLAPI) -AC_SUBST(LIBSLAPITOOLS) AC_SUBST(AUTH_LIBS) AC_SUBST(ICU_LIBS) @@ -3071,18 +3195,20 @@ AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.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-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/Makefile.in:build/mod.mk] +[servers/slapd/back-mdb/Makefile:build/top.mk:servers/slapd/back-mdb/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]) @@ -3096,7 +3222,7 @@ rm -f $BACKENDSC cat > $BACKENDSC << ENDX /* This work is part of OpenLDAP Software . * - * Copyright 1998-2006 The OpenLDAP Foundation. + * Copyright 1998-2012 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -3147,7 +3273,7 @@ rm -f $OVERLAYSC cat > $OVERLAYSC << ENDX /* This work is part of OpenLDAP Software . * - * Copyright 1998-2006 The OpenLDAP Foundation. + * Copyright 1998-2012 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -3195,7 +3321,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"