Allow user to specify toolchain install prefix (#334)
This commit is contained in:
@@ -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 }}
|
||||
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user