X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=configure.in;h=8fe6c17bb200ea89dfcc3ead347a5cf91362be16;hb=a6e232e7c1c6815b214e5f920459cd63ceeb54e7;hp=0bc82fe9dfe06a586af51f3443c9e41593a70cd5;hpb=117ffbf69f2b754e6a72f0dbd9cb0fbdaad1e878;p=openldap diff --git a/configure.in b/configure.in index 0bc82fe9df..8fe6c17bb2 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-2005 The OpenLDAP Foundation. +dnl Copyright 1998-2007 The OpenLDAP Foundation. dnl All rights reserved. dnl dnl Redistribution and use in source and binary forms, with or without @@ -16,12 +16,18 @@ dnl ---------------------------------------------------------------- dnl Disable config.cache! define([AC_CACHE_LOAD], )dnl define([AC_CACHE_SAVE], )dnl +dnl ---------------------------------------------------------------- +dnl Disable libtool 1.5 support for languages we don't use +define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl +define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl +define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])dnl dnl ================================================================ dnl Configure.in for OpenLDAP -AC_COPYRIGHT([[Copyright 1998-2005 The OpenLDAP Foundation. All rights reserved. +AC_COPYRIGHT([[Copyright 1998-2007 The OpenLDAP Foundation. All rights reserved. Restrictions apply, see COPYRIGHT and LICENSE files.]]) AC_REVISION([$OpenLDAP$]) AC_INIT([OpenLDAP],,[http://www.openldap.org/its/]) +m4_define([AC_PACKAGE_BUGREPORT],[]) AC_CONFIG_SRCDIR(build/version.sh)dnl dnl ---------------------------------------------------------------- dnl OpenLDAP Autoconf Macros @@ -35,7 +41,7 @@ if test -z "$OL_STRING"; then AC_MSG_ERROR([could not determine version]) fi -if test -f "$ac_aux_dir/shtool" -a ! -d $ac_aux_dir/shtool; then +if test -f "$ac_aux_dir/shtool" && test ! -d $ac_aux_dir/shtool; then ac_cv_shtool="$ac_aux_dir/shtool" else AC_MSG_ERROR([no shtool found in $ac_aux_dir]) @@ -87,7 +93,7 @@ AH_TOP([ /* begin of portable.h.pre */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2005 The OpenLDAP Foundation + * Copyright 1998-2007 The OpenLDAP Foundation * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -217,14 +223,13 @@ AC_SUBST(ldap_subdir)dnl dnl ---------------------------------------------------------------- dnl General "enable" options -OL_ARG_ENABLE(debug,[ --enable-debug enable debugging], yes)dnl +dnl set default to traditional to enable the original debug style +OL_ARG_ENABLE(debug,[ --enable-debug enable debugging], yes, [no yes traditional])dnl OL_ARG_ENABLE(dynamic,[ --enable-dynamic enable linking built binaries with dynamic libs], no)dnl 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 @@ -234,19 +239,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 ssleay openssl yes no] ) -OL_ARG_WITH(yielding_select,[ --with-yielding-select with implicitly yielding select], + auto, [auto openssl yes no] ) +OL_ARG_WITH(yielding_select, + [ --with-yielding-select with implicitly yielding select], auto, [auto yes no manual] ) -OL_ARG_WITH(multiple_precision,[ --with-multiple-precision - multiple precision support for statistics - auto|bignum|gmp], - auto, [auto bignum gmp yes no] ) +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|auto], + auto, [auto iodbc unixodbc] ) dnl ---------------------------------------------------------------- dnl Server options @@ -257,14 +262,13 @@ dnl SLAPD OPTIONS AC_ARG_ENABLE(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(dynacl,[ --enable-dynacl enable run-time loadable ACL support (experimental)], no)dnl +OL_ARG_ENABLE(aci,[ --enable-aci enable per-object ACIs (experimental)], no, [no yes mod])dnl OL_ARG_ENABLE(cleartext,[ --enable-cleartext enable cleartext passwords], yes)dnl OL_ARG_ENABLE(crypt,[ --enable-crypt enable crypt(3) passwords], no)dnl OL_ARG_ENABLE(lmpasswd,[ --enable-lmpasswd enable LAN Manager passwords], no)dnl OL_ARG_ENABLE(spasswd,[ --enable-spasswd enable (Cyrus) SASL password verification], no)dnl OL_ARG_ENABLE(modules,[ --enable-modules enable dynamic module support], no)dnl -dnl OL_ARG_ENABLE(multimaster,[ --enable-multimaster enable multimaster replication], no)dnl -ol_enable_multimaster=${ol_enable_multimaster-no} OL_ARG_ENABLE(rewrite,[ --enable-rewrite enable DN rewriting in back-ldap and rwm overlay], auto)dnl OL_ARG_ENABLE(rlookups,[ --enable-rlookups enable reverse lookups of client hostnames], no)dnl OL_ARG_ENABLE(slapi,[ --enable-slapi enable SLAPI support (experimental)], no)dnl @@ -277,7 +281,6 @@ Backends="bdb \ dnssrv \ hdb \ ldap \ - ldbm \ meta \ monitor \ null \ @@ -300,18 +303,6 @@ 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], @@ -332,16 +323,17 @@ OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend], dnl ---------------------------------------------------------------- dnl SLAPD Overlay Options Overlays="accesslog \ - denyop \ + auditlog \ + constraint \ + dds \ dyngroup \ dynlist \ - glue \ - lastmod \ ppolicy \ proxycache \ refint \ retcode \ rwm \ + seqmod \ syncprov \ translucent \ unique \ @@ -354,16 +346,16 @@ 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(denyop,[ --enable-denyop Deny Operation overlay], +OL_ARG_ENABLE(auditlog,[ --enable-auditlog Audit Logging 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(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(glue,[ --enable-glue Backend Glue overlay], - yes, [no yes mod], ol_enable_overlays) -OL_ARG_ENABLE(lastmod,[ --enable-lastmod Last Modification overlay], - no, [no yes mod], ol_enable_overlays) OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay], no, [no yes mod], ol_enable_overlays) OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay], @@ -374,6 +366,8 @@ OL_ARG_ENABLE(retcode,[ --enable-retcode Return Code testing overlay], no, [no yes mod], ol_enable_overlays) 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) 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], @@ -416,23 +410,17 @@ if test $ol_enable_slapd = no ; then if test $ol_enable_modules = yes ; then AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument]) fi - if test $ol_enable_multimaster = yes ; then - AC_MSG_WARN([slapd disabled, ignoring --enable-multimaster argument]) - fi if test $ol_enable_wrappers = yes ; then AC_MSG_WARN([slapd disabled, ignoring --enable-wrappers argument]) fi if test $ol_enable_rlookups = yes ; then AC_MSG_WARN([slapd disabled, ignoring --enable-rlookups argument]) fi - if test $ol_enable_aci = yes ; 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]) + if test $ol_enable_dynacl = yes ; then + AC_MSG_WARN([slapd disabled, ignoring --enable-dynacl argument]) fi - if test $ol_enable_ldbm_type != auto ; then - AC_MSG_WARN([slapd disabled, ignoring --enable-ldbm-type argument]) + 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]) @@ -458,83 +446,39 @@ if test $ol_enable_slapd = no ; then ol_enable_backends= ol_enable_overlays= ol_enable_modules=no - ol_enable_multimaster=no ol_enable_rlookups=no + ol_enable_dynacl=no 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 -a \ - $ol_enable_bdb = no -a \ - $ol_enable_dnssrv = no -a \ - $ol_enable_hdb = no -a \ - $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_relay = no -a \ - $ol_enable_shell = no -a \ - $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 != no -o $ol_enable_hdb != no; then - ol_enable_ldbm_api=berkeley - fi - -else - dnl SLAPD with LDBM - if test $ol_enable_ldbm_api = gdbm -a \ - $ol_enable_ldbm_type = btree ; then - AC_MSG_ERROR([GDBM only supports LDBM type hash]) - fi - if test $ol_enable_ldbm_api = mdbm -a \ - $ol_enable_ldbm_type = btree ; then - AC_MSG_ERROR([MDBM only supports LDBM type hash]) - fi - if test $ol_enable_ldbm_api = ndbm -a \ - $ol_enable_ldbm_type = btree ; then - AC_MSG_ERROR([NDBM only supports LDBM type hash]) - fi - - if test $ol_enable_bdb != no -o $ol_enable_hdb != 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_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 + 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 -if test $ol_enable_meta = yes -a $ol_enable_ldap = no ; then +if test $ol_enable_meta/$ol_enable_ldap = yes/no ; then AC_MSG_ERROR([--enable-meta requires --enable-ldap]) fi @@ -551,22 +495,6 @@ if test $ol_enable_lmpasswd = yes ; then 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]) @@ -579,7 +507,7 @@ AC_MSG_RESULT(done) dnl ---------------------------------------------------------------- dnl Initialize vars LDAP_LIBS= -LDBM_LIBS= +BDB_LIBS= LTHREAD_LIBS= LUTIL_LIBS= @@ -598,7 +526,6 @@ BUILD_BDB=no BUILD_DNSSRV=no BUILD_HDB=no BUILD_LDAP=no -BUILD_LDBM=no BUILD_META=no BUILD_MONITOR=no BUILD_NULL=no @@ -609,16 +536,19 @@ BUILD_SHELL=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_GLUE=no BUILD_LASTMOD=no BUILD_PPOLICY=no BUILD_PROXYCACHE=no BUILD_REFINT=no BUILD_RETCODE=no BUILD_RWM=no +BUILD_SEQMOD=no BUILD_SYNCPROV=no BUILD_TRANSLUCENT=no BUILD_UNIQUE=no @@ -650,6 +580,7 @@ SLAPI_LIBS= LIBSLAPI= LIBSLAPITOOLS= AUTH_LIBS= +ICU_LIBS= SLAPD_SLP_LIBS= SLAPD_GMP_LIBS= @@ -699,10 +630,11 @@ if test $ol_aix_threads = yes ; then fi fi - if test "${CC}" = "cc_r" -o "${CC}" = "xlc_r" ; then + case ${CC} in cc_r | xlc_r) ol_with_threads=posix ol_cv_pthread_create=yes - fi + ;; + esac fi if test -z "${CC}"; then @@ -851,11 +783,11 @@ AC_HEADER_DIRENT AC_HEADER_SYS_WAIT AC_HEADER_TIOCGWINSZ -AC_CHECK_HEADERS( \ +AC_CHECK_HEADERS( \ arpa/inet.h \ - arpa/nameser.h \ + arpa/nameser.h \ assert.h \ - bits/types.h \ + bits/types.h \ conio.h \ crypt.h \ direct.h \ @@ -868,7 +800,6 @@ AC_CHECK_HEADERS( \ libutil.h \ limits.h \ locale.h \ - netinet/tcp.h \ malloc.h \ memory.h \ psap.h \ @@ -885,11 +816,11 @@ AC_CHECK_HEADERS( \ sys/errno.h \ sys/ioctl.h \ sys/param.h \ - sys/resource.h \ - sys/select.h \ - sys/socket.h \ + sys/resource.h \ + sys/select.h \ + sys/socket.h \ sys/stat.h \ - sys/syslog.h \ + sys/syslog.h \ sys/time.h \ sys/types.h \ sys/uio.h \ @@ -897,16 +828,24 @@ AC_CHECK_HEADERS( \ 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] +[$ac_includes_default #include -) +]) -AC_CHECK_HEADERS(sys/ucred.h, [], [], +AC_CHECK_HEADERS( netinet/tcp.h, [], [], +[$ac_includes_default +#include +]) + +AC_CHECK_HEADERS( sys/ucred.h, [], [], [$ac_includes_default #ifdef HAVE_SYS_PARAM_H #include @@ -927,9 +866,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 @@ -989,18 +926,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 ---------------------------------------------------------------- @@ -1009,7 +963,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 @@ -1028,7 +988,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 @@ -1040,6 +1000,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) @@ -1077,7 +1055,7 @@ if test "$ol_cv_lib_resolver" != no ; then fi fi -if test "$ol_enable_dnssrv" = yes -o "$ol_enable_dnssrv" = mod ; then +if test "$ol_enable_dnssrv" = yes || test "$ol_enable_dnssrv" = mod ; then if test "$ol_link_dnssrv" = no ; then AC_MSG_ERROR([DNSSRV requires res_query()]) fi @@ -1093,7 +1071,7 @@ dnl PF_LOCAL may use getaddrinfo in available AC_CHECK_FUNCS( getaddrinfo getnameinfo gai_strerror inet_ntop ) ol_link_ipv6=no -if test $ac_cv_func_getaddrinfo = no -o $ac_cv_func_inet_ntop = no ; then +if test $ac_cv_func_getaddrinfo = no || test $ac_cv_func_inet_ntop = no ; then if test $ol_enable_ipv6 = yes ; then AC_MSG_ERROR([IPv6 support requires getaddrinfo() and inet_ntop()]) fi @@ -1115,14 +1093,14 @@ elif test $ol_enable_ipv6 != no ; then struct sockaddr_storage ss; ]])],[ol_cv_struct_sockaddr_storage=yes],[ol_cv_struct_sockaddr_storage=no])]) - if test $ol_cv_inet6_addrstrlen = yes \ - -a $ol_cv_struct_sockaddr_storage = yes ; then + if test $ol_cv_inet6_addrstrlen = yes && + test $ol_cv_struct_sockaddr_storage = yes ; then ol_link_ipv6=yes - elif test $ol_enable_ipv6 = yes \ - -a $ol_cv_inet6_addrstrlen = no ; then + elif test $ol_enable_ipv6 = yes && + test $ol_cv_inet6_addrstrlen = no ; then AC_MSG_ERROR([IPv6 support requires INET6_ADDRSTRLEN]) - elif test $ol_enable_ipv6 = yes \ - -a $ol_cv_struct_sockaddr_storage = no ; then + elif test $ol_enable_ipv6 = yes && + test $ol_cv_struct_sockaddr_storage = no ; then AC_MSG_ERROR([IPv6 support requires struct sockaddr_storage]) fi fi @@ -1137,242 +1115,66 @@ if test $ol_enable_local != no ; then fi fi -dnl ---------------------------------------------------------------- -dnl Kerberos -ol_link_kbind=no -ol_link_krb5=no -ol_link_krb4=no - -if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \ - -o $ol_with_kerberos = k5 -o $ol_with_kerberos = k5only \ - -o $ol_with_kerberos = k425 ; then - - 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 -fi - -if test $ol_link_krb5 = yes -a \( $ol_with_kerberos = yes -o \ - $ol_with_kerberos = auto -o $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 - -if test $ol_with_kerberos = yes -o $ol_with_kerberos = auto \ - -o $ol_with_kerberos = k4 -o $ol_with_kerberos = kth ; then - - 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 -fi - -if test $ol_link_krb4 = yes -a $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 -o $ol_link_krb5 = yes ; then - AC_DEFINE(HAVE_KERBEROS, 1, [define if you have Kerberos]) - -elif test $ol_with_kerberos != auto -a $ol_with_kerberos != no ; then - AC_MSG_ERROR([Kerberos 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 - AC_CHECK_HEADERS(openssl/ssl.h ssl.h) - - if test $ac_cv_header_openssl_ssl_h = yes \ - -o $ac_cv_header_ssl_h = yes ; then - AC_CHECK_LIB(ssl, SSLeay_add_ssl_algorithms, - [have_ssleay=yes - need_rsaref=no], - [have_ssleay=no], +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 + AC_CHECK_LIB(ssl, SSL_library_init, + [have_openssl=yes + need_rsaref=no], [have_openssl=no], [-lcrypto]) - - if test $have_ssleay = no ; then - AC_CHECK_LIB(ssl, SSL_library_init, - [have_ssleay=yes - need_rsaref=no], [have_ssleay=no], - [-lcrypto]) - fi - if test $have_ssleay = no ; then + if test $have_openssl = no ; then AC_CHECK_LIB(ssl, ssl3_accept, - [have_ssleay=yes - need_rsaref=yes], [have_ssleay=no], + [have_openssl=yes + need_rsaref=yes], [have_openssl=no], [-lcrypto -lRSAglue -lrsaref]) fi - if test $have_ssleay = yes ; then - ol_with_tls=found + if test $have_openssl = yes ; then + ol_with_tls=openssl ol_link_tls=yes - AC_DEFINE(HAVE_SSLEAY, 1, - [define if you have SSLeay or OpenSSL]) + AC_DEFINE(HAVE_OPENSSL, 1, + [define if you have OpenSSL]) if test $need_rsaref = yes; then AC_DEFINE(HAVE_RSAREF, 1, - [define if you have RSAref]) + [define if OpenSSL needs RSAref]) TLS_LIBS="-lssl -lcrypto -lRSAglue -lrsaref" 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 - -else - AC_MSG_WARN([TLS data protection not supported!]) 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 ---------------------------------------------------------------- @@ -1389,8 +1191,7 @@ dnl ---------------------------------------------------------------- dnl Threads? ol_link_threads=no -if test $ol_with_threads = auto -o $ol_with_threads = yes \ - -o $ol_with_threads = nt ; then +case $ol_with_threads in auto | yes | nt) OL_NT_THREADS @@ -1406,10 +1207,10 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \ if test $ol_with_threads = nt ; then AC_MSG_ERROR([could not locate NT Threads]) fi -fi + ;; +esac -if test $ol_with_threads = auto -o $ol_with_threads = yes \ - -o $ol_with_threads = posix ; then +case $ol_with_threads in auto | yes | posix) AC_CHECK_HEADERS(pthread.h) @@ -1525,9 +1326,9 @@ dnl [ol_cv_pthread_lpthread_lexc]) dnl check for both, and thr_yield for Solaris AC_CHECK_FUNCS(sched_yield pthread_yield thr_yield) - if test $ac_cv_func_sched_yield = no -a \ - $ac_cv_func_pthread_yield = no -a \ - $ac_cv_func_thr_yield = no ; then + if test $ac_cv_func_sched_yield = no && + test $ac_cv_func_pthread_yield = no && + test $ac_cv_func_thr_yield = no ; then dnl Digital UNIX has sched_yield() in -lrt AC_CHECK_LIB(rt, sched_yield, [LTHREAD_LIBS="$LTHREAD_LIBS -lrt" @@ -1536,14 +1337,29 @@ dnl [ol_cv_pthread_lpthread_lexc]) ac_cv_func_sched_yield=yes], [ac_cv_func_sched_yield=no]) fi - if test $ac_cv_func_sched_yield = no -a \ - $ac_cv_func_pthread_yield = no -a \ - "$ac_cv_func_thr_yield" = no ; then + if test $ac_cv_func_sched_yield = no && + test $ac_cv_func_pthread_yield = no && + test "$ac_cv_func_thr_yield" = no ; then AC_MSG_WARN([could not locate sched_yield() or pthread_yield()]) 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. @@ -1592,6 +1408,19 @@ dnl [ol_cv_pthread_lpthread_lexc]) AC_MSG_ERROR([pthread_create is not usable, check environment settings]) fi + ol_replace_broken_yield=no +dnl case "$target" in +dnl *-*-linux*) +dnl AC_CHECK_FUNCS(nanosleep) +dnl ol_replace_broken_yield=yes +dnl ;; +dnl esac + + if test $ol_replace_broken_yield = yes ; then + AC_DEFINE([REPLACE_BROKEN_YIELD],1, + [define if sched_yield yields the entire process]) + fi + dnl Check if select causes an yield if test $ol_with_yielding_select = auto ; then AC_CACHE_CHECK([if select yields when using pthreads], @@ -1691,10 +1520,10 @@ int main(argc, argv) if test $ol_with_threads = posix ; then AC_MSG_ERROR([could not locate POSIX Threads]) fi -fi + ;; +esac -if test $ol_with_threads = auto -o $ol_with_threads = yes \ - -o $ol_with_threads = mach ; then +case $ol_with_threads in auto | yes | mach) dnl check for Mach CThreads AC_CHECK_HEADERS(mach/cthreads.h cthreads.h) @@ -1756,10 +1585,10 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \ elif test $ol_with_threads = found ; then AC_MSG_ERROR([could not link with Mach CThreads]) fi -fi + ;; +esac -if test $ol_with_threads = auto -o $ol_with_threads = yes \ - -o $ol_with_threads = pth ; then +case $ol_with_threads in auto | yes | pth) AC_CHECK_HEADERS(pth.h) @@ -1777,14 +1606,15 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \ fi fi fi -fi + ;; +esac -if test $ol_with_threads = auto -o $ol_with_threads = yes \ - -o $ol_with_threads = lwp ; then +case $ol_with_threads in auto | yes | lwp) dnl check for SunOS5 LWP AC_CHECK_HEADERS(thread.h synch.h) - if test $ac_cv_header_thread_h = yes -a $ac_cv_header_synch_h = yes ; then + if test $ac_cv_header_thread_h = yes && + test $ac_cv_header_synch_h = yes ; then AC_CHECK_LIB(thread, thr_create, [have_thr=yes], [have_thr=no]) if test $have_thr = yes ; then @@ -1821,7 +1651,8 @@ if test $ol_with_threads = auto -o $ol_with_threads = yes \ fi fi fi -fi + ;; +esac if test $ol_with_yielding_select = yes ; then AC_DEFINE(HAVE_YIELDING_SELECT,1, @@ -1843,7 +1674,7 @@ if test $ol_with_threads = manual ; then AC_CHECK_HEADERS(thread.h synch.h) fi -if test $ol_link_threads != no -a $ol_link_threads != nt ; then +if test $ol_link_threads != no && test $ol_link_threads != nt ; then dnl needed to get reentrant/threadsafe versions dnl AC_DEFINE(REENTRANT,1) @@ -1868,8 +1699,8 @@ if test $ol_link_threads != no -a $ol_link_threads != nt ; then AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[h_errno = 0;]])],[ol_cv_h_errno_thread_specific=yes],[ol_cv_h_errno_thread_specific=no]) ]) - if test $ol_cv_errno_thread_specific != yes \ - -o $ol_cv_h_errno_thread_specific != yes ; then + if test $ol_cv_errno_thread_specific != yes || + test $ol_cv_h_errno_thread_specific != yes ; then LIBS="$LTHREAD_LIBS $LIBS" LTHREAD_LIBS="" fi @@ -1938,6 +1769,9 @@ if test $ol_link_threads = no ; then AC_DEFINE(NO_THREADS,1, [define if you have (or want) no threads]) LTHREAD_LIBS="" + BUILD_THREAD=no +else + BUILD_THREAD=yes fi if test $ol_link_threads != no ; then @@ -1972,109 +1806,38 @@ else fi dnl ---------------------------------------------------------------- -ol_link_ldbm=no - -if test $ol_enable_ldbm_api = auto \ - -o $ol_enable_ldbm_api = berkeley \ - -o $ol_enable_ldbm_api = bcompat ; then - - 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_bdb=no - ol_link_ldbm=berkeley - ol_enable_ldbm_api=berkeley +if test $ol_enable_bdb/$ol_enable_hdb != no/no; then + OL_BERKELEY_DB - 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 -fi - -if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then - if test $ol_link_ldbm != berkeley ; then + if test $ol_cv_berkeley_db = no ; 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 -a $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 -o $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 + AC_DEFINE(HAVE_BERKELEY_DB,1, + [define this if Berkeley DB is available]) -if test $ol_enable_ldbm_api = auto -o $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 + 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_enable_ldbm_api = ndbm ; then - OL_NDBM - if test $ol_cv_ndbm = yes ; then - ol_link_ldbm=ndbm - ol_enable_ldbm_api=ndbm + OL_BDB_COMPAT - if test $ol_cv_lib_ndbm != yes ; then - LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm" - fi + if test $ol_cv_bdb_compat != yes ; then + AC_MSG_ERROR([BDB/HDB: BerkeleyDB version incompatible]) fi -fi -if test $ol_link_ldbm = no -a $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 -o \ - $ol_enable_hdb = yes -o \ - $ol_enable_ldbm = yes ; then - SLAPD_LIBS="$SLAPD_LIBS \$(LDBM_LIBS)" + ol_link_bdb=yes fi dnl ---------------------------------------------------------------- -if test $ol_enable_dynamic = yes -a $enable_shared = yes ; then +if test $ol_enable_dynamic = yes && test $enable_shared = yes ; then BUILD_LIBS_DYNAMIC=shared AC_DEFINE(LDAP_LIBS_DYNAMIC, 1, [define if LDAP libs are dynamic]) LTSTATIC="" @@ -2132,7 +1895,7 @@ fi dnl ---------------------------------------------------------------- if test $ol_enable_syslog != no ; then AC_CHECK_FUNC(openlog) - if test $ac_cv_func_openlog = no -a $ol_enable_syslog = yes; then + if test $ac_cv_func_openlog = no && test $ol_enable_syslog = yes; then AC_MSG_ERROR(could not find syslog, select appropriate options or disable) fi ol_enable_syslog=$ac_cv_func_openlog @@ -2149,16 +1912,34 @@ 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" 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 + ;; + + *) + AC_MSG_ERROR([unknown ODBC library]) + ;; + esac + fi + done + LIBS="$sql_LIBS" if test $ol_link_sql != no ; then @@ -2169,6 +1950,14 @@ if test $ol_enable_sql != no ; then fi fi +dnl ---------------------------------------------------------------- +dnl International Components for Unicode +OL_ICU +if test "$ol_icu" = no ; then + AC_MSG_WARN([ICU not available]) +else + ICU_LIBS="$ol_icu" +fi dnl ---------------------------------------------------------------- dnl dnl Check for Cyrus SASL @@ -2179,7 +1968,8 @@ ol_link_spasswd=no if test $ol_with_cyrus_sasl != no ; then AC_CHECK_HEADERS(sasl/sasl.h sasl.h) - if test $ac_cv_header_sasl_sasl_h = yes -o $ac_cv_header_sasl_h = yes; then + if test $ac_cv_header_sasl_sasl_h = yes || + test $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, @@ -2227,7 +2017,7 @@ fi dnl ---------------------------------------------------------------- dnl Check for entropy sources -if test $cross_compiling != yes -a "$ac_cv_mingw32" != yes ; then +if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes ; then dev=no if test -r /dev/urandom ; then dev="/dev/urandom"; @@ -2308,7 +2098,6 @@ if test $ol_enable_proctitle != no ; then fi dnl ---------------------------------------------------------------- -dnl Check for SLPv2 Compliant API Library if test $ol_enable_slp != no ; then AC_CHECK_HEADERS( slp.h ) @@ -2324,99 +2113,6 @@ if test $ol_enable_slp != no ; then fi fi -dnl ---------------------------------------------------------------- -dnl Check for multiple precision support -if test "$ol_with_multiple_precision" != "no" ; then - ol_have_bignum=no - ol_have_gmp=no - - AC_CHECK_HEADERS(openssl/bn.h bn.h) - AC_CHECK_HEADERS(openssl/crypto.h crypto.h) - AC_CHECK_HEADERS( gmp.h ) - - if test "$ol_with_tls" = "found" ; then - ol_have_bn_h=no - ol_have_crypto_h=no - - if test "$ac_cv_header_openssl_bn_h" = "yes" \ - -o "$ac_cv_header_bn_h" = "yes" ; then - ol_have_bn_h=yes - fi - - if test "$ac_cv_header_openssl_crypto_h" = "yes" \ - -o "$ac_cv_header_crypto_h" = "yes" ; then - ol_have_crypto_h=yes - fi - - if test "$ol_have_bn_h" = "yes" \ - -a "$ol_have_crypto_h" = "yes" ; then - ol_have_bignum=yes - fi - fi - - if test $ac_cv_header_gmp_h = yes ; then - AC_CHECK_LIB(gmp, __gmpz_add_ui, [have_gmp=yes], [have_gmp=no]) - if test $have_gmp = yes ; then - ol_have_gmp=yes - fi - fi - - AC_MSG_CHECKING([for multiple precision support]) - - ol_mp_support="none" - case "$ol_with_multiple_precision" in - auto) - dnl preferred sequence: - dnl - OpenSSL's BIGNUM (if libssl is already linked) - dnl - GNU's MP - dnl - unsigned long - if test "$ol_have_bignum" = "yes" ; then - ol_mp_support="bignum" - else - if test "$ol_have_gmp" = "yes" ; then - ol_mp_support="gmp" - fi - fi - ;; - bignum) - if test "$ol_have_bignum" != "yes" ; then - AC_MSG_ERROR([OpenSSL's BIGNUM not available]) - fi - ol_mp_support="bignum" - ;; - gmp) - if test "$ol_have_gmp" != "yes" ; then - AC_MSG_ERROR([GMP not available]) - fi - ol_mp_support="gmp" - ;; - yes) - if test "$ol_have_bignum" = "yes" ; then - ol_mp_support="bignum" - elif test "$ol_have_gmp" = "yes" ; then - ol_mp_support="gmp" - else - AC_MSG_ERROR([not available]) - fi - ;; - esac - - case "$ol_mp_support" in - bignum) - AC_DEFINE(HAVE_BIGNUM, 1, - [define if you have SSLeay or OpenSSL's BIGNUM]) - ;; - gmp) - AC_DEFINE(HAVE_GMP, 1, [define if you have -lgmp]) - SLAPD_GMP_LIBS=-lgmp - ;; - none) - ;; - esac - - AC_MSG_RESULT($ol_mp_support) -fi - dnl ---------------------------------------------------------------- dnl Checks for typedefs, structures, and compiler characteristics. @@ -2472,6 +2168,7 @@ fi AC_CHECK_SIZEOF(short) AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(long) +AC_CHECK_SIZEOF(long long) AC_CHECK_SIZEOF(wchar_t) if test "$ac_cv_sizeof_int" -lt 4 ; then @@ -2486,6 +2183,50 @@ AC_DEFINE(LBER_LEN_T,long,[define to large integer type]) AC_DEFINE(LBER_SOCKET_T,int,[define to socket descriptor type]) 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 -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 + AC_MSG_ERROR([long long unusable for multiple precision]) + fi +fi +if test $ol_with_mp = long || test $ol_with_mp = auto ; 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 + AC_MSG_ERROR([long unusable for multiple precision]) + fi +fi +if test $ol_with_mp = bignum || test $ol_with_mp = auto ; then + AC_CHECK_HEADERS(openssl/bn.h) + AC_CHECK_HEADERS(openssl/crypto.h) + if test "$ac_cv_header_openssl_bn_h" = "yes" && + test "$ac_cv_header_openssl_crypto_h" = "yes" && + test "$ol_with_tls" = "found" ; then + ol_with_mp=bignum + AC_DEFINE(USE_MP_BIGNUM,1,[define to use OpenSSL BIGNUM for MP]) + elif test $ol_with_mp = bignum ; then + AC_MSG_ERROR([bignum not available]) + fi +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___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 + AC_MSG_ERROR([gmp not available]) + fi +fi +if test $ol_with_mp = auto ; then + ol_with_mp=no +fi + dnl ---------------------------------------------------------------- dnl Checks for library functions. AC_FUNC_MEMCMP @@ -2517,7 +2258,7 @@ if test $ac_cv_func_vprintf = yes ; then AC_CHECK_FUNCS(snprintf vsnprintf) fi -AC_CHECK_FUNCS( \ +AC_CHECK_FUNCS( \ bcopy \ closesocket \ chroot \ @@ -2526,19 +2267,22 @@ AC_CHECK_FUNCS( \ fcntl \ flock \ fstat \ - getdtablesize \ + getdtablesize \ getgrgid \ gethostname \ getpass \ - getpassphrase \ + getpassphrase \ getpwuid \ getpwnam \ getspnam \ - gettimeofday \ + gettimeofday \ initgroups \ + inet_ntoa_b \ + ioctl \ lockf \ memcpy \ memmove \ + memrchr \ mkstemp \ mktemp \ pipe \ @@ -2564,7 +2308,6 @@ AC_CHECK_FUNCS( \ strtoll \ strspn \ sysconf \ - usleep \ waitpid \ wait4 \ write \ @@ -2579,22 +2322,28 @@ AC_REPLACE_FUNCS(getopt getpeereid) if test "$ac_cv_func_getopt" != yes; then LIBSRCS="$LIBSRCS getopt.c" fi + if test "$ac_cv_func_getpeereid" != yes; then - AC_CHECK_MEMBERS([struct msghdr.msg_accrightslen],,, - [$ac_includes_default + AC_CHECK_FUNCS( getpeerucred ) + if test "$ac_cv_func_getpeerucred" != yes ; then + AC_CHECK_MEMBERS([struct msghdr.msg_accrightslen],,, + [$ac_includes_default #ifdef HAVE_SYS_SOCKET_H #include #endif]) - if test "$ac_cv_member_struct_msghdr_msg_accrightslen" != yes; then - AC_CHECK_MEMBERS([struct msghdr.msg_control],,, - [$ac_includes_default + if test "$ac_cv_member_struct_msghdr_msg_accrightslen" != yes; then + AC_CHECK_MEMBERS([struct msghdr.msg_control],,, + [$ac_includes_default #ifdef HAVE_SYS_SOCKET_H #include #endif]) + fi fi LIBSRCS="$LIBSRCS getpeereid.c" fi -if test "$ac_cv_func_snprintf" != yes -o "$ac_cv_func_vsnprintf" != yes; then + +if test "$ac_cv_func_snprintf" != yes || + test "$ac_cv_func_vsnprintf" != yes; then if test "$ac_cv_func_snprintf" != yes; then AC_DEFINE(snprintf, ber_pvt_snprintf, [define to snprintf routine]) fi @@ -2625,6 +2374,10 @@ if test "$ol_enable_slapi" != no ; then fi if test "$ol_enable_debug" != no ; then + if test "$ol_enable_debug" = traditional; then + AC_DEFINE(OLD_DEBUG,1, + [define to use the original debug style]) + fi AC_DEFINE(LDAP_DEBUG,1, [define this to add debugging code]) fi @@ -2632,10 +2385,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]) @@ -2659,14 +2408,28 @@ fi if test "$ol_link_spasswd" != no ; then AC_DEFINE(SLAPD_SPASSWD,1,[define to support SASL passwords]) fi -if test "$ol_enable_multimaster" != no ; then - AC_DEFINE(SLAPD_MULTIMASTER,1,[define to support multimaster replication]) -fi if test "$ol_enable_rlookups" != no ; then AC_DEFINE(SLAPD_RLOOKUPS,1,[define to support reverse lookups]) fi if test "$ol_enable_aci" != no ; then - AC_DEFINE(SLAPD_ACI_ENABLED,1,[define to support per-object ACIs]) + if test $ol_enable_dynacl = no ; then + ol_enable_dynacl=yes + AC_MSG_WARN([ACIs need dynacl]) + fi + if test "$ol_enable_aci" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + dnl remove this after moving servers/slapd/aci.c in contrib/slapd-modules/acl + AC_MSG_ERROR([ACI build as dynamic module not supported (yet)]) + else + MFLAG=SLAPD_MOD_STATIC + fi + WITH_ACI_ENABLED=$ol_enable_aci + AC_DEFINE_UNQUOTED(SLAPD_ACI_ENABLED,$MFLAG,[define to support per-object ACIs]) +else + WITH_ACI_ENABLED=no +fi +if test "$ol_enable_dynacl" != no ; then + AC_DEFINE(SLAP_DYNACL,1,[define to support run-time loadable ACL]) fi if test "$ol_link_modules" != no ; then @@ -2678,6 +2441,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 @@ -2730,19 +2507,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 -a $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 @@ -2757,19 +2521,6 @@ 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 - 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_null" != no ; then BUILD_SLAPD=yes BUILD_NULL=$ol_enable_null @@ -2863,64 +2614,64 @@ 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_denyop" != no ; then - BUILD_DENYOP=$ol_enable_denyop - if test "$ol_enable_denyop" = mod ; then +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 denyop.la" + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS auditlog.la" else MFLAG=SLAPD_MOD_STATIC - SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS denyop.o" + SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS auditlog.o" fi - AC_DEFINE_UNQUOTED(SLAPD_OVER_DENYOP,$MFLAG,[define for Dynamic Group overlay]) + AC_DEFINE_UNQUOTED(SLAPD_OVER_AUDITLOG,$MFLAG,[define for Audit Logging overlay]) fi -if test "$ol_enable_dyngroup" != no ; then - BUILD_DYNGROUP=$ol_enable_dyngroup - if test "$ol_enable_dyngroup" = mod ; then +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 dyngroup.la" + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS constraint.la" else MFLAG=SLAPD_MOD_STATIC - SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dyngroup.o" + SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS constraint.o" fi - AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay]) + AC_DEFINE_UNQUOTED(SLAPD_OVER_CONSTRAINT,$MFLAG,[define for Attribute Constraint overlay]) fi -if test "$ol_enable_dynlist" != no ; then - BUILD_DYNLIST=$ol_enable_dynlist - if test "$ol_enable_dynlist" = mod ; then +if test "$ol_enable_dds" != no ; then + BUILD_DDS=$ol_enable_dds + if test "$ol_enable_dds" = mod ; then MFLAG=SLAPD_MOD_DYNAMIC - SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dynlist.la" + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dds.la" else MFLAG=SLAPD_MOD_STATIC - SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dynlist.o" + SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dds.o" fi - AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNLIST,$MFLAG,[define for Dynamic List overlay]) + AC_DEFINE_UNQUOTED(SLAPD_OVER_DDS,$MFLAG,[define for Dynamic Directory Services overlay]) fi -if test "$ol_enable_glue" != no ; then - BUILD_GLUE=$ol_enable_glue - if test "$ol_enable_glue" = mod ; then +if test "$ol_enable_dyngroup" != no ; then + BUILD_DYNGROUP=$ol_enable_dyngroup + if test "$ol_enable_dyngroup" = mod ; then MFLAG=SLAPD_MOD_DYNAMIC - SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS glue.la" + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dyngroup.la" else MFLAG=SLAPD_MOD_STATIC - SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS glue.o" + SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dyngroup.o" fi - AC_DEFINE_UNQUOTED(SLAPD_OVER_GLUE,$MFLAG,[define for Backend Glue overlay]) + AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group 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_dynlist" != no ; then + BUILD_DYNLIST=$ol_enable_dynlist + if test "$ol_enable_dynlist" = mod ; then MFLAG=SLAPD_MOD_DYNAMIC - SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS lastmod.la" + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dynlist.la" else MFLAG=SLAPD_MOD_STATIC - SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS lastmod.o" + SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dynlist.o" fi - AC_DEFINE_UNQUOTED(SLAPD_OVER_LASTMOD,$MFLAG,[define for Last Modification overlay]) + AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNLIST,$MFLAG,[define for Dynamic List overlay]) fi if test "$ol_enable_ppolicy" != no ; then @@ -2984,6 +2735,18 @@ if test "$ol_enable_rwm" != no ; then AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay]) fi +if test "$ol_enable_seqmod" != no ; then + BUILD_SEQMOD=$ol_enable_seqmod + if test "$ol_enable_seqmod" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS seqmod.la" + else + MFLAG=SLAPD_MOD_STATIC + SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS seqmod.o" + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_SEQMOD,$MFLAG,[define for Sequential Modify overlay]) +fi + if test "$ol_enable_syncprov" != no ; then BUILD_SYNCPROV=$ol_enable_syncprov if test "$ol_enable_syncprov" = mod ; then @@ -3032,8 +2795,9 @@ 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 -a "$ol_link_threads" != no -a \ - $BUILD_SLAPD = yes ; then +if test "$ol_enable_slurpd" != no && + test "$ol_link_threads" != no && + test $BUILD_SLAPD = yes ; then BUILD_SLURPD=yes fi @@ -3067,6 +2831,8 @@ AC_SUBST(PLAT) AC_SUBST(WITH_SASL) AC_SUBST(WITH_TLS) AC_SUBST(WITH_MODULES_ENABLED) +AC_SUBST(WITH_ACI_ENABLED) +AC_SUBST(BUILD_THREAD) AC_SUBST(BUILD_LIBS_DYNAMIC) AC_SUBST(BUILD_SLAPD) @@ -3078,7 +2844,6 @@ 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_NULL) @@ -3089,16 +2854,19 @@ dnl backends AC_SUBST(BUILD_SQL) dnl overlays AC_SUBST(BUILD_ACCESSLOG) + AC_SUBST(BUILD_AUDITLOG) + AC_SUBST(BUILD_CONSTRAINT) + AC_SUBST(BUILD_DDS) AC_SUBST(BUILD_DENYOP) AC_SUBST(BUILD_DYNGROUP) AC_SUBST(BUILD_DYNLIST) - AC_SUBST(BUILD_GLUE) AC_SUBST(BUILD_LASTMOD) 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_SYNCPROV) AC_SUBST(BUILD_TRANSLUCENT) AC_SUBST(BUILD_UNIQUE) @@ -3108,7 +2876,7 @@ 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(LTHREAD_LIBS) AC_SUBST(LUTIL_LIBS) AC_SUBST(WRAP_LIBS) @@ -3135,6 +2903,7 @@ AC_SUBST(SLAPI_LIBS) AC_SUBST(LIBSLAPI) AC_SUBST(LIBSLAPITOOLS) AC_SUBST(AUTH_LIBS) +AC_SUBST(ICU_LIBS) AC_SUBST(SLAPD_SLP_LIBS) AC_SUBST(SLAPD_GMP_LIBS) @@ -3175,7 +2944,6 @@ 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] @@ -3202,7 +2970,7 @@ rm -f $BACKENDSC cat > $BACKENDSC << ENDX /* This work is part of OpenLDAP Software . * - * Copyright 1998-2005 The OpenLDAP Foundation. + * Copyright 1998-2007 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -3247,7 +3015,63 @@ ENDX /* end of generated file */ ENDX fi +OVERLAYSC="servers/slapd/overlays/statover.c" +echo "Making $OVERLAYSC" +rm -f $OVERLAYSC +cat > $OVERLAYSC << ENDX +/* This work is part of OpenLDAP Software . + * + * Copyright 1998-2007 The OpenLDAP Foundation. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted only as authorized by the OpenLDAP + * Public License. + * + * A copy of this license is available in the file LICENSE in the + * top-level directory of the distribution or, alternatively, at + * . + */ +/* This file is automatically generated by configure; please do not edit. */ + +#include "portable.h" +#include "slap.h" + +ENDX +if test "${STATIC_OVERLAYS}"; then + for o in ${STATIC_OVERLAYS}; do + oo=`echo "${o}" | sed -e 's/.o$//' -e 's/_x$//'` + cat >> $OVERLAYSC << ENDX +extern OV_init ${oo}_initialize; +ENDX + done +fi + +cat >> $OVERLAYSC << ENDX + +OverlayInit slap_oinfo[] = { +ENDX + +if test "${STATIC_OVERLAYS}"; then + for o in ${STATIC_OVERLAYS}; do + oo=`echo "${o}" | sed -e 's/.o$//' -e 's/_x$//'` + echo " Add ${oo} ..." + cat >> $OVERLAYSC << ENDX + { "${oo}", ${oo}_initialize }, +ENDX + done +fi + + cat >> $OVERLAYSC << ENDX + { NULL, NULL }, +}; + +/* end of generated file */ +ENDX echo Please run \"make depend\" to build dependencies -]],[[STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS"]]) +]],[[ +STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS" +STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS" +]]) AC_OUTPUT