diff --git a/configure b/configure index 18fef588936e..fc8d57999ffd 100755 --- a/configure +++ b/configure @@ -337,6 +337,15 @@ to_gnu_triple() { esac } +# Prints the absolute path of a directory to stdout +abs_path() { + local _path="$1" + # Unset CDPATH because it causes havok: it makes the destination unpredictable + # and triggers 'cd' to print the path to stdout. Route `cd`'s output to /dev/null + # for good measure. + (unset CDPATH && cd "$_path" > /dev/null && pwd) +} + msg "looking for configure programs" need_cmd cmp need_cmd mkdir @@ -509,7 +518,7 @@ fi DEFAULT_BUILD="${CFG_CPUTYPE}-${CFG_OSTYPE}" -CFG_SRC_DIR="$(cd $(dirname $0) && pwd)/" +CFG_SRC_DIR="$(abs_path $(dirname $0))/" CFG_BUILD_DIR="$(pwd)/" CFG_SELF="$0" CFG_CONFIGURE_ARGS="$@"