auto, [auto nt posix mach pth lwp yes no manual] )
OL_ARG_WITH(tls,[ --with-tls with TLS/SSL support],
auto, [auto openssl yes no] )
-OL_ARG_WITH(yielding_select,[ --with-yielding-select with implicitly yielding select],
+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
dnl ----------------------------------------------------------------
dnl SLAPD Overlay Options
Overlays="accesslog \
+ auditlog \
denyop \
dyngroup \
dynlist \
--, [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(denyop,[ --enable-denyop Deny Operation overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay],
BUILD_SQL=no
BUILD_ACCESSLOG=no
+BUILD_AUDITLOG=no
BUILD_DENYOP=no
BUILD_DYNGROUP=no
BUILD_DYNLIST=no
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 \
)
AC_CHECK_HEADERS( resolv.h, [], [],
-[$ac_includes_default]
+[$ac_includes_default
#include <netinet/in.h>
-)
+])
+
+AC_CHECK_HEADERS( netinet/tcp.h, [], [],
+[$ac_includes_default
+#include <netinet/in.h>
+])
-AC_CHECK_HEADERS(sys/ucred.h, [], [],
+AC_CHECK_HEADERS( sys/ucred.h, [], [],
[$ac_includes_default
#ifdef HAVE_SYS_PARAM_H
#include <sys/param.h>
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 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 = 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
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_denyop" != no ; then
BUILD_DENYOP=$ol_enable_denyop
if test "$ol_enable_denyop" = mod ; then
AC_SUBST(BUILD_SQL)
dnl overlays
AC_SUBST(BUILD_ACCESSLOG)
+ AC_SUBST(BUILD_AUDITLOG)
AC_SUBST(BUILD_DENYOP)
AC_SUBST(BUILD_DYNGROUP)
AC_SUBST(BUILD_DYNLIST)