dnl $OpenLDAP$
dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
dnl
-dnl Copyright 1998-2016 The OpenLDAP Foundation.
+dnl Copyright 1998-2018 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-2016 The OpenLDAP Foundation. All rights reserved.
+AC_COPYRIGHT([[Copyright 1998-2018 The OpenLDAP Foundation. All rights reserved.
Restrictions apply, see COPYRIGHT and LICENSE files.]])
AC_REVISION([$Id$])
AC_INIT([OpenLDAP],,[http://www.openldap.org/its/])
/* begin of portable.h.pre */
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 1998-2016 The OpenLDAP Foundation
+ * Copyright 1998-2018 The OpenLDAP Foundation
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
ldap \
mdb \
meta \
+ asyncmeta \
monitor \
ndb \
null \
dnl SLAPD Overlay Options
Overlays="accesslog \
auditlog \
+ autoca \
collect \
constraint \
dds \
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(autoca,[ --enable-autoca Automatic Certificate Authority overlay],
+ no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(collect,[ --enable-collect Collect overlay],
no, [no yes mod], ol_enable_overlays)
OL_ARG_ENABLE(constraint,[ --enable-constraint Attribute Constraint overlay],
# validate options
if test $ol_enable_slapd = no ; then
- dnl SLAPD was specificallly disabled
+ dnl SLAPD was specifically disabled
if test $ol_enable_slapi = yes ; then
AC_MSG_WARN([slapd disabled, ignoring --enable-slapi argument])
fi
test $ol_enable_ldap = no &&
test $ol_enable_mdb = no &&
test $ol_enable_meta = no &&
+ test $ol_enable_asyncmeta = no &&
test $ol_enable_monitor = no &&
test $ol_enable_ndb = no &&
test $ol_enable_null = no &&
AC_MSG_ERROR([--enable-meta requires --enable-ldap])
fi
-if test $ol_enable_meta_async/$ol_enable_ldap = yes/no ; then
+if test $ol_enable_asyncmeta/$ol_enable_ldap = yes/no ; then
AC_MSG_ERROR([--enable-asyncmeta requires --enable-ldap])
fi
BUILD_ACCESSLOG=no
BUILD_AUDITLOG=no
+BUILD_AUTOCA=no
BUILD_CONSTRAINT=no
BUILD_DDS=no
BUILD_DENYOP=no
KRB5_LIBS=
SASL_LIBS=
TLS_LIBS=
+WITH_TLS_TYPE=
MODULES_LIBS=
SLAPI_LIBS=
LIBSLAPI=
if test "${ac_cv_header_winsock_h}" != yes; then
dnl Select arg types
- dnl (if this detection becomes permenent, it and the select() detection
+ dnl (if this detection becomes permanent, it and the select() detection
dnl should be done before the yielding select test)
AC_FUNC_SELECT_ARGTYPES
fi
AC_DEFINE(HAVE_EPOLL,1, [define if your system supports epoll])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
fi
+dnl ----------------------------------------------------------------
+AC_CHECK_HEADERS( sys/event.h )
+if test "${ac_cv_header_sys_event_h}" = yes; then
+AC_MSG_CHECKING(for kqueue system call)
+AC_RUN_IFELSE([AC_LANG_SOURCE([[int main(int argc, char **argv)
+{
+ int kqfd = kqueue();
+ exit (kqfd == -1 ? 1 : 0);
+}]])],[AC_MSG_RESULT(yes)
+AC_DEFINE(HAVE_KQUEUE,1, [define if your system supports kqueue])],[AC_MSG_RESULT(no)],[AC_MSG_RESULT(no)])
+fi
+
dnl ----------------------------------------------------------------
AC_CHECK_HEADERS( sys/devpoll.h )
dnl "/dev/poll" needs <sys/poll.h> as well...
AC_CHECK_HEADERS(openssl/ssl.h)
if test $ac_cv_header_openssl_ssl_h = yes ; then
- AC_CHECK_LIB(ssl, SSL_library_init,
+ AC_CHECK_LIB(ssl, SSL_CTX_set_msg_callback,
[have_openssl=yes
need_rsaref=no], [have_openssl=no],
[-lcrypto])
if test $have_openssl = yes ; then
ol_with_tls=openssl
ol_link_tls=yes
+ WITH_TLS_TYPE=openssl
AC_DEFINE(HAVE_OPENSSL, 1,
[define if you have OpenSSL])
AC_CHECK_HEADERS(gnutls/gnutls.h)
if test $ac_cv_header_gnutls_gnutls_h = yes ; then
- AC_PREPROC_IFELSE(
+ AC_PREPROC_IFELSE([AC_LANG_SOURCE(
[[#include <gnutls/gnutls.h>]
[#if GNUTLS_VERSION_NUMBER < 0x020c00]
[#error "GnuTLS 2.12.0 or newer required"]
-[#endif]],
+[#endif]])],
, [AC_MSG_FAILURE([GnuTLS is too old])])
AC_CHECK_LIB(gnutls, gnutls_init,
if test $have_gnutls = yes ; then
ol_with_tls=gnutls
ol_link_tls=yes
+ WITH_TLS_TYPE=gnutls
TLS_LIBS="-lgnutls"
AC_DEFINE(HAVE_PTHREAD_DETACH,1,
[define if you have pthread_detach function])
- dnl Check for setconcurreny functions
+ dnl Check for setconcurrency functions
AC_CHECK_FUNCS( \
pthread_setconcurrency \
pthread_getconcurrency \
AC_MSG_ERROR([LinuxThreads header/library mismatch]);
fi
- AC_CACHE_CHECK([if pthread_create() works],
+ AC_CACHE_CHECK([AC_LANG_SOURCE([if pthread_create() works])],
ol_cv_pthread_create_works,[
AC_RUN_IFELSE([OL_PTHREAD_TEST_PROGRAM],
[ol_cv_pthread_create_works=yes],
ol_with_yielding_select=yes
fi
- dnl Check for setconcurreny functions
+ dnl Check for setconcurrency functions
AC_CHECK_FUNCS( \
thr_setconcurrency \
thr_getconcurrency \
AC_DEFINE(HAVE_TCPD,1, [define if you have -lwrap])
WRAP_LIBS="-lwrap"
elif test $ol_enable_wrappers = yes ; then
- AC_MSG_ERROR([could not find TCP wrappers, select apppropriate options or disable])
+ AC_MSG_ERROR([could not find TCP wrappers, select appropriate options or disable])
else
AC_MSG_WARN([could not find TCP wrappers, support disabled])
WRAP_LIBS=""
AC_CHECK_LIB(crypt, crypt, [LUTIL_LIBS="$LUTIL_LIBS -lcrypt"
have_crypt=yes], [have_crypt=no])])
+ LIBS="$TLS_LIBS $LIBS"
+ AC_CHECK_LIB(crypt, crypt_r, [have_crypt_r=yes], [have_crypt_r=no])
+
LIBS="$save_LIBS"
if test $have_crypt = yes ; then
AC_DEFINE(HAVE_CRYPT,1, [define if crypt(3) is available])
+ if test $have_crypt_r = yes ; then
+ AC_DEFINE(HAVE_CRYPT_R, 1, [define if crypt_r() is also available])
+ fi
else
AC_MSG_WARN([could not find crypt])
if test $ol_enable_crypt = yes ; then
fi
AC_CHECK_MEMBERS([struct stat.st_fstype, struct stat.st_vfstype])
if test "$ac_cv_member_struct_stat_st_fstype" = yes; then
- AC_COMPILE_IFELSE([struct stat st; char *ptr=st.st_fstype;],
+ AC_COMPILE_IFELSE([AC_LANG_SOURCE([struct stat st; char *ptr=st.st_fstype;])],
AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_CHAR],1,[define to 1 if st_fstype is char *]),
AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_INT],1,[define to 1 if st_fstype is int]))
fi
AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend])
fi
-if test "$ol_enable_meta_async" != no ; then
+if test "$ol_enable_asyncmeta" != no ; then
BUILD_SLAPD=yes
- BUILD_ASYNCMETA=$ol_enable_meta_async
+ BUILD_ASYNCMETA=$ol_enable_asyncmeta
BUILD_REWRITE=yes
- if test "$ol_enable_meta_async" = mod ; then
+ if test "$ol_enable_asyncmeta" = mod ; then
SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-asyncmeta"
MFLAG=SLAPD_MOD_DYNAMIC
else
AC_DEFINE_UNQUOTED(SLAPD_OVER_AUDITLOG,$MFLAG,[define for Audit Logging overlay])
fi
+if test "$ol_enable_autoca" != no ; then
+ BUILD_AUTOCA=$ol_enable_autoca
+ if test "$ol_enable_autoca" = mod ; then
+ MFLAG=SLAPD_MOD_DYNAMIC
+ SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS autoca.la"
+ else
+ MFLAG=SLAPD_MOD_STATIC
+ SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS autoca.o"
+ fi
+ AC_DEFINE_UNQUOTED(SLAPD_OVER_AUTOCA,$MFLAG,[define for Automatic Certificate Authority overlay])
+fi
+
if test "$ol_enable_collect" != no ; then
BUILD_COLLECT=$ol_enable_collect
if test "$ol_enable_collect" = mod ; then
dnl overlays
AC_SUBST(BUILD_ACCESSLOG)
AC_SUBST(BUILD_AUDITLOG)
+ AC_SUBST(BUILD_AUTOCA)
AC_SUBST(BUILD_COLLECT)
AC_SUBST(BUILD_CONSTRAINT)
AC_SUBST(BUILD_DDS)
AC_SUBST(KRB5_LIBS)
AC_SUBST(SASL_LIBS)
AC_SUBST(TLS_LIBS)
+AC_SUBST(WITH_TLS_TYPE)
AC_SUBST(MODULES_LIBS)
AC_SUBST(SLAPI_LIBS)
AC_SUBST(LIBSLAPI)
cat > $BACKENDSC << ENDX
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 1998-2016 The OpenLDAP Foundation.
+ * Copyright 1998-2018 The OpenLDAP Foundation.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
cat > $OVERLAYSC << ENDX
/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
*
- * Copyright 1998-2016 The OpenLDAP Foundation.
+ * Copyright 1998-2018 The OpenLDAP Foundation.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without