X-Git-Url: https://git.sur5r.net/?p=openldap;a=blobdiff_plain;f=configure.in;h=60c446096383f3cc7459a1e861ae9397a2d3fecf;hp=810b2fa7f4d7cddaa014d0727a62cd13d1b7068f;hb=HEAD;hpb=c2cb945c30c8f9597c54d41300c90bd404921a9c diff --git a/configure.in b/configure.in index 810b2fa7f4..60c4460963 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-2014 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 @@ -23,7 +23,7 @@ define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])dnl dnl ================================================================ dnl Configure.in for OpenLDAP -AC_COPYRIGHT([[Copyright 1998-2014 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/]) @@ -98,7 +98,7 @@ AH_TOP([ /* begin of portable.h.pre */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2014 The OpenLDAP Foundation + * Copyright 1998-2018 The OpenLDAP Foundation * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -288,6 +288,7 @@ Backends="bdb \ ldap \ mdb \ meta \ + asyncmeta \ monitor \ ndb \ null \ @@ -296,7 +297,8 @@ Backends="bdb \ relay \ shell \ sock \ - sql" + sql \ + wt" AC_ARG_ENABLE(xxslapbackends,[ SLAPD Backend Options:]) @@ -315,6 +317,8 @@ OL_ARG_ENABLE(mdb,[ --enable-mdb enable mdb database backend], yes, [no yes mod], ol_enable_backends)dnl OL_ARG_ENABLE(meta,[ --enable-meta enable metadirectory backend], no, [no yes mod], ol_enable_backends)dnl +OL_ARG_ENABLE(asyncmeta,[ --enable-asyncmeta enable asynchronous metadirectory backend], + no, [no yes mod], ol_enable_backends)dnl OL_ARG_ENABLE(monitor,[ --enable-monitor enable monitor backend], yes, [no yes mod], ol_enable_backends)dnl OL_ARG_ENABLE(ndb,[ --enable-ndb enable MySQL NDB Cluster backend], @@ -333,11 +337,14 @@ OL_ARG_ENABLE(sock,[ --enable-sock enable sock backend], no, [no yes mod], ol_enable_backends)dnl OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend], no, [no yes mod], ol_enable_backends)dnl +OL_ARG_ENABLE(wt,[ --enable-wt enable WiredTiger backend], + no, [no yes mod], ol_enable_backends)dnl dnl ---------------------------------------------------------------- dnl SLAPD Overlay Options Overlays="accesslog \ auditlog \ + autoca \ collect \ constraint \ dds \ @@ -366,6 +373,8 @@ OL_ARG_ENABLE(accesslog,[ --enable-accesslog In-Directory Access Logging ov 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], @@ -413,7 +422,7 @@ dnl ---------------------------------------------------------------- # 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 @@ -477,6 +486,7 @@ elif test $ol_enable_modules != yes && 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 && @@ -485,7 +495,8 @@ elif test $ol_enable_modules != yes && test $ol_enable_relay = no && test $ol_enable_shell = no && test $ol_enable_sock = no && - test $ol_enable_sql = no ; then + test $ol_enable_sql = no && + test $ol_enable_wt = no ; then dnl no slapd backend if test $ol_enable_slapd = yes ; then @@ -500,6 +511,10 @@ if test $ol_enable_meta/$ol_enable_ldap = yes/no ; then AC_MSG_ERROR([--enable-meta requires --enable-ldap]) fi +if test $ol_enable_asyncmeta/$ol_enable_ldap = yes/no ; then + AC_MSG_ERROR([--enable-asyncmeta requires --enable-ldap]) +fi + if test $ol_enable_lmpasswd = yes ; then if test $ol_with_tls = no ; then AC_MSG_ERROR([LAN Manager passwords require OpenSSL]) @@ -539,6 +554,7 @@ BUILD_HDB=no BUILD_LDAP=no BUILD_MDB=no BUILD_META=no +BUILD_ASYNCMETA=no BUILD_MONITOR=no BUILD_NDB=no BUILD_NULL=no @@ -548,9 +564,11 @@ BUILD_RELAY=no BUILD_SHELL=no BUILD_SOCK=no BUILD_SQL=no +BUILD_WT=no BUILD_ACCESSLOG=no BUILD_AUDITLOG=no +BUILD_AUTOCA=no BUILD_CONSTRAINT=no BUILD_DDS=no BUILD_DENYOP=no @@ -592,6 +610,7 @@ KRB4_LIBS= KRB5_LIBS= SASL_LIBS= TLS_LIBS= +WITH_TLS_TYPE= MODULES_LIBS= SLAPI_LIBS= LIBSLAPI= @@ -951,7 +970,7 @@ AC_CHECK_FUNC(select, :, AC_MSG_ERROR([select() required.])) 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 @@ -977,6 +996,18 @@ if test "${ac_cv_header_sys_epoll_h}" = yes; then 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 as well... @@ -1165,7 +1196,7 @@ 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 - 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]) @@ -1180,6 +1211,7 @@ if test $ol_with_tls = openssl || test $ol_with_tls = auto ; then 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]) @@ -1207,11 +1239,11 @@ if test $ol_link_tls = no ; then 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 ] [#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, @@ -1220,6 +1252,7 @@ if test $ol_link_tls = no ; then if test $have_gnutls = yes ; then ol_with_tls=gnutls ol_link_tls=yes + WITH_TLS_TYPE=gnutls TLS_LIBS="-lgnutls" @@ -1473,7 +1506,7 @@ pthread_rwlock_t rwlock; 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 \ @@ -1488,7 +1521,7 @@ pthread_rwlock_t rwlock; 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], @@ -1719,7 +1752,7 @@ case $ol_with_threads in auto | yes | lwp) ol_with_yielding_select=yes fi - dnl Check for setconcurreny functions + dnl Check for setconcurrency functions AC_CHECK_FUNCS( \ thr_setconcurrency \ thr_getconcurrency \ @@ -1954,7 +1987,7 @@ hosts_access(req) 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="" @@ -2082,6 +2115,33 @@ if test $ol_enable_ndb != no ; then fi fi +dnl ---------------------------------------------------------------- +dnl WiredTiger +ol_link_wt=no +if test $ol_enable_wt != no ; then + AC_CHECK_PROG(PKGCONFIG,pkg-config,yes) + if test "$PKGCONFIG" != yes ; then + AC_MSG_ERROR([could not locate pkg-config]) + fi + WT_INCS=`pkg-config --cflags wiredtiger` + WT_LIBS=`pkg-config --libs wiredtiger` + + save_CFLAGS="$CFLAGS" + save_LDFLAGS="$LDFLAGS" + CFLAGS="$WT_INCS" + CPPFLAGS="$WT_INCS" + LDFLAGS="$WT_LIBS" + AC_CHECK_HEADERS([wiredtiger.h]) + AC_CHECK_LIB(wiredtiger,wiredtiger_version,[: ok],[ + AC_MSG_ERROR([could not locate wiredtiger library]) + ]) + CFLAGS="$save_CFLAGS" + CPPFLAGS="$save_CPPFLAGS" + LDFLAGS="$save_LDFLAGS" + SLAPD_LIBS="$SLAPD_LIBS \$(WT_LIBS)" + ol_link_wt=yes +fi + dnl ---------------------------------------------------------------- dnl International Components for Unicode OL_ICU @@ -2197,10 +2257,16 @@ if test $ol_enable_crypt != no ; then 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 @@ -2505,7 +2571,7 @@ if test "$ac_cv_func_getpeereid" != 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 @@ -2704,6 +2770,20 @@ if test "$ol_enable_meta" != no ; then AC_DEFINE_UNQUOTED(SLAPD_META,$MFLAG,[define to support LDAP Metadirectory backend]) fi +if test "$ol_enable_asyncmeta" != no ; then + BUILD_SLAPD=yes + BUILD_ASYNCMETA=$ol_enable_asyncmeta + BUILD_REWRITE=yes + if test "$ol_enable_asyncmeta" = mod ; then + SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-asyncmeta" + MFLAG=SLAPD_MOD_DYNAMIC + else + SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-asyncmeta" + MFLAG=SLAPD_MOD_STATIC + fi + AC_DEFINE_UNQUOTED(SLAPD_ASYNCMETA,$MFLAG,[define to support LDAP Async Metadirectory backend]) +fi + if test "$ol_enable_ndb" != no ; then BUILD_SLAPD=yes BUILD_NDB=$ol_enable_ndb @@ -2811,6 +2891,19 @@ if test "$ol_link_sql" != no ; then AC_DEFINE_UNQUOTED(SLAPD_SQL,$MFLAG,[define to support SQL backend]) fi +if test "$ol_link_wt" != no ; then + BUILD_SLAPD=yes + BUILD_WT=$ol_enable_wt + if test "$ol_enable_wt" = mod; then + SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-wt" + MFLAG=SLAPD_MOD_DYNAMIC + else + SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-wt" + MFLAG=SLAPD_MOD_STATIC + fi + AC_DEFINE_UNQUOTED(SLAPD_WT,$MFLAG,[define to support WiredTiger backend]) +fi + if test "$ol_enable_accesslog" != no ; then BUILD_ACCESSLOG=$ol_enable_accesslog if test "$ol_enable_accesslog" = mod ; then @@ -2835,6 +2928,18 @@ if test "$ol_enable_auditlog" != no ; then 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 @@ -3097,6 +3202,7 @@ dnl backends AC_SUBST(BUILD_LDAP) AC_SUBST(BUILD_MDB) AC_SUBST(BUILD_META) + AC_SUBST(BUILD_ASYNCMETA) AC_SUBST(BUILD_MONITOR) AC_SUBST(BUILD_NDB) AC_SUBST(BUILD_NULL) @@ -3106,9 +3212,11 @@ dnl backends AC_SUBST(BUILD_SHELL) AC_SUBST(BUILD_SOCK) AC_SUBST(BUILD_SQL) + AC_SUBST(BUILD_WT) 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) @@ -3156,6 +3264,7 @@ AC_SUBST(KRB4_LIBS) 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) @@ -3169,6 +3278,9 @@ AC_SUBST(SLAPD_SQL_LDFLAGS) AC_SUBST(SLAPD_SQL_LIBS) AC_SUBST(SLAPD_SQL_INCLUDES) +AC_SUBST(WT_INCS) +AC_SUBST(WT_LIBS) + dnl ---------------------------------------------------------------- dnl final help output AC_ARG_WITH(xxinstall,[ @@ -3204,6 +3316,7 @@ AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.mk] [servers/slapd/back-ldif/Makefile:build/top.mk:servers/slapd/back-ldif/Makefile.in:build/mod.mk] [servers/slapd/back-mdb/Makefile:build/top.mk:servers/slapd/back-mdb/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-asyncmeta/Makefile:build/top.mk:servers/slapd/back-asyncmeta/Makefile.in:build/mod.mk] [servers/slapd/back-monitor/Makefile:build/top.mk:servers/slapd/back-monitor/Makefile.in:build/mod.mk] [servers/slapd/back-ndb/Makefile:build/top.mk:servers/slapd/back-ndb/Makefile.in:build/mod.mk] [servers/slapd/back-null/Makefile:build/top.mk:servers/slapd/back-null/Makefile.in:build/mod.mk] @@ -3213,6 +3326,7 @@ AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.mk] [servers/slapd/back-shell/Makefile:build/top.mk:servers/slapd/back-shell/Makefile.in:build/mod.mk] [servers/slapd/back-sock/Makefile:build/top.mk:servers/slapd/back-sock/Makefile.in:build/mod.mk] [servers/slapd/back-sql/Makefile:build/top.mk:servers/slapd/back-sql/Makefile.in:build/mod.mk] +[servers/slapd/back-wt/Makefile:build/top.mk:servers/slapd/back-wt/Makefile.in:build/mod.mk] [servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk] [servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk] [servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk] @@ -3229,7 +3343,7 @@ rm -f $BACKENDSC cat > $BACKENDSC << ENDX /* This work is part of OpenLDAP Software . * - * Copyright 1998-2014 The OpenLDAP Foundation. + * Copyright 1998-2018 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -3280,7 +3394,7 @@ rm -f $OVERLAYSC cat > $OVERLAYSC << ENDX /* This work is part of OpenLDAP Software . * - * Copyright 1998-2014 The OpenLDAP Foundation. + * Copyright 1998-2018 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without