diff -r 8e36a0fabf58 -r 51d3b65b8093 common/autoconf/basics.m4 --- a/common/autoconf/basics.m4 Tue Dec 18 09:57:01 2012 +0100 +++ b/common/autoconf/basics.m4 Tue Dec 18 17:54:39 2012 +0100 @@ -90,13 +90,25 @@ tmp="$complete EOL" arguments="${tmp#* }" - new_path=`$WHICH $path 2> /dev/null` + # Cannot rely on the command "which" here since it doesn't always work. + is_absolute_path=`$ECHO "$path" | $GREP ^/` + if test -z "$is_absolute_path"; then + # Path to executable is not absolute. Find it. + IFS_save="$IFS" + IFS=: + for p in $PATH; do + if test -f "$p/$path" && test -x "$p/$path"; then + new_path="$p/$path" + break + fi + done + IFS="$IFS_save" + else + AC_MSG_NOTICE([Resolving $1 (as $path) failed, using $path directly.]) + new_path="$path" + fi + if test "x$new_path" = x; then - is_absolute_path=`$ECHO "$path" | $GREP ^/` - if test "x$is_absolute_path" != x; then - AC_MSG_NOTICE([Resolving $1 (as $path) with 'which' failed, using $path directly.]) - new_path="$path" - else AC_MSG_NOTICE([The path of $1, which resolves as "$complete", is not found.]) has_space=`$ECHO "$complete" | $GREP " "` if test "x$has_space" != x; then @@ -104,20 +116,19 @@ fi AC_MSG_ERROR([Cannot locate the the path of $1]) fi - fi fi - # Now join together the path and the arguments once again - if test "x$arguments" != xEOL; then - new_complete="$new_path ${arguments% *}" - else - new_complete="$new_path" - fi + # Now join together the path and the arguments once again + if test "x$arguments" != xEOL; then + new_complete="$new_path ${arguments% *}" + else + new_complete="$new_path" + fi if test "x$complete" != "x$new_complete"; then - $1="$new_complete" - AC_MSG_NOTICE([Rewriting $1 to "$new_complete"]) - fi + $1="$new_complete" + AC_MSG_NOTICE([Rewriting $1 to "$new_complete"]) + fi ]) AC_DEFUN([BASIC_REMOVE_SYMBOLIC_LINKS],