summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorMorgan Deters <mdeters@gmail.com>2011-10-19 21:35:50 +0000
committerMorgan Deters <mdeters@gmail.com>2011-10-19 21:35:50 +0000
commit255d7e4140d5fee6edfe5c7233c8870f889b2a32 (patch)
tree2d6bfcea23776edbc90c34784db139040fe097dc /config
parent2ef582ec2671a9d6e88aec576786b796e504e3cb (diff)
fix bug #264: competition / other static library builds when readline isn't available
Diffstat (limited to 'config')
-rw-r--r--config/readline.m441
1 files changed, 38 insertions, 3 deletions
diff --git a/config/readline.m4 b/config/readline.m4
index 70f36bc79..ce1d1deda 100644
--- a/config/readline.m4
+++ b/config/readline.m4
@@ -15,12 +15,47 @@ else
fi
AC_CHECK_LIB([readline], [readline],
[AC_CHECK_HEADER([readline/readline.h],
- AC_SUBST([READLINE_LDFLAGS], ["-lreadline -lncurses"])
- AC_DEFINE([HAVE_LIBREADLINE], [1], [Define to 1 to use libreadline]))],
+ [READLINE_LIBS="-lreadline -lncurses"],
+ [if test "$with_readline" != check; then
+ AC_MSG_FAILURE([cannot find libreadline!])
+ fi])],
[if test "$with_readline" != check; then
AC_MSG_FAILURE([cannot find libreadline!])
fi], -lncurses)
- if test -z "$READLINE_LDFLAGS"; then with_readline=no; else with_readline=yes; fi
+ if test -z "$READLINE_LIBS"; then
+ 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/readline.h>],
+ [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
+ fi
+ AC_DEFINE_UNQUOTED([HAVE_LIBREADLINE], ${HAVE_LIBREADLINE}, [Define to 1 to use libreadline])
+ AC_SUBST([READLINE_LIBS])
fi
])# CVC4_CHECK_FOR_READLINE
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback