aboutsummaryrefslogtreecommitdiffstats
path: root/tools/check/funcs.sh
diff options
context:
space:
mode:
authorRoger Pau Monne <roger.pau@entel.upc.edu>2011-11-14 18:17:44 +0000
committerRoger Pau Monne <roger.pau@entel.upc.edu>2011-11-14 18:17:44 +0000
commit8698d6d56bc56ba0daabab40497d04e85ea05937 (patch)
treef6ccf8f3f9592675f810a9691106741bca4de365 /tools/check/funcs.sh
parent9163062a39392405ddb306bad0f9425ab7c0002c (diff)
downloadxen-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.sh30
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
)
}