#!/usr/bin/env bash
SCRIPT="$(realpath $(dirname "${BASH_SOURCE[0]}"))"
export MINERVA_ARCH="${MINERVA_ARCH:-x86_64}"
export MINERVA_TOOLCHAIN="${MINERVA_TOOLCHAIN:-GNU}"
if [ -z "${HOST_CC:=}" ]; then
export HOST_CC="${CC:=cc}"
export HOST_CXX="${CXX:=c++}"
export HOST_LD="${LD:=ld}"
export HOST_AR="${AR:=ar}"
export HOST_RANLIB="${RANLIB:=ranlib}"
export HOST_PATH="${PATH:=}"
export HOST_READELF="${READELF:=readelf}"
export HOST_OBJCOPY="${OBJCOPY:=objcopy}"
export HOST_OBJDUMP="${OBJDUMP:=objdump}"
export HOST_STRIP="${STRIP:=strip}"
export HOST_CXXFILT="${CXXFILT:=c++filt}"
export HOST_PKG_CONFIG_DIR="${PKG_CONFIG_DIR:=}"
export HOST_PKG_CONFIG_SYSROOT_DIR="${PKG_CONFIG_SYSROOT_DIR:=}"
export HOST_PKG_CONFIG_LIBDIR="${PKG_CONFIG_LIBDIR:=}"
fi
export MINERVA_SOURCE_DIR="$(realpath "${SCRIPT}/../")"
if [ "$MINERVA_TOOLCHAIN" = "Clang" ]; then
export MINERVA_BUILD_DIR="${MINERVA_SOURCE_DIR}/Build/${MINERVA_ARCH}clang"
export MINERVA_TOOLCHAIN_BINDIR="${MINERVA_SOURCE_DIR}/Toolchain/Local/clang/bin"
export CC="${MINERVA_ARCH}-pc-minerva-clang"
export CXX="${MINERVA_ARCH}-pc-minerva-clang++"
export LD="${MINERVA_TOOLCHAIN_BINDIR}/ld.lld"
export AR="llvm-ar"
export RANLIB="llvm-ranlib"
export READELF="llvm-readelf"
export OBJCOPY="llvm-objcopy"
export OBJDUMP="llvm-objdump"
export STRIP="llvm-strip"
export CXXFILT="llvm-cxxfilt"
else
export MINERVA_BUILD_DIR="${MINERVA_SOURCE_DIR}/Build/${MINERVA_ARCH}"
export MINERVA_TOOLCHAIN_BINDIR="${MINERVA_SOURCE_DIR}/Toolchain/Local/${MINERVA_ARCH}/bin"
export CC="${MINERVA_ARCH}-pc-minerva-gcc"
export CXX="${MINERVA_ARCH}-pc-minerva-g++"
export LD="${MINERVA_TOOLCHAIN_BINDIR}/${MINERVA_ARCH}-pc-minerva-ld"
export AR="${MINERVA_ARCH}-pc-minerva-ar"
export RANLIB="${MINERVA_ARCH}-pc-minerva-ranlib"
export READELF="${MINERVA_ARCH}-pc-minerva-readelf"
export OBJCOPY="${MINERVA_ARCH}-pc-minerva-objcopy"
export OBJDUMP="${MINERVA_ARCH}-pc-minerva-objdump"
export STRIP="${MINERVA_ARCH}-pc-minerva-strip"
export CXXFILT="${MINERVA_ARCH}-pc-minerva-c++filt"
fi
export PATH="${MINERVA_TOOLCHAIN_BINDIR}:${MINERVA_SOURCE_DIR}/Toolchain/Local/cmake/bin:${HOST_PATH}"
export PKG_CONFIG_DIR=""
export PKG_CONFIG_SYSROOT_DIR="${MINERVA_BUILD_DIR}/Root"
export PKG_CONFIG_LIBDIR="${PKG_CONFIG_SYSROOT_DIR}/usr/local/lib/pkgconfig"
export MINERVA_INSTALL_ROOT="${MINERVA_BUILD_DIR}/Root"
export MINERVA_PORT_DIRS="${MINERVA_PORT_DIRS:+${MINERVA_PORT_DIRS}:}${MINERVA_SOURCE_DIR}/Ports"