X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=configure.in;h=fcd8bd7f3dc63b300b55fdb28ef56331801be8af;hb=731d484f5c10d1aab1293bb359467c882255fb3c;hp=48edacf25ccc8cd47ea8ab7398db4178c8b78a7a;hpb=12990e7efe86856e3a0af46e860918fd815eaac1;p=openldap diff --git a/configure.in b/configure.in index 48edacf25c..fcd8bd7f3d 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-2009 The OpenLDAP Foundation. +dnl Copyright 1998-2013 The OpenLDAP Foundation. dnl All rights reserved. dnl dnl Redistribution and use in source and binary forms, with or without @@ -23,9 +23,9 @@ define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl define([AC_LIBTOOL_LANG_GCJ_CONFIG], [:])dnl dnl ================================================================ dnl Configure.in for OpenLDAP -AC_COPYRIGHT([[Copyright 1998-2009 The OpenLDAP Foundation. All rights reserved. +AC_COPYRIGHT([[Copyright 1998-2013 The OpenLDAP Foundation. All rights reserved. Restrictions apply, see COPYRIGHT and LICENSE files.]]) -AC_REVISION([$OpenLDAP$]) +AC_REVISION([$Id$]) AC_INIT([OpenLDAP],,[http://www.openldap.org/its/]) m4_define([AC_PACKAGE_BUGREPORT],[]) AC_CONFIG_SRCDIR(build/version.sh)dnl @@ -56,12 +56,14 @@ if test -t 1; then TN="`$SHTOOL echo -e '%b' 2>/dev/null`" fi -OPENLDAP_CVS="" -if test -d $ac_aux_dir/CVS; then - OPENLDAP_CVS="(from CVS sources) " +OPENLDAP_REPO="" +if test -d $ac_aux_dir/../.git; then + OPENLDAP_REPO="(from Git clone) " +elif test -d $ac_aux_dir/CVS; then + OPENLDAP_REPO="(from CVS checkout) " fi -echo "Configuring ${TB}${OL_STRING}${TN} ${OPENLDAP_CVS}..." +echo "Configuring ${TB}${OL_STRING}${TN} ${OPENLDAP_REPO}..." dnl Determine host platform dnl we try not to use this for much @@ -96,7 +98,7 @@ AH_TOP([ /* begin of portable.h.pre */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2009 The OpenLDAP Foundation + * Copyright 1998-2013 The OpenLDAP Foundation * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -242,12 +244,10 @@ OL_ARG_WITH(cyrus_sasl,[ --with-cyrus-sasl with Cyrus SASL support], auto, [auto yes no] ) OL_ARG_WITH(fetch,[ --with-fetch with fetch(3) URL support], auto, [auto yes no] ) -OL_ARG_WITH(gssapi,[ --with-gssapi with GSSAPI support], - auto, [auto yes no] ) OL_ARG_WITH(threads,[ --with-threads with threads], auto, [auto nt posix mach pth lwp yes no manual] ) -OL_ARG_WITH(tls,[ --with-tls with TLS/SSL support auto|openssl|gnutls], - auto, [auto openssl gnutls yes no] ) +OL_ARG_WITH(tls,[ --with-tls with TLS/SSL support auto|openssl|gnutls|moznss], + auto, [auto openssl gnutls moznss yes no] ) OL_ARG_WITH(yielding_select, [ --with-yielding-select with implicitly yielding select], auto, [auto yes no manual] ) @@ -286,6 +286,7 @@ Backends="bdb \ dnssrv \ hdb \ ldap \ + mdb \ meta \ monitor \ ndb \ @@ -310,6 +311,8 @@ OL_ARG_ENABLE(hdb,[ --enable-hdb enable Hierarchical DB backend], yes, [no yes mod], ol_enable_backends)dnl OL_ARG_ENABLE(ldap,[ --enable-ldap enable ldap backend], no, [no yes mod], ol_enable_backends)dnl +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(monitor,[ --enable-monitor enable monitor backend], @@ -348,6 +351,7 @@ Overlays="accesslog \ retcode \ rwm \ seqmod \ + sssvlv \ syncprov \ translucent \ unique \ @@ -387,7 +391,9 @@ OL_ARG_ENABLE(retcode,[ --enable-retcode Return Code testing overlay], OL_ARG_ENABLE(rwm,[ --enable-rwm Rewrite/Remap overlay], no, [no yes mod], ol_enable_overlays) OL_ARG_ENABLE(seqmod,[ --enable-seqmod Sequential Modify overlay], - yes, [no yes mod], ol_enable_overlays) + no, [no yes mod], ol_enable_overlays) +OL_ARG_ENABLE(sssvlv,[ --enable-sssvlv ServerSideSort/VLV overlay], + no, [no yes mod], ol_enable_overlays) OL_ARG_ENABLE(syncprov,[ --enable-syncprov Syncrepl Provider overlay], yes, [no yes mod], ol_enable_overlays) OL_ARG_ENABLE(translucent,[ --enable-translucent Translucent Proxy overlay], @@ -469,6 +475,7 @@ elif test $ol_enable_modules != yes && test $ol_enable_dnssrv = no && test $ol_enable_hdb = no && test $ol_enable_ldap = no && + test $ol_enable_mdb = no && test $ol_enable_meta = no && test $ol_enable_monitor = no && test $ol_enable_ndb = no && @@ -530,6 +537,7 @@ BUILD_BDB=no BUILD_DNSSRV=no BUILD_HDB=no BUILD_LDAP=no +BUILD_MDB=no BUILD_META=no BUILD_MONITOR=no BUILD_NDB=no @@ -546,6 +554,7 @@ BUILD_AUDITLOG=no BUILD_CONSTRAINT=no BUILD_DDS=no BUILD_DENYOP=no +BUILD_DEREF=no BUILD_DYNGROUP=no BUILD_DYNLIST=no BUILD_LASTMOD=no @@ -556,6 +565,7 @@ BUILD_REFINT=no BUILD_RETCODE=no BUILD_RWM=no BUILD_SEQMOD=no +BUILD_SSSVLV=no BUILD_SYNCPROV=no BUILD_TRANSLUCENT=no BUILD_UNIQUE=no @@ -581,12 +591,10 @@ SLAPD_SQL_INCLUDES= KRB4_LIBS= KRB5_LIBS= SASL_LIBS= -GSSAPI_LIBS= TLS_LIBS= MODULES_LIBS= SLAPI_LIBS= LIBSLAPI= -LIBSLAPITOOLS= AUTH_LIBS= ICU_LIBS= @@ -879,7 +887,7 @@ if test $ac_cv_func_sigaction = no && test $ac_cv_func_sigaction = no ; then AC_CHECK_LIB(V3, sigset) fi -if test $ol_cv_msvc ; then +if test $ol_cv_msvc = yes ; then ol_cv_winsock=yes fi @@ -890,7 +898,7 @@ if test "$ac_cv_header_winsock_h" = yes; then AC_CACHE_CHECK([for winsock], [ol_cv_winsock],[ save_LIBS="$LIBS" for curlib in none ws2_32 wsock32; do - if test curlib != none ; then + if test $curlib != none ; then LIBS="$save_LIBS -l$curlib" fi AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include @@ -931,7 +939,7 @@ dnl -linet AC_CHECK_FUNC(socket, :, [ dnl hopefully we won't include too many libraries AC_CHECK_LIB(socket, main) - AC_CHECK_LIB(net, main) + AC_CHECK_LIB(net, socket) AC_CHECK_LIB(nsl_s, main) AC_CHECK_LIB(nsl, main) AC_CHECK_LIB(inet, socket) @@ -1012,9 +1020,11 @@ dnl UUID Support have_uuid=no AC_CHECK_HEADERS(sys/uuid.h) +dnl The HAVE_UUID_TO_STR code path also needs uuid_create if test $ac_cv_header_sys_uuid_h = yes ; then save_LIBS="$LIBS" AC_SEARCH_LIBS([uuid_to_str], [uuid], [have_uuid=yes], :) + AC_SEARCH_LIBS([uuid_create], [uuid], :, [have_uuid=no]) LIBS="$save_LIBS" if test $have_uuid = yes ; then @@ -1027,11 +1037,13 @@ if test $ac_cv_header_sys_uuid_h = yes ; then fi dnl Look for uuid_generate +dnl The HAVE_UUID_GENERATE code path also needs uuid_unparse_lower if test $have_uuid = no ; then AC_CHECK_HEADERS(uuid/uuid.h) if test $ac_cv_header_uuid_uuid_h = yes ; then save_LIBS="$LIBS" AC_SEARCH_LIBS([uuid_generate], [uuid], [have_uuid=yes], :) + AC_SEARCH_LIBS([uuid_unparse_lower], [uuid], :, [have_uuid=no]) LIBS="$save_LIBS" if test $have_uuid = yes ; then @@ -1141,58 +1153,6 @@ if test $ol_enable_local != no ; then fi fi -dnl ---------------------------------------------------------------- -dnl GSSAPI -ol_link_gssapi=no - -case $ol_with_gssapi in yes | auto) - - ol_header_gssapi=no - AC_CHECK_HEADERS(gssapi/gssapi.h) - if test $ac_cv_header_gssapi_gssapi_h = yes ; then - ol_header_gssapi=yes - else - AC_CHECK_HEADERS(gssapi.h) - if test $ac_cv_header_gssapi_h = yes ; then - ol_header_gssapi=yes - fi - - dnl## not every gssapi has gss_oid_to_str() - dnl## as it's not defined in the GSSAPI V2 API - dnl## anymore - saveLIBS="$LIBS" - LIBS="$LIBS $GSSAPI_LIBS" - AC_CHECK_FUNCS(gss_oid_to_str) - LIBS="$saveLIBS" - fi - - if test $ol_header_gssapi = yes ; then - dnl## we check for gss_wrap - dnl## as it's new to the GSSAPI V2 API - AC_CHECK_LIB(gssapi, gss_wrap, - [ol_link_gssapi=yes;GSSAPI_LIBS="-lgssapi"], - [ol_link_gssapi=no]) - if test $ol_link_gssapi != yes ; then - AC_CHECK_LIB(gssapi_krb5, gss_wrap, - [ol_link_gssapi=yes;GSSAPI_LIBS="-lgssapi_krb5"], - [ol_link_gssapi=no]) - fi - fi - - ;; -esac - -WITH_GSSAPI=no -if test $ol_link_gssapi = yes; then - AC_DEFINE(HAVE_GSSAPI, 1, [define if you have GSSAPI]) - WITH_GSSAPI=yes -elif test $ol_with_gssapi = auto ; then - AC_MSG_WARN([Could not locate GSSAPI package]) - AC_MSG_WARN([GSSAPI authentication not supported!]) -elif test $ol_with_gssapi = yes ; then - AC_MSG_ERROR([GSSAPI detection failed]) -fi - dnl ---------------------------------------------------------------- dnl TLS/SSL @@ -1263,6 +1223,32 @@ if test $ol_link_tls = no ; then fi fi +dnl NOTE: caller must specify -I/path/to/nspr4 and -I/path/to/nss3 +dnl and -L/path/to/nspr4 libs and -L/path/to/nss3 libs if those libs +dnl are not in the default system location +if test $ol_link_tls = no ; then + if test $ol_with_tls = moznss || test $ol_with_tls = auto ; then + have_moznss=no + AC_CHECK_HEADERS([nssutil.h]) + if test "$ac_cv_header_nssutil_h" = yes ; then + AC_CHECK_LIB([nss3], [NSS_Initialize], + [ have_moznss=yes ], [ have_moznss=no ]) + fi + + if test "$have_moznss" = yes ; then + ol_with_tls=moznss + ol_link_tls=yes + AC_DEFINE(HAVE_MOZNSS, 1, + [define if you have MozNSS]) + TLS_LIBS="-lssl3 -lsmime3 -lnss3 -lnssutil3 -lplds4 -lplc4 -lnspr4" + else + if test $ol_with_tls = moznss ; then + AC_MSG_ERROR([MozNSS not found - please specify the location to the NSPR and NSS header files in CPPFLAGS and the location to the NSPR and NSS libraries in LDFLAGS (if not in the system location)]) + fi + fi + fi +fi + WITH_TLS=no if test $ol_link_tls = yes ; then AC_DEFINE(HAVE_TLS, 1, [define if you have TLS]) @@ -1733,23 +1719,6 @@ case $ol_with_threads in auto | yes | lwp) ) fi fi - - dnl check for SunOS4 LWP - AC_CHECK_HEADERS(lwp/lwp.h) - if test $ac_cv_header_lwp_lwp_h = yes ; then - AC_CHECK_LIB(lwp, lwp_create, [have_lwp=yes], [have_lwp=no]) - - if test $have_lwp = yes ; then - AC_DEFINE(HAVE_LWP,1, - [if you have SunOS LWP package]) - LTHREAD_LIBS="$LTHREAD_LIBS -llwp" - ol_link_threads=lwp - - if test $ol_with_yielding_select = auto ; then - ol_with_yielding_select=no - fi - fi - fi ;; esac @@ -1769,7 +1738,6 @@ if test $ol_with_threads = manual ; then OL_HEADER_LINUX_THREADS AC_CHECK_HEADERS(mach/cthreads.h) - AC_CHECK_HEADERS(lwp/lwp.h) AC_CHECK_HEADERS(thread.h synch.h) fi @@ -1882,6 +1850,7 @@ dnl ---------------------------------------------------------------- dnl Tests for reentrant functions necessary to build -lldap_r AC_CHECK_FUNCS( \ ctime_r \ + gmtime_r localtime_r \ gethostbyname_r gethostbyaddr_r \ ) @@ -2028,6 +1997,21 @@ if test $ol_enable_sql != no ; then odbc32) AC_CHECK_LIB(odbc32, SQLDriverConnect, [have_odbc32=yes], [have_odbc32=no]) + + dnl The windows API uses __stdcall which cannot be detected by AC_CHECK_LIB + if test $have_odbc32 = no ; then + AC_MSG_CHECKING([for SQLDriverConnect in -lodbc32 with windows.h]) + save_LIBS="$LIBS" + LIBS="$LIBS -lodbc32" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include + #include + ]], [[ + SQLDriverConnect(NULL,NULL,NULL,0,NULL,0,NULL,0); + ]])],[have_odbc32=yes], [have_odbc32=no]) + LIBS="$save_LIBS" + AC_MSG_RESULT($have_odbc32) + fi + if test $have_odbc32 = yes ; then ol_link_sql="-lodbc32" fi @@ -2187,7 +2171,7 @@ if test $ol_with_fetch != no ; then OL_LIB_FETCH if test $ol_cv_lib_fetch != no ; then - LUTIL_LIBS="$LUTIL_LIBS $ol_link_fetch" + LIBS="$LIBS $ol_link_fetch" ol_link_fetch=freebsd elif test $ol_with_fetch != auto ; then @@ -2444,7 +2428,6 @@ AC_CHECK_FUNCS( \ geteuid \ getgrgid \ gethostname \ - getpass \ getpassphrase \ getpwuid \ getpwnam \ @@ -2480,6 +2463,7 @@ AC_CHECK_FUNCS( \ strtoq \ strtouq \ strtoll \ + strtoull \ strspn \ sysconf \ waitpid \ @@ -2545,8 +2529,7 @@ if test "$ol_enable_slapi" != no ; then fi AC_CHECK_LIB(ltdl, lt_dlinit, [ SLAPI_LIBS=-lltdl - LIBSLAPI=libslapi.a - LIBSLAPITOOLS=../libslapi.a + LIBSLAPI=slapi/libslapi.la AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl]) ],[AC_MSG_ERROR([could not locate libtool -lltdl])]) @@ -2687,6 +2670,19 @@ if test "$ol_enable_ldap" != no ; then AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend]) fi +if test "$ol_enable_mdb" != no ; then + BUILD_SLAPD=yes + BUILD_MDB=$ol_enable_mdb + if test "$ol_enable_mdb" = mod ; then + SLAPD_DYNAMIC_BACKENDS="$SLAPD_DYNAMIC_BACKENDS back-mdb" + MFLAG=SLAPD_MOD_DYNAMIC + else + SLAPD_STATIC_BACKENDS="$SLAPD_STATIC_BACKENDS back-mdb" + MFLAG=SLAPD_MOD_STATIC + fi + AC_DEFINE_UNQUOTED(SLAPD_MDB,$MFLAG,[define to support MDB backend]) +fi + if test "$ol_enable_meta" != no ; then BUILD_SLAPD=yes BUILD_META=$ol_enable_meta @@ -2869,7 +2865,7 @@ if test "$ol_enable_dds" != no ; then fi if test "$ol_enable_deref" != no ; then - BUILD_DDS=$ol_enable_deref + BUILD_DEREF=$ol_enable_deref if test "$ol_enable_deref" = mod ; then MFLAG=SLAPD_MOD_DYNAMIC SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS deref.la" @@ -2989,6 +2985,18 @@ if test "$ol_enable_seqmod" != no ; then AC_DEFINE_UNQUOTED(SLAPD_OVER_SEQMOD,$MFLAG,[define for Sequential Modify overlay]) fi +if test "$ol_enable_sssvlv" != no ; then + BUILD_SSSVLV=$ol_enable_sssvlv + if test "$ol_enable_sssvlv" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS sssvlv.la" + else + MFLAG=SLAPD_MOD_STATIC + SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS sssvlv.o" + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_SSSVLV,$MFLAG,[define for ServerSideSort/VLV overlay]) +fi + if test "$ol_enable_syncprov" != no ; then BUILD_SYNCPROV=$ol_enable_syncprov if test "$ol_enable_syncprov" = mod ; then @@ -3080,6 +3088,7 @@ dnl backends AC_SUBST(BUILD_DNSSRV) AC_SUBST(BUILD_HDB) AC_SUBST(BUILD_LDAP) + AC_SUBST(BUILD_MDB) AC_SUBST(BUILD_META) AC_SUBST(BUILD_MONITOR) AC_SUBST(BUILD_NDB) @@ -3097,6 +3106,7 @@ dnl overlays AC_SUBST(BUILD_CONSTRAINT) AC_SUBST(BUILD_DDS) AC_SUBST(BUILD_DENYOP) + AC_SUBST(BUILD_DEREF) AC_SUBST(BUILD_DYNGROUP) AC_SUBST(BUILD_DYNLIST) AC_SUBST(BUILD_LASTMOD) @@ -3107,6 +3117,7 @@ dnl overlays AC_SUBST(BUILD_RETCODE) AC_SUBST(BUILD_RWM) AC_SUBST(BUILD_SEQMOD) + AC_SUBST(BUILD_SSSVLV) AC_SUBST(BUILD_SYNCPROV) AC_SUBST(BUILD_TRANSLUCENT) AC_SUBST(BUILD_UNIQUE) @@ -3137,12 +3148,10 @@ AC_SUBST(MOD_PERL_LDFLAGS) AC_SUBST(KRB4_LIBS) AC_SUBST(KRB5_LIBS) AC_SUBST(SASL_LIBS) -AC_SUBST(GSSAPI_LIBS) AC_SUBST(TLS_LIBS) AC_SUBST(MODULES_LIBS) AC_SUBST(SLAPI_LIBS) AC_SUBST(LIBSLAPI) -AC_SUBST(LIBSLAPITOOLS) AC_SUBST(AUTH_LIBS) AC_SUBST(ICU_LIBS) @@ -3186,6 +3195,7 @@ AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.mk] [servers/slapd/back-hdb/Makefile:build/top.mk:servers/slapd/back-hdb/Makefile.in:build/mod.mk] [servers/slapd/back-ldap/Makefile:build/top.mk:servers/slapd/back-ldap/Makefile.in:build/mod.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-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] @@ -3212,7 +3222,7 @@ rm -f $BACKENDSC cat > $BACKENDSC << ENDX /* This work is part of OpenLDAP Software . * - * Copyright 1998-2009 The OpenLDAP Foundation. + * Copyright 1998-2013 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -3263,7 +3273,7 @@ rm -f $OVERLAYSC cat > $OVERLAYSC << ENDX /* This work is part of OpenLDAP Software . * - * Copyright 1998-2009 The OpenLDAP Foundation. + * Copyright 1998-2013 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without