summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--aclocal.m449
-rw-r--r--configure.ac13
-rw-r--r--utils/touchy/touchy.c5
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: