#!/bin/sh
# AO Code для macOS — один файл на оба процессора (Р14): рядом лежат две сборки одной версии,
# bin/arm64 (Apple Silicon) и bin/x64 (Intel). Этот сценарий выбирает свою и передаёт ей всё как есть.
# Склеить их в один исполняемый файл нельзя: у среды .NET под каждый процессор своя основная библиотека.
set -e

# Ссылку на этот файл (например, из /usr/local/bin) раскрываем до настоящего места рядом со сборками.
src="$0"
while [ -h "$src" ]; do
  dir="$(cd -P "$(dirname "$src")" && pwd)"
  src="$(readlink "$src")"
  case "$src" in /*) ;; *) src="$dir/$src" ;; esac
done
here="$(cd -P "$(dirname "$src")" && pwd)"

case "$(uname -m)" in
  arm64) exec "$here/bin/arm64/aocode" "$@" ;;
  x86_64) exec "$here/bin/x64/aocode" "$@" ;;
  *) echo "aocode: processor $(uname -m) is not supported" >&2; exit 1 ;;
esac
