From 70bf97e753840545744cc5ef455875146d64e568 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sun, 4 Aug 2013 09:37:27 -0700 Subject: [PATCH] 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 | 9 ++++++++- configure.in | 9 ++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/configure b/configure index de41b5d54..12e47b468 100755 --- a/configure +++ b/configure @@ -15791,7 +15791,14 @@ else 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 diff --git a/configure.in b/configure.in index d1cf8e152..252efe4be 100644 --- a/configure.in +++ b/configure.in @@ -58,7 +58,14 @@ AC_PROG_MAKE_SET 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"