diff -pu a/configure.in b/configure.in --- a/configure.in 2009-12-04 11:02:26.000000000 +0100 +++ b/configure.in 2009-12-03 22:08:05.000000000 +0100 @@ -2117,14 +2117,21 @@ if test "$build" != "$host" -a "$GCC" = dnl the linker. Stripping off the trailing '/bin/ld' gives us a candiate dnl for a 'root' below which libraries and headers for the target system dnl might be installed. - if cross_root=`$CC -print-prog-name=ld 2>/dev/null`; then + m4_pattern_allow([^PKG_CONFIG_SYSROOT_DIR$]) + if test ! -z "$PKG_CONFIG_SYSROOT_DIR"; then + cross_root="$PKG_CONFIG_SYSROOT_DIR" + elif cross_root=`$CC -print-prog-name=ld 2>/dev/null`; then cross_root=`dirname $cross_root` cross_root=`dirname $cross_root` + else + cross_root="" + fi - dnl substitute this candiate root for '^/usr' in the search lists, - dnl strip out any that don't start '^/usr'. - SEARCH_LIB=`for x in $SEARCH_LIB; do echo $x; done | sed -ne "s|^/usr|$cross_root|p"` - SEARCH_INCLUDE=`for x in $SEARCH_INCLUDE; do echo $x; done | sed -ne "s|^/usr|$cross_root|p"` + if test ! -z "$cross_root"; then + dnl substitute this candiate root for '^/' in the search lists, + dnl strip out any that don't start '^/'. + SEARCH_LIB=`for x in $SEARCH_LIB; do echo $x; done | sed -ne "s|^/|$cross_root/|p"` + SEARCH_INCLUDE=`for x in $SEARCH_INCLUDE; do echo $x; done | sed -ne "s|^/|$cross_root/|p"` SEARCH_INCLUDE="$SEARCH_INCLUDE $cross_root/include" dnl also have pkg-config search for *.pc files under this 'root'