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 \
--, [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],
if test $ol_enable_aci != no ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument])
fi
- if test $ol_enable_ldbm_api != auto ; then
- AC_MSG_WARN([slapd disabled, ignoring --enable-ldbm-api argument])
- fi
- if test $ol_enable_ldbm_type != auto ; then
- AC_MSG_WARN([slapd disabled, ignoring --enable-ldbm-type argument])
- fi
if test $ol_enable_slurpd = yes ; then
AC_MSG_ERROR([slurpd requires slapd])
fi
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
termios.h \
unistd.h \
utime.h \
- winsock.h \
- winsock2.h \
)
+dnl Only check Winsock on MinGW
+if test "$ac_cv_mingw32" = yes ; then
+ AC_CHECK_HEADERS( winsock.h winsock2.h )
+fi
+
AC_CHECK_HEADERS( resolv.h, [], [],
[$ac_includes_default
#include <netinet/in.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
+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
fi
if test $have_openssl = yes ; then
- ol_with_tls=found
+ ol_with_tls=openssl
ol_link_tls=yes
AC_DEFINE(HAVE_OPENSSL, 1,
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 ----------------------------------------------------------------
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
+ OL_BDB_COMPAT
- if test $ol_cv_gdbm = yes ; then
- ol_link_ldbm=gdbm
- ol_enable_ldbm_api=gdbm
-
- if test $ol_cv_lib_gdbm != yes ; then
- LDBM_LIBS="$LDBM_LIBS $ol_cv_lib_gdbm"
- fi
+ if test $ol_cv_bdb_compat != yes ; then
+ AC_MSG_ERROR([BDB/HDB: BerkeleyDB version incompatible])
fi
-fi
-if test $ol_enable_ldbm_api = ndbm ; then
- OL_NDBM
+ SLAPD_LIBS="$SLAPD_LIBS \$(BDB_LIBS)"
- 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
-
-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 ----------------------------------------------------------------
dnl ----------------------------------------------------------------
dnl Check for multiple precision support
if test $ol_with_mp = longlong || test $ol_with_mp = auto ; then
- if test $ac_cv_sizeof_long_long > 4 ; then
+ if test $ac_cv_sizeof_long_long -gt 4 ; then
ol_with_mp=longlong
AC_DEFINE(USE_MP_LONG_LONG,1,[define to use 'long long' for MP])
elif test $ol_with_mp = longlong ; then
fi
fi
if test $ol_with_mp = long || test $ol_with_mp = auto ; then
- if test $ac_cv_sizeof_long > 4 ; then
+ if test $ac_cv_sizeof_long -gt 4 ; then
ol_with_mp=long
AC_DEFINE(USE_MP_LONG,1,[define to use 'long' for MP])
elif test $ol_with_mp = long ; then
if test $ol_with_mp = gmp || test $ol_with_mp = auto ; then
AC_CHECK_HEADERS(gmp.h)
AC_CHECK_LIB(gmp, __gmpz_add_ui)
- if test $ac_cv_header_gmp_h = yes && test $ac_cv_lib_gmp = yes ; then
+ if test $ac_cv_header_gmp_h = yes && test $ac_cv_lib_gmp___gmpz_add_ui = yes ; then
AC_DEFINE(USE_MP_GMP,1,[define to use GMP for MP])
ol_with_mp=gmp
elif test $ol_with_mp = gmp ; then
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
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(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)
[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]