[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 2 of 2 v2] tools/check: check for headers and libraries in user defined folders
# HG changeset patch # User Roger Pau Monne <roger.pau@xxxxxxxxxxxxx> # Date 1318930003 -7200 # Node ID 0a720316685a73e2d5aee56c1572b9ee8d98ab4e # Parent 8e4ffea9c9d0e41c0887b476aa34f305cf241b55 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@xxxxxxxxxxxxx> diff -r 8e4ffea9c9d0 -r 0a720316685a Config.mk --- a/Config.mk Tue Oct 18 11:26:28 2011 +0200 +++ b/Config.mk Tue Oct 18 11:26:43 2011 +0200 @@ -176,6 +176,9 @@ CFLAGS += $(foreach i, $(PREPEND_INCLUDE APPEND_LDFLAGS += $(foreach i, $(APPEND_LIB), -L$(i)) APPEND_CFLAGS += $(foreach i, $(APPEND_INCLUDES), -I$(i)) +CHECK_LIB = $(EXTRA_LIB) $(PREPEND_LIB) $(APPEND_LIB) +CHECK_INCLUDES = $(EXTRA_INCLUDES) $(PREPEND_INCLUDES) $(APPEND_INCLUDES) + EMBEDDED_EXTRA_CFLAGS := -nopie -fno-stack-protector -fno-stack-protector-all EMBEDDED_EXTRA_CFLAGS += -fno-exceptions diff -r 8e4ffea9c9d0 -r 0a720316685a tools/check/Makefile --- a/tools/check/Makefile Tue Oct 18 11:26:28 2011 +0200 +++ b/tools/check/Makefile Tue Oct 18 11:26:43 2011 +0200 @@ -7,12 +7,12 @@ all install: check-build # Check this machine is OK for building on. .PHONY: check-build check-build: - PYTHON=$(PYTHON) LIBXENAPI_BINDINGS=$(LIBXENAPI_BINDINGS) ./chk build + PYTHON=$(PYTHON) LIBXENAPI_BINDINGS=$(LIBXENAPI_BINDINGS) CHECK_INCLUDES="$(CHECK_INCLUDES)" CHECK_LIB="$(CHECK_LIB)" ./chk build # Check this machine is OK for installing on. .PHONY: check-install check-install: - PYTHON=$(PYTHON) LIBXENAPI_BINDINGS=$(LIBXENAPI_BINDINGS) ./chk install + PYTHON=$(PYTHON) LIBXENAPI_BINDINGS=$(LIBXENAPI_BINDINGS) CHECK_INCLUDES="$(CHECK_INCLUDES)" CHECK_LIB="$(CHECK_LIB)" ./chk install .PHONY: clean clean: diff -r 8e4ffea9c9d0 -r 0a720316685a tools/check/funcs.sh --- a/tools/check/funcs.sh Tue Oct 18 11:26:28 2011 +0200 +++ b/tools/check/funcs.sh Tue Oct 18 11:26:43 2011 +0200 @@ -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 ) } _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |