nim-codex/env.sh

36 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# This is the compiler version that will get used everywher.
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"
# Allows the user to override the default Nim compiler version and repo URL.
export NIM_COMMIT="${NIM_COMMIT:-${NIM_VERSION}}"
export NIM_REPO="${NIM_REPO:-${NIM_REPO_URL}}"
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