When no kernel source has been pointed to, first attempt to use

/lib/modules/$(uname -r)/source.  This will likely fail when building
under a mock (http://fedoraproject.org/wiki/Projects/Mock) chroot
environment since `uname -r` will report the running kernel which
likely is not the kernel in your chroot.  To cleanly handle this
we fallback to using the first kernel in your chroot.

The kernel-devel package which contains all the kernel headers and
a few build products such as Module.symver{s} is all the is required.
Full source is not needed.
This commit is contained in:
Brian J. Murrell 2010-03-08 14:53:13 -08:00 committed by Brian Behlendorf
parent 3d7cfde000
commit 0ec3b7e122
1 changed files with 8 additions and 2 deletions

View File

@ -76,8 +76,14 @@ AC_DEFUN([ZFS_AC_KERNEL], [
AC_MSG_CHECKING([kernel source directory])
if test -z "$kernelsrc"; then
sourcelink=`ls -1d /usr/src/kernels/* /usr/src/linux-* \
2>/dev/null | grep -v obj | tail -1`
headersdir="/lib/modules/$(uname -r)/build"
if test -e "$headersdir"; then
sourcelink=$(readlink -f "$headersdir")
else
sourcelink=$(ls -1d /usr/src/kernels/* \
/usr/src/linux-* \
2>/dev/null | grep -v obj | tail -1)
fi
if test -e $sourcelink; then
kernelsrc=`readlink -f ${sourcelink}`