diff options
Diffstat (limited to 'TestRustcBootstrap.sh')
-rwxr-xr-x | TestRustcBootstrap.sh | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/TestRustcBootstrap.sh b/TestRustcBootstrap.sh index 05897c59..3a1ecb1b 100755 --- a/TestRustcBootstrap.sh +++ b/TestRustcBootstrap.sh @@ -2,14 +2,15 @@ # 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} +RUN_RUSTC_SUF="" 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 + RUN_RUSTC_SUF=-1.19.0 else echo "Unknown rustc version" fi @@ -20,14 +21,18 @@ export MAKEFLAGS echo "=== Building stage0 rustc (with libstd)" make -C run_rustc RUSTC_VERSION=${RUSTC_VERSION} +PREFIX=${PWD}/run_rustc/output${RUN_RUSTC_SUF}/prefix/ + 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 +echo "--- Working in directory ${WORKDIR}" +echo "=== Cleaning up" +rm -rf ${WORKDIR}build # # Build rustc using entirely mrustc-built tools # -echo "--- Working in directory ${WORKDIR}" echo "=== Building rustc bootstrap mrustc stage0" mkdir -p ${WORKDIR}mrustc/ tar -xf rustc-${RUSTC_VERSION_NEXT}-src.tar.gz -C ${WORKDIR}mrustc/ @@ -40,8 +45,13 @@ vendor = true EOF echo "--- Running x.py, see ${WORKDIR}mrustc.log for progress" (cd ${WORKDIR} && mv mrustc build) -(cd ${WORKDIR}build/rustc-${RUSTC_VERSION_NEXT}-src/ && ./x.py build --stage 3) > ${WORKDIR}mrustc.log 2>&1 -(cd ${WORKDIR} && mv build mrustc) +cleanup_mrustc() { + (cd ${WORKDIR} && mv build mrustc) +} +trap cleanup_mrustc EXIT +(cd ${WORKDIR}build/rustc-${RUSTC_VERSION_NEXT}-src/ && LD_LIBRARY_PATH=${PREFIX}lib/rustlib/x86_64-unknown-linux-gnu/lib ./x.py build --stage 3) > ${WORKDIR}mrustc.log 2>&1 +cleanup_mrustc +trap - EXIT rm -rf ${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 |