#!/usr/bin/env bash

set -euo pipefail

BIN_NAME="xbp"
BUILD_PATH="./target/release/$BIN_NAME"
OS_NAME="$(uname -s)"
ABS_BUILD_PATH="$(cd "$(dirname "$BUILD_PATH")" && pwd -P)/$(basename "$BUILD_PATH")"

cargo build --release

if [ ! -f "$BUILD_PATH" ]; then
  echo "Build failed: $BUILD_PATH not found."
  exit 1
fi

if [ "$OS_NAME" = "Darwin" ]; then
  DEFAULT_INSTALL_DIR="${HOME}/.local/bin"
else
  DEFAULT_INSTALL_DIR="${HOME}/.local/bin"
fi

mkdir -p "$DEFAULT_INSTALL_DIR"
TARGET_PATH="${DEFAULT_INSTALL_DIR}/${BIN_NAME}"

ln -sf "$ABS_BUILD_PATH" "$TARGET_PATH"

echo "Installed ${BIN_NAME} to ${TARGET_PATH}"
echo
echo "Ensure ${DEFAULT_INSTALL_DIR} is on your PATH."
