]> git.sur5r.net Git - openldap/blobdiff - configure.in
reorder chapters and start of a migration/upgrade section.
[openldap] / configure.in
index d6e7b004e26f0fbae65bd2f0ebd31752fcc5a1e5..ce23a79244d658b8efc5ab073ba18242a04f33ad 100644 (file)
@@ -242,6 +242,8 @@ 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],
@@ -301,7 +303,7 @@ SLAPD Backend Options:])
 OL_ARG_ENABLE(backends,[    --enable-backends    enable all available backends],
        --, [no yes mod])dnl
 OL_ARG_ENABLE(bdb,[    --enable-bdb      enable Berkeley DB backend],
-       yes, [no yes mod], ol_enable_backends)dnl
+       no, [no yes mod], ol_enable_backends)dnl
 OL_ARG_ENABLE(dnssrv,[    --enable-dnssrv        enable dnssrv backend],
        no, [no yes mod], ol_enable_backends)dnl
 OL_ARG_ENABLE(hdb,[    --enable-hdb      enable Hierarchical DB backend],
@@ -333,8 +335,10 @@ dnl ----------------------------------------------------------------
 dnl SLAPD Overlay Options
 Overlays="accesslog \
        auditlog \
+       collect \
        constraint \
        dds \
+       deref \
        dyngroup \
        dynlist \
        memberof \
@@ -358,10 +362,14 @@ 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(collect,[    --enable-collect      Collect overlay],
+       no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(constraint,[    --enable-constraint        Attribute Constraint overlay],
        no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(dds,[    --enable-dds      Dynamic Directory Services overlay],
        no, [no yes mod], ol_enable_overlays)
+OL_ARG_ENABLE(deref,[    --enable-deref          Dereference overlay],
+       no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(dyngroup,[    --enable-dyngroup    Dynamic Group overlay],
        no, [no yes mod], ol_enable_overlays)
 OL_ARG_ENABLE(dynlist,[    --enable-dynlist      Dynamic List overlay],
@@ -573,6 +581,7 @@ SLAPD_SQL_INCLUDES=
 KRB4_LIBS=
 KRB5_LIBS=
 SASL_LIBS=
+GSSAPI_LIBS=
 TLS_LIBS=
 MODULES_LIBS=
 SLAPI_LIBS=
@@ -1117,6 +1126,58 @@ 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
        
@@ -1847,12 +1908,6 @@ if test $ol_enable_bdb/$ol_enable_hdb != no/no; then
                BDB_LIBS="$BDB_LIBS $ol_cv_lib_db"
        fi
 
-       OL_BDB_COMPAT
-
-       if test $ol_cv_bdb_compat != yes ; then
-               AC_MSG_ERROR([BDB/HDB: BerkeleyDB version incompatible])
-       fi
-
        SLAPD_LIBS="$SLAPD_LIBS \$(BDB_LIBS)"
 
        ol_link_bdb=yes 
@@ -1982,6 +2037,8 @@ fi
 
 dnl ----------------------------------------------------------------
 dnl MySQL NDBapi
+dnl Note: uses C++, but we don't want to add C++ test overhead to
+dnl the rest of the libtool machinery.
 ol_link_ndb=no
 if test $ol_enable_ndb != no ; then
        AC_CHECK_PROG(MYSQL,mysql_config,yes)
@@ -1992,8 +2049,27 @@ if test $ol_enable_ndb != no ; then
        SQL_INC=`mysql_config --include`
        SLAPD_NDB_INCS="$SQL_INC $SQL_INC/storage/ndb $SQL_INC/storage/ndb/ndbapi"
 
+       save_CPPFLAGS="$CPPFLAGS"
+       CPPFLAGS="$SLAPD_NDB_INCS"
+       AC_MSG_CHECKING(for NdbApi.hpp)
+       AC_PREPROC_IFELSE(
+               [AC_LANG_SOURCE([[#include <NdbApi.hpp>]])],
+                       AC_MSG_RESULT(yes),
+                       AC_MSG_ERROR([could not locate NdbApi headers])
+       )
+       CPPFLAGS="$save_CPPFLAGS"
+
        SQL_LIB=`mysql_config --libs_r`
-       SLAPD_NDB_LIBS="$SQL_LIB -lndbclient -lmysys -lmystrings -lstdc++"
+       SLAPD_NDB_LIBS="$SQL_LIB -lndbclient -lstdc++"
+
+       save_LDFLAGS="$LDFLAGS"
+       save_LIBS="$LIBS"
+       LDFLAGS="$SQL_LIB"
+       AC_CHECK_LIB(ndbclient,ndb_init,[: ok],[
+               AC_MSG_ERROR([could not locate ndbclient library])
+       ],[-lstdc++])
+       LIBS="$save_LIBS"
+       LDFLAGS="$save_LDFLAGS"
 
        if test "$ol_enable_ndb" = yes ; then
                SLAPD_LIBS="$SLAPD_LIBS \$(SLAPD_NDB_LIBS)"
@@ -2347,6 +2423,7 @@ AC_CHECK_FUNCS(                   \
        flock                   \
        fstat                   \
        getdtablesize           \
+       geteuid                 \
        getgrgid                \
        gethostname             \
        getpass                 \
@@ -2737,6 +2814,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_collect" != no ; then
+        BUILD_COLLECT=$ol_enable_collect
+        if test "$ol_enable_collect" = mod ; then
+                MFLAG=SLAPD_MOD_DYNAMIC
+                SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS collect.la"
+        else
+                MFLAG=SLAPD_MOD_STATIC
+                SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS collect.o"
+        fi
+        AC_DEFINE_UNQUOTED(SLAPD_OVER_COLLECT,$MFLAG,[define for Collect overlay])
+fi
+
 if test "$ol_enable_constraint" != no ; then
        BUILD_CONSTRAINT=$ol_enable_constraint
        if test "$ol_enable_constraint" = mod ; then
@@ -2761,6 +2850,18 @@ if test "$ol_enable_dds" != no ; then
        AC_DEFINE_UNQUOTED(SLAPD_OVER_DDS,$MFLAG,[define for Dynamic Directory Services overlay])
 fi
 
+if test "$ol_enable_deref" != no ; then
+       BUILD_DDS=$ol_enable_deref
+       if test "$ol_enable_deref" = mod ; then
+               MFLAG=SLAPD_MOD_DYNAMIC
+               SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS deref.la"
+       else
+               MFLAG=SLAPD_MOD_STATIC
+               SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS deref.o"
+       fi
+       AC_DEFINE_UNQUOTED(SLAPD_OVER_DEREF,$MFLAG,[define for Dynamic Directory Services overlay])
+fi
+
 if test "$ol_enable_dyngroup" != no ; then
        BUILD_DYNGROUP=$ol_enable_dyngroup
        if test "$ol_enable_dyngroup" = mod ; then
@@ -2974,6 +3075,7 @@ dnl backends
 dnl overlays
   AC_SUBST(BUILD_ACCESSLOG)
   AC_SUBST(BUILD_AUDITLOG)
+  AC_SUBST(BUILD_COLLECT)
   AC_SUBST(BUILD_CONSTRAINT)
   AC_SUBST(BUILD_DDS)
   AC_SUBST(BUILD_DENYOP)
@@ -3017,6 +3119,7 @@ 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)