浏览代码

MAKEALL: find kernel headers better

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>
Mike Frysinger 15 年之前
父节点
当前提交
064bf679a0
共有 1 个文件被更改,包括 12 次插入1 次删除
  1. 12 1
      extra/scripts/MAKEALL

+ 12 - 1
extra/scripts/MAKEALL

@@ -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