dnl $OpenLDAP$
dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
dnl
-dnl Copyright 1998-2005 The OpenLDAP Foundation.
+dnl Copyright 1998-2006 The OpenLDAP Foundation.
dnl All rights reserved.
dnl
dnl Redistribution and use in source and binary forms, with or without
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-2006 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],[<http://www.openldap.org/its/>])
AC_CONFIG_SRCDIR(build/version.sh)dnl
dnl ----------------------------------------------------------------
dnl OpenLDAP Autoconf Macros
/* begin of portable.h.pre */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 1998-2005 The OpenLDAP Foundation
+ * Copyright 1998-2006 The OpenLDAP Foundation
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
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
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])
dnl ----------------------------------------------------------------
dnl Server 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
dnssrv \
hdb \
ldap \
- ldbm \
meta \
monitor \
null \
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],
dnl ----------------------------------------------------------------
dnl SLAPD Overlay Options
Overlays="accesslog \
+ auditlog \
+ constraint \
+ dds \
denyop \
dyngroup \
dynlist \
refint \
retcode \
rwm \
+ seqmod \
syncprov \
translucent \
unique \
--, [no yes mod])dnl
OL_ARG_ENABLE(accesslog,[ --enable-accesslog In-Directory Access Logging overlay],
no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(auditlog,[ --enable-auditlog Audit Logging overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(constraint,[ --enable-constraint Attribute Constraint overlay],
+ no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(dds,[ --enable-dds Dynamic Directory Services overlay],
+ no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay],
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(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],
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])
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 &&
- test $ol_enable_bdb = no &&
- test $ol_enable_dnssrv = no &&
- test $ol_enable_hdb = no &&
- test $ol_enable_ldap = no &&
- test $ol_enable_meta = no &&
- test $ol_enable_monitor = no &&
- test $ol_enable_null = no &&
- test $ol_enable_passwd = no &&
- test $ol_enable_perl = no &&
- test $ol_enable_relay = no &&
- test $ol_enable_shell = no &&
- test $ol_enable_sql = no ; then
-
- if test $ol_enable_slapd = yes ; then
- AC_MSG_ERROR([slapd requires a backend])
- else
- AC_MSG_WARN([skipping slapd, no backend specified])
- ol_enable_slapd=no
- fi
- fi
-
- ol_enable_ldbm_api=no
- ol_enable_ldbm_type=no
-
- if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
- ol_enable_ldbm_api=berkeley
- fi
-
-else
- dnl SLAPD with LDBM
- if test $ol_enable_ldbm_api = gdbm &&
- test $ol_enable_ldbm_type = btree ; then
- AC_MSG_ERROR([GDBM only supports LDBM type hash])
- fi
- if test $ol_enable_ldbm_api = mdbm &&
- test $ol_enable_ldbm_type = btree ; then
- AC_MSG_ERROR([MDBM only supports LDBM type hash])
- fi
- if test $ol_enable_ldbm_api = ndbm &&
- test $ol_enable_ldbm_type = btree ; then
- AC_MSG_ERROR([NDBM only supports LDBM type hash])
- fi
-
- if test $ol_enable_bdb/$ol_enable_hdb != no/no ; then
- if test $ol_enable_ldbm_api = auto ; then
- ol_enable_ldbm_api=berkeley
- elif test $ol_enable_ldbm_api != berkeley ; then
- AC_MSG_ERROR([LDBM API not compatible with BDB/HDB])
- fi
+elif test $ol_enable_modules != yes &&
+ test $ol_enable_bdb = no &&
+ test $ol_enable_dnssrv = no &&
+ test $ol_enable_hdb = no &&
+ test $ol_enable_ldap = no &&
+ test $ol_enable_meta = no &&
+ test $ol_enable_monitor = no &&
+ test $ol_enable_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
dnl ----------------------------------------------------------------
dnl Initialize vars
LDAP_LIBS=
-LDBM_LIBS=
+BDB_LIBS=
LTHREAD_LIBS=
LUTIL_LIBS=
BUILD_DNSSRV=no
BUILD_HDB=no
BUILD_LDAP=no
-BUILD_LDBM=no
BUILD_META=no
BUILD_MONITOR=no
BUILD_NULL=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_REFINT=no
BUILD_RETCODE=no
BUILD_RWM=no
+BUILD_SEQMOD=no
BUILD_SYNCPROV=no
BUILD_TRANSLUCENT=no
BUILD_UNIQUE=no
LIBSLAPI=
LIBSLAPITOOLS=
AUTH_LIBS=
+ICU_LIBS=
SLAPD_SLP_LIBS=
SLAPD_GMP_LIBS=
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 \
libutil.h \
limits.h \
locale.h \
- netinet/tcp.h \
malloc.h \
memory.h \
psap.h \
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 \
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 <netinet/in.h>
-)
+])
-AC_CHECK_HEADERS(sys/ucred.h, [], [],
+AC_CHECK_HEADERS( netinet/tcp.h, [], [],
+[$ac_includes_default
+#include <netinet/in.h>
+])
+
+AC_CHECK_HEADERS( sys/ucred.h, [], [],
[$ac_includes_default
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
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
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 ||
- test $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 ----------------------------------------------------------------
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],
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
fi
dnl ----------------------------------------------------------------
-ol_link_ldbm=no
-
-case $ol_enable_ldbm_api in auto | berkeley | bcompat)
-
- if test $ol_enable_ldbm_api = bcompat; then \
- OL_BERKELEY_COMPAT_DB
- else
- OL_BERKELEY_DB
- fi
-
- if test $ol_cv_berkeley_db != no ; then
- AC_DEFINE(HAVE_BERKELEY_DB,1,
- [define this if Berkeley DB is available])
-
- ol_link_ldbm=berkeley
- ol_enable_ldbm_api=berkeley
-
- if test $ol_enable_ldbm_type = hash ; then
- AC_DEFINE(LDBM_USE_DBHASH,1,
- [define this to use DBHASH w/ LDBM backend])
- else
- AC_DEFINE(LDBM_USE_DBBTREE,1,
- [define this to use DBBTREE w/ LDBM backend])
- fi
-
- dnl $ol_cv_lib_db should be yes or -ldb
- dnl (it could be no, but that would be an error
- if test $ol_cv_lib_db != yes ; then
- LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_db"
- fi
- fi
- ;;
-esac
+ol_link_bdb=no
if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
- if test $ol_link_ldbm != berkeley ; then
- AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available)
- else
- OL_BDB_COMPAT
+ OL_BERKELEY_DB
- if test $ol_cv_bdb_compat != yes ; then
- AC_MSG_ERROR([BDB/HDB: BerkeleyDB version incompatible])
- fi
+ if test $ol_cv_berkeley_db = no ; then
+ AC_MSG_ERROR(BDB/HDB: BerkeleyDB not available)
fi
-fi
-
-if test $ol_link_ldbm = no && test $ol_enable_ldbm_type = btree ; then
- AC_MSG_WARN([Could not find LDBM with BTREE support])
- ol_enable_ldbm_api=none
-fi
-if test $ol_enable_ldbm_api = auto || test $ol_enable_ldbm_api = mdbm ; then
- OL_MDBM
+ AC_DEFINE(HAVE_BERKELEY_DB,1,
+ [define this if Berkeley DB is available])
- 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
+ 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 = auto || test $ol_enable_ldbm_api = gdbm ; then
- OL_GDBM
- if test $ol_cv_gdbm = yes ; then
- ol_link_ldbm=gdbm
- ol_enable_ldbm_api=gdbm
+ OL_BDB_COMPAT
- if test $ol_cv_lib_gdbm != yes ; then
- LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_gdbm"
- fi
+ if test $ol_cv_bdb_compat != yes ; then
+ AC_MSG_ERROR([BDB/HDB: BerkeleyDB version incompatible])
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
-
- if test $ol_cv_lib_ndbm != yes ; then
- LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_ndbm"
- fi
- fi
-fi
-if test $ol_link_ldbm = no && test $ol_enable_ldbm != no ; then
- AC_MSG_ERROR([could not find suitable LDBM backend])
-fi
+ SLAPD_LIBS="$SLAPD_LIBS \$(BDB_LIBS)"
-if test $ol_enable_bdb = yes ||
- test $ol_enable_hdb = yes ||
- test $ol_enable_ldbm = yes ; then
- SLAPD_LIBS="$SLAPD_LIBS \$(LDBM_LIBS)"
+ ol_link_bdb=yes
fi
dnl ----------------------------------------------------------------
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
fi
dnl ----------------------------------------------------------------
-dnl Check for SLPv2 Compliant API Library
if test $ol_enable_slp != no ; then
AC_CHECK_HEADERS( slp.h )
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" ||
- test "$ac_cv_header_bn_h" = "yes" ; then
- ol_have_bn_h=yes
- fi
-
- if test "$ac_cv_header_openssl_crypto_h" = "yes" ||
- test "$ac_cv_header_crypto_h" = "yes" ; then
- ol_have_crypto_h=yes
- fi
-
- if test "$ol_have_bn_h" = "yes" &&
- test "$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.
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
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
getspnam \
gettimeofday \
initgroups \
+ inet_ntoa_b \
lockf \
memcpy \
memmove \
+ memrchr \
mkstemp \
mktemp \
pipe \
strtoll \
strspn \
sysconf \
- usleep \
waitpid \
wait4 \
write \
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 <sys/socket.h>
#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 <sys/socket.h>
#endif])
+ fi
fi
LIBSRCS="$LIBSRCS getpeereid.c"
fi
+
if test "$ac_cv_func_snprintf" != yes ||
test "$ac_cv_func_vsnprintf" != yes; then
if test "$ac_cv_func_snprintf" != yes; 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
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])
- WITH_ACI_ENABLED=yes
+ 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
AC_DEFINE(SLAPD_MODULES,1,[define to support modules])
AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
fi
-if test "$ol_link_ldbm" != no && test $ol_enable_ldbm != no; then
- BUILD_SLAPD=yes
- BUILD_LDBM=$ol_enable_ldbm
- if test "$ol_enable_ldbm" = mod ; then
- SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-ldbm"
- MFLAG=SLAPD_MOD_DYNAMIC
- else
- SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-ldbm"
- MFLAG=SLAPD_MOD_STATIC
- fi
- AC_DEFINE_UNQUOTED(SLAPD_LDBM,$MFLAG,[define to support LDBM backend])
-fi
-
if test "$ol_enable_meta" != no ; then
BUILD_SLAPD=yes
BUILD_META=$ol_enable_meta
AC_DEFINE_UNQUOTED(SLAPD_OVER_ACCESSLOG,$MFLAG,[define for In-Directory Access Logging overlay])
fi
+if test "$ol_enable_auditlog" != no ; then
+ BUILD_AUDITLOG=$ol_enable_auditlog
+ if test "$ol_enable_auditlog" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS auditlog.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS auditlog.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_AUDITLOG,$MFLAG,[define for Audit Logging overlay])
+fi
+
+if test "$ol_enable_constraint" != no ; then
+ BUILD_CONSTRAINT=$ol_enable_constraint
+ if test "$ol_enable_constraint" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS constraint.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS constraint.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_CONSTRAINT,$MFLAG,[define for Attribute Constraint overlay])
+fi
+
+if test "$ol_enable_dds" != no ; then
+ BUILD_DDS=$ol_enable_dds
+ if test "$ol_enable_dds" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS dds.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS dds.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_DDS,$MFLAG,[define for Dynamic Directory Services overlay])
+fi
+
if test "$ol_enable_denyop" != no ; then
BUILD_DENYOP=$ol_enable_denyop
if test "$ol_enable_denyop" = mod ; then
MFLAG=SLAPD_MOD_STATIC
SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS denyop.o"
fi
- AC_DEFINE_UNQUOTED(SLAPD_OVER_DENYOP,$MFLAG,[define for Dynamic Group overlay])
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_DENYOP,$MFLAG,[define for Deny Operation overlay])
fi
if test "$ol_enable_dyngroup" != 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
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)
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)
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_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)
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)
AC_SUBST(LIBSLAPI)
AC_SUBST(LIBSLAPITOOLS)
AC_SUBST(AUTH_LIBS)
+AC_SUBST(ICU_LIBS)
AC_SUBST(SLAPD_SLP_LIBS)
AC_SUBST(SLAPD_GMP_LIBS)
[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]
cat > $BACKENDSC << ENDX
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 1998-2005 The OpenLDAP Foundation.
+ * Copyright 1998-2006 The OpenLDAP Foundation.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
/* 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 <http://www.openldap.org/>.
+ *
+ * Copyright 1998-2006 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
+ * <http://www.OpenLDAP.org/license.html>.
+ */
+/* 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