]> git.sur5r.net Git - openldap/blobdiff - configure.in
ITS#6904
[openldap] / configure.in
index 1aa8e67e2c4a6ff3a571d396d9f3fc9627ccabc3..0872d81cac3e054090899a5f936e75ca8e679e94 100644 (file)
@@ -1,7 +1,7 @@
 dnl $OpenLDAP$
 dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
 dnl
 dnl $OpenLDAP$
 dnl This work is part of OpenLDAP Software <http://www.openldap.org/>.
 dnl
-dnl Copyright 1998-2009 The OpenLDAP Foundation.
+dnl Copyright 1998-2011 The OpenLDAP Foundation.
 dnl All rights reserved.
 dnl
 dnl Redistribution and use in source and binary forms, with or without
 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
 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-2011 The OpenLDAP Foundation. All rights reserved.
 Restrictions apply, see COPYRIGHT and LICENSE files.]])
 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],[<http://www.openldap.org/its/>])
 AC_CONFIG_SRCDIR(build/version.sh)dnl
 AC_INIT([OpenLDAP],,[http://www.openldap.org/its/])
 m4_define([AC_PACKAGE_BUGREPORT],[<http://www.openldap.org/its/>])
 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
 
        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
 
 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
 
 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 <http://www.openldap.org/>.
  *
 /* begin of portable.h.pre */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2009 The OpenLDAP Foundation
+ * Copyright 1998-2011 The OpenLDAP Foundation
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * 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] )
        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(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] )
 OL_ARG_WITH(yielding_select,
        [  --with-yielding-select  with implicitly yielding select],
        auto, [auto yes no manual] )
@@ -348,6 +348,7 @@ Overlays="accesslog \
        retcode \
        rwm \
        seqmod \
        retcode \
        rwm \
        seqmod \
+       sssvlv \
        syncprov \
        translucent \
        unique \
        syncprov \
        translucent \
        unique \
@@ -387,7 +388,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],
 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],
 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],
@@ -546,6 +549,7 @@ BUILD_AUDITLOG=no
 BUILD_CONSTRAINT=no
 BUILD_DDS=no
 BUILD_DENYOP=no
 BUILD_CONSTRAINT=no
 BUILD_DDS=no
 BUILD_DENYOP=no
+BUILD_DEREF=no
 BUILD_DYNGROUP=no
 BUILD_DYNLIST=no
 BUILD_LASTMOD=no
 BUILD_DYNGROUP=no
 BUILD_DYNLIST=no
 BUILD_LASTMOD=no
@@ -556,6 +560,7 @@ BUILD_REFINT=no
 BUILD_RETCODE=no
 BUILD_RWM=no
 BUILD_SEQMOD=no
 BUILD_RETCODE=no
 BUILD_RWM=no
 BUILD_SEQMOD=no
+BUILD_SSSVLV=no
 BUILD_SYNCPROV=no
 BUILD_TRANSLUCENT=no
 BUILD_UNIQUE=no
 BUILD_SYNCPROV=no
 BUILD_TRANSLUCENT=no
 BUILD_UNIQUE=no
@@ -581,7 +586,6 @@ SLAPD_SQL_INCLUDES=
 KRB4_LIBS=
 KRB5_LIBS=
 SASL_LIBS=
 KRB4_LIBS=
 KRB5_LIBS=
 SASL_LIBS=
-GSSAPI_LIBS=
 TLS_LIBS=
 MODULES_LIBS=
 SLAPI_LIBS=
 TLS_LIBS=
 MODULES_LIBS=
 SLAPI_LIBS=
@@ -879,7 +883,7 @@ if test $ac_cv_func_sigaction = no && test $ac_cv_func_sigaction = no ; then
        AC_CHECK_LIB(V3, sigset)
 fi
 
        AC_CHECK_LIB(V3, sigset)
 fi
 
-if test $ol_cv_msvc ; then
+if test $ol_cv_msvc = yes ; then
    ol_cv_winsock=yes
 fi
 
    ol_cv_winsock=yes
 fi
 
@@ -890,7 +894,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
        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 <winsock.h>
                LIBS="$save_LIBS -l$curlib"
                fi
                AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <winsock.h>
@@ -1145,63 +1149,6 @@ if test $ol_enable_local != no ; then
        fi
 fi
 
        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
-               if test $ol_link_gssapi != yes ; then
-                       AC_CHECK_LIB(gss, gss_wrap,
-                                    [ol_link_gssapi=yes;GSSAPI_LIBS="-lgss"],
-                                    [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
        
 dnl ----------------------------------------------------------------
 dnl TLS/SSL
        
@@ -1272,6 +1219,30 @@ if test $ol_link_tls = no ; then
        fi
 fi
 
        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
+                       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
+
 WITH_TLS=no
 if test $ol_link_tls = yes ; then
        AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
 WITH_TLS=no
 if test $ol_link_tls = yes ; then
        AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
@@ -1742,23 +1713,6 @@ case $ol_with_threads in auto | yes | lwp)
                        )
                fi
        fi
                        )
                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
 
        ;;
 esac
 
