]> git.proxmox.com Git - mirror_spl-debian.git/commitdiff
Build System Default Kernel
authorBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 9 Mar 2009 23:50:37 +0000 (16:50 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 9 Mar 2009 23:57:10 +0000 (16:57 -0700)
Update the method used for determining which kernel to build against
when not specified.  Previous 'uname -r' was used but this makes the
assumption that the running kernel is the one you want to use, this is
often not the case.  It is better to examine the usual kernel-devel
install locations and select one of the installed kernels.

config/spl-build.m4
configure

index b6e44a7f2a559faa3042b1918370aae29d268da2..f2dc7fa9ecd42a6693d284c68bc4a0719a53f060 100644 (file)
@@ -1,6 +1,4 @@
 AC_DEFUN([SPL_AC_KERNEL], [
-       ver=`uname -r`
-
        AC_ARG_WITH([linux],
                AS_HELP_STRING([--with-linux=PATH],
                [Path to kernel source]),
@@ -14,19 +12,12 @@ AC_DEFUN([SPL_AC_KERNEL], [
        AC_MSG_CHECKING([kernel source directory])
        if test -z "$kernelsrc"; then
                kernelbuild=
-               sourcelink=/lib/modules/${ver}/source
-               buildlink=/lib/modules/${ver}/build
+               sourcelink=`ls -1d /usr/src/kernels/* /usr/src/linux-* 2>/dev/null | tail -1`
 
-               if test -e $sourcelink; then
-                       kernelsrc=`(cd $sourcelink; /bin/pwd)`
-               fi
-               if test -e $buildlink; then
-                       kernelbuild=`(cd $buildlink; /bin/pwd)`
-               fi
-               if test -z "$kernelsrc"; then
-                       kernelsrc=$kernelbuild
-               fi
-               if test -z "$kernelsrc" -o -z "$kernelbuild"; then
+               if test -e ${sourcelink}; then
+                       kernelsrc=`readlink -f ${sourcelink}`
+                       kernelbuild=${kernelsrc}
+               else
                        AC_MSG_RESULT([Not found])
                        AC_MSG_ERROR([
                        *** Please specify the location of the kernel source
@@ -48,7 +39,7 @@ AC_DEFUN([SPL_AC_KERNEL], [
 
                kernsrcver=`(echo "#include <linux/version.h>"; 
                             echo "kernsrcver=UTS_RELEASE") | 
-                            cpp -I $kernelbuild/include |
+                            cpp -I $kernelbuild/include |
                             grep "^kernsrcver=" | cut -d \" -f 2`
 
        elif test -r $kernelbuild/include/linux/utsrelease.h && 
@@ -56,7 +47,7 @@ AC_DEFUN([SPL_AC_KERNEL], [
 
                kernsrcver=`(echo "#include <linux/utsrelease.h>"; 
                             echo "kernsrcver=UTS_RELEASE") | 
-                            cpp -I $kernelbuild/include |
+                            cpp -I $kernelbuild/include |
                             grep "^kernsrcver=" | cut -d \" -f 2`
        fi
 
index 8f5ec50c4bbd09bf09494ceab133b4a0327321a0..0c4a90cc626ef9f13cfb664dff1026a175fb1575 100755 (executable)
--- a/configure
+++ b/configure
@@ -18921,8 +18921,6 @@ LINUX=
 LINUX_OBJ=
 
 
-       ver=`uname -r`
-
 
 # Check whether --with-linux or --without-linux was given.
 if test "${with_linux+set}" = set; then
@@ -18941,19 +18939,12 @@ fi;
 echo $ECHO_N "checking kernel source directory... $ECHO_C" >&6
        if test -z "$kernelsrc"; then
                kernelbuild=
-               sourcelink=/lib/modules/${ver}/source
-               buildlink=/lib/modules/${ver}/build
+               sourcelink=`ls -1d /usr/src/kernels/* /usr/src/linux-* 2>/dev/null | tail -1`
 
-               if test -e $sourcelink; then
-                       kernelsrc=`(cd $sourcelink; /bin/pwd)`
-               fi
-               if test -e $buildlink; then
-                       kernelbuild=`(cd $buildlink; /bin/pwd)`
-               fi
-               if test -z "$kernelsrc"; then
-                       kernelsrc=$kernelbuild
-               fi
-               if test -z "$kernelsrc" -o -z "$kernelbuild"; then
+               if test -e ${sourcelink}; then
+                       kernelsrc=`readlink -f ${sourcelink}`
+                       kernelbuild=${kernelsrc}
+               else
                        echo "$as_me:$LINENO: result: Not found" >&5
 echo "${ECHO_T}Not found" >&6
                        { { echo "$as_me:$LINENO: error:
@@ -18984,7 +18975,7 @@ echo $ECHO_N "checking kernel source version... $ECHO_C" >&6
 
                kernsrcver=`(echo "#include <linux/version.h>";
                             echo "kernsrcver=UTS_RELEASE") |
-                            cpp -I $kernelbuild/include |
+                            cpp -I $kernelbuild/include |
                             grep "^kernsrcver=" | cut -d \" -f 2`
 
        elif test -r $kernelbuild/include/linux/utsrelease.h &&
@@ -18992,7 +18983,7 @@ echo $ECHO_N "checking kernel source version... $ECHO_C" >&6
 
                kernsrcver=`(echo "#include <linux/utsrelease.h>";
                             echo "kernsrcver=UTS_RELEASE") |
-                            cpp -I $kernelbuild/include |
+                            cpp -I $kernelbuild/include |
                             grep "^kernsrcver=" | cut -d \" -f 2`
        fi