#!/bin/bash
# Build Eigen benchmarks for a given ISA target.
#
# Expected environment variables:
#   EIGEN_CI_BUILDDIR         - build directory (default: .bench-build)
#   EIGEN_CI_CXX_COMPILER     - C++ compiler
#   EIGEN_CI_C_COMPILER        - C compiler
#   EIGEN_BENCH_ISA_FLAGS     - ISA-specific compiler flags (e.g. "-mavx2 -mfma")

set -ex

rootdir=$(pwd)
builddir=${EIGEN_CI_BUILDDIR:-.bench-build}
mkdir -p "${builddir}"
cd "${builddir}"

# Install Google Benchmark from source if not already present.
# The common before_script already installs cmake/ninja; we only need
# git and ca-certificates for the clone. The CI image only ships
# versioned compilers (e.g. g++-10), so unversioned c++/cc are absent
# and we must pass CMAKE_*_COMPILER explicitly.
if ! pkg-config --exists benchmark 2>/dev/null; then
  apt-get update -qq
  apt-get install -y --no-install-recommends git ca-certificates
  git clone --depth 1 --branch v1.9.1 https://github.com/google/benchmark.git /tmp/gbench
  cmake -G Ninja -S /tmp/gbench -B /tmp/gbench-build \
    -DCMAKE_C_COMPILER="${EIGEN_CI_C_COMPILER}" \
    -DCMAKE_CXX_COMPILER="${EIGEN_CI_CXX_COMPILER}" \
    -DCMAKE_BUILD_TYPE=Release \
    -DBENCHMARK_ENABLE_TESTING=OFF \
    -DCMAKE_INSTALL_PREFIX=/usr/local
  cmake --build /tmp/gbench-build --target install
  rm -rf /tmp/gbench /tmp/gbench-build
fi

# Configure benchmarks.  ISA flags are passed via CMAKE_CXX_FLAGS so they
# apply globally to all benchmark targets.
cmake -G Ninja \
  -DCMAKE_CXX_COMPILER="${EIGEN_CI_CXX_COMPILER}" \
  -DCMAKE_C_COMPILER="${EIGEN_CI_C_COMPILER}" \
  -DCMAKE_CXX_FLAGS="${EIGEN_BENCH_ISA_FLAGS}" \
  -DCMAKE_BUILD_TYPE=Release \
  "${rootdir}/benchmarks"

# Build all benchmark targets.  The nightly/weekly scope filtering happens
# at run time, not build time.
cmake --build . -- -k0 || cmake --build . -- -k0 -j1

cd "${rootdir}"
