#!/usr/bin/env bash # Install/update rust. # The first argument should be the toolchain to install. set -ex if [ -z "$1" ] then echo "First parameter must be toolchain to install." exit 1 fi TOOLCHAIN="$1" rustup set profile minimal rustup component remove --toolchain=$TOOLCHAIN rust-docs || echo "already removed" rustup update --no-self-update $TOOLCHAIN if [ -n "$2" ] then TARGET="$2" HOST=$(rustc -Vv | grep ^host: | sed -e "s/host: //g") if [ "$HOST" != "$TARGET" ] then rustup component add llvm-tools-preview --toolchain=$TOOLCHAIN rustup component add rust-std-$TARGET --toolchain=$TOOLCHAIN fi fi rustup default $TOOLCHAIN rustup -V rustc -Vv cargo -V