]> git.sur5r.net Git - openldap/blobdiff - configure.in
preserve objectClasses not to be removed (ITS#5760)
[openldap] / configure.in
index 1a715a8d6c7dde1e3d32483c988c22e0d9162329..b4618fdcae24a9e7593cb3f3aff6a77ab6508c77 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],
@@ -333,6 +335,7 @@ dnl ----------------------------------------------------------------
 dnl SLAPD Overlay Options
 Overlays="accesslog \
        auditlog \
+       collect \
        constraint \
        dds \
        dyngroup \
@@ -358,6 +361,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(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],
@@ -573,6 +578,7 @@ SLAPD_SQL_INCLUDES=
 KRB4_LIBS=
 KRB5_LIBS=
 SASL_LIBS=
+GSSAPI_LIBS=
 TLS_LIBS=
 MODULES_LIBS=
 SLAPI_LIBS=
@@ -1117,6 +1123,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 +1905,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 
@@ -2010,7 +2062,7 @@ if test $ol_enable_ndb != no ; then
        save_LDFLAGS="$LDFLAGS"
        save_LIBS="$LIBS"
        LDFLAGS="$SQL_LIB"
-       AC_CHECK_LIB(ndbclient,ndb_init,[],[
+       AC_CHECK_LIB(ndbclient,ndb_init,[: ok],[
                AC_MSG_ERROR([could not locate ndbclient library])
        ],[-lstdc++])
        LIBS="$save_LIBS"
@@ -2758,6 +2810,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
@@ -2995,6 +3059,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)
@@ -3038,6 +3103,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)