Skip to content
  • Tamar Christina's avatar
    Upgrade GCC to 5.2.0 for Windows x86 and x86_64 · 7b211b4e
    Tamar Christina authored and Ben Gamari's avatar Ben Gamari committed
    This patch does a few things
    
    - Moved GHC x86 to MinGW-w64 (Using Awson's patch)
    - Moves Both GHCs to MSYS2 toolchains
    - Completely removes the dependencies on the git tarball repo
      - Downloads only the required tarball for the architecture for
        which we are building
      - Downloads the perl tarball is missing as well
      - Fixed a few bugs in the linker to fix tests on Windows
    
    The links currently point to repo.msys2.org and GitHub, it might be
    more desirable to mirror them on
    http://downloads.haskell.org/~ghc/mingw/ as with the previous patch
    attempt.
    
    For more details on what the MSYS2 packages I include see #10726
    (Awson's comment). but it should contain all we need
    and no python or fortran, which makes the uncompressed tar a 1-2
    hundreds mb smaller.
    
    The `GCC 5.2.0` in the package supports `libgcc` as a shared library,
    this is a problem since
    when compiling with -shared the produced dll now has a dependency on
    `libgcc_s_sjlj-1.dll`.
    To solve this the flag `-static-libgcc` is now being used for all GCC
    calls on windows.
    
    Test Plan:
    ./validate was ran both on x86 and x86_64 windows and compared against
    the baseline.
    
    A few test were failing due to Ld no longer being noisy. These were
    updated.
    
    The changes to the configure script *should* be validated by the build
    bots for the other platforms before landing
    
    Reviewers: simonmar, awson, bgamari, austin, thomie
    
    Reviewed By: thomie
    
    Subscribers: #ghc_windows_task_force, thomie, awson
    
    Differential Revision: https://phabricator.haskell.org/D1123
    
    GHC Trac Issues: #10726, #9014, #9218, #10435
    7b211b4e