#!/bin/sh
# llmcc CLI wrapper
# Detects OS/arch and runs the appropriate native binary

SCRIPT="$0"
while [ -L "$SCRIPT" ]; do
  SCRIPT_DIR="$(cd "$(dirname "$SCRIPT")" && pwd)"
  SCRIPT="$(readlink "$SCRIPT")"
  case "$SCRIPT" in /*) ;; *) SCRIPT="$SCRIPT_DIR/$SCRIPT" ;; esac
done
SCRIPT_DIR="$(cd "$(dirname "$SCRIPT")" && pwd)"

OS=$(uname -s | tr '[:upper:]' '[:lower:]')
ARCH=$(uname -m)
case "$OS" in darwin) OS="darwin" ;; linux) OS="linux" ;; mingw*|msys*|cygwin*) OS="win32" ;; esac
case "$ARCH" in x86_64|amd64) ARCH="x64" ;; aarch64|arm64) ARCH="arm64" ;; esac

BINARY="$SCRIPT_DIR/llmcc-${OS}-${ARCH}"

if [ -f "$BINARY" ] && [ -x "$BINARY" ]; then
  exec "$BINARY" "$@"
fi

# Fallback error message
echo "Error: No binary found for ${OS}-${ARCH}" >&2
echo "Please report this issue: https://github.com/allenanswerzq/llmcc/issues" >&2
exit 1
