summaryrefslogtreecommitdiff
path: root/TestRustcBootstrap.sh
diff options
context:
space:
mode:
Diffstat (limited to 'TestRustcBootstrap.sh')
-rwxr-xr-xTestRustcBootstrap.sh33
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