Commit 20c06143 authored by Tamar Christina's avatar Tamar Christina Committed by Ben Gamari

Update Mingw-w64 bindist for Windows

This updates the binary dists for windows to GCC 6.2.0 and
binutils 2.27.2 which has fixes required for LLVM.

Test Plan: ./validate

Reviewers: simonmar, erikd, austin, bgamari

Reviewed By: simonmar, bgamari

Subscribers: thomie, #ghc_windows_task_force

Differential Revision: https://phabricator.haskell.org/D2749

GHC Trac Issues: #12871, #8974
parent 605bb9b4
...@@ -97,6 +97,9 @@ Compiler ...@@ -97,6 +97,9 @@ Compiler
data TSyn = (T :: (forall k. k -> Type) -> Type) data TSyn = (T :: (forall k. k -> Type) -> Type)
- The Mingw-w64 toolchain for the Windows version of GHC has been updated. GHC now uses
`GCC 6.2.0` and `binutils 1.27.2`.
GHCi GHCi
~~~~ ~~~~
......
...@@ -35,8 +35,11 @@ download_file() { ...@@ -35,8 +35,11 @@ download_file() {
fi fi
fi fi
echo "${file_md5} *${dest_file}" | md5sum --quiet -c - || if test "$verify" = "1"
fail "ERROR: ${description} appears to be corrupted, please delete it and try again." then
echo "${file_md5} *${dest_file}" | md5sum --quiet -c - ||
fail "ERROR: ${description} appears to be corrupted, please delete it and try again."
fi
} }
download_mingw() { download_mingw() {
...@@ -44,11 +47,14 @@ download_mingw() { ...@@ -44,11 +47,14 @@ download_mingw() {
local file_md5sum_x86="$2" local file_md5sum_x86="$2"
local file_md5sum_x64="$3" local file_md5sum_x64="$3"
if test "$mingw_arch" = "i686" if ! test "$mingw_arch" = "sources"
then then
local file_md5sum="${file_md5sum_x86}" if test "$mingw_arch" = "i686"
else then
local file_md5sum="${file_md5sum_x64}" local file_md5sum="${file_md5sum_x86}"
else
local file_md5sum="${file_md5sum_x64}"
fi
fi fi
local mingw_toolchain="$(basename $mingw_url)" local mingw_toolchain="$(basename $mingw_url)"
...@@ -64,23 +70,23 @@ download_mingw() { ...@@ -64,23 +70,23 @@ download_mingw() {
} }
download_tarballs() { download_tarballs() {
local mingw_base_url="https://downloads.haskell.org/~ghc/mingw" local mingw_base_url="http://repo.msys2.org/mingw"
local package_prefix="mingw-w64" local package_prefix="mingw-w64"
local format_url="${mingw_base_url}/${mingw_arch}/${package_prefix}-${mingw_arch}" local format_url="${mingw_base_url}/${mingw_arch}/${package_prefix}-${mingw_arch}"
download_mingw "${format_url}-crt-git-5.0.0.4531.49c7046-1-any.pkg.tar.xz" "dd39323140c0c1b3e065e9edb1a66779" "ac22cedd38229bcd57f5999e4734054f" download_mingw "${format_url}-crt-git-5.0.0.4745.d2384c2-1-any.pkg.tar.xz" "03c9e74ce17702b0f13db8cb2c7ca8ca" "035f08a61ced0b81bb6c09974f7be897"
download_mingw "${format_url}-winpthreads-git-5.0.0.4538.78dca70-1-any.pkg.tar.xz" "0b14fe27790e94db454fbb3564e79a73" "65cf07b6f42a1a62d1844e08190cab0d" download_mingw "${format_url}-winpthreads-git-5.0.0.4741.2c8939a-1-any.pkg.tar.xz" "155845f8c897f0c70adee83cfa9ec30c" "ba417ad9fb7cd3ee56e713b2b070adb9"
download_mingw "${format_url}-headers-git-5.0.0.4531.49c7046-1-any.pkg.tar.xz" "6ee9e3c2f9d3e507f60ee33d19417dc2" "f49a19cdea93998c33ac90ceb9570350" download_mingw "${format_url}-headers-git-5.0.0.4747.0f8f626-1-any.pkg.tar.xz" "b724d1aaae73c329022ad22374481817" "e8065928b81c9b379286515913eccd68"
download_mingw "${format_url}-libwinpthread-git-5.0.0.4538.78dca70-1-any.pkg.tar.xz" "fbb2114aa7fbb5507e21d8a2ea265cfd" "31ed10e2d8891f6251d968f81bfdd274" download_mingw "${format_url}-libwinpthread-git-5.0.0.4741.2c8939a-1-any.pkg.tar.xz" "65b18b67eef3c3d5e5707577dfa8f831" "c280f60a4b80ed6722ce4d9b4f6c550e"
download_mingw "${format_url}-zlib-1.2.8-8-any.pkg.tar.xz" "7f519cb6defa27a90c5353160cf088d4" "6a2f4a70ccb24acca70a01da331699a6" download_mingw "${format_url}-zlib-1.2.8-9-any.pkg.tar.xz" "87c65e9b2930436a75dfd7d459ae98cb" "60c3a388478f411b7a0908441ebeb537"
download_mingw "${format_url}-isl-0.14.1-2-any.pkg.tar.xz" "4cd20fe75ed9ef03e260d529042cb742" "dc0e0a7fd23a8193cccb0bf8d7267685" download_mingw "${format_url}-isl-0.17.1-1-any.pkg.tar.xz" "9fce16db004f00e967eb15efe0cdf86b" "39c8b3b8e56b3b0bdef86cf32f1e09ba"
download_mingw "${format_url}-mpc-1.0.3-2-any.pkg.tar.xz" "719e76fa7a54a8676d2e60af3bb13c45" "df1a7d4050568d83c265ae78c32ef30b" download_mingw "${format_url}-mpc-1.0.3-2-any.pkg.tar.xz" "719e76fa7a54a8676d2e60af3bb13c45" "df1a7d4050568d83c265ae78c32ef30b"
download_mingw "${format_url}-mpfr-3.1.3.p0-2-any.pkg.tar.xz" "e9cbd2402ac1afe6e86c102223b90dcb" "6e3b9ec27edab394aa41536839afdafe" download_mingw "${format_url}-mpfr-3.1.4.p3-4-any.pkg.tar.xz" "6fdad8f6a522c779932ca4e54e4d7977" "de629f78e908274086a272196c14d37c"
download_mingw "${format_url}-gmp-6.0.0-3-any.pkg.tar.xz" "c02f9759cd0140a6d8ea69ef5a88e167" "2970d4d8b176f8f36ae2d39269b25cce" download_mingw "${format_url}-gmp-6.1.1-1-any.pkg.tar.xz" "e8cc05fc566ddc6c16266da9aec2ddd3" "0faa10641da9266ef4cb39a8f6a4fa19"
download_mingw "${format_url}-gcc-libs-5.2.0-3-any.pkg.tar.xz" "a9bd2e65cb350cc8f8a6deb6d3b346a8" "9c2ed24989e14fdf0c548a5215374660" download_mingw "${format_url}-gcc-libs-6.2.0-2-any.pkg.tar.xz" "e6f74da9dcb856cfe9e1da0ed45732e0" "f523d52a6ad940e1cda2bf3065927bd4"
download_mingw "${format_url}-binutils-2.25.1-1-any.pkg.tar.xz" "997e9c2166fb851916cd8ac1bc9c6180" "7cb9f5f50a7103da41f7ec7547c09707" download_mingw "${format_url}-binutils-2.27-2-any.pkg.tar.xz" "d263d1362dee0c24df80b461eb2ec489" "b1f21340136b75f1660d6ad36bd0768a"
download_mingw "${format_url}-libiconv-1.14-5-any.pkg.tar.xz" "2c99a163689ba8257627bb07274b3f86" "37418c6be92ef20be17cdc9fe844af35" download_mingw "${format_url}-libidn-1.32-3-any.pkg.tar.xz" "9ecd264a3da0f0f6af8b392c1b183a7b" "6f68259e17b68bbf19efc7b4fb5c1968"
download_mingw "${format_url}-gcc-5.2.0-3-any.pkg.tar.xz" "efe6d6afc18aab89dc01e7ddcd2523a6" "0b697ce61112ba6e5a3c4d565957ea4e" download_mingw "${format_url}-gcc-6.2.0-2-any.pkg.tar.xz" "095dc33fb7a1cab5dab982aa57713a96" "303bf95f8e6ac5bc068b2ab95749b8f3"
download_file "https://github.com/ghc/ghc-tarballs/blob/master/perl/ghc-perl-1.tar.gz?raw=true" "b21d1681b61cf7a024e854096285b02e" "ghc-tarballs/perl/ghc-perl-1.tar.gz" "Windows Perl binary distributions" "--insecure" download_file "https://github.com/ghc/ghc-tarballs/blob/master/perl/ghc-perl-1.tar.gz?raw=true" "b21d1681b61cf7a024e854096285b02e" "ghc-tarballs/perl/ghc-perl-1.tar.gz" "Windows Perl binary distributions" "--insecure"
...@@ -102,6 +108,12 @@ download_x86_64() { ...@@ -102,6 +108,12 @@ download_x86_64() {
download_tarballs download_tarballs
} }
download_sources() {
mingw_arch="sources"
tarball_dest_dir="mingw-w64/sources"
download_tarballs
}
usage() { usage() {
echo "$0 - Download GHC mingw toolchain tarballs" echo "$0 - Download GHC mingw toolchain tarballs"
echo echo
...@@ -109,16 +121,23 @@ usage() { ...@@ -109,16 +121,23 @@ usage() {
echo echo
echo "Where <action> is one of," echo "Where <action> is one of,"
echo " download download the necessary tarballs for the given architecture" echo " download download the necessary tarballs for the given architecture"
echo " fetch download the necessary tarballs for the given architecture but doesn't verify their md5."d
echo " verify verify the existance and correctness of the necessary tarballs" echo " verify verify the existance and correctness of the necessary tarballs"
echo "and <arch> is one of i386, x86_64, or all" echo "and <arch> is one of i386, x86_64,all or mirror (which includes sources)"
} }
case $1 in case $1 in
download) download)
download=1 download=1
verify=1
;;
fetch)
download=1
verify=0
;; ;;
verify) verify)
download=0 download=0
verify=1
;; ;;
*) *)
usage usage
...@@ -137,6 +156,12 @@ case $2 in ...@@ -137,6 +156,12 @@ case $2 in
download_i386 download_i386
download_x86_64 download_x86_64
;; ;;
mirror)
download_i386
download_x86_64
verify=0
download_sources
;;
*) *)
usage usage
exit 1 exit 1
......
...@@ -336,7 +336,6 @@ void * ...@@ -336,7 +336,6 @@ void *
m32_alloc(size_t size STG_UNUSED, size_t alignment STG_UNUSED) m32_alloc(size_t size STG_UNUSED, size_t alignment STG_UNUSED)
{ {
barf("%s: RTS_LINKER_USE_MMAP is %d", __func__, RTS_LINKER_USE_MMAP); barf("%s: RTS_LINKER_USE_MMAP is %d", __func__, RTS_LINKER_USE_MMAP);
return NULL;
} }
#else #else
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment