diff --git a/Makefile.src.in b/Makefile.src.in --- a/Makefile.src.in +++ b/Makefile.src.in @@ -190,7 +190,7 @@ endif # Convert x:/... paths to /x/... for mingw ifeq ($(OS), MINGW) - @cat Makefile.dep.tmp | sed 's@\([a-zA-Z]\):\/@\/\1\/@g' > Makefile.dep.tmp.mingw + @cat Makefile.dep.tmp | sed 's@/\([a-zA-Z]\):\/@\/\1\/@g' > Makefile.dep.tmp.mingw @cp Makefile.dep.tmp.mingw Makefile.dep.tmp @rm -f Makefile.dep.tmp.mingw endif @@ -200,7 +200,7 @@ endif @$(AWK) ' \ /^# DO NOT/ { print $$0 ; next} \ /^#/ {next} \ - /:/ { \ + /: / { \ left = NF - 1; \ for (n = 2; n <= NF; n++) { \ if (match($$n, "^$(ROOT_DIR)") == 0) { \ diff --git a/configure b/configure --- a/configure +++ b/configure @@ -22,11 +22,16 @@ if [ "$0" != "$CONFIGURE_EXECUTABLE" ]; fi # Find out where configure is (in what dir) ROOT_DIR="`dirname $0`" -ROOT_DIR="`cd $ROOT_DIR && pwd`" +# For MSYS/MinGW we want to know the FULL path. This as that path is generated +# once you call an outside binary. Having the same path for the rest is needed +# for dependency checking. +# pwd -W returns said FULL path, but doesn't exist on others so fall back. +ROOT_DIR="`cd $ROOT_DIR && (pwd -W 2>/dev/null || pwd 2>/dev/null)`" check_path_characters -PWD="`pwd`" +# Same here as for the ROOT_DIR above +PWD="`pwd -W 2>/dev/null || pwd 2>/dev/null`" PREFIX="$PWD/bin" . $ROOT_DIR/config.lib