#!/bin/sh
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
OS="$(uname -s)"; case "$OS" in Linux) OS_NAME="linux";; Darwin) OS_NAME="darwin";; *) echo "Unsupported OS: $OS" >&2; exit 1;; esac
ARCH="$(uname -m)"; case "$ARCH" in x86_64|amd64) ARCH_NAME="amd64";; aarch64|arm64) ARCH_NAME="arm64";; armv7l|armv7) ARCH_NAME="armv7";; *) echo "Unsupported arch: $ARCH" >&2; exit 1;; esac
PLATFORM="${OS_NAME}-${ARCH_NAME}"; BINARY="$SCRIPT_DIR/$PLATFORM/stdio_bus"
if [ "$OS_NAME" = "linux" ] && [ -f "$SCRIPT_DIR/linux-musl-${ARCH_NAME}/stdio_bus" ] && ldd --version 2>&1 | grep -q musl; then BINARY="$SCRIPT_DIR/linux-musl-${ARCH_NAME}/stdio_bus"; fi
[ -f "$BINARY" ] || { echo "Binary not found: $PLATFORM" >&2; exit 1; }
[ -x "$BINARY" ] || chmod +x "$BINARY"
exec "$BINARY" "$@"
