# -----------------------
# Supported language bindings for CVC4.
AC_DEFUN([CVC4_SUPPORTED_BINDINGS],
+[c,java])
+
+# CVC4_ALL_BINDINGS
+# -----------------
+# All language bindings for CVC4 (may include unofficial bindings).
+AC_DEFUN([CVC4_ALL_BINDINGS],
[c,java,csharp,perl,php,python,ruby,tcl,ocaml])
# CVC4_CHECK_BINDINGS(DEFAULT_BINDINGS_LIST)
dnl Check for SWIG (for building language bindings)
noswig=no
-m4_foreach(lang,[CVC4_SUPPORTED_BINDINGS],
+m4_foreach(lang,[CVC4_ALL_BINDINGS],
[[cvc4_build_]]lang[[_bindings=no
]])
else
AC_MSG_RESULT([$try_bindings])
fi
+CVC4_UNSUPPORTED_LANGUAGE_BINDINGS=
cvc4_save_CPPFLAGS="$CPPFLAGS"
cvc4_save_CXXFLAGS="$CXXFLAGS"
AC_LANG_PUSH([C++])
for binding in $try_bindings; do
+ __cvc4_lang_supported=no
+ m4_foreach([__cvc4_supported_binding], [CVC4_SUPPORTED_BINDINGS],
+ [if test "$binding" = "__cvc4_supported_binding"; then __cvc4_lang_supported=yes; fi
+ ])dnl
+ if test $__cvc4_lang_supported = no; then
+ CVC4_UNSUPPORTED_LANGUAGE_BINDINGS="${CVC4_UNSUPPORTED_LANGUAGE_BINDINGS:+$CVC4_UNSUPPORTED_LANGUAGE_BINDINGS }$binding"
+ fi
+
binding_error=no
AC_MSG_CHECKING([for availability of $binding binding])
case "$binding" in
AM_CONDITIONAL([CVC4_HAS_SWIG], [test "$SWIG"])
-m4_foreach([lang], [CVC4_SUPPORTED_BINDINGS],
+m4_foreach([lang], [CVC4_ALL_BINDINGS],
[AM_CONDITIONAL([CVC4_LANGUAGE_BINDING_]m4_toupper(lang), [test "$cvc4_build_]lang[_bindings" = yes])
])dnl
EOF
+if test -n "$CVC4_UNSUPPORTED_LANGUAGE_BINDINGS"; then
+ AC_MSG_WARN([])
+ AC_MSG_WARN([You are electing to build unsupported language binding(s): $CVC4_UNSUPPORTED_LANGUAGE_BINDINGS])
+ AC_MSG_WARN([Please be aware that these bindings may not compile, or work, and the interface to CVC4 via])
+ AC_MSG_WARN([these bindings may change drastically in upcoming releases of CVC4.])
+ AC_MSG_WARN([])
+fi
+
if test -n "$CVC4_INTEGRITY_WARNING"; then
AC_MSG_WARN([])
AC_MSG_WARN($CVC4_INTEGRITY_WARNING)