OSDN Git Service

MAKEALL: find kernel headers better
authorMike Frysinger <vapier@gentoo.org>
Mon, 20 Jul 2009 19:23:26 +0000 (15:23 -0400)
committerMike Frysinger <vapier@gentoo.org>
Mon, 20 Jul 2009 19:23:26 +0000 (15:23 -0400)
Work with pre-sysroot compilers that have kernel headers available in the
standard location, and let people force the location manually.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
extra/scripts/MAKEALL

index dc9f754..6bacc9a 100755 (executable)
@@ -101,7 +101,18 @@ for a in "$@" ; do
 
        setconfig CROSS_COMPILER_PREFIX ${CROSS}
 
-       header_path=$(echo '#include <linux/version.h>' | ${CROSS}cpp 2>&1 | grep -o '[^"]*linux/version.h')
+       header_path=${KERNEL_HEADERS:-$(echo '#include <linux/version.h>' | ${CROSS}cpp 2>/dev/null | grep -o '[^"]*linux/version.h')} || :
+       if [ -z "${header_path}" ] ; then
+               for p in /usr/${CROSS%-}/usr/include ; do
+                       if [ -e ${p}/linux/version.h ] ; then
+                               header_path=${p}
+                               break
+                       fi
+               done
+               if [ -z "${header_path}" ] ; then
+                       echo "  ## unable to locate KERNEL_HEADERS"
+               fi
+       fi
        setconfig KERNEL_HEADERS ${header_path%/linux/version.h}
 
        if do_make ; then