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
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 ----------------------------------------------------------------
AC_LIBTOOL_DLOPEN
AC_PROG_LIBTOOL
-OL_PROG_LN_H
-AC_PROG_LN_S
-
dnl ----------------------------------------------------------------
dnl Perl
ol_link_perl=no
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 ----------------------------------------------------------------
# strerror checks
OL_STRERROR
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()])
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
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,
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
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
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.
AC_SUBST(LIBSRCS)
AC_SUBST(PLAT)
+AC_SUBST(WITH_SASL)
AC_SUBST(WITH_TLS)
AC_SUBST(BUILD_LIBS_DYNAMIC)
AC_SUBST(AUTH_LIBS)
AC_SUBST(SLAPD_SLP_LIBS)
+AC_SUBST(SLAPD_GMP_LIBS)
AC_SUBST(SLAPD_SQL_LDFLAGS)
AC_SUBST(SLAPD_SQL_LIBS)