diff --git a/build/unix/build-binutils/build-binutils.sh b/build/unix/build-binutils/build-binutils.sh index a9db4aa4cfac..cab5f3f15079 100755 --- a/build/unix/build-binutils/build-binutils.sh +++ b/build/unix/build-binutils/build-binutils.sh @@ -1,13 +1,10 @@ #!/bin/bash -binutils_version=2.31.1 make_flags="-j$(nproc)" root_dir="$1" -cd $root_dir - -cd binutils-$binutils_version +cd $root_dir/binutils-source patch -p1 <<'EOF' From 4476cc67e657d6b26cd453c555a611f1ab956660 Mon Sep 17 00:00:00 2001 @@ -73,7 +70,7 @@ for target in $TARGETS; do mkdir binutils-$target cd binutils-$target - ../binutils-$binutils_version/configure --prefix /tools/binutils/ --disable-gold --disable-ld --disable-binutils --disable-gprof --disable-nls --target=$target || exit 1 + ../binutils-source/configure --prefix /tools/binutils/ --disable-gold --disable-ld --disable-binutils --disable-gprof --disable-nls --target=$target || exit 1 make $make_flags || exit 1 make install $make_flags DESTDIR=$root_dir || exit 1 @@ -86,7 +83,7 @@ cd binutils-objdir # --enable-targets builds extra target support in ld. # Enabling aarch64 support brings in arm support, so we don't need to specify that too. -../binutils-$binutils_version/configure --prefix /tools/binutils/ --enable-gold --enable-plugins --disable-nls --enable-targets="$TARGETS" || exit 1 +../binutils-source/configure --prefix /tools/binutils/ --enable-gold --enable-plugins --disable-nls --enable-targets="$TARGETS" || exit 1 make $make_flags || exit 1 make install $make_flags DESTDIR=$root_dir || exit 1 diff --git a/build/unix/build-gcc/build-gcc.sh b/build/unix/build-gcc/build-gcc.sh index d8497c4f5bbe..a7760fa0988b 100755 --- a/build/unix/build-gcc/build-gcc.sh +++ b/build/unix/build-gcc/build-gcc.sh @@ -24,7 +24,7 @@ apply_patch() { pushd $root_dir/$1 shift else - pushd $root_dir/gcc-$gcc_version + pushd $root_dir/gcc-source fi patch -p1 < $1 popd @@ -47,7 +47,7 @@ build_binutils() { mkdir $root_dir/binutils-objdir pushd $root_dir/binutils-objdir - ../binutils-$binutils_version/configure --prefix=${prefix-/tools/gcc}/ $binutils_configure_flags + ../binutils-source/configure --prefix=${prefix-/tools/gcc}/ $binutils_configure_flags make $make_flags make install $make_flags DESTDIR=$root_dir export PATH=$root_dir/${prefix-/tools/gcc}/bin:$PATH @@ -61,7 +61,7 @@ build_gcc() { mkdir $root_dir/gcc-objdir pushd $root_dir/gcc-objdir - ../gcc-$gcc_version/configure --prefix=${prefix-/tools/gcc} --build=x86_64-unknown-linux-gnu --target="${target}" --enable-languages=c,c++ --disable-nls --disable-gnu-unique-object --enable-__cxa_atexit --with-arch-32=pentiumpro --with-sysroot=/ + ../gcc-source/configure --prefix=${prefix-/tools/gcc} --build=x86_64-unknown-linux-gnu --target="${target}" --enable-languages=c,c++ --disable-nls --disable-gnu-unique-object --enable-__cxa_atexit --with-arch-32=pentiumpro --with-sysroot=/ make $make_flags make $make_flags install DESTDIR=$root_dir @@ -75,7 +75,7 @@ build_gcc() { build_gcc_and_mingw() { mkdir gcc-objdir pushd gcc-objdir - ../gcc-$gcc_version/configure --prefix=$install_dir --target=i686-w64-mingw32 --with-gnu-ld --with-gnu-as --disable-multilib --enable-threads=posix + ../gcc-source/configure --prefix=$install_dir --target=i686-w64-mingw32 --with-gnu-ld --with-gnu-as --disable-multilib --enable-threads=posix make $make_flags all-gcc make $make_flags install-gcc popd diff --git a/taskcluster/ci/fetch/toolchains.yml b/taskcluster/ci/fetch/toolchains.yml index e171dfd67a93..46da04844af2 100644 --- a/taskcluster/ci/fetch/toolchains.yml +++ b/taskcluster/ci/fetch/toolchains.yml @@ -12,6 +12,9 @@ binutils-2.27: gpg-signature: sig-url: "{url}.sig" key-path: build/unix/build-gcc/EAF1C276A747E9ED86210CBAC3126D3B4AE55E93.key + artifact-name: binutils-source.tar.zst + strip-components: 1 + add-prefix: binutils-source/ binutils-2.31.1: description: binutils 2.31.1 source code @@ -23,6 +26,9 @@ binutils-2.31.1: gpg-signature: sig-url: "{url}.sig" key-path: build/unix/build-binutils/3A24BC1E8FB409FA9F14371813FCEF89DD9E3C4F.key + artifact-name: binutils-source.tar.zst + strip-components: 1 + add-prefix: binutils-source/ gcc-6.4.0: description: GCC 6.4.0 source code @@ -34,6 +40,9 @@ gcc-6.4.0: gpg-signature: sig-url: "{url}.sig" key-path: build/unix/build-gcc/13975A70E63C361C73AE69EF6EEB81F8981C74C7.key + artifact-name: gcc-source.tar.zst + strip-components: 1 + add-prefix: gcc-source/ gcc-7.4.0: description: GCC 7.4.0 source code @@ -45,6 +54,9 @@ gcc-7.4.0: gpg-signature: sig-url: "{url}.sig" key-path: build/unix/build-gcc/13975A70E63C361C73AE69EF6EEB81F8981C74C7.key + artifact-name: gcc-source.tar.zst + strip-components: 1 + add-prefix: gcc-source/ gcc-8.3.0: description: GCC 8.3.0 source code @@ -56,6 +68,9 @@ gcc-8.3.0: gpg-signature: sig-url: "{url}.sig" key-path: build/unix/build-gcc/33C235A34C46AA3FFB293709A328C3A2C3C45C06.key + artifact-name: gcc-source.tar.zst + strip-components: 1 + add-prefix: gcc-source/ gcc-9.1.0: description: GCC 9.1.0 source code @@ -67,6 +82,9 @@ gcc-9.1.0: gpg-signature: sig-url: "{url}.sig" key-path: build/unix/build-gcc/33C235A34C46AA3FFB293709A328C3A2C3C45C06.key + artifact-name: gcc-source.tar.zst + strip-components: 1 + add-prefix: gcc-source/ gmp-5.1.3: description: GMP 5.1.3 source code @@ -78,6 +96,9 @@ gmp-5.1.3: gpg-signature: sig-url: "{url}.sig" key-path: build/unix/build-gcc/343C2FF0FBEE5EC2EDBEF399F3599FF828C67298.key + artifact-name: gmp-source.tar.zst + strip-components: 1 + add-prefix: gmp-source/ gmp-6.1.0: description: GMP 6.1.0 source code @@ -89,6 +110,9 @@ gmp-6.1.0: gpg-signature: sig-url: "{url}.sig" key-path: build/unix/build-gcc/343C2FF0FBEE5EC2EDBEF399F3599FF828C67298.key + artifact-name: gmp-source.tar.zst + strip-components: 1 + add-prefix: gmp-source/ isl-0.15: description: ISL 0.15 source code @@ -97,6 +121,9 @@ isl-0.15: url: ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.15.tar.bz2 sha256: 8ceebbf4d9a81afa2b4449113cee4b7cb14a687d7a549a963deb5e2a41458b6b size: 1574964 + artifact-name: isl-source.tar.zst + strip-components: 1 + add-prefix: isl-source/ isl-0.16.1: description: ISL 0.16.1 source code @@ -105,6 +132,9 @@ isl-0.16.1: url: ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.16.1.tar.bz2 sha256: 412538bb65c799ac98e17e8cfcdacbb257a57362acfaaff254b0fcae970126d2 size: 1626446 + artifact-name: isl-source.tar.zst + strip-components: 1 + add-prefix: isl-source/ mpc-0.8.2: description: mpc 0.8.2 source code @@ -116,6 +146,9 @@ mpc-0.8.2: gpg-signature: sig-url: "{url}.asc" key-path: build/unix/build-gcc/AD17A21EF8AED8F1CC02DBD9F7D5C9BF765C61E3.key + artifact-name: mpc-source.tar.zst + strip-components: 1 + add-prefix: mpc-source/ mpc-1.0.3: description: mpc 1.0.3 source code @@ -127,6 +160,9 @@ mpc-1.0.3: gpg-signature: sig-url: "{url}.sig" key-path: build/unix/build-gcc/AD17A21EF8AED8F1CC02DBD9F7D5C9BF765C61E3.key + artifact-name: mpc-source.tar.zst + strip-components: 1 + add-prefix: mpc-source/ mpfr-3.1.4: description: mpfr 3.1.4 source code @@ -138,6 +174,9 @@ mpfr-3.1.4: gpg-signature: sig-url: "{url}.asc" key-path: build/unix/build-gcc/07F3DBBECC1A39605078094D980C197698C3739D.key + artifact-name: mpfr-source.tar.zst + strip-components: 1 + add-prefix: mpfr-source/ mpfr-3.1.5: description: mpfr 3.1.5 source code @@ -149,6 +188,9 @@ mpfr-3.1.5: gpg-signature: sig-url: "{url}.asc" key-path: build/unix/build-gcc/07F3DBBECC1A39605078094D980C197698C3739D.key + artifact-name: mpfr-source.tar.zst + strip-components: 1 + add-prefix: mpfr-source/ nasm-2.14.02: description: nasm 2.14.02 source code diff --git a/taskcluster/scripts/misc/build-gcc-6-linux.sh b/taskcluster/scripts/misc/build-gcc-6-linux.sh index 8f5abcc7cd77..b4c2ccea2e41 100755 --- a/taskcluster/scripts/misc/build-gcc-6-linux.sh +++ b/taskcluster/scripts/misc/build-gcc-6-linux.sh @@ -8,16 +8,11 @@ data_dir=$GECKO_PATH/build/unix/build-gcc . $data_dir/build-gcc.sh -gcc_version=6.4.0 -gcc_ext=xz -binutils_version=2.31.1 -binutils_ext=xz - -pushd $root_dir/gcc-$gcc_version -ln -sf ../gmp-5.1.3 gmp -ln -sf ../isl-0.15 isl -ln -sf ../mpc-0.8.2 mpc -ln -sf ../mpfr-3.1.5 mpfr +pushd $root_dir/gcc-source +ln -sf ../gmp-source gmp +ln -sf ../isl-source isl +ln -sf ../mpc-source mpc +ln -sf ../mpfr-source mpfr popd build_binutils diff --git a/taskcluster/scripts/misc/build-gcc-7-linux.sh b/taskcluster/scripts/misc/build-gcc-7-linux.sh index baef72230557..ab818ba2109f 100755 --- a/taskcluster/scripts/misc/build-gcc-7-linux.sh +++ b/taskcluster/scripts/misc/build-gcc-7-linux.sh @@ -8,16 +8,11 @@ data_dir=$GECKO_PATH/build/unix/build-gcc . $data_dir/build-gcc.sh -gcc_version=7.4.0 -gcc_ext=xz -binutils_version=2.31.1 -binutils_ext=xz - -pushd $root_dir/gcc-$gcc_version -ln -sf ../gmp-6.1.0 gmp -ln -sf ../isl-0.16.1 isl -ln -sf ../mpc-1.0.3 mpc -ln -sf ../mpfr-3.1.4 mpfr +pushd $root_dir/gcc-source +ln -sf ../gmp-source gmp +ln -sf ../isl-source isl +ln -sf ../mpc-source mpc +ln -sf ../mpfr-source mpfr popd build_binutils diff --git a/taskcluster/scripts/misc/build-gcc-8-linux.sh b/taskcluster/scripts/misc/build-gcc-8-linux.sh index 8eb69f82db4a..ab818ba2109f 100755 --- a/taskcluster/scripts/misc/build-gcc-8-linux.sh +++ b/taskcluster/scripts/misc/build-gcc-8-linux.sh @@ -8,16 +8,11 @@ data_dir=$GECKO_PATH/build/unix/build-gcc . $data_dir/build-gcc.sh -gcc_version=8.3.0 -gcc_ext=xz -binutils_version=2.31.1 -binutils_ext=xz - -pushd $root_dir/gcc-$gcc_version -ln -sf ../gmp-6.1.0 gmp -ln -sf ../isl-0.16.1 isl -ln -sf ../mpc-1.0.3 mpc -ln -sf ../mpfr-3.1.4 mpfr +pushd $root_dir/gcc-source +ln -sf ../gmp-source gmp +ln -sf ../isl-source isl +ln -sf ../mpc-source mpc +ln -sf ../mpfr-source mpfr popd build_binutils diff --git a/taskcluster/scripts/misc/build-gcc-9-linux.sh b/taskcluster/scripts/misc/build-gcc-9-linux.sh index 5bb16b8688b1..ab818ba2109f 100755 --- a/taskcluster/scripts/misc/build-gcc-9-linux.sh +++ b/taskcluster/scripts/misc/build-gcc-9-linux.sh @@ -8,16 +8,11 @@ data_dir=$GECKO_PATH/build/unix/build-gcc . $data_dir/build-gcc.sh -gcc_version=9.1.0 -gcc_ext=xz -binutils_version=2.31.1 -binutils_ext=xz - -pushd $root_dir/gcc-$gcc_version -ln -sf ../gmp-6.1.0 gmp -ln -sf ../isl-0.16.1 isl -ln -sf ../mpc-1.0.3 mpc -ln -sf ../mpfr-3.1.4 mpfr +pushd $root_dir/gcc-source +ln -sf ../gmp-source gmp +ln -sf ../isl-source isl +ln -sf ../mpc-source mpc +ln -sf ../mpfr-source mpfr popd build_binutils diff --git a/taskcluster/scripts/misc/build-gcc-mingw32.sh b/taskcluster/scripts/misc/build-gcc-mingw32.sh index 5f4883d9714a..7d8525fc763d 100755 --- a/taskcluster/scripts/misc/build-gcc-mingw32.sh +++ b/taskcluster/scripts/misc/build-gcc-mingw32.sh @@ -8,18 +8,14 @@ data_dir=$GECKO_PATH/build/unix/build-gcc . $data_dir/build-gcc.sh -gcc_version=6.4.0 -gcc_ext=xz -binutils_version=2.27 -binutils_ext=bz2 binutils_configure_flags="--target=i686-w64-mingw32" mingw_version=bcf1f29d6dc80b6025b416bef104d2314fa9be57 -pushd $root_dir/gcc-$gcc_version -ln -sf ../gmp-5.1.3 gmp -ln -sf ../isl-0.15 isl -ln -sf ../mpc-0.8.2 mpc -ln -sf ../mpfr-3.1.5 mpfr +pushd $root_dir/gcc-source +ln -sf ../gmp-source gmp +ln -sf ../isl-source isl +ln -sf ../mpc-source mpc +ln -sf ../mpfr-source mpfr popd prepare_mingw diff --git a/taskcluster/scripts/misc/build-gcc-sixgill-plugin-linux.sh b/taskcluster/scripts/misc/build-gcc-sixgill-plugin-linux.sh index 61587e2109ac..2a6c4625e05a 100755 --- a/taskcluster/scripts/misc/build-gcc-sixgill-plugin-linux.sh +++ b/taskcluster/scripts/misc/build-gcc-sixgill-plugin-linux.sh @@ -11,21 +11,17 @@ root_dir=$MOZ_FETCHES_DIR build_dir=$GECKO_PATH/build data_dir=$GECKO_PATH/build/unix/build-gcc -gcc_version=6.4.0 -gcc_ext=xz -binutils_version=2.28.1 -binutils_ext=xz sixgill_rev=bc0ef9258470 sixgill_repo=https://hg.mozilla.org/users/sfink_mozilla.com/sixgill . $data_dir/build-gcc.sh -pushd $root_dir/gcc-$gcc_version -ln -sf ../binutils-2.31.1 binutils -ln -sf ../gmp-5.1.3 gmp -ln -sf ../isl-0.15 isl -ln -sf ../mpc-0.8.2 mpc -ln -sf ../mpfr-3.1.5 mpfr +pushd $root_dir/gcc-source +ln -sf ../binutils-source binutils +ln -sf ../gmp-source gmp +ln -sf ../isl-source isl +ln -sf ../mpc-source mpc +ln -sf ../mpfr-source mpfr popd export TMPDIR=${TMPDIR:-/tmp/} @@ -48,12 +44,12 @@ build_gmp() { # cc1/cc1plus. So link the plugin statically to libgmp. Except that the # default static build does not have -fPIC, and will result in a relocation # error, so build our own. This requires the gcc and related source to be - # in $root_dir/gcc-$gcc_version. + # in $root_dir/gcc-source. mkdir $root_dir/gmp-objdir || true ( cd $root_dir/gmp-objdir - $root_dir/gcc-$gcc_version/gmp/configure --disable-shared --with-pic --prefix=$gmp_prefix + $root_dir/gcc-source/gmp/configure --disable-shared --with-pic --prefix=$gmp_prefix make -j8 make install DESTDIR=$root_dir )