X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=configure.in;h=6bf73baa507358262acf2311c1e7672740639a8c;hb=8cc2aa9372a7ac2f3442ab9f687a1124a5642bae;hp=db0cbaf7f43675089f1d4d546e2e9907d54c21dd;hpb=a637926bf27d346a07eb80692393e99cf19b49f5;p=openldap
diff --git a/configure.in b/configure.in
index db0cbaf7f4..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 ----------------------------------------------------------------
@@ -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
@@ -238,8 +242,8 @@ OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend no|yes|mod],
dnl ----------------------------------------------------------------
dnl SLAPD Overlay Options
-Overlays="chain denyop dyngroup lastmod ppolicy proxycache rwm \
- refint unique"
+Overlays="chain denyop dyngroup glue lastmod ppolicy proxycache rwm \
+ refint syncprov unique"
AC_ARG_WITH(xxslapoverlays,[
SLAPD Overlay Options:])
@@ -252,6 +256,8 @@ 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],
@@ -262,6 +268,8 @@ OL_ARG_ENABLE(refint,[ --enable-refint Referential Integrity overlay no|yes
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])
@@ -519,11 +527,13 @@ BUILD_SQL=no
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=
@@ -706,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)
@@ -722,6 +733,7 @@ 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
for i in $Backends; do
@@ -878,6 +890,24 @@ 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
@@ -1207,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,
@@ -1249,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
@@ -2230,15 +2268,96 @@ if test $ol_enable_slp != no ; then
fi
dnl ----------------------------------------------------------------
-dnl Check for GMP API Library
-AC_CHECK_HEADERS( gmp.h )
+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
+ 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
- fi
+ ;;
+ none)
+ ;;
+ esac
+
+ AC_MSG_RESULT($ol_mp_support)
fi
dnl ----------------------------------------------------------------
@@ -2686,6 +2805,17 @@ 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
@@ -2742,6 +2872,17 @@ 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
@@ -2783,16 +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)
@@ -2817,11 +2953,13 @@ 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)
@@ -2914,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"])