# CVC4_CHECK_FOR_READLINE # ----------------------- # Look for readline and link it in, but allow user to disable. AC_DEFUN([CVC4_CHECK_FOR_READLINE], [ AC_MSG_CHECKING([whether user requested readline support]) LIBREADLINE= have_libreadline=0 READLINE_LIBS= if test "$with_readline" = no; then AC_MSG_RESULT([no, readline disabled by user]) else if test "$with_readline" = check; then AC_MSG_RESULT([no preference by user, will auto-detect]) else AC_MSG_RESULT([yes, readline enabled by user]) fi READLINE_LIBS= CVC4_TRY_READLINE_WITH([]) CVC4_TRY_READLINE_WITH([-ltinfo]) CVC4_TRY_READLINE_WITH([-lncurses -ltermcap]) CVC4_TRY_READLINE_WITH([-lncurses -ltermcap -ltinfo]) if test -z "$READLINE_LIBS"; then if test "$with_readline" != check; then AC_MSG_FAILURE([cannot find libreadline! (or can't get it to work)]) fi with_readline=no else # make sure it works in static builds, too if test "$enable_static_binary" = yes; then AC_MSG_CHECKING([whether statically-linked readline is functional]) AC_LANG_PUSH([C++]) cvc4_save_LIBS="$LIBS" cvc4_save_LDFLAGS="$LDFLAGS" LDFLAGS="-static $LDFLAGS" LIBS="$READLINE_LIBS $LIBS" AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], [readline("")])], [ AC_MSG_RESULT([yes, it works]) with_readline=yes ], [ AC_MSG_RESULT([no]) if test "$with_readline" != check; then AC_MSG_FAILURE([readline installation incompatible with static-binary]) fi with_readline=no ]) LIBS="$cvc4_save_LIBS" LDFLAGS="$cvc4_save_LDFLAGS" AC_LANG_POP([C++]) else with_readline=yes fi fi if test "$with_readline" = yes; then have_libreadline=1 else have_libreadline=0 READLINE_LIBS= fi fi ])# CVC4_CHECK_FOR_READLINE # CVC4_TRY_READLINE_WITH(LIBS) # ---------------------------- # Try AC_CHECK_LIB(readline) with the given linking libraries AC_DEFUN([CVC4_TRY_READLINE_WITH], [ if test -z "$READLINE_LIBS"; then AC_CHECK_LIB([readline], [readline], [AC_CHECK_HEADER([readline/readline.h], [READLINE_LIBS="-lreadline $1"], [])], [], [$1]) fi ])# CVC4_TRY_READLINE_WITH