#!/bin/sh

: ${DW_USE_MPFR:=0}
: ${DW_MP_DIGITS:=200}

case "$DW_USE_MPFR" in
  0|1) ;;
  *) echo "configure: DW_USE_MPFR must be 0 or 1" >&2; exit 1 ;;
esac

cat > src/Makevars <<EOF2
CXX_STD = CXX17

PKG_CPPFLAGS = -DDW_USE_MPFR=$DW_USE_MPFR -DDW_MP_DIGITS=$DW_MP_DIGITS -DBOOST_MATH_DISABLE_FLOAT128=1 -DBOOST_CSTDFLOAT_NO_FLOAT128=1 -DBOOST_CSTDFLOAT_NO_LIBQUADMATH_SUPPORT=1 -DEIGEN_MPL2_ONLY -DEIGEN_DONT_VECTORIZE -DEIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT -DEIGEN_DONT_ALIGN_STATICALLY -DEIGEN_MAX_ALIGN_BYTES=0 -DEIGEN_MAX_STATIC_ALIGN_BYTES=0
EOF2

if [ "$DW_USE_MPFR" = "1" ]; then
  MPFR_CFLAGS=${MPFR_CFLAGS:-}
  MPFR_LIBS=${MPFR_LIBS:-}
  if [ -z "$MPFR_CFLAGS" ] && command -v pkg-config >/dev/null 2>&1; then
    MPFR_CFLAGS=`pkg-config --cflags mpfr 2>/dev/null`
  fi
  if [ -z "$MPFR_LIBS" ] && command -v pkg-config >/dev/null 2>&1; then
    MPFR_LIBS=`pkg-config --libs mpfr 2>/dev/null`
  fi
  if [ -z "$MPFR_LIBS" ]; then
    MPFR_LIBS="-lmpfr -lgmp"
  fi
  if [ -n "$MPFR_CFLAGS" ]; then
    echo "PKG_CPPFLAGS = \$(PKG_CPPFLAGS) $MPFR_CFLAGS" >> src/Makevars
  fi
  echo "PKG_LIBS = $MPFR_LIBS" >> src/Makevars
fi
