aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorBrian Behlendorf <behlendorf1@llnl.gov>2010-06-30 09:47:57 -0700
committerBrian Behlendorf <behlendorf1@llnl.gov>2010-06-30 12:48:18 -0700
commitfd921c2e0c36c0c658031bc8bf4a3f912a3349f7 (patch)
tree9f118bab4e5897bc790800c7e75cb021a0cb55ba /config
parent1e48754059046c01ac8e35c8686e2d1940d984f9 (diff)
Linux-2.6.33 compat, check <generated/utsrelease.h> for UTS_RELEASE
It seems the upstream community moved the definition of UTS_RELEASE yet again as of linux-2.6.33. Update the build system to check in all three possible locations where your kernel version may be defined. $kernelbuild/include/linux/version.h $kernelbuild/include/linux/utsrelease.h $kernelbuild/include/generated/utsrelease.h
Diffstat (limited to 'config')
-rw-r--r--config/spl-build.m434
1 files changed, 18 insertions, 16 deletions
diff --git a/config/spl-build.m4 b/config/spl-build.m4
index 6f312e25a..c6f47b68f 100644
--- a/config/spl-build.m4
+++ b/config/spl-build.m4
@@ -146,28 +146,30 @@ AC_DEFUN([SPL_AC_KERNEL], [
AC_MSG_RESULT([$kernelbuild])
AC_MSG_CHECKING([kernel source version])
- if test -r $kernelbuild/include/linux/version.h &&
- fgrep -q UTS_RELEASE $kernelbuild/include/linux/version.h; then
-
- kernsrcver=`(echo "#include <linux/version.h>";
- echo "kernsrcver=UTS_RELEASE") |
- cpp -I $kernelbuild/include |
- grep "^kernsrcver=" | cut -d \" -f 2`
-
- elif test -r $kernelbuild/include/linux/utsrelease.h &&
- fgrep -q UTS_RELEASE $kernelbuild/include/linux/utsrelease.h; then
+ utsrelease1=$kernelbuild/include/linux/version.h
+ utsrelease2=$kernelbuild/include/linux/utsrelease.h
+ utsrelease3=$kernelbuild/include/generated/utsrelease.h
+ if test -r $utsrelease1 && fgrep -q UTS_RELEASE $utsrelease1; then
+ utsrelease=linux/version.h
+ elif test -r $utsrelease2 && fgrep -q UTS_RELEASE $utsrelease2; then
+ utsrelease=linux/utsrelease.h
+ elif test -r $utsrelease3 && fgrep -q UTS_RELEASE $utsrelease3; then
+ utsrelease=generated/utsrelease.h
+ fi
- kernsrcver=`(echo "#include <linux/utsrelease.h>";
+ if test "$utsrelease"; then
+ kernsrcver=`(echo "#include <$utsrelease>";
echo "kernsrcver=UTS_RELEASE") |
cpp -I $kernelbuild/include |
grep "^kernsrcver=" | cut -d \" -f 2`
- fi
- if test -z "$kernsrcver"; then
+ if test -z "$kernsrcver"; then
+ AC_MSG_RESULT([Not found])
+ AC_MSG_ERROR([*** Cannot determine kernel version.])
+ fi
+ else
AC_MSG_RESULT([Not found])
- AC_MSG_ERROR([
- *** Cannot determine the version of the linux kernel source.
- *** Please prepare the kernel before running this script])
+ AC_MSG_ERROR([*** Cannot find UTS_RELEASE definition.])
fi
AC_MSG_RESULT([$kernsrcver])