diff options
-rw-r--r-- | aclocal.m4 | 49 | ||||
-rw-r--r-- | configure.ac | 13 | ||||
-rw-r--r-- | utils/touchy/touchy.c | 5 |
3 files changed, 41 insertions, 26 deletions
diff --git a/aclocal.m4 b/aclocal.m4 index dcc3448f34..cbf51df3cf 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -458,42 +458,55 @@ AC_DEFUN([GET_ARM_ISA], # Set the variables used in the settings file AC_DEFUN([FP_SETTINGS], [ - if test "$windows" = YES + SettingsCCompilerCommand="$CC" + SettingsHaskellCPPCommand="$HaskellCPPCmd" + SettingsHaskellCPPFlags="$HaskellCPPArgs" + SettingsLdCommand="$LdCmd" + SettingsArCommand="$ArCmd" + SettingsPerlCommand="$PerlCmd" + + if test -z "$DllWrap" then - mingw_bin_prefix=mingw/bin/ - SettingsCCompilerCommand="\$topdir/../${mingw_bin_prefix}gcc.exe" - SettingsHaskellCPPCommand="\$topdir/../${mingw_bin_prefix}gcc.exe" - SettingsHaskellCPPFlags="$HaskellCPPArgs" - SettingsLdCommand="\$topdir/../${mingw_bin_prefix}ld.exe" - SettingsArCommand="\$topdir/../${mingw_bin_prefix}ar.exe" - SettingsPerlCommand='$topdir/../perl/perl.exe' - SettingsDllWrapCommand="\$topdir/../${mingw_bin_prefix}dllwrap.exe" - SettingsWindresCommand="\$topdir/../${mingw_bin_prefix}windres.exe" - SettingsTouchCommand='$topdir/bin/touchy.exe' - else - SettingsCCompilerCommand="$CC" - SettingsHaskellCPPCommand="$HaskellCPPCmd" - SettingsHaskellCPPFlags="$HaskellCPPArgs" - SettingsLdCommand="$LdCmd" - SettingsArCommand="$ArCmd" - SettingsPerlCommand="$PerlCmd" SettingsDllWrapCommand="/bin/false" + else + SettingsDllWrapCommand="$DllWrap" + fi + + if test -z "$Windres" + then SettingsWindresCommand="/bin/false" + else + SettingsWindresCommand="$Windres" + fi + + if test -z "$Libtool" + then SettingsLibtoolCommand="libtool" + else + SettingsLibtoolCommand="$Libtool" + fi + + if test -z "$Touch" + then SettingsTouchCommand='touch' + else + SettingsTouchCommand='$Touch' fi + if test -z "$LlcCmd" then SettingsLlcCommand="llc" else SettingsLlcCommand="$LlcCmd" fi + if test -z "$OptCmd" then SettingsOptCommand="opt" else SettingsOptCommand="$OptCmd" fi + SettingsCCompilerFlags="$CONF_CC_OPTS_STAGE2" SettingsCCompilerLinkFlags="$CONF_GCC_LINKER_OPTS_STAGE2" SettingsLdFlags="$CONF_LD_LINKER_OPTS_STAGE2" diff --git a/configure.ac b/configure.ac index 15561d059f..d7eb7380cd 100644 --- a/configure.ac +++ b/configure.ac @@ -177,13 +177,9 @@ then if test "$ghc_host_os" = "mingw32" then - if test "${OSTYPE}" = "msys" - then - WithGhc=`echo "${WithGhc}" | sed "s#^/\([a-zA-Z]\)/#\1:/#"` - else - # Canonicalise to <drive>:/path/to/ghc - WithGhc=`cygpath -m "${WithGhc}"` - fi + # Canonicalise to <drive>:/path/to/ghc + WithGhc=`cygpath -m "${WithGhc}"` + echo "GHC path canonicalised to: ${WithGhc}" fi fi @@ -366,6 +362,8 @@ then NM="${mingwbin}nm.exe" RANLIB="${mingwbin}ranlib.exe" OBJDUMP="${mingwbin}objdump.exe" + Windres="${mingwbin}windres.exe" + DllWrap="${mingwbin}dllwrap.exe" fp_prog_ar="${mingwbin}ar.exe" # NB. Download the perl binaries if required @@ -733,7 +731,6 @@ AC_SUBST(HaveDtrace) AC_PATH_PROG(HSCOLOUR,HsColour) # HsColour is passed to Cabal, so we need a native path if test "$HostOS" = "mingw32" && \ - test "${OSTYPE}" != "msys" && \ test "${HSCOLOUR}" != "" then # Canonicalise to <drive>:/path/to/gcc diff --git a/utils/touchy/touchy.c b/utils/touchy/touchy.c index 88ababac01..dbcf71277c 100644 --- a/utils/touchy/touchy.c +++ b/utils/touchy/touchy.c @@ -14,6 +14,11 @@ #include <windows.h> /* +touch is used by GHC both during building and during compilation of +Haskell files. Unfortunately this means we need a 'touch' like program +in the GHC bindist. Since touch is not standard on Windows and msys2 +doesn't include a mingw-w64 build of coreutils we need touchy for now. + With Windows 7 in a virtual box VM on OS X, some very odd things happen with dates and time stamps when SSHing into cygwin. e.g. here the "Change" time is in the past: |