Searches for a readline compatible library. If found, defines
`HAVE_LIBREADLINE'. If the found library has the `add_history'
function, sets also `HAVE_READLINE_HISTORY'. Also checks for the
locations of the necessary include files and sets `HAVE_READLINE_H'
or `HAVE_READLINE_READLINE_H' and `HAVE_READLINE_HISTORY_H' or
'HAVE_HISTORY_H' if the corresponding include files exists.
The libraries that may be readline compatible are `libedit',
`libeditline' and `libreadline'. Sometimes we need to link a termcap
library for readline to work, this macro tests these cases too by
trying to link with `libtermcap', `libcurses' or `libncurses' before
giving up.
Here is an example of how to use the information provided by this
macro to perform the necessary includes or declarations in a C file:
#ifdef HAVE_LIBREADLINE
# if defined(HAVE_READLINE_READLINE_H)
# include <readline/readline.h>
# elif defined(HAVE_READLINE_H)
# include <readline.h>
# else /* !defined(HAVE_READLINE_H) */
extern char *readline ();
# endif /* !defined(HAVE_READLINE_H) */
char *cmdline = NULL;
#else /* !defined(HAVE_READLINE_READLINE_H) */
/* no readline */
#endif /* HAVE_LIBREADLINE */
#ifdef HAVE_READLINE_HISTORY
# if defined(HAVE_READLINE_HISTORY_H)
# include <readline/history.h>
# elif defined(HAVE_HISTORY_H)
# include <history.h>
# else /* !defined(HAVE_HISTORY_H) */
extern void add_history ();
extern int write_history ();
extern int read_history ();
# endif /* defined(HAVE_READLINE_HISTORY_H) */
/* no history */
#endif /* HAVE_READLINE_HISTORY */