initial commit
This commit is contained in:
Executable
+63
@@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_PATH="${BASH_SOURCE[0]:-${0}}"
|
||||
SCRIPT_DIR="$(cd "$(dirname "${SCRIPT_PATH}")" && pwd)"
|
||||
TAURI_DIR="${SCRIPT_DIR}/ui-tauri-react/src-tauri"
|
||||
|
||||
RUNTIME_BINS=(
|
||||
zenbook-duo-daemon
|
||||
zenbook-duo-session-agent
|
||||
zenbook-duo-lifecycle
|
||||
zenbook-duo-usb-remap-helper
|
||||
)
|
||||
|
||||
usage() {
|
||||
cat <<'EOF'
|
||||
build-rust-runtime.sh - compile Zenbook Duo background service binaries
|
||||
|
||||
Usage:
|
||||
./build-rust-runtime.sh
|
||||
|
||||
Builds release binaries under ui-tauri-react/src-tauri/target/release/.
|
||||
Install them with ./install-rust-runtime.sh --install-only
|
||||
EOF
|
||||
}
|
||||
|
||||
need_cmd() {
|
||||
command -v "$1" >/dev/null 2>&1 || {
|
||||
echo "ERROR: Missing required command: $1" >&2
|
||||
exit 1
|
||||
}
|
||||
}
|
||||
|
||||
if [ "${1:-}" = "-h" ] || [ "${1:-}" = "--help" ]; then
|
||||
usage
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$#" -gt 0 ]; then
|
||||
echo "ERROR: unknown argument: $1" >&2
|
||||
usage >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
need_cmd cargo
|
||||
|
||||
if [ ! -f "${TAURI_DIR}/Cargo.toml" ]; then
|
||||
echo "ERROR: Could not find Tauri crate at ${TAURI_DIR}" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Building Rust runtime binaries..."
|
||||
cargo build --release \
|
||||
--manifest-path "${TAURI_DIR}/Cargo.toml" \
|
||||
--bin "${RUNTIME_BINS[0]}" \
|
||||
--bin "${RUNTIME_BINS[1]}" \
|
||||
--bin "${RUNTIME_BINS[2]}" \
|
||||
--bin "${RUNTIME_BINS[3]}"
|
||||
|
||||
echo "Built runtime binaries:"
|
||||
for binary in "${RUNTIME_BINS[@]}"; do
|
||||
echo " ${TAURI_DIR}/target/release/${binary}"
|
||||
done
|
||||
Reference in New Issue
Block a user