SAGE_SPKG_CONFIGURE([4ti2], [
SAGE_SPKG_DEPCHECK([gmp glpk], [
dnl Debian installs these programs with an executable prefix "4ti2-",
dnl OpenSUSE uses the prefix "4ti2_".
dnl Singular checks for unprefixed and prefixed with "4ti2-".
dnl Polymake does not check for prefixed binaries.
m4_foreach([prog], [hilbert,markov,graver,zsolve,qsolve,rays,ppi,circuits,groebner], [
AC_CHECK_PROGS([FOURTITWO_]m4_toupper(prog), prog [4ti2-]prog [4ti2_]prog)
AS_VAR_IF([FOURTITWO_]m4_toupper(prog), [""], [sage_spkg_install_4ti2=yes])
AC_SUBST([FOURTITWO_]m4_toupper(prog))
])
dnl Adapted from https://github.com/latte-int/latte/blob/master/m4/4ti2-check.m4
AC_MSG_CHECKING(for library 4ti2gmp)
BACKUP_CXXFLAGS=${CXXFLAGS}
BACKUP_LIBS=${LIBS}
FORTYTWO_CXXFLAGS="-D__STDC_LIMIT_MACROS -D_4ti2_GMP_"
FORTYTWO_LIBS="-l4ti2gmp -lzsolve"
CXXFLAGS="${BACKUP_CXXFLAGS} ${FORTYTWO_CXXFLAGS} ${GMP_CFLAGS}"
LIBS="${BACKUP_LIBS} ${FORTYTWO_LIBS} ${GMP_LIBS}"
AC_LINK_IFELSE([AC_LANG_PROGRAM([[
#include "4ti2/4ti2.h"
]], [[ _4ti2_rays_create_state(_4ti2_PREC_INT_ARB);
]])],[
AC_MSG_RESULT([yes])
],[
AC_MSG_RESULT([no])
sage_spkg_install_4ti2=yes
])
CXXFLAGS=${BACKUP_CXXFLAGS}
LIBS=${BACKUP_LIBS}
])
])