Fixed bug 1972 - Changeset 7379 (b27c778a2bdb) breaks make process with msys+mingw (make 3.82.90)
authorSam Lantinga <slouken@libsdl.org>
Sun, 04 Aug 2013 09:37:27 -0700
changeset 7573 b76d8bfe9a2f
parent 7572 e3c45fdcd18d
child 7574 006f7a09ea1c
Fixed bug 1972 - Changeset 7379 (b27c778a2bdb) breaks make process with msys+mingw (make 3.82.90) Andreas With the patch applied, make is not able to find the rule for Makefile.in anymore. Removing the patch resolves the issue. The path is in fact correct (in my case: /c/external/SDL64/SDL). But it seems the windows build of GNU Make doesn't work well with pathnames in rules. Both the dependencies in "$(srcdir)/configure: $(srcdir)/configure.in" and "Makefile: $(srcdir)/Makefile.in" will cause rules not to be found when srcdir is defined. The same problem occurs if the patch is removed and I supply configure with a srcdir manually.
configure
configure.in
--- a/configure	Sun Aug 04 09:35:35 2013 -0700
+++ b/configure	Sun Aug 04 09:37:27 2013 -0700
@@ -15791,7 +15791,14 @@
 fi
 
 
-srcdir=`cd $srcdir && pwd`
+case "$host" in
+    *-*-mingw32*)
+        # Except on msys, where make can't handle full pathnames (bug 1972)
+        ;;
+    *)
+        srcdir=`cd $srcdir && pwd`
+        ;;
+esac
 
 INCLUDE="-I$srcdir/include"
 if test x$srcdir != x.; then
--- a/configure.in	Sun Aug 04 09:35:35 2013 -0700
+++ b/configure.in	Sun Aug 04 09:37:27 2013 -0700
@@ -58,7 +58,14 @@
 AC_CHECK_TOOL(WINDRES, [windres], [:])
 
 dnl Make sure that srcdir is a full pathname
-srcdir=`cd $srcdir && pwd`
+case "$host" in
+    *-*-mingw32*)
+        # Except on msys, where make can't handle full pathnames (bug 1972)
+        ;;
+    *)
+        srcdir=`cd $srcdir && pwd`
+        ;;
+esac
 
 dnl Set up the compiler and linker flags
 INCLUDE="-I$srcdir/include"