From 3458f6630e66087748b74b7feda75255cea28bca Mon Sep 17 00:00:00 2001 From: Marcus Watts Date: Thu, 4 Jan 2007 22:05:29 +0000 Subject: [PATCH] DEVEL15-linux-kbuild-configure-20070104 FIXES 40604 Test whether Linux kernel builds work at all before going into specific builds so that we can fail earlier with a better error message. Try to put more errors from the kernel build into config.log. (cherry picked from commit 182a18931a3fc696a53288dbd6fcf04e109f785b) --- acinclude.m4 | 1 + src/cf/linux-test1.m4 | 32 +++++++++++++++++++++----------- 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index 252358d0f5..f787cefa35 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -594,6 +594,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) [LINUX_BUILD_VNODE_FROM_INODE(${srcdir}/src/config,src/afs/LINUX,${srcdir}/src/afs/LINUX)] ) + LINUX_KERNEL_COMPILE_WORKS LINUX_CONFIG_H_EXISTS LINUX_COMPLETION_H_EXISTS LINUX_DEFINES_FOR_EACH_PROCESS diff --git a/src/cf/linux-test1.m4 b/src/cf/linux-test1.m4 index 7deea944f8..2a991053aa 100644 --- a/src/cf/linux-test1.m4 +++ b/src/cf/linux-test1.m4 @@ -1,16 +1,14 @@ # AC_TRY_KBUILD26([INCLUDES], [FUNCTION-BODY], # [ACTION-IF-SUCCESS], [ACTION-IF-FAILURE]) # -AC_DEFUN([AC_TRY_KBUILD26], [ - rm -fr conftest.dir - if mkdir conftest.dir; then - cd conftest.dir - cat >Makefile <<_ACEOF +AC_DEFUN([AC_TRY_KBUILD26],[ rm -fr conftest.dir + if mkdir conftest.dir && + cat >conftest.dir/Makefile <<_ACEOF && CFLAGS += $CPPFLAGS obj-m += conftest.o _ACEOF - cat >conftest.c <<\_ACEOF + cat >conftest.dir/conftest.c <<\_ACEOF && #include $1 @@ -21,11 +19,17 @@ $2 MODULE_LICENSE("http://www.openafs.org/dl/license10.html"); _ACEOF - cd .. - fi - AS_IF(AC_RUN_LOG([make -C $LINUX_KERNEL_PATH M=`pwd`/conftest.dir modules > /dev/null]), - [$3], [$4]) - rm -fr conftest.dir]) + echo make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD + make -C $LINUX_KERNEL_PATH M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD 2>conftest.err + then [$3] + else + sed '/^ *+/d' conftest.err >&AS_MESSAGE_LOG_FD + echo "$as_me: failed using Makefile:" >&AS_MESSAGE_LOG_FD + sed 's/^/| /' conftest.dir/Makefile >&AS_MESSAGE_LOG_FD + echo "$as_me: and program was:" >&AS_MESSAGE_LOG_FD + sed 's/^/| /' conftest.dir/conftest.c >&AS_MESSAGE_LOG_FD + [$4] + fi; rm -fr conftest.err conftest.dir]) # AC_TRY_KBUILD24([INCLUDES], [FUNCTION-BODY], @@ -47,3 +51,9 @@ AC_DEFUN([AC_TRY_KBUILD], [ else AC_TRY_KBUILD24([$1], [$2], [$3], [$4]) fi]) + +AC_DEFUN([LINUX_KERNEL_COMPILE_WORKS], [ + AC_MSG_CHECKING([for linux kernel module build works]) + AC_TRY_KBUILD([],[],:,AC_MSG_RESULT(no) + AC_MSG_FAILURE([Fix problem or use --disable-kernel-module...])) + AC_MSG_RESULT(yes)])