X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=configure.in;h=6bf73baa507358262acf2311c1e7672740639a8c;hb=cd797f80899faba87f81892eeb6e4ffe6587bcdb;hp=5a3d7d5fe6cf60b4f044d6083f445f5d82d18387;hpb=e5ce9009f01987cd10af94cb982bd576849309ec;p=openldap diff --git a/configure.in b/configure.in index 5a3d7d5fe6..6bf73baa50 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-2004 The OpenLDAP Foundation. +dnl Copyright 1998-2005 The OpenLDAP Foundation. dnl All rights reserved. dnl dnl Redistribution and use in source and binary forms, with or without @@ -23,7 +23,7 @@ define([AC_INIT_BINSH], # This work is part of OpenLDAP Software . # -# Copyright 1998-2004 The OpenLDAP Foundation. +# Copyright 1998-2005 The OpenLDAP Foundation. # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -34,7 +34,7 @@ define([AC_INIT_BINSH], # top-level directory of the distribution or, alternatively, at # . -echo "Copyright 1998-2004 The OpenLDAP Foundation. All rights reserved." +echo "Copyright 1998-2005 The OpenLDAP Foundation. All rights reserved." echo " Restrictions apply, see COPYRIGHT and LICENSE files." ])dnl dnl ---------------------------------------------------------------- @@ -104,9 +104,9 @@ AC_SUBST(OPENLDAP_LIBVERSION)dnl OPENLDAP_RELEASE_DATE="$OL_RELEASE_DATE" AC_SUBST(OPENLDAP_RELEASE_DATE)dnl -dnl We use autoconf features new to 2.13. +dnl We use autoconf features new to 2.13. Later versions like won't work. dnl aclocal.m4 should be built using aclocal from automake 1.4 -dnl libtool 1.4.2 should be installed. +dnl libtool 1.4.3 should be installed. AC_PREREQ(2.13)dnl Required Autoconf version AC_CONFIG_HEADER(include/portable.h include/ldap_features.h include/lber_types.h)dnl @@ -171,6 +171,10 @@ 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 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] ) dnl ---------------------------------------------------------------- dnl Server options @@ -195,68 +199,80 @@ OL_ARG_ENABLE(slapi,[ --enable-slapi enable SLAPI support (experimenta OL_ARG_ENABLE(slp,[ --enable-slp enable SLPv2 support], no)dnl OL_ARG_ENABLE(wrappers,[ --enable-wrappers enable tcp wrapper support], no)dnl - -dnl SLAPD Backend options -OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend], yes)dnl -OL_ARG_WITH(bdb_module,[ --with-bdb-module module type static|dynamic], static, - [static dynamic]) -OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend], no)dnl -OL_ARG_WITH(dnssrv_module,[ --with-dnssrv-module module type static|dynamic], static, - [static dynamic]) -OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend], no)dnl -OL_ARG_WITH(hdb_module,[ --with-hdb-module module type static|dynamic], static, - [static dynamic]) -OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend], no)dnl -OL_ARG_WITH(ldap_module,[ --with-ldap-module module type static|dynamic], static, - [static dynamic]) -OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend], no)dnl -OL_ARG_WITH(ldbm_api,[ --with-ldbm-api with LDBM API auto|berkeley|bcompat|mdbm|gdbm], auto, - [auto berkeley bcompat mdbm gdbm]) -OL_ARG_WITH(ldbm_module,[ --with-ldbm-module module type static|dynamic], static, - [static dynamic]) -OL_ARG_WITH(ldbm_type,[ --with-ldbm-type use LDBM type auto|btree|hash], auto, - [auto btree hash]) -OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend], no)dnl -OL_ARG_WITH(meta_module,[ --with-meta-module module type static|dynamic], static, - [static dynamic]) -OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend], yes)dnl -OL_ARG_WITH(monitor_module,[ --with-monitor-module module type static|dynamic], static, - [static dynamic]) -OL_ARG_ENABLE(null,[ --enable-null enable null backend], no)dnl -OL_ARG_WITH(null_module,[ --with-null-module module type static|dynamic], static, - [static dynamic]) -OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend], no)dnl -OL_ARG_WITH(passwd_module,[ --with-passwd-module module type static|dynamic], static, - [static dynamic]) -OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend], no)dnl -OL_ARG_WITH(perl_module,[ --with-perl-module module type static|dynamic], static, - [static dynamic]) -OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend], yes)dnl -OL_ARG_WITH(relay_module,[ --with-relay-module module type static|dynamic], static, - [static dynamic]) -OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend], no)dnl -OL_ARG_WITH(shell_module,[ --with-shell-module module type static|dynamic], static, - [static dynamic]) -OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend], no)dnl -OL_ARG_WITH(sql_module,[ --with-sql-module module type static|dynamic], static, - [static dynamic]) +dnl ---------------------------------------------------------------- +dnl SLAPD Backend Options +Backends="bdb dnssrv hdb ldap ldbm meta monitor null \ + passwd perl relay shell sql" + +AC_ARG_WITH(xxslapbackends,[ +SLAPD Backend Options:]) + +OL_ARG_ENABLE(backends,[ --enable-backends enable all available backends no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(bdb,[ --enable-bdb enable Berkeley DB backend no|yes|mod], + yes, [no yes mod])dnl +OL_ARG_ENABLE(dnssrv,[ --enable-dnssrv enable dnssrv backend no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(ldbm,[ --enable-ldbm enable ldbm backend no|yes|mod], no, + [no yes mod])dnl +OL_ARG_WITH(ldbm_api,[ --with-ldbm-api with LDBM API auto|berkeley|bcompat|mdbm|gdbm], + auto, [auto berkeley bcompat mdbm gdbm]) +OL_ARG_WITH(ldbm_type,[ --with-ldbm-type use LDBM type auto|btree|hash], + auto, [auto btree hash]) +OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend no|yes|mod], + yes, [no yes mod])dnl +OL_ARG_ENABLE(null,[ --enable-null enable null backend no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(passwd,[ --enable-passwd enable passwd backend no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(perl,[ --enable-perl enable perl backend no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(relay,[ --enable-relay enable relay backend no|yes|mod], + yes, [no yes mod])dnl +OL_ARG_ENABLE(shell,[ --enable-shell enable shell backend no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend no|yes|mod], + no, [no yes mod])dnl dnl ---------------------------------------------------------------- dnl SLAPD Overlay Options +Overlays="chain denyop dyngroup glue lastmod ppolicy proxycache rwm \ + refint syncprov unique" + AC_ARG_WITH(xxslapoverlays,[ SLAPD Overlay Options:]) -OL_ARG_ENABLE(chain,[ --enable-chain LDAP Chain Response no|yes|mod], no, - [no yes mod]) -OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay no|yes|mod], no, - [no yes mod]) -OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay no|yes|mod], no, - [no yes mod]) -OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay no|yes|mod], no, - [no yes mod]) -OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay no|yes|mod], no, - [no yes mod]) -OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay no|yes|mod], no, - [no yes mod]) + +OL_ARG_ENABLE(overlays,[ --enable-overlays enable all available overlays no|yes|mod], + no, [no yes mod])dnl +OL_ARG_ENABLE(chain,[ --enable-chain LDAP Chain Response no|yes|mod], + no, [no yes mod]) +OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay no|yes|mod], + no, [no yes mod]) +OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay no|yes|mod], + no, [no yes mod]) +OL_ARG_ENABLE(glue,[ --enable-glue Backend Glue overlay no|yes|mod], + yes, [no yes mod]) +OL_ARG_ENABLE(lastmod,[ --enable-lastmod Last Modification overlay no|yes|mod], + no, [no yes mod]) +OL_ARG_ENABLE(ppolicy,[ --enable-ppolicy Password Policy overlay no|yes|mod], + no, [no yes mod]) +OL_ARG_ENABLE(proxycache,[ --enable-proxycache Proxy Cache overlay no|yes|mod], + no, [no yes mod]) +OL_ARG_ENABLE(refint,[ --enable-refint Referential Integrity overlay no|yes|mod], + no, [no yes mod]) +OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay no|yes|mod], + no, [no yes mod]) +OL_ARG_ENABLE(syncprov,[ --enable-syncprov Syncrepl Provider overlay no|yes|mod], + yes, [no yes mod]) +OL_ARG_ENABLE(unique,[ --enable-unique Attribute Uniqueness overlay no|yes|mod], + no, [no yes mod]) + dnl ---------------------------------------------------------------- dnl SLURPD OPTIONS @@ -273,51 +289,42 @@ AC_ENABLE_SHARED dnl ---------------------------------------------------------------- dnl General "enable" options +# Activate any backends that were not explicitly enabled. +# Note that back_bdb defaults to "yes" so this loop won't touch it. +if test $ol_enable_backends != no ; then + for i in $Backends; do + eval "ol_tmp=\$ol_enable_$i" + if test $ol_tmp = no ; then + eval "ol_enable_$i=$ol_enable_backends" + fi + done +fi +# Activate the overlays +if test $ol_enable_overlays != no ; then + for i in $Overlays; do + eval "ol_tmp=\$ol_enable_$i" + if test $ol_tmp = no ; then + eval "ol_enable_$i=$ol_enable_overlays" + fi + done +fi + # validate options if test $ol_enable_slapd = no ; then dnl SLAPD was specificallly disabled if test $ol_enable_slapi = yes ; then AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument]) fi - if test $ol_enable_bdb = yes ; then - AC_MSG_WARN([slapd disabled, ignoring --enable-bdb argument]) - fi - if test $ol_enable_dnssrv = yes ; then - AC_MSG_WARN([slapd disabled, ignoring --enable-dnssrv argument]) - fi - if test $ol_enable_hdb = yes ; then - AC_MSG_WARN([slapd disabled, ignoring --enable-hdb argument]) - fi - if test $ol_enable_ldap = yes ; then - AC_MSG_WARN([slapd disabled, ignoring --enable-ldap argument]) - fi - if test $ol_enable_ldbm = yes ; then - AC_MSG_WARN([slapd disabled, ignoring --enable-ldbm argument]) - fi - if test $ol_enable_meta = yes ; then - AC_MSG_WARN([slapd disabled, ignoring --enable-meta argument]) - fi - if test $ol_enable_monitor = yes ; then - AC_MSG_WARN([slapd disabled, ignoring --enable-monitor argument]) - fi - if test $ol_enable_null = yes ; then - AC_MSG_WARN([slapd disabled, ignoring --enable-null argument]) - fi - if test $ol_enable_passwd = yes ; then - AC_MSG_WARN([slapd disabled, ignoring --enable-passwd argument]) - fi - if test $ol_enable_perl = yes ; then - AC_MSG_WARN([slapd disabled, ignoring --enable-perl argument]) - fi - if test $ol_enable_relay = yes ; then - AC_MSG_WARN([slapd disabled, ignoring --enable-relay argument]) - fi - if test $ol_enable_shell = yes ; then - AC_MSG_WARN([slapd disabled, ignoring --enable-shell argument]) - fi - if test $ol_enable_sql = yes ; then - AC_MSG_WARN([slapd disabled, ignoring --enable-sql argument]) + if test $ol_enable_backends != no ; then + AC_MSG_WARN([slapd disabled, ignoring --enable-backends argument]) fi + for i in $Backends; do + eval "ol_tmp=\$ol_enable_$i" + if test $ol_tmp != no ; then + AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument]) + eval "ol_enable_$i=no" + fi + done if test $ol_enable_modules = yes ; then AC_MSG_WARN([slapd disabled, ignoring --enable-modules argument]) fi @@ -339,45 +346,6 @@ if test $ol_enable_slapd = no ; then if test $ol_with_ldbm_type != auto ; then AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-type argument]) fi - if test $ol_with_bdb_module != static ; then - AC_MSG_WARN([slapd disabled, ignoring --with-bdb-module argument]) - fi - if test $ol_with_dnssrv_module != static ; then - AC_MSG_WARN([slapd disabled, ignoring --with-dnssrv-module argument]) - fi - if test $ol_with_hdb_module != static ; then - AC_MSG_WARN([slapd disabled, ignoring --with-hdb-module argument]) - fi - if test $ol_with_ldap_module != static ; then - AC_MSG_WARN([slapd disabled, ignoring --with-ldap-module argument]) - fi - if test $ol_with_ldbm_module != static ; then - AC_MSG_WARN([slapd disabled, ignoring --with-ldbm-module argument]) - fi - if test $ol_with_meta_module != static ; then - AC_MSG_WARN([slapd disabled, ignoring --with-meta-module argument]) - fi - if test $ol_with_monitor_module != static ; then - AC_MSG_WARN([slapd disabled, ignoring --with-monitor-module argument]) - fi - if test $ol_with_null_module != static ; then - AC_MSG_WARN([slapd disabled, ignoring --with-null-module argument]) - fi - if test $ol_with_passwd_module != static ; then - AC_MSG_WARN([slapd disabled, ignoring --with-passwd-module argument]) - fi - if test $ol_with_perl_module != static ; then - AC_MSG_WARN([slapd disabled, ignoring --with-perl-module argument]) - fi - if test $ol_with_relay_module != static ; then - AC_MSG_WARN([slapd disabled, ignoring --with-relay-module argument]) - fi - if test $ol_with_shell_module != static ; then - AC_MSG_WARN([slapd disabled, ignoring --with-shell-module argument]) - fi - if test $ol_with_sql_module != static ; then - AC_MSG_WARN([slapd disabled, ignoring --with-sql-module argument]) - fi if test $ol_enable_slurpd = yes ; then AC_MSG_ERROR([slurpd requires slapd]) fi @@ -385,41 +353,22 @@ if test $ol_enable_slapd = no ; then AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument]) fi dnl overlays - if test $ol_with_chain != no ; then - AC_MSG_WARN([slapd disabled, ignoring --with-chain argument]) - fi - if test $ol_with_denyop != no ; then - AC_MSG_WARN([slapd disabled, ignoring --with-denyop argument]) - fi - if test $ol_with_dyngroup != no ; then - AC_MSG_WARN([slapd disabled, ignoring --with-dyngroup argument]) - fi - if test $ol_with_ppolicy != no ; then - AC_MSG_WARN([slapd disabled, ignoring --with-ppolicy argument]) - fi - if test $ol_with_proxycache != no ; then - AC_MSG_WARN([slapd disabled, ignoring --with-proxycache argument]) - fi - if test $ol_with_rwm != no ; then - AC_MSG_WARN([slapd disabled, ignoring --with-rwm argument]) - fi + if test $ol_enable_overlays != no ; then + AC_MSG_WARN([slapd disabled, ignoring --enable-overlays argument]) + fi + for i in $Overlays; do + eval "ol_tmp=\$ol_enable_$i" + if test $ol_tmp != no ; then + AC_MSG_WARN([slapd disabled, ignoring --enable-$i argument]) + eval "ol_enable_$i=no" + fi + done # force settings to no ol_enable_slapi=no - ol_enable_bdb=no - ol_enable_dnssrv=no - ol_enable_hdb=no - ol_enable_ldap=no - ol_enable_ldbm=no - ol_enable_meta=no - ol_enable_monitor=no - ol_enable_null=no - ol_enable_passwd=no - ol_enable_perl=no - ol_enable_relay=no - ol_enable_shell=no - ol_enable_sql=no + ol_enable_backends=no + ol_enable_overlays=no ol_enable_modules=no ol_enable_multimaster=no ol_enable_rlookups=no @@ -429,31 +378,10 @@ if test $ol_enable_slapd = no ; then ol_with_ldbm_api=no ol_with_ldbm_type=no - ol_with_bdb_module=static - ol_with_dnssrv_module=static - ol_with_hdb_module=static - ol_with_ldap_module=static - ol_with_ldbm_module=static - ol_with_meta_module=static - ol_with_monitor_module=static - ol_with_null_module=static - ol_with_passwd_module=static - ol_with_perl_module=static - ol_with_relay_module=static - ol_with_shell_module=static - ol_with_sql_module=static - ol_enable_slurpd=no ol_enable_rewrite=no - ol_enable_chain=no - ol_enable_denyop=no - ol_enable_dyngroup=no - ol_enable_ppolicy=no - ol_enable_proxycache=no - ol_enable_rwm=no - elif test $ol_enable_ldbm = no ; then dnl SLAPD without LDBM @@ -465,10 +393,6 @@ elif test $ol_enable_ldbm = no ; then AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-type argument]) fi - if test $ol_with_ldbm_module != static ; then - AC_MSG_WARN([LDBM disabled, ignoring --with-ldbm-module argument]) - fi - if test $ol_enable_modules != yes -a \ $ol_enable_bdb = no -a \ $ol_enable_dnssrv = no -a \ @@ -493,7 +417,6 @@ elif test $ol_enable_ldbm = no ; then ol_with_ldbm_api=no ol_with_ldbm_type=no - ol_with_ldbm_module=static if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then ol_with_ldbm_api=berkeley @@ -514,19 +437,12 @@ else AC_MSG_ERROR([NDBM only supports LDBM type hash]) fi - if test $ol_enable_bdb = yes -o $ol_enable_hdb = yes ; then + if test $ol_enable_bdb != no -o $ol_enable_hdb != no ; then if test $ol_with_ldbm_api = auto ; then ol_with_ldbm_api=berkeley elif test $ol_with_ldbm_api != berkeley ; then AC_MSG_ERROR([LDBM API not compatible with BDB/HDB]) fi - - elif test $ol_enable_bdb = auto ; then - if test $ol_with_ldbm_api != berkeley \ - -o $ol_with_ldbm_api != auto ; then - AC_MSG_WARN([LDBM API not compatible with BDB, disabling BDB]) - ol_enable_bdb=no - fi fi fi @@ -608,26 +524,17 @@ BUILD_RELAY=no BUILD_SHELL=no BUILD_SQL=no -BUILD_BDB_DYNAMIC=static -BUILD_DNSSRV_DYNAMIC=static -BUILD_HDB_DYNAMIC=static -BUILD_LDAP_DYNAMIC=static -BUILD_LDBM_DYNAMIC=static -BUILD_META_DYNAMIC=static -BUILD_MONITOR_DYNAMIC=static -BUILD_NULL_DYNAMIC=static -BUILD_PASSWD_DYNAMIC=static -BUILD_PERL_DYNAMIC=static -BUILD_RELAY_DYNAMIC=static -BUILD_SHELL_DYNAMIC=static -BUILD_SQL_DYNAMIC=static - BUILD_CHAIN=no BUILD_DENYOP=no BUILD_DYNGROUP=no +BUILD_GLUE=no +BUILD_LASTMOD=no BUILD_PPOLICY=no BUILD_PROXYCACHE=no +BUILD_REFINT=no BUILD_RWM=no +BUILD_SYNCPROV=no +BUILD_UNIQUE=no SLAPD_DYNAMIC_OVERLAYS= @@ -656,12 +563,11 @@ LIBSLAPITOOLS= AUTH_LIBS= SLAPD_SLP_LIBS= +SLAPD_GMP_LIBS= dnl ================================================================ dnl Checks for programs -AC_PROG_INSTALL - AC_DEFINE(HAVE_MKVERSION, 1, [define this if you have mkversion]) dnl ---------------------------------------------------------------- @@ -730,9 +636,6 @@ AC_LIBTOOL_WIN32_DLL AC_LIBTOOL_DLOPEN AC_PROG_LIBTOOL -OL_PROG_LN_H -AC_PROG_LN_S - dnl ---------------------------------------------------------------- dnl Perl ol_link_perl=no @@ -748,7 +651,7 @@ if test $ol_enable_perl != no ; then PERL_CPPFLAGS="`$PERLBIN -MExtUtils::Embed -e ccopts`" PERL_LDFLAGS="`$PERLBIN -MExtUtils::Embed -e ldopts|sed -e 's/ -lc / /' -e 's/ -lc$//'`" - if test x"$ol_with_perl_module" = "xstatic" ; then + if test x"$ol_enable_perl" = "xyes" ; then SLAPD_PERL_LDFLAGS="$PERL_LDFLAGS" else MOD_PERL_LDFLAGS="$PERL_LDFLAGS" @@ -813,6 +716,7 @@ esac dnl ---------------------------------------------------------------- dnl Check for module support ol_link_modules=no +WITH_MODULES_ENABLED=no if test $ol_enable_modules != no ; then AC_CHECK_HEADERS(ltdl.h) @@ -829,45 +733,23 @@ if test $ol_enable_modules != no ; then AC_MSG_ERROR([could not locate libtool -lltdl]) fi ol_link_modules=yes + WITH_MODULES_ENABLED=yes else - ol_with_bdb_module=static - ol_with_dnssrv_module=static - ol_with_hdb_module=static - ol_with_ldap_module=static - ol_with_ldbm_module=static - ol_with_meta_module=static - ol_with_monitor_module=static - ol_with_null_module=static - ol_with_passwd_module=static - ol_with_perl_module=static - ol_with_relay_module=static - ol_with_shell_module=static - ol_with_sql_module=static - if test $ol_enable_chain = mod ; then - AC_MSG_WARN([building static chain overlay]) - ol_enable_chain=yes - fi - if test $ol_enable_denyop = mod ; then - AC_MSG_WARN([building static denyop overlay]) - ol_enable_denyop=yes - fi - if test $ol_enable_dyngroup = mod ; then - AC_MSG_WARN([building static dyngroup overlay]) - ol_enable_dyngroup=yes - fi - if test $ol_enable_ppolicy = mod ; then - AC_MSG_WARN([building static ppolicy overlay]) - ol_enable_ppolicy=yes - fi - if test $ol_enable_proxycache = mod ; then - AC_MSG_WARN([building static proxycache overlay]) - ol_enable_proxycache=yes - fi - if test $ol_enable_rwm = mod ; then - AC_MSG_WARN([building static rwm overlay]) - ol_enable_rwm=yes - fi + for i in $Backends; do + eval "ol_tmp=\$ol_enable_$i" + if test $ol_tmp = mod ; then + AC_MSG_WARN([building static $i backend]) + eval "ol_enable_$i=yes" + fi + done + for i in $Overlays; do + eval "ol_tmp=\$ol_enable_$i" + if test $ol_tmp = mod ; then + AC_MSG_WARN([building static $i overlay]) + eval "ol_enable_$i=yes" + fi + done fi dnl ---------------------------------------------------------------- @@ -1008,6 +890,28 @@ fi dnl check to see if system call automatically restart dnl AC_SYS_RESTARTABLE_SYSCALLS +dnl ---------------------------------------------------------------- +AC_CHECK_FUNCS( poll ) +AC_CHECK_HEADERS( poll.h ) + +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_TRY_RUN( +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)) +fi + +dnl ---------------------------------------------------------------- +# strerror checks +OL_STRERROR + dnl ---------------------------------------------------------------- dnl require POSIX regex AC_CHECK_HEADERS( regex.h ) @@ -1093,6 +997,11 @@ if test $ac_cv_func_res_query = no ; then ac_cv_func_res_query=$ac_cv_lib_resolv___res_query fi +if test $ac_cv_func_res_query = no ; then + AC_CHECK_LIB(resolv, _res_9_query) + ac_cv_func_res_query=$ac_cv_lib_resolv_res_9_query +fi + if test "$ac_cv_func_res_query" = yes ; then AC_DEFINE(HAVE_RES_QUERY,1, [define if you have res_query()]) @@ -1102,10 +1011,12 @@ if test "$ac_cv_func_res_query" = yes ; then fi fi -if test "$ol_enable_dnssrv" = yes -a "$ol_link_dnssrv" = no ; then +if test "$ol_enable_dnssrv" != no -a "$ol_link_dnssrv" = no ; then AC_MSG_ERROR([DNSSRV requires res_query()]) fi +AC_CHECK_FUNCS( hstrerror ) + dnl ---------------------------------------------------------------- dnl PF_INET6 support requires getaddrinfo and INET6_ADDRSTRLEN dnl PF_LOCAL may use getaddrinfo in available @@ -1326,10 +1237,11 @@ fi dnl ---------------------------------------------------------------- dnl TLS/SSL + 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, @@ -1368,6 +1280,13 @@ if test $ol_with_tls != no ; then 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]) + fi fi else @@ -2028,22 +1947,17 @@ if test $ol_with_ldbm_api = auto \ fi fi -if test $ol_enable_bdb = yes -a $ol_link_ldbm != berkeley ; then - AC_MSG_ERROR(BDB: BerkeleyDB not available) -elif test $ol_enable_bdb != no -a $ol_link_ldbm = berkeley ; then - OL_BDB_COMPAT - - if test $ol_cv_bdb_compat = yes ; then - ol_enable_bdb=yes - elif test $ol_enable_bdb = yes ; then - AC_MSG_ERROR([BDB: BerkeleyDB version incompatible]) +if test $ol_enable_bdb != no -o $ol_enable_hdb != no; then + if test $ol_link_ldbm != berkeley ; then + AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available) else - ol_enable_bdb=no + 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_enable_hdb = yes -a $ol_link_ldbm != berkeley ; then - AC_MSG_ERROR([HDB: BerkeleyDB not available]) -fi if test $ol_link_ldbm = no -a $ol_with_ldbm_type = btree ; then AC_MSG_WARN([Could not find LDBM with BTREE support]) @@ -2089,13 +2003,13 @@ if test $ol_with_ldbm_api = ndbm ; then fi if test $ol_link_ldbm = no -a $ol_enable_ldbm != no ; then - AC_MSG_WARN([could not find suitable LDBM backend]) - if test $ol_enable_ldbm = yes ; then - AC_MSG_ERROR([select appropriate LDBM options or disable]) - fi + AC_MSG_ERROR([could not find suitable LDBM backend]) +fi - AC_MSG_WARN(disabling LDBM) - ol_enable_ldbm=no +if test $ol_enable_bdb = yes -o \ + $ol_enable_hdb = yes -o \ + $ol_enable_ldbm = yes ; then + SLAPD_LIBS="$SLAPD_LIBS \$(LDBM_LIBS)" fi dnl ---------------------------------------------------------------- @@ -2202,6 +2116,7 @@ dnl ---------------------------------------------------------------- dnl dnl Check for Cyrus SASL dnl +WITH_SASL=no ol_link_sasl=no ol_link_spasswd=no if test $ol_with_cyrus_sasl != no ; then @@ -2242,6 +2157,8 @@ if test $ol_with_cyrus_sasl != no ; then AC_CHECK_FUNC(sasl_version, [AC_DEFINE(HAVE_SASL_VERSION,1, [define if your SASL library has sasl_version()])]) LIBS="$ac_save_LIBS" + + WITH_SASL=yes fi else @@ -2350,6 +2267,99 @@ 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. @@ -2398,6 +2408,7 @@ fi AC_COMPILE_CHECK_SIZEOF(short) AC_COMPILE_CHECK_SIZEOF(int) AC_COMPILE_CHECK_SIZEOF(long) +AC_COMPILE_CHECK_SIZEOF(wchar_t) if test "$ac_cv_sizeof_int" -lt 4 ; then AC_MSG_WARN([OpenLDAP requires 'int' to be 32 bits or greater.]) @@ -2476,7 +2487,6 @@ AC_CHECK_FUNCS( \ signal \ sigset \ strdup \ - strerror \ strpbrk \ strrchr \ strsep \ @@ -2516,10 +2526,6 @@ if test "$ac_cv_func_snprintf" != yes -o "$ac_cv_func_vsnprintf" != yes; then fi fi -dnl ---------------------------------------------------------------- -# Check Configuration -OL_SYS_ERRLIST - dnl ---------------------------------------------------------------- dnl Sort out defines @@ -2594,202 +2600,176 @@ AC_DEFINE(SLAPD_MOD_STATIC,1,[statically linked module]) AC_DEFINE(SLAPD_MOD_DYNAMIC,2,[dynamically linked module]) if test "$ol_enable_bdb" != no ; then - AC_DEFINE(SLAPD_BDB,1,[define to support BDB backend]) BUILD_SLAPD=yes - BUILD_BDB=yes - if test "$ol_with_bdb_module" != static ; then - AC_DEFINE(SLAPD_BDB_DYNAMIC,1, - [define to support dynamic BDB backend]) - BUILD_BDB=mod - BUILD_BDB_DYNAMIC=shared + BUILD_BDB=$ol_enable_bdb + if test "$ol_enable_bdb" = mod ; then SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-bdb" + MFLAG=SLAPD_MOD_DYNAMIC else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-bdb" + MFLAG=SLAPD_MOD_STATIC fi + AC_DEFINE_UNQUOTED(SLAPD_BDB,$MFLAG,[define to support BDB backend]) fi -if test "$ol_link_dnssrv" != no ; then - AC_DEFINE(SLAPD_DNSSRV,1,[define to support DNS SRV backend]) +if test "$ol_enable_dnssrv" != no ; then BUILD_SLAPD=yes - BUILD_DNSSRV=yes - if test "$ol_with_dnssrv_module" != static ; then - AC_DEFINE(SLAPD_DNSSRV_DYNAMIC,1, - [define to support dynamic DNS SRV backend]) - BUILD_DNSSRV=mod - BUILD_DNSSRV_DYNAMIC=shared + BUILD_DNSSRV=$ol_enable_dnssrv + if test "$ol_enable_dnssrv" = mod ; then SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-dnssrv" + MFLAG=SLAPD_MOD_DYNAMIC else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-dnssrv" + MFLAG=SLAPD_MOD_STATIC fi + AC_DEFINE_UNQUOTED(SLAPD_DNSSRV,$MFLAG,[define to support DNS SRV backend]) fi if test "$ol_enable_hdb" != no ; then - AC_DEFINE(SLAPD_HDB,1,[define to support HDB backend]) BUILD_SLAPD=yes - BUILD_HDB=yes - if test "$ol_with_hdb_module" != static ; then - AC_DEFINE(SLAPD_HDB_DYNAMIC,1, - [define to support dynamic HDB backend]) - BUILD_HDB=mod - BUILD_HDB_DYNAMIC=shared + BUILD_HDB=$ol_enable_hdb + if test "$ol_enable_hdb" = mod ; then SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-hdb" + MFLAG=SLAPD_MOD_DYNAMIC else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-hdb" + MFLAG=SLAPD_MOD_STATIC fi + AC_DEFINE_UNQUOTED(SLAPD_HDB,$MFLAG,[define to support HDB backend]) fi if test "$ol_enable_ldap" != no ; then - AC_DEFINE(SLAPD_LDAP,1,[define to support LDAP backend]) BUILD_SLAPD=yes - BUILD_LDAP=yes - if test "$ol_with_ldap_module" != static ; then - AC_DEFINE(SLAPD_LDAP_DYNAMIC,1, - [define to support dynamic LDAP backend]) - BUILD_LDAP=mod - BUILD_LDAP_DYNAMIC=shared + BUILD_LDAP=$ol_enable_ldap + if test "$ol_enable_ldap" = mod ; then SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldap" + MFLAG=SLAPD_MOD_DYNAMIC else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldap" + MFLAG=SLAPD_MOD_STATIC fi + AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend]) fi if test "$ol_link_ldbm" != no -a $ol_enable_ldbm != no; then - AC_DEFINE(SLAPD_LDBM,1,[define to support LDBM backend]) BUILD_SLAPD=yes - BUILD_LDBM=yes - if test "$ol_with_ldbm_module" != static ; then - AC_DEFINE(SLAPD_LDBM_DYNAMIC,1, - [define to support dynamic LDBM backend]) - BUILD_LDBM=mod - BUILD_LDBM_DYNAMIC=shared + 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 - AC_DEFINE(SLAPD_META,1,[define to support LDAP Metadirectory backend]) BUILD_SLAPD=yes - BUILD_META=yes + BUILD_META=$ol_enable_meta BUILD_REWRITE=yes - if test "$ol_with_meta_module" != static ; then - AC_DEFINE(SLAPD_META_DYNAMIC,1, - [define to support dynamic LDAP Metadirectory backend]) - BUILD_META=mod - BUILD_META_DYNAMIC=shared + if test "$ol_enable_meta" = mod ; then SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-meta" + MFLAG=SLAPD_MOD_DYNAMIC else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-meta" + MFLAG=SLAPD_MOD_STATIC fi + AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend]) fi if test "$ol_enable_monitor" != no ; then - AC_DEFINE(SLAPD_MONITOR,1,[define to support cn=Monitor backend]) BUILD_SLAPD=yes - BUILD_MONITOR=yes - if test "$ol_with_monitor_module" != static ; then - AC_DEFINE(SLAPD_MONITOR_DYNAMIC,1, - [define to support dynamic cn=Monitor backend]) - BUILD_MONITOR=mod - BUILD_MONITOR_DYNAMIC=shared + 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 - AC_DEFINE(SLAPD_NULL,1,[define to support NULL backend]) BUILD_SLAPD=yes - BUILD_NULL=yes - if test "$ol_with_null_module" != static ; then - AC_DEFINE(SLAPD_NULL_DYNAMIC,1, - [define to support dynamic NULL backend]) - BUILD_NULL=mod - BUILD_NULL_DYNAMIC=shared + BUILD_NULL=$ol_enable_null + if test "$ol_enable_null" = mod ; then SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-null" + MFLAG=SLAPD_MOD_DYNAMIC else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-null" + MFLAG=SLAPD_MOD_STATIC fi + AC_DEFINE_UNQUOTED(SLAPD_NULL,$MFLAG,[define to support NULL backend]) fi if test "$ol_enable_passwd" != no ; then - AC_DEFINE(SLAPD_PASSWD,1,[define to support PASSWD backend]) BUILD_SLAPD=yes - BUILD_PASSWD=yes - if test "$ol_with_passwd_module" != static ; then - AC_DEFINE(SLAPD_PASSWD_DYNAMIC,1, - [define to support dynamic PASSWD backend]) - BUILD_PASSWD=mod - BUILD_PASSWD_DYNAMIC=shared + BUILD_PASSWD=$ol_enable_passwd + if test "$ol_enable_passwd" = mod ; then SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-passwd" + MFLAG=SLAPD_MOD_DYNAMIC else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-passwd" + MFLAG=SLAPD_MOD_STATIC fi + AC_DEFINE_UNQUOTED(SLAPD_PASSWD,$MFLAG,[define to support PASSWD backend]) fi if test "$ol_link_perl" != no ; then - AC_DEFINE(SLAPD_PERL,1,[define to support PERL backend]) BUILD_SLAPD=yes - BUILD_PERL=yes - if test "$ol_with_perl_module" != static ; then - AC_DEFINE(SLAPD_PERL_DYNAMIC,1, - [define to support dynamic PERL backend]) - BUILD_PERL=mod - BUILD_PERL_DYNAMIC=shared + BUILD_PERL=$ol_enable_perl + if test "$ol_enable_perl" = mod ; then SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-perl" + MFLAG=SLAPD_MOD_DYNAMIC else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-perl" + MFLAG=SLAPD_MOD_STATIC fi + AC_DEFINE_UNQUOTED(SLAPD_PERL,$MFLAG,[define to support PERL backend]) fi if test "$ol_enable_relay" != no ; then - AC_DEFINE(SLAPD_RELAY,1,[define to support relay backend]) BUILD_SLAPD=yes - BUILD_RELAY=yes - if test "$ol_with_relay_module" != static ; then - AC_DEFINE(SLAPD_RELAY_DYNAMIC,1, - [define to support dynamic relay backend]) - BUILD_RELAY=mod - BUILD_RELAY_DYNAMIC=shared + BUILD_RELAY=$ol_enable_relay + if test "$ol_enable_relay" = mod ; then SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-relay" + MFLAG=SLAPD_MOD_DYNAMIC else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-relay" + MFLAG=SLAPD_MOD_STATIC fi + AC_DEFINE_UNQUOTED(SLAPD_RELAY,$MFLAG,[define to support relay backend]) fi if test "$ol_enable_shell" != no ; then if test "$ol_link_thread" != no ; then AC_MSG_WARN([Use of --without-threads is recommended with back-shell]) fi - AC_DEFINE(SLAPD_SHELL,1,[define to support SHELL backend]) BUILD_SLAPD=yes - BUILD_SHELL=yes - if test "$ol_with_shell_module" != static ; then - AC_DEFINE(SLAPD_SHELL_DYNAMIC,1, - [define to support dynamic SHELL backend]) - BUILD_SHELL=mod - BUILD_SHELL_DYNAMIC=shared + BUILD_SHELL=$ol_enable_shell + if test "$ol_enable_shell" = mod ; then SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-shell" + MFLAG=SLAPD_MOD_DYNAMIC else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-shell" + MFLAG=SLAPD_MOD_STATIC fi + AC_DEFINE_UNQUOTED(SLAPD_SHELL,$MFLAG,[define to support SHELL backend]) fi if test "$ol_link_sql" != no ; then - AC_DEFINE(SLAPD_SQL,1,[define to support SQL backend]) BUILD_SLAPD=yes - BUILD_SQL=yes - if test "$ol_with_sql_module" != static; then - AC_DEFINE(SLAPD_SQL_DYNAMIC,1, - [define to support dynamic SQL backend]) - BUILD_SQL=mod - BUILD_SQL_DYNAMIC=shared + BUILD_SQL=$ol_enable_sql + if test "$ol_enable_sql" = mod; then SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-sql" + MFLAG=SLAPD_MOD_DYNAMIC else SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-sql" + MFLAG=SLAPD_MOD_STATIC fi + AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend]) fi if test "$ol_enable_chain" != no ; then @@ -2825,6 +2805,28 @@ if test "$ol_enable_dyngroup" != no ; then AC_DEFINE_UNQUOTED(SLAPD_OVER_DYNGROUP,$MFLAG,[define for Dynamic Group overlay]) fi +if test "$ol_enable_glue" != no ; then + BUILD_GLUE=$ol_enable_glue + if test "$ol_enable_glue" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS glue.la" + else + MFLAG=SLAPD_MOD_STATIC + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_GLUE,$MFLAG,[define for Backend Glue overlay]) +fi + +if test "$ol_enable_lastmod" != no ; then + BUILD_LASTMOD=$ol_enable_lastmod + if test "$ol_enable_lastmod" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS lastmod.la" + else + MFLAG=SLAPD_MOD_STATIC + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_LASTMOD,$MFLAG,[define for Last Modification overlay]) +fi + if test "$ol_enable_ppolicy" != no ; then BUILD_PPOLICY=$ol_enable_ppolicy if test "$ol_enable_ppolicy" = mod ; then @@ -2847,7 +2849,18 @@ if test "$ol_enable_proxycache" != no ; then AC_DEFINE_UNQUOTED(SLAPD_OVER_PROXYCACHE,$MFLAG,[define for Proxy Cache overlay]) fi -if test "$ol_enable_rwm " != no ; then +if test "$ol_enable_refint" != no ; then + BUILD_REFINT=$ol_enable_refint + if test "$ol_enable_refint" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS refint.la" + else + MFLAG=SLAPD_MOD_STATIC + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_REFINT,$MFLAG,[define for Referential Integrity overlay]) +fi + +if test "$ol_enable_rwm" != no ; then BUILD_REWRITE=yes BUILD_RWM=$ol_enable_rwm if test "$ol_enable_rwm" = mod ; then @@ -2859,6 +2872,28 @@ if test "$ol_enable_rwm " != no ; then AC_DEFINE_UNQUOTED(SLAPD_OVER_RWM,$MFLAG,[define for Rewrite/Remap overlay]) fi +if test "$ol_enable_syncprov" != no ; then + BUILD_SYNCPROV=$ol_enable_syncprov + if test "$ol_enable_syncprov" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS syncprov.la" + else + MFLAG=SLAPD_MOD_STATIC + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_SYNCPROV,$MFLAG,[define for Syncrepl Provider overlay]) +fi + +if test "$ol_enable_unique" != no ; then + BUILD_UNIQUE=$ol_enable_unique + if test "$ol_enable_unique" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS unique.la" + else + MFLAG=SLAPD_MOD_STATIC + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_UNIQUE,$MFLAG,[define for Attribute Uniqueness overlay]) +fi + if test "$ol_enable_slurpd" != no -a "$ol_link_threads" != no -a \ $BUILD_SLAPD = yes ; then BUILD_SLURPD=yes @@ -2889,15 +2924,11 @@ else PLAT=UNIX fi -if test -z "$SLAPD_STATIC_BACKENDS"; then - SLAPD_NO_STATIC='#' -else - SLAPD_NO_STATIC= -fi - AC_SUBST(LIBSRCS) AC_SUBST(PLAT) +AC_SUBST(WITH_SASL) AC_SUBST(WITH_TLS) +AC_SUBST(WITH_MODULES_ENABLED) AC_SUBST(BUILD_LIBS_DYNAMIC) AC_SUBST(BUILD_SLAPD) @@ -2918,27 +2949,18 @@ dnl backends AC_SUBST(BUILD_PERL) AC_SUBST(BUILD_SHELL) AC_SUBST(BUILD_SQL) -dnl backend modules - AC_SUBST(BUILD_BDB_DYNAMIC) - AC_SUBST(BUILD_DNSSRV_DYNAMIC) - AC_SUBST(BUILD_HDB_DYNAMIC) - AC_SUBST(BUILD_LDAP_DYNAMIC) - AC_SUBST(BUILD_LDBM_DYNAMIC) - AC_SUBST(BUILD_META_DYNAMIC) - AC_SUBST(BUILD_MONITOR_DYNAMIC) - AC_SUBST(BUILD_NULL_DYNAMIC) - AC_SUBST(BUILD_PASSWD_DYNAMIC) - AC_SUBST(BUILD_PERL_DYNAMIC) - AC_SUBST(BUILD_RELAY_DYNAMIC) - AC_SUBST(BUILD_SHELL_DYNAMIC) - AC_SUBST(BUILD_SQL_DYNAMIC) dnl overlays AC_SUBST(BUILD_CHAIN) AC_SUBST(BUILD_DENYOP) AC_SUBST(BUILD_DYNGROUP) + AC_SUBST(BUILD_GLUE) + AC_SUBST(BUILD_LASTMOD) AC_SUBST(BUILD_PPOLICY) AC_SUBST(BUILD_PROXYCACHE) + AC_SUBST(BUILD_REFINT) AC_SUBST(BUILD_RWM) + AC_SUBST(BUILD_SYNCPROV) + AC_SUBST(BUILD_UNIQUE) AC_SUBST(BUILD_SLURPD) AC_SUBST(LDAP_LIBS) @@ -2972,6 +2994,7 @@ AC_SUBST(LIBSLAPITOOLS) AC_SUBST(AUTH_LIBS) AC_SUBST(SLAPD_SLP_LIBS) +AC_SUBST(SLAPD_GMP_LIBS) AC_SUBST(SLAPD_SQL_LDFLAGS) AC_SUBST(SLAPD_SQL_LIBS) @@ -3029,5 +3052,57 @@ tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk \ ,[ chmod +x tests/run date > stamp-h +BACKENDSC="servers/slapd/backends.c" +echo "Making $BACKENDSC" +rm -f $BACKENDSC +cat > $BACKENDSC << ENDX +/* This work is part of OpenLDAP Software . + * + * Copyright 1998-2005 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_BACKENDS}"; then + for b in ${STATIC_BACKENDS}; do + bb=`echo "${b}" | sed -e 's/back-//'` + cat >> $BACKENDSC << ENDX +extern BI_init ${bb}_back_initialize; +ENDX + done + + cat >> $BACKENDSC << ENDX + +BackendInfo slap_binfo[[]] = { +ENDX + + for b in ${STATIC_BACKENDS}; do + bb=`echo "${b}" | sed -e 's/back-//'` + echo " Add ${bb} ..." + cat >> $BACKENDSC << ENDX + { "${bb}", ${bb}_back_initialize }, +ENDX + done + + cat >> $BACKENDSC << ENDX + { NULL, NULL }, +}; + +/* end of generated file */ +ENDX +fi + echo Please run \"make depend\" to build dependencies -]) +],[STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS"])