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:
John Wright
2020-03-05 13:04:54 -08:00
committed by GitHub
parent 9f7247b927
commit 1e26cb1f49
3 changed files with 19 additions and 1 deletions

View File

@@ -34,6 +34,9 @@ After cloning this repo, you will need to initialize all of the submodules.
cd chipyard cd chipyard
./scripts/init-submodules-no-riscv-tools.sh ./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: .. _build-toolchains:
Building a Toolchain Building a Toolchain

View File

@@ -4,6 +4,19 @@
set -e set -e
set -o pipefail 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) RDIR=$(git rev-parse --show-toplevel)
# Ignore toolchain submodules # 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 echo "firesim-dir: '../../sims/firesim/'" > $RDIR/software/firemarshal/marshal-config.yaml
fi fi
echo "PATH=\$( realpath \$(dirname "\${BASH_SOURCE[0]:-\${\(%\):-%x}}") )/software/firemarshal:\$PATH" >> $RDIR/env.sh echo "PATH=\$( realpath \$(dirname "\${BASH_SOURCE[0]:-\${\(%\):-%x}}") )/software/firemarshal:\$PATH" >> $RDIR/env.sh

View File

@@ -5,4 +5,7 @@
set -e set -e
set -o pipefail 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 ./scripts/init-submodules-no-riscv-tools-nolog.sh "$@" 2>&1 | tee init-submodules-no-riscv-tools.log