X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=build%2Fautoconf%2Flustre-build-linux.m4;h=6d76e663003988bb2ce774f52f92419d4ef285e7;hp=c6583d2b3923e3b0e37005a55fee55e54b90390b;hb=6442a08410da4a241223aeac6bc63a973c23cba0;hpb=f56fd52472057b8783b16926784c8abf9d2cbe41 diff --git a/build/autoconf/lustre-build-linux.m4 b/build/autoconf/lustre-build-linux.m4 index c6583d2..6d76e66 100644 --- a/build/autoconf/lustre-build-linux.m4 +++ b/build/autoconf/lustre-build-linux.m4 @@ -95,7 +95,15 @@ AC_SUBST(modulenetdir) # ------------ RELEASE -------------------------------- AC_MSG_CHECKING([for Lustre release]) -RELEASE="`echo ${LINUXRELEASE} | tr '-' '_'`_`date +%Y%m%d%H%M`" +AC_ARG_WITH([release], + AC_HELP_STRING([--with-release=string], + [set the release string (default=$kvers_YYYYMMDDhhmm)]), + [RELEASE=$withval], + RELEASE="" + if test -n "$DOWNSTREAM_RELEASE"; then + RELEASE="${DOWNSTREAM_RELEASE}_" + fi + RELEASE="$RELEASE`echo ${LINUXRELEASE} | tr '-' '_'`_$BUILDID") AC_MSG_RESULT($RELEASE) AC_SUBST(RELEASE) @@ -159,12 +167,28 @@ AC_DEFUN([LB_ARG_CANON_PATH], [ # Find paths for linux, handling kernel-source rpms # AC_DEFUN([LB_LINUX_PATH], -[AC_MSG_CHECKING([for Linux sources]) +[# prep some default values +for DEFAULT_LINUX in /lib/modules/$(uname -r)/{source,build} /usr/src/linux; do + if readlink -q -e $DEFAULT_LINUX; then + break + fi +done +if test "$DEFAULT_LINUX" = "/lib/modules/$(uname -r)/source"; then + PATHS="/lib/modules/$(uname -r)/build" +fi +PATHS+="$DEFAULT_LINUX" +for DEFAULT_LINUX_OBJ in $PATHS; do + if readlink -q -e $DEFAULT_LINUX_OBJ; then + break + fi +done +AC_MSG_CHECKING([for Linux sources]) AC_ARG_WITH([linux], AC_HELP_STRING([--with-linux=path], - [set path to Linux source (default=/usr/src/linux)]), - [LB_ARG_CANON_PATH([linux], [LINUX])], - [LINUX=/usr/src/linux]) + [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) @@ -176,9 +200,10 @@ LB_CHECK_FILE([$LINUX],[], AC_MSG_CHECKING([for Linux objects dir]) AC_ARG_WITH([linux-obj], AC_HELP_STRING([--with-linux-obj=path], - [set path to Linux objects dir (default=$LINUX)]), + [set path to Linux objects dir (default=/lib/modules/$(uname -r)/build,/usr/src/linux)]), [LB_ARG_CANON_PATH([linux-obj], [LINUX_OBJ])], - [LINUX_OBJ=$LINUX]) + [LINUX_OBJ=$DEFAULT_LINUX_OBJ]) + AC_MSG_RESULT([$LINUX_OBJ]) AC_SUBST(LINUX_OBJ) @@ -333,18 +358,6 @@ AC_SUBST(UML_CFLAGS) # these are like AC_TRY_COMPILE, but try to build modules against the # kernel, inside the build directory -# -# LB_LINUX_CONFTEST -# -# create a conftest.c file -# -AC_DEFUN([LB_LINUX_CONFTEST], -[cat >conftest.c <<_ACEOF -$1 -_ACEOF -]) - - # LB_LANG_PROGRAM(C)([PROLOGUE], [BODY]) # -------------------------------------- m4_define([LB_LANG_PROGRAM], @@ -365,9 +378,9 @@ $2 # like AC_COMPILE_IFELSE # AC_DEFUN([LB_LINUX_COMPILE_IFELSE], -[m4_ifvaln([$1], [LB_LINUX_CONFTEST([$1])])dnl +[m4_ifvaln([$1], [AC_LANG_CONFTEST([$1])])dnl rm -f build/conftest.o build/conftest.mod.c build/conftest.ko -AS_IF([AC_TRY_COMMAND(cp conftest.c build && make -d [$2] ${LD:+"LD=$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_LNET_INCLUDE -I$LINUX/arch/`uname -m|sed -e 's/ppc.*/powerpc/' -e 's/x86_64/x86/' -e 's/i.86/x86/'`/include -I$LINUX/include -I$LINUX_OBJ/include -I$LINUX_OBJ/include2 -include include/linux/autoconf.h" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM $MODULE_TARGET=$PWD/build) >/dev/null && AC_TRY_COMMAND([$3])], +AS_IF([AC_TRY_COMMAND(cp conftest.c build && make -d [$2] ${LD:+"LD=$LD"} CC="$CC" -f $PWD/build/Makefile LUSTRE_LINUX_CONFIG=$LINUX_CONFIG LINUXINCLUDE="$EXTRA_LNET_INCLUDE -I$LINUX/arch/`uname -m|sed -e 's/ppc.*/powerpc/' -e 's/x86_64/x86/' -e 's/i.86/x86/'`/include -I$LINUX_OBJ/include -I$LINUX/include -I$LINUX_OBJ/include2 -include include/linux/autoconf.h" -o tmp_include_depends -o scripts -o include/config/MARKER -C $LINUX_OBJ EXTRA_CFLAGS="-Werror-implicit-function-declaration $EXTRA_KCFLAGS" $ARCH_UM $MODULE_TARGET=$PWD/build) >/dev/null && AC_TRY_COMMAND([$3])], [$4], [_AC_MSG_LOG_CONFTEST m4_ifvaln([$5],[$5])dnl]) @@ -529,7 +542,7 @@ else . $O2IBPATH/ofed_patch.mk fi if test -n "$BACKPORT_INCLUDES"; then - OFED_BACKPORT_PATH=`echo $BACKPORT_INCLUDES | sed "s#.*/src/ofa_kernel/#$O2IBPATH/#"` + OFED_BACKPORT_PATH="$O2IBPATH/${BACKPORT_INCLUDES/*\/kernel_addons/kernel_addons}/" EXTRA_LNET_INCLUDE="-I$OFED_BACKPORT_PATH $EXTRA_LNET_INCLUDE" AC_MSG_RESULT([yes]) else