]> git.sur5r.net Git - openldap/blobdiff - configure.in
reorder chapters and start of a migration/upgrade section.
[openldap] / configure.in
index 2ace75ce1adcfc8eb7e4b22168be15494b50e7ed..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],
@@ -336,6 +338,7 @@ Overlays="accesslog \
        collect \
        constraint \
        dds \
+       deref \
        dyngroup \
        dynlist \
        memberof \
@@ -365,6 +368,8 @@ 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],
@@ -576,6 +581,7 @@ SLAPD_SQL_INCLUDES=
 KRB4_LIBS=
 KRB5_LIBS=
 SASL_LIBS=
+GSSAPI_LIBS=
 TLS_LIBS=
 MODULES_LIBS=
 SLAPI_LIBS=
@@ -1120,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
        
@@ -1850,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 
@@ -2013,7 +2065,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"
@@ -2371,6 +2423,7 @@ AC_CHECK_FUNCS(                   \
        flock                   \
        fstat                   \
        getdtablesize           \
+       geteuid                 \
        getgrgid                \
        gethostname             \
        getpass                 \
@@ -2797,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
@@ -3054,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)