Allow user to specify toolchain install prefix (#334)

This commit is contained in:
Jerry Zhao
2019-12-13 11:40:47 -08:00
committed by GitHub
parent 4d58321f1c
commit 72f9730cbd
2 changed files with 51 additions and 48 deletions

View File

@@ -31,14 +31,14 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- run:
name: Building riscv-tools toolchain
command: |
.circleci/build-toolchains.sh riscv-tools
no_output_timeout: 120m
- save_cache:
key: riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
key: riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
paths:
- "/home/riscvuser/riscv-tools-install"
install-esp-toolchain:
@@ -55,14 +55,14 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- esp-tools-installed-v2-{{ checksum "../esp-tools.hash" }}
- esp-tools-installed-v3-{{ checksum "../esp-tools.hash" }}
- run:
name: Building esp-tools toolchain
command: |
.circleci/build-toolchains.sh esp-tools
no_output_timeout: 120m
- save_cache:
key: esp-tools-installed-v2-{{ checksum "../esp-tools.hash" }}
key: esp-tools-installed-v3-{{ checksum "../esp-tools.hash" }}
paths:
- "/home/riscvuser/esp-tools-install"
install-verilator:
@@ -105,7 +105,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- run:
name: Build extra tests
command: .circleci/build-extra-tests.sh
@@ -131,7 +131,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- restore_cache:
keys:
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
@@ -160,7 +160,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- restore_cache:
keys:
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
@@ -189,7 +189,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- restore_cache:
keys:
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
@@ -218,7 +218,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- restore_cache:
keys:
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
@@ -247,7 +247,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- restore_cache:
keys:
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
@@ -276,7 +276,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- esp-tools-installed-v2-{{ checksum "../esp-tools.hash" }}
- esp-tools-installed-v3-{{ checksum "../esp-tools.hash" }}
- restore_cache:
keys:
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
@@ -305,7 +305,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- restore_cache:
keys:
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
@@ -334,7 +334,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- restore_cache:
keys:
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
@@ -363,7 +363,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- restore_cache:
keys:
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
@@ -389,7 +389,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- restore_cache:
keys:
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
@@ -410,7 +410,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- restore_cache:
keys:
- example-{{ .Branch }}-{{ .Revision }}
@@ -434,7 +434,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- restore_cache:
keys:
- boomrocketexample-{{ .Branch }}-{{ .Revision }}
@@ -458,7 +458,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- restore_cache:
keys:
- boom-{{ .Branch }}-{{ .Revision }}
@@ -482,7 +482,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- restore_cache:
keys:
- rocketchip-{{ .Branch }}-{{ .Revision }}
@@ -506,7 +506,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- esp-tools-installed-v2-{{ checksum "../esp-tools.hash" }}
- esp-tools-installed-v3-{{ checksum "../esp-tools.hash" }}
- restore_cache:
keys:
- hwacha-{{ .Branch }}-{{ .Revision }}
@@ -530,7 +530,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- restore_cache:
keys:
- tracegen-{{ .Branch }}-{{ .Revision }}
@@ -554,7 +554,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- restore_cache:
keys:
- firesim-{{ .Branch }}-{{ .Revision }}
@@ -581,7 +581,7 @@ jobs:
.circleci/create-hash.sh
- restore_cache:
keys:
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
- restore_cache:
keys:
- fireboom-{{ .Branch }}-{{ .Revision }}

View File

@@ -10,10 +10,17 @@ RDIR=$(pwd)
CHIPYARD_DIR="${CHIPYARD_DIR:-$(git rev-parse --show-toplevel)}"
usage() {
echo "usage: ${0} [riscv-tools | esp-tools | ec2fast]"
echo "usage: ${0} [OPTIONS] [riscv-tools | esp-tools | ec2fast]"
echo ""
echo "Installation Types"
echo " riscv-tools: if set, builds the riscv toolchain (this is also the default)"
echo " esp-tools: if set, builds esp-tools toolchain used for the hwacha vector accelerator"
echo " ec2fast: if set, pulls in a pre-compiled RISC-V toolchain for an EC2 manager instance"
echo ""
echo "Options"
echo " --prefix PREFIX : Install destination. If unset, defaults to $(pwd)/riscv-tools-install"
echo " or $(pwd)/esp-tools-install"
echo " --help -h : Display this message"
exit "$1"
}
@@ -27,38 +34,34 @@ die() {
TOOLCHAIN="riscv-tools"
EC2FASTINSTALL="false"
RISCV=""
while getopts 'hH-:' opt ; do
case $opt in
h|H)
usage 3 ;;
-)
case $OPTARG in
help)
# getopts does not support long options, and is inflexible
while [ "$1" != "" ];
do
case $1 in
-h | --help | help )
usage 3 ;;
ec2fast) # Preserve compatibility
EC2FASTINSTALL=true ;;
*)
error "invalid option: --${OPTARG}"
-p | --prefix )
shift
RISCV=$(realpath $1) ;;
riscv-tools | esp-tools)
TOOLCHAIN=$1 ;;
ec2fast )
EC2FASTINSTALL="true" ;;
* )
error "invalid option $1"
usage 1 ;;
esac ;;
*)
error "invalid option: -${opt}"
usage 1 ;;
esac
shift
done
shift $((OPTIND - 1))
if [ "$1" = ec2fast ] ; then
EC2FASTINSTALL=true
elif [ -n "$1" ] ; then
TOOLCHAIN="$1"
if [ -z "$RISCV" ] ; then
INSTALL_DIR="$TOOLCHAIN-install"
RISCV="$(pwd)/$INSTALL_DIR"
fi
INSTALL_DIR="$TOOLCHAIN-install"
RISCV="$(pwd)/$INSTALL_DIR"
echo "Installing toolchain to $RISCV"
# install risc-v tools
export RISCV="$RISCV"