You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.6 KiB
65 lines
1.6 KiB
#!/bin/bash |
|
|
|
# Universal run script for ORLY relay |
|
# Automatically selects the correct binary for the current platform |
|
|
|
set -e |
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" |
|
REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" |
|
|
|
# Source platform detection |
|
source "$SCRIPT_DIR/platform-detect.sh" |
|
|
|
# Get version |
|
VERSION=$(cat "$REPO_ROOT/pkg/version/version") |
|
|
|
# Detect platform |
|
PLATFORM=$(detect_platform) |
|
if [ $? -ne 0 ]; then |
|
echo "Error: Could not detect platform" |
|
exit 1 |
|
fi |
|
|
|
echo "Detected platform: $PLATFORM" |
|
|
|
# Get binary name |
|
BINARY_NAME=$(get_binary_name "$VERSION") |
|
BINARY_PATH="$REPO_ROOT/build/$BINARY_NAME" |
|
|
|
# Check if binary exists |
|
if [ ! -f "$BINARY_PATH" ]; then |
|
echo "Error: Binary not found: $BINARY_PATH" |
|
echo "" |
|
echo "Please run: ./scripts/build-all-platforms.sh" |
|
exit 1 |
|
fi |
|
|
|
# Get library name and set library path |
|
LIBRARY_NAME=$(get_library_name) |
|
LIBRARY_PATH="$REPO_ROOT/build/$LIBRARY_NAME" |
|
|
|
if [ -f "$LIBRARY_PATH" ]; then |
|
case "$PLATFORM" in |
|
linux-*) |
|
export LD_LIBRARY_PATH="$REPO_ROOT/build:${LD_LIBRARY_PATH:-}" |
|
;; |
|
darwin-*) |
|
export DYLD_LIBRARY_PATH="$REPO_ROOT/build:${DYLD_LIBRARY_PATH:-}" |
|
;; |
|
windows-*) |
|
export PATH="$REPO_ROOT/build:${PATH:-}" |
|
;; |
|
esac |
|
echo "Library path set for: $LIBRARY_NAME" |
|
else |
|
echo "Warning: Library not found: $LIBRARY_PATH" |
|
echo "Binary may not work if it requires libsecp256k1" |
|
fi |
|
|
|
echo "Running: $BINARY_NAME" |
|
echo "" |
|
|
|
# Execute the binary with all arguments passed to this script |
|
exec "$BINARY_PATH" "$@" |
|
|
|
|