diff options
author | Roger Pau Monne <roger.pau@entel.upc.edu> | 2011-11-14 18:17:44 +0000 |
---|---|---|
committer | Roger Pau Monne <roger.pau@entel.upc.edu> | 2011-11-14 18:17:44 +0000 |
commit | 8698d6d56bc56ba0daabab40497d04e85ea05937 (patch) | |
tree | f6ccf8f3f9592675f810a9691106741bca4de365 /tools/check/funcs.sh | |
parent | 9163062a39392405ddb306bad0f9425ab7c0002c (diff) | |
download | xen-8698d6d56bc56ba0daabab40497d04e85ea05937.tar.gz xen-8698d6d56bc56ba0daabab40497d04e85ea05937.tar.bz2 xen-8698d6d56bc56ba0daabab40497d04e85ea05937.zip |
tools/check: check for headers and libraries in user defined folders.
Parse EXTRA_INCLUDES, EXTRA_LIB, PREPEND_INCLUDES, PREPEND_LIB,
APPEND_INCLUDES, APPEND_LIB during checks, to search for required
files.
Signed-off-by: Roger Pau Monne <roger.pau@entel.upc.edu>
Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
Diffstat (limited to 'tools/check/funcs.sh')
-rw-r--r-- | tools/check/funcs.sh | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/tools/check/funcs.sh b/tools/check/funcs.sh index 095dcb1ad2..054c579f15 100644 --- a/tools/check/funcs.sh +++ b/tools/check/funcs.sh @@ -25,15 +25,23 @@ has_or_fail() { } has_header() { + check_sys_root || return 1 + case $1 in /*) ;; - *) set -- "/usr/include/$1" ;; + *) + if [ -r "$CROSS_SYS_ROOT/usr/include/$1" ]; then + return 0 + fi + for path in ${CHECK_INCLUDES}; do + if [ -r "$CROSS_SYS_ROOT${path}/$1" ]; then + return 0 + fi + done + ;; esac - check_sys_root || return 1 - - test -r "$CROSS_SYS_ROOT$1" - return $? + return 1 } has_lib() { @@ -42,6 +50,7 @@ has_lib() { # subshell to prevent pollution of caller's environment ( PATH=/sbin:$PATH # for ldconfig + LIBRARIES="$CHECK_LIB /usr/lib" # This relatively common in a sys-root; libs are installed but # ldconfig hasn't run there, so ldconfig -p won't work. @@ -49,8 +58,15 @@ has_lib() { 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 $? + if [ "${OS}" = "Linux" ]; then + ldconfig -p ${CROSS_SYS_ROOT+-r "$CROSS_SYS_ROOT"} | grep -Fq "$1" + return $? + fi + if [ "${OS}" = "NetBSD" ]; then + ls -1 ${LIBRARIES} | grep -Fq "$1" + return $? + fi + return 1 ) } |