diff -ru --exclude '*~' xen-4.0.1-orig/tools/check/funcs.sh xen-4.0.1/tools/check/funcs.sh --- xen-4.0.1-orig/tools/check/funcs.sh 2010-08-25 12:22:07.000000000 +0200 +++ xen-4.0.1/tools/check/funcs.sh 2010-09-09 17:47:20.000000000 +0200 @@ -25,33 +25,13 @@ } has_header() { - case $1 in - /*) ;; - *) set -- "/usr/include/$1" ;; - esac - - check_sys_root || return 1 - - test -r "$CROSS_SYS_ROOT$1" - return $? + echo "#include <$1>" | gcc -E - > /dev/null && return 0 + return 1 } has_lib() { check_sys_root || return 1 - - # subshell to prevent pollution of caller's environment - ( - PATH=/sbin:$PATH # for ldconfig - - # This relatively common in a sys-root; libs are installed but - # ldconfig hasn't run there, so ldconfig -p won't work. - if [ "$OS" = Linux -a ! -f "$CROSS_SYS_ROOT/etc/ld.so.cache" ]; then - echo "Please run ldconfig -r \"$CROSS_SYS_ROOT\" to generate ld.so.cache" - # fall through; ldconfig test below should fail - fi - ldconfig -p ${CROSS_SYS_ROOT+-r "$CROSS_SYS_ROOT"} | grep -Fq "$1" - return $? - ) + return 0 } test_link() {