MODULE_LICENSE("http://www.openafs.org/dl/license10.html");
_ACEOF
- echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD &&
- make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD 2>conftest.err &&
+ echo make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir $SPARSE_MAKEFLAGS modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD &&
+ make -C $LINUX_KERNEL_BUILD M=$SRCDIR_PARENT/conftest.dir $SPARSE_MAKEFLAGS modules KBUILD_VERBOSE=1 >&AS_MESSAGE_LOG_FD 2>conftest.err &&
! grep -i "WARNING: .* undefined!$" conftest.err >/dev/null 2>&1
then [$3]
else
CPPFLAGS="$save_CPPFLAGS"
AC_MSG_RESULT($ac_linux_kbuild_requires_extra_cflags)])
+AC_DEFUN([LINUX_KBUILD_SPARSE_CHECKS], [
+ AC_ARG_WITH([sparse],
+ AS_HELP_STRING([--with-sparse@<:@=PATH@:>@],
+ [Location of the 'sparse' tool]),
+ [SPARSE="$withval"],
+ [SPARSE=check])
+
+ AS_CASE([$SPARSE],
+ [check], [AC_PATH_PROG([SPARSE], [sparse], [])],
+ [yes], [AC_PATH_PROG([SPARSE], [sparse], [])
+ AS_IF([test "x$SPARSE" = "x"], [AC_MSG_ERROR([sparse not found])])],
+ [no], [SPARSE=])
+
+ AS_IF([test x"$SPARSE" != x],
+ [SPARSE_MAKEFLAGS="C=2 CHECK=$SPARSE"])
+
+ AC_SUBST([SPARSE_MAKEFLAGS])
+
+ AC_ARG_VAR([SPARSE], [Path to the 'sparse' tool])
+])
+
+
dnl AC_CHECK_LINUX_BUILD([msg], [var], [includes], [code], [define], [CFLAGS])
AC_DEFUN([AC_CHECK_LINUX_BUILD],
[AS_VAR_PUSHDEF([ac_linux_build], [$2])dnl
INST_SYSTEM = ${DESTDIR}${SYSTEM_LIBAFS}
DEST_SYSTEM = ${DEST}/root.client${SYSTEM_LIBAFS}
+SPARSE_MAKEFLAGS = @SPARSE_MAKEFLAGS@
+
libafs: $(LIBAFS)
echo SP Build Complete
${LINUX_LIBAFS_NAME}.ko afspag.ko: .FORCE
env EXTRA_CFLAGS="${EXTRA_CFLAGS}" @TOP_SRCDIR@/libafs/make_kbuild_makefile.pl ${KDIR} $@ @TOP_OBJDIR@/src/config/Makefile.config Makefile.afs Makefile.common
( env EXTRA_CFLAGS="${EXTRA_CFLAGS}" \
- $(MAKE) -C ${LINUX_KERNEL_BUILD} M=@TOP_OBJDIR@/src/libafs/${KDIR} modules 2>&1 \
+ $(MAKE) -C ${LINUX_KERNEL_BUILD} M=@TOP_OBJDIR@/src/libafs/${KDIR} $(SPARSE_MAKEFLAGS) modules 2>&1 \
|| echo "FAILURE: make exit code $$?" ) | tee .makelog
@if grep -E -q '^(FAILURE|WARNING)' .makelog; then \
grep -q '^WARNING' .makelog && echo "Error: Undefined symbols in modules" ; \