From 3c4845d0ece28265e8049ea5ef81597bdc39d26f Mon Sep 17 00:00:00 2001 From: ericm Date: Sat, 7 Oct 2006 17:27:41 +0000 Subject: [PATCH] branch: b_new_cmd more fixes of configuration of capability and gss. --- build/autoconf/lustre-build-linux.m4 | 82 +++++++++++++++++++++++++++++++++++- build/autoconf/lustre-build.m4 | 2 +- 2 files changed, 82 insertions(+), 2 deletions(-) diff --git a/build/autoconf/lustre-build-linux.m4 b/build/autoconf/lustre-build-linux.m4 index 87d5b52..745b2ff 100644 --- a/build/autoconf/lustre-build-linux.m4 +++ b/build/autoconf/lustre-build-linux.m4 @@ -284,6 +284,26 @@ $3 ]) # +# LB_LINUX_CONFIG_IM +# +# check if a given config option is builtin or as module +# +AC_DEFUN([LB_LINUX_CONFIG_IM], +[AC_MSG_CHECKING([if Linux was built with CONFIG_$1 in or as module]) +LB_LINUX_TRY_COMPILE([#include ],[ +#if !(defined(CONFIG_$1) || defined(CONFIG_$1_MODULE)) +#error CONFIG_$1 and CONFIG_$1_MODULE not #defined +#endif +],[ +AC_MSG_RESULT([yes]) +$2 +],[ +AC_MSG_RESULT([no]) +$3 +]) +]) + +# # LB_LINUX_TRY_MAKE # # like LB_LINUX_TRY_COMPILE, but with different arguments @@ -342,10 +362,21 @@ LB_LINUX_CONFIG([KMOD],[],[ AC_MSG_WARN([]) ]) -LB_LINUX_CONFIG([CRYPTO],[],[ +# +# following CRYPTO related are required by capability +# +LB_LINUX_CONFIG_IM([CRYPTO],[],[ AC_MSG_ERROR([Lustre require that CONFIG_CRYPTO is enabled in your kernel.]) ]) +LB_LINUX_CONFIG_IM([CRYPTO_HMAC],[],[ + AC_MSG_ERROR([Lustre require that CONFIG_CRYPTO_HMAC is enabled in your kernel.]) +]) + +LB_LINUX_CONFIG_IM([CRYPTO_SHA1],[],[ + AC_MSG_ERROR([Lustre require that CONFIG_CRYPTO_SHA1 is enabled in your kernel.]) +]) + #LB_LINUX_CONFIG_BIG_STACK # LNet tests @@ -368,3 +399,52 @@ fi AC_DEFUN([LB_LINUX_CONDITIONALS], [AM_CONDITIONAL(LINUX25, test x$linux25 = xyes) ]) + +# +# LC_LINUX_CONFIG_GSS +# +# Build gss and related tools of Lustre. Currently both kernel and user space +# parts are depend on linux platform. +# +AC_DEFUN([LC_LINUX_CONFIG_GSS], +[AC_MSG_CHECKING([whether to enable gss/krb5 support]) +AC_ARG_ENABLE([gss], + AC_HELP_STRING([--enable-gss], [enable gss/krb5 support]), + [],[enable_gss='no']) +AC_MSG_RESULT([$enable_gss]) + +if test x$enable_gss == xyes; then + LB_LINUX_CONFIG_IM([SUNRPC],[],[ + AC_MSG_ERROR([GSS require that CONFIG_SUNRPC is enabled in your kernel.]) + ]) + LB_LINUX_CONFIG_IM([CRYPTO_DES],[],[ + AC_MSG_WARN([DES support is recommended by using GSS.]) + ]) + LB_LINUX_CONFIG_IM([CRYPTO_MD5],[],[ + AC_MSG_WARN([MD5 support is recommended by using GSS.]) + ]) + LB_LINUX_CONFIG_IM([CRYPTO_SHA256],[],[ + AC_MSG_WARN([SHA256 support is recommended by using GSS.]) + ]) + LB_LINUX_CONFIG_IM([CRYPTO_SHA512],[],[ + AC_MSG_WARN([SHA512 support is recommended by using GSS.]) + ]) + LB_LINUX_CONFIG_IM([CRYPTO_ARC4],[],[ + AC_MSG_WARN([ARC4 support is recommended by using GSS.]) + ]) + # + # unfortunately AES symbol is depend (optimized) on arch + # + + AC_CHECK_LIB(gssapi, gss_init_sec_context, [ + GSSAPI_LIBS="$GSSAPI_LDFLAGS -lgssapi" + ], [ + AC_MSG_ERROR([libgssapi is not found, consider --disable-gss.]) + ], + ) + + AC_SUBST(GSSAPI_LIBS) + AC_KERBEROS_V5 +fi +]) + diff --git a/build/autoconf/lustre-build.m4 b/build/autoconf/lustre-build.m4 index dcdddca..62fddfd 100644 --- a/build/autoconf/lustre-build.m4 +++ b/build/autoconf/lustre-build.m4 @@ -497,7 +497,7 @@ LC_CONFIG_CLIENT_SERVER LC_CONFIG_SPLIT LB_CONFIG_MODULES -LC_CONFIG_GSS +LC_LINUX_CONFIG_GSS LC_CONFIG_LIBLUSTRE LN_CONFIGURE -- 1.8.3.1