Whamcloud - gitweb
LU-3490 autoconf: disable GSS when required libraries missing
[fs/lustre-release.git] / lustre / autoconf / kerberos5.m4
index a167f72..80fa4b3 100644 (file)
@@ -40,7 +40,6 @@ AC_DEFUN([AC_KERBEROS_V5],[
                    -f $dir/lib64/libgssapi_krb5.so -o \
                    -f $dir/lib/x86_64-linux-gnu/libgssapi_krb5.so -o \
                    -f $dir/lib/libgssapi_krb5.so \) ; then
-         AC_DEFINE(HAVE_KRB5, 1, [Define this if you have MIT Kerberos libraries])
          KRBDIR="$dir"
   dnl If we are using MIT K5 1.3.1 and before, we *MUST* use the
   dnl private function (gss_krb5_ccache_name) to get correct
@@ -106,6 +105,14 @@ AC_DEFUN([AC_KERBEROS_V5],[
   AC_CHECK_LIB($gssapi_lib, krb5int_derive_key,
     AC_DEFINE(HAVE_KRB5INT_DERIVE_KEY, 1, [Define this if the function krb5int_derive_key is available]), ,$KRBLIBS)
 
+  dnl Check for krb5_derive_key
+  AC_CHECK_LIB($gssapi_lib, krb5_derive_key,
+    AC_DEFINE(HAVE_KRB5_DERIVE_KEY, 1, [Define this if the function krb5_derive_key is available]), ,$KRBLIBS)
+
+  AS_IF([test "x$HAVE_KRB5INT_DERIVE_KEY" = "x1" -o "x$HAVE_KRB5_DERIVE_KEY" = "x1"],
+        [AC_DEFINE(HAVE_KRB5, 1, [Define this if you have MIT Kerberos libraries])],
+        [KRBDIR=""; AC_MSG_WARN(Disable gss/krb5 due to missing both krb5int_derive_key and krb5_derive_key functions!)])
+
   dnl If they specified a directory and it didn't work, give them a warning
   if test "x$krb5_with" != "x" -a "$krb5_with" != "$KRBDIR"; then
     AC_MSG_WARN(Using $KRBDIR instead of requested value of $krb5_with for Kerberos!)