diff options
author | Brian Behlendorf <behlendorf1@llnl.gov> | 2010-06-30 09:47:57 -0700 |
---|---|---|
committer | Brian Behlendorf <behlendorf1@llnl.gov> | 2010-06-30 12:48:18 -0700 |
commit | fd921c2e0c36c0c658031bc8bf4a3f912a3349f7 (patch) | |
tree | 9f118bab4e5897bc790800c7e75cb021a0cb55ba /config | |
parent | 1e48754059046c01ac8e35c8686e2d1940d984f9 (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.m4 | 34 |
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]) |