On 6/10/2014 03:46, Robin KAY wrote:
Dear All,
I wanted to enquire about the prospects for updating the version of
MinGW which ships with the Windows binary distribution of GHC. The
version included as of 7.8.2 is now several years old and in some
cases I've found that it's incompatible with the libraries produced by
newer versions of MinGW (as to be expected, per my understanding).
Specifically, my HsQML binding for Qt can't be used with the libraries
from the official Windows binary distribution of Qt 5 because the
resulting executables crash on start-up with runtime
incompatibilities. I'm in the process of trying to build
out-of-the-box compatible Qt binaries against GHC's MinGW, but Qt's
stated minimum requirements on the tool-chain version aren't
encouraging. The only way I currently have of making this work is for
users to edit their GHC settings file to point GHC at a version of
gcc.exe from a newer MinGW (such as the one which ships with Qt). The
fact that this seems to work is encouraging, but it's still a bit of a
difficult process to put people through.
I know that Windows developers are in short supply, so I would like to
offer what assistance I can in making this happen. There appear to be
copies of MinGW stored in the GHC repository at
http://git.haskell.org/ghc-tarballs.git/tree . Does the build system
use these automatically or are they just there for reference?
Thanks,
My experience is as follows:
1. 64-bit GHC uses mingw-w64 runtime/toolchain. Mingw-64 runtime and
binutils may be upgraded to the most recent versions and gcc may be
upgraded to versions up to 4.8.x. Gcc 4.9 is incompatible with GHC's
runtime linker now. Btw, did anybody try GHC + gcc 4.9 on linux?
2. 32-bit GHC uses mingw runtime/toolchain. I didn't try to upgrade it
for a long time but I think it shall succeed too (latest mingw gcc is
4.8.1). Btw, mingw runtime/toolchain development is stalled and it lags
behind mingw-w64 *considerably*. It is possible to use 32-bit mingw-w64
runtime/toolchain with GHC, but it requires some patches to be made. I
have such a patchset ready and can provide it if GHC HQ decide to switch
32-bit GHC distribution to mingw-w64 runtime/toolchain.
It is also important using mingw-w64 opens the door to *plenty* of
prebuilt packages available through Msys2 project, see
http://sourceforge.net/projects/msys2/files/REPOS/MINGW.
Cheers,
Kyra
_______________________________________________
ghc-devs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/ghc-devs