#!/bin/bash
set -e
ODIN_DIR="$HOME/.odin"

echo "Installing Odin build dependencies..."
sudo xbps-install -S
sudo xbps-install -y llvm18-devel clang18 git-lfs base-devel

git lfs install --force

echo "Cloning Odin repository..."
if [ -d "$ODIN_DIR" ]; then
    echo "Directory $ODIN_DIR already exists. Pulling latest..."
    cd "$ODIN_DIR" && git pull
else
    git clone https://github.com/odin-lang/Odin "$ODIN_DIR"
    cd "$ODIN_DIR"
fi

# Detect available LLVM 18 config tool name on Void
LLVM_CFG=""
for cfg in llvm-config-18 llvm-config18 llvm-config; do
    if command -v "$cfg" >/dev/null 2>&1; then
        LLVM_CFG="$cfg"
        break
    fi
done

if [ -z "$LLVM_CFG" ]; then
    echo "❌ Error: Could not locate a valid llvm-config binary."
    exit 1
fi

echo "Building Odin compiler using $LLVM_CFG..."
LLVM_CONFIG="$LLVM_CFG" make release-native

echo ""
echo "✓ Odin install complete."
echo "  Add to your path if needed: export PATH=\"\$HOME/.odin:\$PATH\""
echo "  Then verify with: odin version"
