#!/bin/zsh

# -------------------------
# macOS-specific setup
# -------------------------

# Prefer Apple Silicon Homebrew, fall back to Intel Homebrew.
if [[ -d "/opt/homebrew" ]]; then
  export HOMEBREW_PREFIX="/opt/homebrew"
elif [[ -d "/usr/local/Homebrew" || -d "/usr/local/Cellar" ]]; then
  export HOMEBREW_PREFIX="/usr/local"
fi

if [[ -n "$HOMEBREW_PREFIX" ]]; then
  [[ -d "$HOMEBREW_PREFIX/bin" ]] && path=("$HOMEBREW_PREFIX/bin" $path)
  [[ -d "$HOMEBREW_PREFIX/sbin" ]] && path=("$HOMEBREW_PREFIX/sbin" $path)

  # LLVM / clangd / clang-format
  if [[ -d "$HOMEBREW_PREFIX/opt/llvm/bin" ]]; then
    path=("$HOMEBREW_PREFIX/opt/llvm/bin" $path)
    export LDFLAGS="-L$HOMEBREW_PREFIX/opt/llvm/lib ${LDFLAGS:-}"
    export CPPFLAGS="-I$HOMEBREW_PREFIX/opt/llvm/include ${CPPFLAGS:-}"
  fi

  # OpenSSL
  if [[ -d "$HOMEBREW_PREFIX/opt/openssl@3" ]]; then
    export OPENSSL_ROOT_DIR="$HOMEBREW_PREFIX/opt/openssl@3"
    export LDFLAGS="-L$OPENSSL_ROOT_DIR/lib ${LDFLAGS:-}"
    export CPPFLAGS="-I$OPENSSL_ROOT_DIR/include ${CPPFLAGS:-}"
    export PKG_CONFIG_PATH="$OPENSSL_ROOT_DIR/lib/pkgconfig:${PKG_CONFIG_PATH:-}"
  elif [[ -d "$HOMEBREW_PREFIX/opt/openssl" ]]; then
    export OPENSSL_ROOT_DIR="$HOMEBREW_PREFIX/opt/openssl"
    export LDFLAGS="-L$OPENSSL_ROOT_DIR/lib ${LDFLAGS:-}"
    export CPPFLAGS="-I$OPENSSL_ROOT_DIR/include ${CPPFLAGS:-}"
    export PKG_CONFIG_PATH="$OPENSSL_ROOT_DIR/lib/pkgconfig:${PKG_CONFIG_PATH:-}"
  fi

  # OpenJDK
  [[ -d "$HOMEBREW_PREFIX/opt/openjdk/bin" ]] && path=("$HOMEBREW_PREFIX/opt/openjdk/bin" $path)

  # Qt
  [[ -d "$HOMEBREW_PREFIX/opt/qt/bin" ]] && path=("$HOMEBREW_PREFIX/opt/qt/bin" $path)

  # Tcl/Tk
  [[ -d "$HOMEBREW_PREFIX/opt/tcl-tk/bin" ]] && path=("$HOMEBREW_PREFIX/opt/tcl-tk/bin" $path)
fi

# Ghostty CLI
if [[ -d "/Applications/Ghostty.app/Contents/MacOS" ]]; then
  path=("/Applications/Ghostty.app/Contents/MacOS" $path)
fi
