#!/usr/bin/env bash
set -euo pipefail

SELF_DIR="$(CDPATH= cd -- "$(dirname "$0")" && pwd)"
PREFIX_ROOT="$(cd "$SELF_DIR/.." && pwd)"
FBROOT="$PREFIX_ROOT/lib/freebasic"
TOOLCHAIN_ROOT="$FBROOT/toolchain"
GCC_ROOT="$TOOLCHAIN_ROOT/gcc"
NCURSES_ROOT="$TOOLCHAIN_ROOT/ncurses"
SDK_ROOT="$TOOLCHAIN_ROOT/sdk/MacOSX.sdk"

export PATH="$GCC_ROOT/bin:$PATH"
export GCC="$GCC_ROOT/bin/gcc-15"
export DYLD_LIBRARY_PATH="$NCURSES_ROOT/lib${DYLD_LIBRARY_PATH:+:$DYLD_LIBRARY_PATH}"

if [ -d "$SDK_ROOT/usr/lib" ]; then
    export SDKROOT="$SDK_ROOT"
elif command -v xcrun >/dev/null 2>&1; then
    SDKROOT_CANDIDATE="$(xcrun --sdk macosx --show-sdk-path 2>/dev/null || xcrun --show-sdk-path 2>/dev/null || true)"
    if [ -n "$SDKROOT_CANDIDATE" ] && [ -d "$SDKROOT_CANDIDATE/usr/lib" ]; then
        export SDKROOT="$SDKROOT_CANDIDATE"
    fi
fi

exec "$FBROOT/libexec/fbc-real" -prefix "$PREFIX_ROOT" "$@"
