diff options
author | Thomas Miedema <thomasmiedema@gmail.com> | 2016-01-08 20:59:28 +0100 |
---|---|---|
committer | Thomas Miedema <thomasmiedema@gmail.com> | 2016-01-08 23:46:36 +0100 |
commit | f7b45c31f07daa4c3dca39f6ccc1a52c86900b7c (patch) | |
tree | 208a16b18369b65ee6f9725cf69ace50b5777a82 | |
parent | 2bd05b889f39e5ddf43a723b817b92fc6f4fc6d4 (diff) | |
download | haskell-f7b45c31f07daa4c3dca39f6ccc1a52c86900b7c.tar.gz |
Build system: fix `pwd` issues on Windows
Some parts of the build system require that paths are what msys2 calls
"mixed style":
* forwards slashes
* absolute paths starting with a drive letter followed by a colon
(e.g. "C:")
The removal of ghc-pwd in 4c56ad3 changed $(TOP) from mixed style to
unix style, resulting in a broken Windows build for some.
Differential Revision: https://phabricator.haskell.org/D1752
-rw-r--r-- | aclocal.m4 | 10 | ||||
-rw-r--r-- | configure.ac | 5 | ||||
-rw-r--r-- | distrib/configure.ac.in | 5 |
3 files changed, 15 insertions, 5 deletions
diff --git a/aclocal.m4 b/aclocal.m4 index 0c93de4cc4..933aee9be2 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1739,7 +1739,15 @@ AC_DEFUN([FP_CURSES], AC_DEFUN([FP_FIND_ROOT],[ AC_MSG_CHECKING(for path to top of build tree) - hardtop=`pwd` + if test "$windows" = YES + then + dnl Make sure this is a c:/foo/bar (mixed) style path. Some parts of + dnl the build system might depend on it (such as the sed expression + dnl `"s|$(TOP)/||i"` in addCFileDeps in rules/build-dependencies.mk). + hardtop=$(cygpath -m "$(pwd)") + else + hardtop=$(pwd) + fi dnl Remove common automounter nonsense hardtop=`echo $hardtop | sed 's|^/tmp_mnt.*\(/local/.*\)$|\1|' | sed 's|^/tmp_mnt/|/|'` diff --git a/configure.ac b/configure.ac index ab82bb0bfe..e9bdeec0fc 100644 --- a/configure.ac +++ b/configure.ac @@ -26,8 +26,6 @@ AC_INIT([The Glorious Glasgow Haskell Compilation System], [8.1], [glasgow-haske # checkout), then we ship a file 'VERSION' containing the full version # when the source distribution was created. -FP_FIND_ROOT - if test ! -f mk/config.h.in; then echo "mk/config.h.in doesn't exist: perhaps you haven't run 'perl boot'?" exit 1 @@ -260,6 +258,9 @@ AC_ARG_WITH(hc, ) AC_SUBST(WithHc) +# Requires FPTOOLS_SET_PLATFORM_VARS to be run first. +FP_FIND_ROOT + fail() { echo >&2 echo "$1" >&2 diff --git a/distrib/configure.ac.in b/distrib/configure.ac.in index 4d57cd8545..99b51f536b 100644 --- a/distrib/configure.ac.in +++ b/distrib/configure.ac.in @@ -6,8 +6,6 @@ dnl AC_INIT([The Glorious Glasgow Haskell Compilation System], [@ProjectVersion@], [glasgow-haskell-bugs@haskell.org], [ghc]) -FP_FIND_ROOT - dnl-------------------------------------------------------------------- dnl * Deal with arguments telling us gmp is somewhere odd dnl-------------------------------------------------------------------- @@ -17,6 +15,9 @@ FP_GMP bootstrap_target=@TargetPlatform@ FPTOOLS_SET_PLATFORM_VARS +# Requires FPTOOLS_SET_PLATFORM_VARS to be run first. +FP_FIND_ROOT + # ToDo: if Stage1Only=YES, should be YES CrossCompiling=NO CrossCompilePrefix="" |