env/windows: update paths for Windows C compilers
Update the setup script to pick C compilers that are more contemporary
(moving away from old GCC 5.X compilers). The new compilers were
downloaded from this release:
https://github.com/mstorsjo/llvm-mingw/releases/tag/20220323
specifically these files:
llvm-mingw-20220323-msvcrt-i686.zip
llvm-mingw-20220323-msvcrt-x86_64.zip
llvm-mingw-20220323-ucrt-aarch64.zip
To save space on the builders, I unpacked each of these zip files,
removed extra crud, and then re-packed in the form that the buildlet
expects. Specifically, the zip files contain cross-compilers for other
architectures, which we don't really need in our use case.
Updates golang/go#35006.
Details on pruning below.
cd raw
#-------------------------------------------------------------
# Unpack x86_64
unzip llvm-mingw-20220323-msvcrt-x86_64.zip
cd llvm-mingw-20220323-msvcrt-x86_64
# Remove ARM cross-compilation cruft.
rm -rf aarch64-w64-mingw32 armv7-w64-mingw32
rm -f bin/arm* bin/aarch64*
# Get rid of python please.
rm -rf python
find lib -name "*.py" -print | xargs rm -f
cd ..
# rename / repack
mv llvm-mingw-20220323-msvcrt-x86_64 gcc64
tar zcf - ./gcc64 > llvm-mingw-20220323-msvcrt-x86_64.tar.gz
#-------------------------------------------------------------
# Unpack i686
unzip llvm-mingw-20220323-msvcrt-i686.zip
cd llvm-mingw-20220323-msvcrt-i686
# Get rid of python please.
rm -rf python
find lib -name "*.py" -print | xargs rm -f
# Remove ARM cross-compilation cruft.
rm -rf aarch64-w64-mingw32 armv7-w64-mingw32
rm -f bin/arm* bin/aarch64*
# Remove x86_64 cross-compilation cruft.
rm -rf x86_64-w64-mingw32
rm -f bin/x86_64*
# Repack
cd ..
mv llvm-mingw-20220323-msvcrt-i686 gcc32
tar zcf - ./gcc32 > llvm-mingw-20220323-msvcrt-i686.tar.gz
#
#-------------------------------------------------------------
# Unpack arm64
unzip llvm-mingw-20220323-ucrt-aarch64.zip
cd llvm-mingw-20220323-ucrt-aarch64
# Get rid of python please.
rm -rf python
find lib -name "*.py" -print | xargs rm -f
# Remove x86 cross-compilation cruft.
rm -rf i686*
rm -rf bin/i686*
# Remove x86_64 cross-compilation cruft.
rm -rf x86_64*
rm -f bin/x86_64*
# Repack
cd ..
mv llvm-mingw-20220323-ucrt-aarch64 llvm-aarch64
tar zcf - ./llvm-aarch64 > llvm-mingw-20220323-ucrt-aarch64.tar.gz
Change-Id: Iaccc84d4c9ef235c892242d7cca53aefc0d3971b
Reviewed-on: https://go-review.googlesource.com/c/build/+/405154
Reviewed-by: Carlos Amedee <carlos@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
diff --git a/env/windows/startup.ps1 b/env/windows/startup.ps1
index 70fb771..5be2c5a 100644
--- a/env/windows/startup.ps1
+++ b/env/windows/startup.ps1
@@ -132,8 +132,8 @@
$gcc32_tar = "$dep_dir\gcc32.tar.gz"
$gcc64_tar = "$dep_dir\gcc64.tar.gz"
mkdir $dep_dir
-Get-FileFromUrl -URL "https://storage.googleapis.com/go-builder-data/gcc5-1-tdm32.tar.gz" -Output "$gcc32_tar"
-Get-FileFromUrl -URL "https://storage.googleapis.com/go-builder-data/gcc5-1-tdm64.tar.gz" -Output "$gcc64_tar"
+Get-FileFromUrl -URL "https://storage.googleapis.com/go-builder-data/llvm-mingw-20220323-msvcrt-i686.tar.gz" -Output "$gcc32_tar"
+Get-FileFromUrl -URL "https://storage.googleapis.com/go-builder-data/llvm-mingw-20220323-msvcrt-x86_64.tar.gz" -Output "$gcc64_tar"
Write-Host "extracting GCC"
$extract32_args=@("--untar-file=$gcc32_tar", "--untar-dest-dir=$dep_dir")