Add a git version check to the init scripts and make them work outside of the repo root. (#459)
* Fixes #453 - Update scripts/init-submodules-no-riscv-tools.sh to also work if you're in scripts/ - Provide a git version check to ensure the init scripts will work (>= 1.7.8) - Update the documentation to be more explicit that the init script is also for updating. * Update scripts/init-submodules-no-riscv-tools-nolog.sh Co-Authored-By: Albert Ou <aou@eecs.berkeley.edu>
This commit is contained in:
@@ -34,6 +34,9 @@ After cloning this repo, you will need to initialize all of the submodules.
|
||||
cd chipyard
|
||||
./scripts/init-submodules-no-riscv-tools.sh
|
||||
|
||||
When updating Chipyard to a new version, you will also want to rerun this script to update the submodules.
|
||||
Using git directly will try to initialize all submodules; this is not recommended unless you expressly desire this behavior.
|
||||
|
||||
.. _build-toolchains:
|
||||
|
||||
Building a Toolchain
|
||||
|
||||
@@ -4,6 +4,19 @@
|
||||
set -e
|
||||
set -o pipefail
|
||||
|
||||
# Check that git version is at least 1.7.8
|
||||
MYGIT=$(git --version)
|
||||
MYGIT=${MYGIT#'git version '} # Strip prefix
|
||||
case ${MYGIT} in
|
||||
[1-9]*) ;;
|
||||
*) echo 'warning: unknown git version' ;;
|
||||
esac
|
||||
MINGIT="1.7.8"
|
||||
if [ "$MINGIT" != "$(echo -e "$MINGIT\n$MYGIT" | sort -V | head -n1)" ]; then
|
||||
echo "This script requires git version $MINGIT or greater. Exiting."
|
||||
false
|
||||
fi
|
||||
|
||||
RDIR=$(git rev-parse --show-toplevel)
|
||||
|
||||
# Ignore toolchain submodules
|
||||
@@ -61,4 +74,3 @@ if [ ! -f $RDIR/software/firemarshal/marshal-config.yaml ]; then
|
||||
echo "firesim-dir: '../../sims/firesim/'" > $RDIR/software/firemarshal/marshal-config.yaml
|
||||
fi
|
||||
echo "PATH=\$( realpath \$(dirname "\${BASH_SOURCE[0]:-\${\(%\):-%x}}") )/software/firemarshal:\$PATH" >> $RDIR/env.sh
|
||||
|
||||
|
||||
@@ -5,4 +5,7 @@
|
||||
set -e
|
||||
set -o pipefail
|
||||
|
||||
RDIR=$(git rev-parse --show-toplevel)
|
||||
cd "$RDIR"
|
||||
|
||||
./scripts/init-submodules-no-riscv-tools-nolog.sh "$@" 2>&1 | tee init-submodules-no-riscv-tools.log
|
||||
|
||||
Reference in New Issue
Block a user