nim-codex/env.sh

39 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
# This is the compiler version that will get used everywhere by default.
NIM_VERSION="f45bdea94ac4ed9a9bae03426275456aeb0cab2a"
NIM_REPO_URL="https://github.com/gmega/Nim"
# We use ${BASH_SOURCE[0]} instead of $0 to allow sourcing this file
# and we fall back to a Zsh-specific special var to also support Zsh.
REL_PATH="$(dirname ${BASH_SOURCE[0]:-${(%):-%x}})"
ABS_PATH="$(cd ${REL_PATH}; pwd)"
ENV_FILE="${ABS_PATH}/vendor/nimbus-build-system/scripts/env.sh"
# This makes it look nicer in the CI: if the version in the matrix says
# "repo_current", then we'll use the version that's registered here.
if [ "${NIM_COMMIT}" = "repo_current" ] || [ "${NIM_COMMIT}" = "" ]; then
export NIM_COMMIT="${NIM_VERSION}"
export NIM_REPO="${NIM_REPO_URL}"
fi
if ! [ -f "$ENV_FILE" ]; then
# Before the first "make update", the env file doesn't exist.
echo "Nimbus build system env file not found."
# If more than one argument is passed, we assume it's a command to run.
# Probably "make update".
if [ $# -gt 0 ]; then
"$@"
# Otherwise just print a little reminder to the user.
else
echo "You need to run: "
echo " "
echo " ./env.sh make -j{CPU_CORES} update"
echo " "
echo "to build the compiler. "
fi
else
source "${ENV_FILE}"
fi