@@ -1778,7 +1732,6 @@ if test $ol_with_threads = manual ; then
        OL_HEADER_LINUX_THREADS
 
        AC_CHECK_HEADERS(mach/cthreads.h)
        OL_HEADER_LINUX_THREADS
 
        AC_CHECK_HEADERS(mach/cthreads.h)
-       AC_CHECK_HEADERS(lwp/lwp.h)
        AC_CHECK_HEADERS(thread.h synch.h)
 fi
 
        AC_CHECK_HEADERS(thread.h synch.h)
 fi
 
@@ -1891,6 +1844,7 @@ dnl ----------------------------------------------------------------
 dnl Tests for reentrant functions necessary to build -lldap_r
 AC_CHECK_FUNCS(                \
        ctime_r                 \
 dnl Tests for reentrant functions necessary to build -lldap_r
 AC_CHECK_FUNCS(                \
        ctime_r                 \
+       gmtime_r localtime_r \
        gethostbyname_r gethostbyaddr_r \
 )
 
        gethostbyname_r gethostbyaddr_r \
 )
 
@@ -2037,6 +1991,21 @@ if test $ol_enable_sql != no ; then
 
                        odbc32)
                                AC_CHECK_LIB(odbc32, SQLDriverConnect, [have_odbc32=yes], [have_odbc32=no])
 
                        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 <windows.h>
+                                       #include <sqlext.h>
+                                               ]], [[
+                                               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
                                if test $have_odbc32 = yes ; then
                                        ol_link_sql="-lodbc32"
                                fi
@@ -2196,7 +2165,7 @@ if test $ol_with_fetch != no ; then
        OL_LIB_FETCH
 
        if test $ol_cv_lib_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
                ol_link_fetch=freebsd
 
        elif test $ol_with_fetch != auto ; then
@@ -2453,7 +2422,6 @@ AC_CHECK_FUNCS(                   \
        geteuid                 \
        getgrgid                \
        gethostname             \
        geteuid                 \
        getgrgid                \
        gethostname             \
-       getpass                 \
        getpassphrase           \
        getpwuid                \
        getpwnam                \
        getpassphrase           \
        getpwuid                \
        getpwnam                \
@@ -2489,6 +2457,7 @@ AC_CHECK_FUNCS(                   \
        strtoq                  \
        strtouq                 \
        strtoll                 \
        strtoq                  \
        strtouq                 \
        strtoll                 \
+       strtoull                \
        strspn                  \
        sysconf                 \
        waitpid                 \
        strspn                  \
        sysconf                 \
        waitpid                 \
@@ -2878,7 +2847,7 @@ if test "$ol_enable_dds" != no ; then
 fi
 
 if test "$ol_enable_deref" != 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"
        if test "$ol_enable_deref" = mod ; then
                MFLAG=SLAPD_MOD_DYNAMIC
                SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS deref.la"
@@ -2998,6 +2967,18 @@ if test "$ol_enable_seqmod" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_OVER_SEQMOD,$MFLAG,[define for Sequential Modify overlay])
 fi
 
        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
 if test "$ol_enable_syncprov" != no ; then
        BUILD_SYNCPROV=$ol_enable_syncprov
        if test "$ol_enable_syncprov" = mod ; then
@@ -3106,6 +3087,7 @@ dnl overlays
   AC_SUBST(BUILD_CONSTRAINT)
   AC_SUBST(BUILD_DDS)
   AC_SUBST(BUILD_DENYOP)
   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)
   AC_SUBST(BUILD_DYNGROUP)
   AC_SUBST(BUILD_DYNLIST)
   AC_SUBST(BUILD_LASTMOD)
@@ -3116,6 +3098,7 @@ dnl overlays
   AC_SUBST(BUILD_RETCODE)
   AC_SUBST(BUILD_RWM)
   AC_SUBST(BUILD_SEQMOD)
   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)
   AC_SUBST(BUILD_SYNCPROV)
   AC_SUBST(BUILD_TRANSLUCENT)
   AC_SUBST(BUILD_UNIQUE)
@@ -3146,7 +3129,6 @@ AC_SUBST(MOD_PERL_LDFLAGS)
 AC_SUBST(KRB4_LIBS)
 AC_SUBST(KRB5_LIBS)
 AC_SUBST(SASL_LIBS)
 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(TLS_LIBS)
 AC_SUBST(MODULES_LIBS)
 AC_SUBST(SLAPI_LIBS)
@@ -3221,7 +3203,7 @@ rm -f $BACKENDSC
 cat > $BACKENDSC << ENDX
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
 cat > $BACKENDSC << ENDX
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2009 The OpenLDAP Foundation.
+ * Copyright 1998-2011 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -3272,7 +3254,7 @@ rm -f $OVERLAYSC
 cat > $OVERLAYSC << ENDX
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
 cat > $OVERLAYSC << ENDX
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2009 The OpenLDAP Foundation.
+ * Copyright 1998-2011 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without