X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=config%2Flustre-build-linux.m4;h=7a4c98d34353420ea950ca69491fafe1576b3556;hb=5fea36c952373c9a235be7bf57eb2e516fcb36b2;hp=3df513cf677e08f1e9d10cac85c4c916f2a9352d;hpb=b1723622b88e693cac1d65bc317188f256a82558;p=fs%2Flustre-release.git diff --git a/config/lustre-build-linux.m4 b/config/lustre-build-linux.m4 index 3df513c..7a4c98d 100644 --- a/config/lustre-build-linux.m4 +++ b/config/lustre-build-linux.m4 @@ -11,14 +11,9 @@ makerule="$PWD/build" AC_CACHE_CHECK([for external module build target], lb_cv_module_target, [ lb_cv_module_target="" - MODULE_TARGET="SUBDIRS" rm -f build/conftest.i - LB_LINUX_TRY_MAKE([], [], - [$makerule LUSTRE_KERNEL_TEST=conftest.i], - [test -s build/conftest.i], - [lb_cv_module_target="SUBDIRS"],[ MODULE_TARGET="M" - makerule="$PWD/build/" + makerule="$PWD/build" LB_LINUX_TRY_MAKE([], [], [$makerule LUSTRE_KERNEL_TEST=conftest.i], [test -s build/conftest.i], @@ -36,7 +31,7 @@ AC_CACHE_CHECK([for external module build target], lb_cv_module_target, [test -s build/conftest.i], [lb_cv_module_target="M58"], [ AC_MSG_ERROR([kernel module make failed; check config.log for details]) - ])])])]) + ])])]) ]) AS_IF([test -z "$lb_cv_module_target"], [AC_MSG_ERROR([unknown external module build target])], @@ -97,7 +92,6 @@ AC_DEFUN([LB_LINUX_RELEASE], [ RHEL_KERNEL="no" SUSE_KERNEL="no" UBUNTU_KERNEL="no" - DEBIAN_KERNEL="no" # And if any of the above kernels has been detected yet KERNEL_FOUND="no" @@ -139,20 +133,6 @@ AC_DEFUN([LB_LINUX_RELEASE], [ ]) ]) - # Check for Debian - AS_IF([test "x$KERNEL_FOUND" = "xno"], [ - AC_CACHE_CHECK([for Debian kernel signature], lb_cv_debian_kernel_sig, [ - lb_cv_debian_kernel_sig="no" - AS_IF([grep -q "LINUX_PACKAGE_ID\s*\"\s*Debian" $LINUX_OBJ/include/generated/package.h], [ - lb_cv_debian_kernel_sig="yes" - ]) - ]) - AS_IF([test "x$lb_cv_debian_kernel_sig" = "xyes"], [ - DEBIAN_KERNEL="yes" - KERNEL_FOUND="yes" - ]) - ]) - # Check for a ELRepo -ml kernel on RHEL 7/8 AS_IF([test "x$KERNEL_FOUND" = "xno"], [ AC_CACHE_CHECK([for ELRepo -ml kernel signature on CentOS], @@ -173,20 +153,19 @@ AC_DEFUN([LB_LINUX_RELEASE], [ # If still no kernel was found, a warning is issued AS_IF([test "x$KERNEL_FOUND" = "xno"], [ - AC_MSG_WARN([Kernel Distro seems to be neither RedHat, SuSE, Ubuntu nor Debian]) + AC_MSG_WARN([Kernel Distro seems to be neither RedHat, SuSE nor Ubuntu]) ]) AC_MSG_CHECKING([for Linux kernel module package directory]) AC_ARG_WITH([kmp-moddir], - AC_HELP_STRING([--with-kmp-moddir=string], + AS_HELP_STRING([--with-kmp-moddir=string], [set the kmod updates or extra directory]), [KMP_MODDIR=$withval IN_KERNEL=''],[ AS_IF([test x$RHEL_KERNEL = xyes], [KMP_MODDIR="extra/kernel"], [test x$SUSE_KERNEL = xyes], [KMP_MODDIR="updates/kernel"], [test x$UBUNTU_KERNEL = xyes], [KMP_MODDIR="updates/kernel"], - [test x$DEBIAN_KERNEL = xyes], [KMP_MODDIR="updates/kernel"], - [AC_MSG_WARN([Kernel Distro seems to be neither RedHat, SuSE, Ubuntu nor Debian])] + [AC_MSG_WARN([Kernel Distro seems to be neither RedHat, SuSE nor Ubuntu])] ) IN_KERNEL="${PACKAGE}"]) AC_MSG_RESULT($KMP_MODDIR) @@ -277,13 +256,12 @@ done AC_MSG_CHECKING([for Linux sources]) AC_ARG_WITH([linux], - AC_HELP_STRING([--with-linux=path], + AS_HELP_STRING([--with-linux=path], [set path to Linux source (default=/lib/modules/$(uname -r)/{source,build},/usr/src/linux)]), [LB_ARG_CANON_PATH([linux], [LINUX]) DEFAULT_LINUX_OBJ=$LINUX], [LINUX=$DEFAULT_LINUX]) AC_MSG_RESULT([$LINUX]) -AC_SUBST(LINUX) # -------- check for linux -------- LB_CHECK_FILE([$LINUX], [], @@ -292,16 +270,29 @@ LB_CHECK_FILE([$LINUX], [], # -------- linux objects (for 2.6) -- AC_MSG_CHECKING([for Linux objects]) AC_ARG_WITH([linux-obj], - AC_HELP_STRING([--with-linux-obj=path], + AS_HELP_STRING([--with-linux-obj=path], [set path to Linux objects (default=/lib/modules/$(uname -r)/build,/usr/src/linux)]), [LB_ARG_CANON_PATH([linux-obj], [LINUX_OBJ])], [LINUX_OBJ=$DEFAULT_LINUX_OBJ]) AC_MSG_RESULT([$LINUX_OBJ]) -AC_SUBST(LINUX_OBJ) +## -------- with linux should point to -common on Debian +AS_IF([test ${LINUX} == ${LINUX_OBJ} -a ${LINUX} == $(realpath ${LINUX})],[ + this_arch=$(realpath ${LINUX} | sed 's/-/\n/g' | tail -1) + linux_headers_common=$(realpath ${LINUX}|sed "s/-${this_arch}\$/-common/g") + AS_IF([test "${this_arch}" != common],[ + _cah="${linux_headers_common}/include/linux/compiler_attributes.h" + _cgh="${linux_headers_common}/include/linux/compiler-gcc.h" + AS_IF([test -f "${_cah}" -o -f "${_cgh}"],[ + AC_MSG_WARN([Setting LINUX to ${linux_headers_common} was ${LINUX}]) + LINUX=${linux_headers_common}]) + ]) + ]) +AC_SUBST(LINUX) +AC_SUBST(LINUX_OBJ) # -------- check for .config -------- AC_ARG_WITH([linux-config], - [AC_HELP_STRING([--with-linux-config=path], + [AS_HELP_STRING([--with-linux-config=path], [set path to Linux .conf (default=$LINUX_OBJ/.config)])], [LB_ARG_CANON_PATH([linux-config], [LINUX_CONFIG])], [LINUX_CONFIG=$LINUX_OBJ/.config]) @@ -321,7 +312,7 @@ LB_CHECK_FILE([/boot/kernel.h], [KERNEL_SOURCE_HEADER='/var/adm/running-kernel.h'])]) AC_ARG_WITH([kernel-source-header], - AC_HELP_STRING([--with-kernel-source-header=path], + AS_HELP_STRING([--with-kernel-source-header=path], [Use a different kernel version header.]), [LB_ARG_CANON_PATH([kernel-source-header], [KERNEL_SOURCE_HEADER])]) @@ -450,13 +441,6 @@ module support is required to build Lustre kernel modules. LB_CHECK_CONFIG([MODVERSIONS]) -LB_CHECK_CONFIG([KALLSYMS], [], [ - AC_MSG_ERROR([ - -Lustre requires that CONFIG_KALLSYMS is enabled in your kernel. -]) - ]) - # 2.6.28 LC_MODULE_LOADING ])