Allow user to specify toolchain install prefix (#334)
This commit is contained in:
@@ -31,14 +31,14 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- run:
|
- run:
|
||||||
name: Building riscv-tools toolchain
|
name: Building riscv-tools toolchain
|
||||||
command: |
|
command: |
|
||||||
.circleci/build-toolchains.sh riscv-tools
|
.circleci/build-toolchains.sh riscv-tools
|
||||||
no_output_timeout: 120m
|
no_output_timeout: 120m
|
||||||
- save_cache:
|
- save_cache:
|
||||||
key: riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
key: riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
paths:
|
paths:
|
||||||
- "/home/riscvuser/riscv-tools-install"
|
- "/home/riscvuser/riscv-tools-install"
|
||||||
install-esp-toolchain:
|
install-esp-toolchain:
|
||||||
@@ -55,14 +55,14 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- esp-tools-installed-v2-{{ checksum "../esp-tools.hash" }}
|
- esp-tools-installed-v3-{{ checksum "../esp-tools.hash" }}
|
||||||
- run:
|
- run:
|
||||||
name: Building esp-tools toolchain
|
name: Building esp-tools toolchain
|
||||||
command: |
|
command: |
|
||||||
.circleci/build-toolchains.sh esp-tools
|
.circleci/build-toolchains.sh esp-tools
|
||||||
no_output_timeout: 120m
|
no_output_timeout: 120m
|
||||||
- save_cache:
|
- save_cache:
|
||||||
key: esp-tools-installed-v2-{{ checksum "../esp-tools.hash" }}
|
key: esp-tools-installed-v3-{{ checksum "../esp-tools.hash" }}
|
||||||
paths:
|
paths:
|
||||||
- "/home/riscvuser/esp-tools-install"
|
- "/home/riscvuser/esp-tools-install"
|
||||||
install-verilator:
|
install-verilator:
|
||||||
@@ -105,7 +105,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- run:
|
- run:
|
||||||
name: Build extra tests
|
name: Build extra tests
|
||||||
command: .circleci/build-extra-tests.sh
|
command: .circleci/build-extra-tests.sh
|
||||||
@@ -131,7 +131,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
||||||
@@ -160,7 +160,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
||||||
@@ -189,7 +189,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
||||||
@@ -218,7 +218,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
||||||
@@ -247,7 +247,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
||||||
@@ -276,7 +276,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- esp-tools-installed-v2-{{ checksum "../esp-tools.hash" }}
|
- esp-tools-installed-v3-{{ checksum "../esp-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
||||||
@@ -305,7 +305,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
||||||
@@ -334,7 +334,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
||||||
@@ -363,7 +363,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
||||||
@@ -389,7 +389,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
- verilator-installed-v3-{{ checksum "sims/verilator/verilator.mk" }}
|
||||||
@@ -410,7 +410,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- example-{{ .Branch }}-{{ .Revision }}
|
- example-{{ .Branch }}-{{ .Revision }}
|
||||||
@@ -434,7 +434,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- boomrocketexample-{{ .Branch }}-{{ .Revision }}
|
- boomrocketexample-{{ .Branch }}-{{ .Revision }}
|
||||||
@@ -458,7 +458,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- boom-{{ .Branch }}-{{ .Revision }}
|
- boom-{{ .Branch }}-{{ .Revision }}
|
||||||
@@ -482,7 +482,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- rocketchip-{{ .Branch }}-{{ .Revision }}
|
- rocketchip-{{ .Branch }}-{{ .Revision }}
|
||||||
@@ -506,7 +506,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- esp-tools-installed-v2-{{ checksum "../esp-tools.hash" }}
|
- esp-tools-installed-v3-{{ checksum "../esp-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- hwacha-{{ .Branch }}-{{ .Revision }}
|
- hwacha-{{ .Branch }}-{{ .Revision }}
|
||||||
@@ -530,7 +530,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- tracegen-{{ .Branch }}-{{ .Revision }}
|
- tracegen-{{ .Branch }}-{{ .Revision }}
|
||||||
@@ -554,7 +554,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- firesim-{{ .Branch }}-{{ .Revision }}
|
- firesim-{{ .Branch }}-{{ .Revision }}
|
||||||
@@ -581,7 +581,7 @@ jobs:
|
|||||||
.circleci/create-hash.sh
|
.circleci/create-hash.sh
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- riscv-tools-installed-v2-{{ checksum "../riscv-tools.hash" }}
|
- riscv-tools-installed-v3-{{ checksum "../riscv-tools.hash" }}
|
||||||
- restore_cache:
|
- restore_cache:
|
||||||
keys:
|
keys:
|
||||||
- fireboom-{{ .Branch }}-{{ .Revision }}
|
- fireboom-{{ .Branch }}-{{ .Revision }}
|
||||||
|
|||||||
@@ -10,10 +10,17 @@ RDIR=$(pwd)
|
|||||||
CHIPYARD_DIR="${CHIPYARD_DIR:-$(git rev-parse --show-toplevel)}"
|
CHIPYARD_DIR="${CHIPYARD_DIR:-$(git rev-parse --show-toplevel)}"
|
||||||
|
|
||||||
usage() {
|
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 " 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 " 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 " 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"
|
exit "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -27,38 +34,34 @@ die() {
|
|||||||
|
|
||||||
TOOLCHAIN="riscv-tools"
|
TOOLCHAIN="riscv-tools"
|
||||||
EC2FASTINSTALL="false"
|
EC2FASTINSTALL="false"
|
||||||
|
RISCV=""
|
||||||
|
|
||||||
while getopts 'hH-:' opt ; do
|
# getopts does not support long options, and is inflexible
|
||||||
case $opt in
|
while [ "$1" != "" ];
|
||||||
h|H)
|
do
|
||||||
usage 3 ;;
|
case $1 in
|
||||||
-)
|
-h | --help | help )
|
||||||
case $OPTARG in
|
|
||||||
help)
|
|
||||||
usage 3 ;;
|
usage 3 ;;
|
||||||
ec2fast) # Preserve compatibility
|
-p | --prefix )
|
||||||
EC2FASTINSTALL=true ;;
|
shift
|
||||||
*)
|
RISCV=$(realpath $1) ;;
|
||||||
error "invalid option: --${OPTARG}"
|
riscv-tools | esp-tools)
|
||||||
|
TOOLCHAIN=$1 ;;
|
||||||
|
ec2fast )
|
||||||
|
EC2FASTINSTALL="true" ;;
|
||||||
|
* )
|
||||||
|
error "invalid option $1"
|
||||||
usage 1 ;;
|
usage 1 ;;
|
||||||
esac ;;
|
|
||||||
*)
|
|
||||||
error "invalid option: -${opt}"
|
|
||||||
usage 1 ;;
|
|
||||||
esac
|
esac
|
||||||
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
shift $((OPTIND - 1))
|
if [ -z "$RISCV" ] ; then
|
||||||
|
INSTALL_DIR="$TOOLCHAIN-install"
|
||||||
if [ "$1" = ec2fast ] ; then
|
RISCV="$(pwd)/$INSTALL_DIR"
|
||||||
EC2FASTINSTALL=true
|
|
||||||
elif [ -n "$1" ] ; then
|
|
||||||
TOOLCHAIN="$1"
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
INSTALL_DIR="$TOOLCHAIN-install"
|
echo "Installing toolchain to $RISCV"
|
||||||
|
|
||||||
RISCV="$(pwd)/$INSTALL_DIR"
|
|
||||||
|
|
||||||
# install risc-v tools
|
# install risc-v tools
|
||||||
export RISCV="$RISCV"
|
export RISCV="$RISCV"
|
||||||
|
|||||||
Reference in New Issue
Block a user