diff options
Diffstat (limited to 'TestRustcBootstrap.sh')
-rwxr-xr-x | TestRustcBootstrap.sh | 33 |
1 files changed, 21 insertions, 12 deletions
diff --git a/TestRustcBootstrap.sh b/TestRustcBootstrap.sh index db195038..05897c59 100755 --- a/TestRustcBootstrap.sh +++ b/TestRustcBootstrap.sh @@ -1,18 +1,27 @@ -#!/bin/sh +#!/bin/bash # Builds rustc with the mrustc stage0 and downloaded stage0 set -e PREFIX=${PWD}/run_rustc/prefix/ WORKDIR=${WORKDIR:-rustc_bootstrap}/ +RUSTC_VERSION=${*-1.29.0} +if [[ "$RUSTC_VERSION" == "1.29.0" ]]; then + RUSTC_VERSION_NEXT=1.30.0 +elif [[ "$RUSTC_VERSION" == "1.19.0" ]]; then + RUSTC_VERSION_NEXT=1.20.0 +else + echo "Unknown rustc version" +fi + MAKEFLAGS=-j8 export MAKEFLAGS echo "=== Building stage0 rustc (with libstd)" -make -C run_rustc +make -C run_rustc RUSTC_VERSION=${RUSTC_VERSION} -if [ ! -e rustc-1.20.0-src.tar.gz ]; then - wget https://static.rust-lang.org/dist/rustc-1.20.0-src.tar.gz +if [ ! -e rustc-${RUSTC_VERSION_NEXT}-src.tar.gz ]; then + wget https://static.rust-lang.org/dist/rustc-${RUSTC_VERSION_NEXT}-src.tar.gz fi # @@ -21,8 +30,8 @@ fi echo "--- Working in directory ${WORKDIR}" echo "=== Building rustc bootstrap mrustc stage0" mkdir -p ${WORKDIR}mrustc/ -tar -xf rustc-1.20.0-src.tar.gz -C ${WORKDIR}mrustc/ -cat - > ${WORKDIR}mrustc/rustc-1.20.0-src/config.toml <<EOF +tar -xf rustc-${RUSTC_VERSION_NEXT}-src.tar.gz -C ${WORKDIR}mrustc/ +cat - > ${WORKDIR}mrustc/rustc-${RUSTC_VERSION_NEXT}-src/config.toml <<EOF [build] cargo = "${PREFIX}bin/cargo" rustc = "${PREFIX}bin/rustc" @@ -31,10 +40,10 @@ vendor = true EOF echo "--- Running x.py, see ${WORKDIR}mrustc.log for progress" (cd ${WORKDIR} && mv mrustc build) -(cd ${WORKDIR}build/rustc-1.20.0-src/ && ./x.py build --stage 3) > ${WORKDIR}mrustc.log 2>&1 +(cd ${WORKDIR}build/rustc-${RUSTC_VERSION_NEXT}-src/ && ./x.py build --stage 3) > ${WORKDIR}mrustc.log 2>&1 (cd ${WORKDIR} && mv build mrustc) rm -rf ${WORKDIR}mrustc-output -cp -r ${WORKDIR}mrustc/rustc-1.20.0-src/build/x86_64-unknown-linux-gnu/stage2 ${WORKDIR}mrustc-output +cp -r ${WORKDIR}mrustc/rustc-${RUSTC_VERSION_NEXT}-src/build/x86_64-unknown-linux-gnu/stage2 ${WORKDIR}mrustc-output tar -czf ${WORKDIR}mrustc.tar.gz -C ${WORKDIR} mrustc-output # @@ -42,16 +51,16 @@ tar -czf ${WORKDIR}mrustc.tar.gz -C ${WORKDIR} mrustc-output # echo "=== Building rustc bootstrap downloaded stage0" mkdir -p ${WORKDIR}official/ -tar -xf rustc-1.20.0-src.tar.gz -C ${WORKDIR}official/ -cat - > ${WORKDIR}official/rustc-1.20.0-src/config.toml <<EOF +tar -xf rustc-${RUSTC_VERSION_NEXT}-src.tar.gz -C ${WORKDIR}official/ +cat - > ${WORKDIR}official/rustc-${RUSTC_VERSION_NEXT}-src/config.toml <<EOF [build] full-bootstrap = true vendor = true EOF echo "--- Running x.py, see ${WORKDIR}official.log for progress" (cd ${WORKDIR} && mv official build) -(cd ${WORKDIR}build/rustc-1.20.0-src/ && ./x.py build --stage 3) > ${WORKDIR}official.log 2>&1 +(cd ${WORKDIR}build/rustc-${RUSTC_VERSION_NEXT}-src/ && ./x.py build --stage 3) > ${WORKDIR}official.log 2>&1 (cd ${WORKDIR} && mv build official) rm -rf ${WORKDIR}official-output -cp -r ${WORKDIR}official/rustc-1.20.0-src/build/x86_64-unknown-linux-gnu/stage2 ${WORKDIR}official-output +cp -r ${WORKDIR}official/rustc-${RUSTC_VERSION_NEXT}-src/build/x86_64-unknown-linux-gnu/stage2 ${WORKDIR}official-output tar -czf ${WORKDIR}official.tar.gz -C ${WORKDIR} official-output |