#MIN_CONFIG(3.3)

ocaml_installed=no
facile_installed=no
eqchem_enabled=no

AC_DEFUN([OCAML_PROG],[
    KDE_FIND_PATH(ocamlopt, OCAML, [$bindir],
      [
        OCAML=''
      ])
])

AC_DEFUN([FACILE_PROG],[
    AC_REQUIRE([OCAML_PROG])

    AC_MSG_CHECKING([if the facile constraint solver is installed])
    FACILE="`ocamlopt -where`/facile"
    if test -d "$FACILE" ; then
        eqchem_enabled=yes
        AC_MSG_RESULT([yes])
        facile_installed=yes
    else
        eqchem_enabled=no
        AC_MSG_RESULT([no])
        facile_installed=no
    fi

    AC_SUBST([FACILE])
])

AC_ARG_ENABLE( ocamlsolver,
  [  --disable-ocamlsolver	  Disable support for the OCaml solver @<:@default=check@:>@]],
  [  with_ocamlsolver=$enableval ],
  [  with_ocamlsolver=check] )

if test "x$with_ocamlsolver" != xno; then
  OCAML_PROG
  if test -n "$OCAML"; then
    ocaml_installed=yes
    FACILE_PROG
  fi

  AH_TEMPLATE(HAVE_FACILE, facile solver available?)

  EQCHEM_SUB=
  OCAMLLIB=
  OCAMLLIB_FLAGS=
  EQCHEM_LDADD=
  if test "$eqchem_enabled" = "yes"; then
    EQCHEM_SUB=solver
    OCAMLLIB=`ocamlc -where`
    OCAMLLIB_FLAGS="-L$OCAMLLIB"
    FACILELIB=`ocamlc -where`/facile
    FACILELIB_FLAGS="-L$FACILELIB"
    EQCHEM_LDADD="-lasmrun -lnums -lm $LIBDL solver.o modwrap.o"

    AC_DEFINE(HAVE_FACILE, 1)
  fi

  AC_SUBST(EQCHEM_SUB)
  AC_SUBST(OCAMLLIB)
  AC_SUBST(FACILELIB)
  AC_SUBST(OCAMLLIB_FLAGS)
  AC_SUBST(FACILELIB_FLAGS)
  AC_SUBST(EQCHEM_LDADD)

  if test "$eqchem_enabled" = "yes"; then
    with_ocamlsolver=yes
  fi
fi
