Grid build script
This commit is contained in:
parent
0f5733df97
commit
e6fc62e368
42
Grid/build-grid.sh
Executable file
42
Grid/build-grid.sh
Executable file
@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
# shellcheck disable=SC1090,SC1091
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
if (( $# != 2 )); then
|
||||
echo "usage: $(basename "$0") <environment directory> <config>" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
env_dir=$1
|
||||
cfg=$2
|
||||
|
||||
call_dir=$(pwd -P)
|
||||
cd "${env_dir}"
|
||||
env_dir=$(pwd -P)
|
||||
cd "${call_dir}"
|
||||
build_dir="${env_dir}/build/Grid/${cfg}"
|
||||
if [ -d "${build_dir}" ]; then
|
||||
echo "error: directory '${build_dir}' exists"
|
||||
exit 1
|
||||
fi
|
||||
mkdir -p "${build_dir}"
|
||||
source "${env_dir}/env.sh"
|
||||
entry=$(jq ".configs[]|select(.name==\"${cfg}\")" "${env_dir}"/grid-config.json)
|
||||
IFS=" " read -r -a args <<< "$(echo "${entry}" | jq -r ".\"config-options\"")"
|
||||
env_script=$(echo "${entry}" | jq -r ".\"env-script\"")
|
||||
cd "${build_dir}" || return
|
||||
source "${env_dir}/${env_script}"
|
||||
extra_env=$(mktemp)
|
||||
echo "${entry}" | jq -r '.env|to_entries|map("export \(.key)='\''\(.value|tostring)'\''")|.[]' > "${extra_env}"
|
||||
commit=$(echo "${entry}" | jq -r ".commit")
|
||||
git clone https://github.com/paboyle/Grid.git "${build_dir}"
|
||||
cd "${build_dir}"
|
||||
git checkout "${commit}"
|
||||
./bootstrap.sh
|
||||
mkdir build; cd build
|
||||
source "${extra_env}"
|
||||
../configure --prefix="${env_dir}/prefix/grid_${cfg}" "${args[@]}"
|
||||
make -j128
|
||||
make install
|
||||
rm -rf "${extra_env}"
|
||||
cd "${call_dir}"
|
Loading…
Reference in New Issue
Block a user