mirror of
https://github.com/waku-org/nwaku.git
synced 2025-01-23 13:20:03 +00:00
50 lines
1.0 KiB
Bash
Executable File
50 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
if [[ -z "${NIM_DIR}" ]]; then
|
|
echo "NIM_DIR variable is not set"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ -z "${NIM_BRANCH}" ]]; then
|
|
echo "NIM_BRANCH variable is not set"
|
|
exit 1
|
|
fi
|
|
|
|
function build_nim {
|
|
echo "Building Nim [${NIM_BRANCH}] in ${NIM_DIR}"
|
|
git clone https://github.com/nim-lang/Nim.git ${NIM_DIR}
|
|
cd "${NIM_DIR}"
|
|
if [ "${NIM_BRANCH}" = "devel" ]; then
|
|
git checkout devel
|
|
else
|
|
git checkout "tags/${NIM_BRANCH}" -b "${NIM_BRANCH}"
|
|
fi
|
|
git clone --depth 1 https://github.com/nim-lang/csources_v1
|
|
cd csources_v1 && sh build.sh
|
|
cd ..
|
|
bin/nim c -d:release koch
|
|
./koch boot -d:release
|
|
./koch nimble -d:release
|
|
cd ..
|
|
}
|
|
|
|
function use_nim {
|
|
cd "${NIM_DIR}"
|
|
GITBRANCH=$(git branch | sed -n -e 's/^\* \(.*\)/\1/p')
|
|
echo "Found Nim [${GITBRANCH}] in ${NIM_DIR}"
|
|
if [ "${GITBRANCH}" = "${NIM_BRANCH}" ]; then
|
|
echo "Using Nim [${GITBRANCH}] in ${NIM_DIR}"
|
|
cd ..
|
|
else
|
|
cd ..
|
|
rm -rf "${NIM_DIR}"
|
|
build_nim
|
|
fi
|
|
}
|
|
|
|
if [ ! -e "${NIM_DIR}/bin/nim" ]; then
|
|
build_nim
|
|
else
|
|
use_nim
|
|
fi
|