Bug 1445536 - Add a toolchain job for GCC 7. r=froydnj

And adapt the build-gcc.sh script for the changes to
contrib/download_prerequisites.

--HG--
rename : taskcluster/scripts/misc/build-gcc-6-linux.sh => taskcluster/scripts/misc/build-gcc-7-linux.sh
extra : rebase_source : b1d785777b8c141c0eb0f52a73734abd2db21b94
This commit is contained in:
Mike Hommey 2018-03-14 09:37:27 +09:00
parent 014cbed7df
commit be4f305f62
3 changed files with 78 additions and 3 deletions

View File

@ -29,11 +29,15 @@ prepare() {
tar() { :; }
sed() { :; }
wget() {
echo $1
# Get last argument given to wget.
eval echo \$$# >&3
}
# In GCC >= 7, the download_prerequisites script tried to do its own
# verification, but we have ours, so disable it.
set -- --no-verify
. ./contrib/download_prerequisites
) | while read url; do
) 3>&1 > /dev/null | while read url; do
file=$(basename $url)
case "$file" in
gmp-*.tar.*)
@ -49,7 +53,15 @@ prepare() {
mpc-*.tar.*)
# If download_prerequisites wants 0.8.1, use 0.8.2 instead.
file=${file/0.8.1/0.8.2}
download_and_check http://www.multiprecision.org/downloads $file.asc
case "$file" in
*-0.8.2.tar*|*-0.9.tar*|*-1.0.tar*)
ext=asc
;;
*)
ext=sig
;;
esac
download_and_check http://www.multiprecision.org/downloads $file.$ext
;;
*)
download $(dirname $url) $file

View File

@ -180,6 +180,23 @@ linux64-gcc-6:
toolchain-alias: linux64-gcc
toolchain-artifact: public/build/gcc.tar.xz
linux64-gcc-7:
description: "GCC 7 toolchain build"
treeherder:
kind: build
platform: toolchains/opt
symbol: TL(gcc7)
tier: 1
worker-type: aws-provisioner-v1/gecko-{level}-b-linux
worker:
max-run-time: 36000
run:
using: toolchain-script
script: build-gcc-7-linux.sh
resources:
- 'build/unix/build-gcc/build-gcc.sh'
toolchain-artifact: public/build/gcc.tar.xz
linux64-sixgill:
description: "sixgill GCC plugin build"
treeherder:

View File

@ -0,0 +1,46 @@
#!/bin/bash
set -e
# This script is for building GCC 7 for Linux.
WORKSPACE=$HOME/workspace
HOME_DIR=$WORKSPACE/build
UPLOAD_DIR=$HOME/artifacts
root_dir=$HOME_DIR
data_dir=$HOME_DIR/src/build/unix/build-gcc
. $data_dir/build-gcc.sh
gcc_version=7.3.0
gcc_ext=xz
binutils_version=2.25.1
binutils_ext=bz2
# GPG key used to sign GCC
$GPG --import $data_dir/13975A70E63C361C73AE69EF6EEB81F8981C74C7.key
# GPG key used to sign binutils
$GPG --import $data_dir/EAF1C276A747E9ED86210CBAC3126D3B4AE55E93.key
# GPG key used to sign GMP
$GPG --import $data_dir/343C2FF0FBEE5EC2EDBEF399F3599FF828C67298.key
# GPG key used to sign MPFR
$GPG --import $data_dir/07F3DBBECC1A39605078094D980C197698C3739D.key
# GPG key used to sign MPC
$GPG --import $data_dir/AD17A21EF8AED8F1CC02DBD9F7D5C9BF765C61E3.key
cat > $HOME_DIR/checksums <<EOF
b5b14added7d78a8d1ca70b5cb75fef57ce2197264f4f5835326b0df22ac9f22 binutils-2.25.1.tar.bz2
832ca6ae04636adbb430e865a1451adf6979ab44ca1c8374f61fba65645ce15c gcc-7.3.0.tar.xz
498449a994efeba527885c10405993427995d3f86b8768d8cdf8d9dd7c6b73e8 gmp-6.1.0.tar.bz2
412538bb65c799ac98e17e8cfcdacbb257a57362acfaaff254b0fcae970126d2 isl-0.16.1.tar.bz2
617decc6ea09889fb08ede330917a00b16809b8db88c29c31bfbb49cbf88ecc3 mpc-1.0.3.tar.gz
d3103a80cdad2407ed581f3618c4bed04e0c92d1cf771a65ead662cc397f7775 mpfr-3.1.4.tar.bz2
EOF
prepare
build_binutils
build_gcc
# Put a tarball in the artifacts dir
mkdir -p $UPLOAD_DIR
cp $HOME_DIR/gcc.tar.* $UPLOAD_DIR