From be9bc55efdc1c1f665a84e5f10cdef9af0685ab7 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Thu, 19 Sep 2013 11:43:01 +0300 Subject: [PATCH] Fix MinGW builds from inside the MSYS installation tree. configure.ac [MINGW32]: Make sure the value of 'srcdir' is in the full /d/foo/bar form. See the discussion in http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00210.html, and in particular http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00252.html and its followups, for the details. --- ChangeLog | 9 +++++++++ configure.ac | 11 +++++++++++ 2 files changed, 20 insertions(+) diff --git a/ChangeLog b/ChangeLog index c075c60be23..990db8da28d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2013-09-19 Eli Zaretskii + + * configure.ac [MINGW32]: Make sure the value of 'srcdir' + is in the full /d/foo/bar form. See the discussion in + http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00210.html, + and in particular + http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00252.html + and its followups, for the details. + 2013-09-17 Dmitry Antipov * configure.ac: Do not check for g_type_init because we diff --git a/configure.ac b/configure.ac index 903537f8a59..fe326623571 100644 --- a/configure.ac +++ b/configure.ac @@ -443,6 +443,17 @@ case "${srcdir}" in * ) srcdir=`(cd "$srcdir"; pwd)` ;; esac +#### When building with MinGW inside the MSYS tree, 'pwd' produces +#### directories relative to the root of the MSYS tree, +#### e.g. '/home/user/foo' instead of '/d/MSYS/home/user/foo'. When +#### such a value of srcdir is written to the top-level Makefile, it +#### gets propagated to src/epaths.h, and that causes temacs to fail, +#### because, being a MinGW program that knows nothing of MSYS root +#### substitution, it cannot find the data directory. "pwd -W" +#### produces Windows-style 'd:/foo/bar' absolute directory names, so +#### we use it here to countermand that lossage. +test "$MSYSTEM" = "MINGW32" && srcdir=`(cd "$srcdir"; pwd -W | sed -e 's,^\([[A-Za-z]]\):,/\1,')` + ### Canonicalize the configuration name. AC_CANONICAL_HOST -- 2.39.2