X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=build%2Fautoconf%2Flustre-build-linux.m4;h=a837556e229025494f8c0b84c56952180178bfe8;hp=8c08893f7a2d46930d504d6c6c85aa6b2a80a3ba;hb=b0be67c716c8716666eb807d1bf658fcc1a5458d;hpb=898351a74d8e482826a8f430fa2e26a567423264 diff --git a/build/autoconf/lustre-build-linux.m4 b/build/autoconf/lustre-build-linux.m4 index 8c08893..a837556 100644 --- a/build/autoconf/lustre-build-linux.m4 +++ b/build/autoconf/lustre-build-linux.m4 @@ -55,8 +55,13 @@ AC_DEFUN([LB_LINUX_RELEASE], [LINUXRELEASE= rm -f build/conftest.i AC_MSG_CHECKING([for Linux release]) +if test -s $LINUX_OBJ/include/linux/utsrelease.h ; then + LINUXRELEASEHEADER=utsrelease.h +else + LINUXRELEASEHEADER=version.h +fi LB_LINUX_TRY_MAKE([ - #include + #include ],[ char *LINUXRELEASE; LINUXRELEASE=UTS_RELEASE; @@ -110,6 +115,10 @@ AC_ARG_WITH([linux], AC_MSG_RESULT([$LINUX]) AC_SUBST(LINUX) +# -------- check for linux -------- +LB_CHECK_FILE([$LINUX],[], + [AC_MSG_ERROR([Kernel source $LINUX could not be found.])]) + # -------- linux objects (for 2.6) -- AC_MSG_CHECKING([for Linux objects dir]) AC_ARG_WITH([linux-obj], @@ -120,7 +129,7 @@ AC_ARG_WITH([linux-obj], AC_MSG_RESULT([$LINUX_OBJ]) AC_SUBST(LINUX_OBJ) -# -------- check for .confg -------- +# -------- check for .config -------- AC_ARG_WITH([linux-config], [AC_HELP_STRING([--with-linux-config=path], [set path to Linux .conf (default=$LINUX_OBJ/.config)])], @@ -275,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 @@ -283,6 +312,27 @@ AC_DEFUN([LB_LINUX_TRY_MAKE], [LB_LINUX_COMPILE_IFELSE([AC_LANG_PROGRAM([[$1]], [[$2]])], [$3], [$4], [$5], [$6])]) # +# LB_LINUX_CONFIG_BIG_STACK +# +# check for big stack patch +# +AC_DEFUN([LB_LINUX_CONFIG_BIG_STACK], +[if test "x$ARCH_UM" = "x" -a "x$linux25" = "xno" ; then + case $target_cpu in + i?86 | x86_64) + LB_LINUX_CONFIG([STACK_SIZE_16KB],[],[ + LB_LINUX_CONFIG([STACK_SIZE_32KB],[],[ + LB_LINUX_CONFIG([STACK_SIZE_64KB],[],[ + AC_MSG_ERROR([Lustre requires that Linux is configured with at least a 16KB stack.]) + ]) + ]) + ]) + ;; + esac +fi +]) + +# # LB_PROG_LINUX # # linux tests @@ -306,11 +356,20 @@ if test "x$ARCH_UM" = "x" ; then fi ]) -# Portals tests -LP_PROG_LINUX +LB_LINUX_CONFIG([KMOD],[],[ + AC_MSG_WARN([]) + AC_MSG_WARN([Kernel module loading support is highly recommended.]) + AC_MSG_WARN([]) +]) + +#LB_LINUX_CONFIG_BIG_STACK + +# LNet tests +LN_PROG_LINUX # Lustre tests LC_PROG_LINUX + ]) # @@ -319,6 +378,6 @@ LC_PROG_LINUX # AM_CONDITIONALS for linux # AC_DEFUN([LB_LINUX_CONDITIONALS], -[AM_CONDITIONAL(INKERNEL, test x$enable_inkernel = xyes) -AM_CONDITIONAL(LINUX25, test x$linux25 = xyes) +[AM_CONDITIONAL(LINUX25, test x$linux25 = xyes) ]) +