]> git.sur5r.net Git - openldap/blobdiff - configure.in
ITS#7735 plug memleak
[openldap] / configure.in
index ba05a5abf6ecfeba4e6a32401019f635b8eae177..fcd8bd7f3dc63b300b55fdb28ef56331801be8af 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-2010 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
 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-2010 The OpenLDAP Foundation. All rights reserved.
+AC_COPYRIGHT([[Copyright 1998-2013 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-2010 The OpenLDAP Foundation
+ * Copyright 1998-2013 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
@@ -244,8 +246,8 @@ OL_ARG_WITH(fetch,[  --with-fetch             with fetch(3) URL support],
        auto, [auto yes no] )
 OL_ARG_WITH(threads,[  --with-threads    with threads],
        auto, [auto nt posix mach pth lwp yes no manual] )
        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] )
 OL_ARG_WITH(yielding_select,
        [  --with-yielding-select  with implicitly yielding select],
        auto, [auto yes no manual] )
@@ -284,6 +286,7 @@ Backends="bdb \
        dnssrv \
        hdb \
        ldap \
        dnssrv \
        hdb \
        ldap \
+       mdb \
        meta \
        monitor \
        ndb \
        meta \
        monitor \
        ndb \
@@ -308,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
        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],
 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],
@@ -470,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_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 &&
        test $ol_enable_meta = no &&
        test $ol_enable_monitor = no &&
        test $ol_enable_ndb = no &&
@@ -531,6 +537,7 @@ BUILD_BDB=no
 BUILD_DNSSRV=no
 BUILD_HDB=no
 BUILD_LDAP=no
 BUILD_DNSSRV=no
 BUILD_HDB=no
 BUILD_LDAP=no
+BUILD_MDB=no
 BUILD_META=no
 BUILD_MONITOR=no
 BUILD_NDB=no
 BUILD_META=no
 BUILD_MONITOR=no
 BUILD_NDB=no
@@ -588,7 +595,6 @@ TLS_LIBS=
 MODULES_LIBS=
 SLAPI_LIBS=
 LIBSLAPI=
 MODULES_LIBS=
 SLAPI_LIBS=
 LIBSLAPI=
-LIBSLAPITOOLS=
 AUTH_LIBS=
 ICU_LIBS=
 
 AUTH_LIBS=
 ICU_LIBS=
 
@@ -933,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_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)
        AC_CHECK_LIB(nsl_s, main)
        AC_CHECK_LIB(nsl, main)
        AC_CHECK_LIB(inet, socket)
@@ -1217,6 +1223,32 @@ 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
+                       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])
 WITH_TLS=no
 if test $ol_link_tls = yes ; then
        AC_DEFINE(HAVE_TLS, 1, [define if you have TLS])
@@ -1687,23 +1719,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
 
@@ -1723,7 +1738,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
 
@@ -1983,6 +1997,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
@@ -2142,7 +2171,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
@@ -2434,6 +2463,7 @@ AC_CHECK_FUNCS(                   \
        strtoq                  \
        strtouq                 \
        strtoll                 \
        strtoq                  \
        strtouq                 \
        strtoll                 \
+       strtoull                \
        strspn                  \
        sysconf                 \
        waitpid                 \
        strspn                  \
        sysconf                 \
        waitpid                 \
@@ -2499,8 +2529,7 @@ if test "$ol_enable_slapi" != no ; then
        fi
        AC_CHECK_LIB(ltdl, lt_dlinit, [
                SLAPI_LIBS=-lltdl
        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])])
 
                AC_DEFINE(HAVE_LIBLTDL,1,[define if you have libtool -ltdl])
        ],[AC_MSG_ERROR([could not locate libtool -lltdl])])
 
@@ -2641,6 +2670,19 @@ if test "$ol_enable_ldap" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_LDAP,$MFLAG,[define to support LDAP backend])
 fi
 
        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
 if test "$ol_enable_meta" != no ; then
        BUILD_SLAPD=yes
        BUILD_META=$ol_enable_meta
@@ -3046,6 +3088,7 @@ dnl backends
   AC_SUBST(BUILD_DNSSRV)
   AC_SUBST(BUILD_HDB)
   AC_SUBST(BUILD_LDAP)
   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)
   AC_SUBST(BUILD_META)
   AC_SUBST(BUILD_MONITOR)
   AC_SUBST(BUILD_NDB)
@@ -3109,7 +3152,6 @@ AC_SUBST(TLS_LIBS)
 AC_SUBST(MODULES_LIBS)
 AC_SUBST(SLAPI_LIBS)
 AC_SUBST(LIBSLAPI)
 AC_SUBST(MODULES_LIBS)
 AC_SUBST(SLAPI_LIBS)
 AC_SUBST(LIBSLAPI)
-AC_SUBST(LIBSLAPITOOLS)
 AC_SUBST(AUTH_LIBS)
 AC_SUBST(ICU_LIBS)
 
 AC_SUBST(AUTH_LIBS)
 AC_SUBST(ICU_LIBS)
 
@@ -3153,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-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]
 [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]
@@ -3179,7 +3222,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-2010 The OpenLDAP Foundation.
+ * Copyright 1998-2013 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
@@ -3230,7 +3273,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-2010 The OpenLDAP Foundation.
+ * Copyright 1998-2013 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