-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.sh
More file actions
executable file
·44 lines (37 loc) · 1.11 KB
/
build.sh
File metadata and controls
executable file
·44 lines (37 loc) · 1.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/env bash
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ENV_FILE="$SCRIPT_DIR/.env"
if [ ! -f "$ENV_FILE" ]; then
echo "Error: .env file not found."
echo "Copy .env.example to .env and adjust the paths for your system:"
echo ""
echo " cp .env.example .env"
echo " \$EDITOR .env"
exit 1
fi
# Load .env
set -a
# shellcheck disable=SC1090
source "$ENV_FILE"
set +a
# Validate required variables
missing=()
[ -z "$CMAKE_BIN" ] && missing+=("CMAKE_BIN")
[ -z "$LIBCLANG_PATH" ] && missing+=("LIBCLANG_PATH")
[ -z "$PHP_CONFIG" ] && missing+=("PHP_CONFIG")
[ -z "$PHP" ] && missing+=("PHP")
if [ ${#missing[@]} -gt 0 ]; then
echo "Error: the following variables are not set in .env:"
for v in "${missing[@]}"; do
echo " - $v"
done
exit 1
fi
export PATH="$HOME/.cargo/bin:$CMAKE_BIN:/usr/bin:$PATH"
export LIBCLANG_PATH
export PHP_CONFIG
export PHP
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH_EXTRA:+$LD_LIBRARY_PATH_EXTRA:}$LD_LIBRARY_PATH"
[ -n "$BINDGEN_EXTRA_CLANG_ARGS" ] && export BINDGEN_EXTRA_CLANG_ARGS
cargo build --release "$@"