mirror of https://github.com/djcb/mu.git
configure.ac: Add (optional) readline support
This commit is contained in:
parent
cf594413e2
commit
419871862c
24
configure.ac
24
configure.ac
|
@ -1,4 +1,4 @@
|
|||
## Copyright (C) 2008-2019 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
|
||||
## Copyright (C) 2008-2020 Dirk-Jan C. Binnema <djcb@djcbsoftware.nl>
|
||||
##
|
||||
## This program is free software; you can redistribute it and/or modify
|
||||
## it under the terms of the GNU General Public License as published by
|
||||
|
@ -16,7 +16,7 @@
|
|||
|
||||
AC_PREREQ([2.68])
|
||||
AC_INIT([mu],[1.3.6],[https://github.com/djcb/mu/issues],[mu])
|
||||
AC_COPYRIGHT([Copyright (C) 2008-2019 Dirk-Jan C. Binnema])
|
||||
AC_COPYRIGHT([Copyright (C) 2008-2020 Dirk-Jan C. Binnema])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_SRCDIR([mu/mu.cc])
|
||||
# libtoolize wants to put some stuff in here; if you have an old
|
||||
|
@ -230,6 +230,14 @@ AM_CONDITIONAL(BUILD_GUILE,
|
|||
[ test -n "$GUILE_EFFECTIVE_VERSION" -a -n "$GUILE_SNARF"])
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# optional readline
|
||||
saved_libs=$LIBS
|
||||
AX_LIB_READLINE
|
||||
AC_SUBST(READLINE_LIBS,${LIBS})
|
||||
LIBS=$saved_libs
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# check for makeinfo
|
||||
AC_CHECK_PROG(have_makeinfo,makeinfo,yes,no)
|
||||
|
@ -241,17 +249,6 @@ AM_CONDITIONAL(HAVE_MAKEINFO, [test "x$have_makeinfo" = "xyes"])
|
|||
AC_SUBST(MU_DOC_DIR, "${prefix}/share/doc/mu")
|
||||
###############################################################################
|
||||
|
||||
###############################################################################
|
||||
# check for pmccabe
|
||||
AC_PATH_PROG([PMCCABE],[pmccabe],[no])
|
||||
AS_IF([test "x$PMCCABE" = "xno"],[
|
||||
have_pmccabe="no"
|
||||
AC_MSG_WARN([
|
||||
*** Developers: you do not seem to have the pmccabe tool installed.
|
||||
*** Please install it if you want to run the automated code checks])
|
||||
],[have_pmccabe="yes"])
|
||||
###############################################################################
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
mu/Makefile
|
||||
|
@ -314,7 +311,6 @@ echo "Build 'mug' toy-ui (gtk+/webkit) : yes"],[
|
|||
echo "Build 'mug' toy-ui (gtk+/webkit) : no"
|
||||
])
|
||||
|
||||
echo "McCabe's Cyclomatic Complexity tool : $have_pmccabe"
|
||||
echo
|
||||
|
||||
echo "Have direntry->d_ino : $use_dirent_d_ino"
|
||||
|
|
|
@ -38,6 +38,7 @@ EXTRA_DIST= \
|
|||
ax_cxx_compile_stdcxx.m4 \
|
||||
ax_file_escapes.m4 \
|
||||
ax_is_release.m4 \
|
||||
ax_lib_readline.m4 \
|
||||
ax_require_defined.m4 \
|
||||
ax_valgrind_check.m4 \
|
||||
guile-2.2.m4 \
|
||||
|
|
|
@ -0,0 +1,107 @@
|
|||
# ===========================================================================
|
||||
# https://www.gnu.org/software/autoconf-archive/ax_lib_readline.html
|
||||
# ===========================================================================
|
||||
#
|
||||
# SYNOPSIS
|
||||
#
|
||||
# AX_LIB_READLINE
|
||||
#
|
||||
# DESCRIPTION
|
||||
#
|
||||
# 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 */
|
||||
#
|
||||
# LICENSE
|
||||
#
|
||||
# Copyright (c) 2008 Ville Laurikari <vl@iki.fi>
|
||||
#
|
||||
# Copying and distribution of this file, with or without modification, are
|
||||
# permitted in any medium without royalty provided the copyright notice
|
||||
# and this notice are preserved. This file is offered as-is, without any
|
||||
# warranty.
|
||||
|
||||
#serial 8
|
||||
|
||||
AU_ALIAS([VL_LIB_READLINE], [AX_LIB_READLINE])
|
||||
AC_DEFUN([AX_LIB_READLINE], [
|
||||
AC_CACHE_CHECK([for a readline compatible library],
|
||||
ax_cv_lib_readline, [
|
||||
ORIG_LIBS="$LIBS"
|
||||
for readline_lib in readline edit editline; do
|
||||
for termcap_lib in "" termcap curses ncurses; do
|
||||
if test -z "$termcap_lib"; then
|
||||
TRY_LIB="-l$readline_lib"
|
||||
else
|
||||
TRY_LIB="-l$readline_lib -l$termcap_lib"
|
||||
fi
|
||||
LIBS="$ORIG_LIBS $TRY_LIB"
|
||||
AC_LINK_IFELSE([AC_LANG_CALL([], [readline])], [ax_cv_lib_readline="$TRY_LIB"])
|
||||
if test -n "$ax_cv_lib_readline"; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test -n "$ax_cv_lib_readline"; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test -z "$ax_cv_lib_readline"; then
|
||||
ax_cv_lib_readline="no"
|
||||
fi
|
||||
LIBS="$ORIG_LIBS"
|
||||
])
|
||||
|
||||
if test "$ax_cv_lib_readline" != "no"; then
|
||||
LIBS="$LIBS $ax_cv_lib_readline"
|
||||
AC_DEFINE(HAVE_LIBREADLINE, 1,
|
||||
[Define if you have a readline compatible library])
|
||||
AC_CHECK_HEADERS(readline.h readline/readline.h)
|
||||
AC_CACHE_CHECK([whether readline supports history],
|
||||
ax_cv_lib_readline_history, [
|
||||
ax_cv_lib_readline_history="no"
|
||||
AC_LINK_IFELSE([AC_LANG_CALL([], [add_history])], [ax_cv_lib_readline_history="yes"])
|
||||
])
|
||||
if test "$ax_cv_lib_readline_history" = "yes"; then
|
||||
AC_DEFINE(HAVE_READLINE_HISTORY, 1,
|
||||
[Define if your readline library has \`add_history'])
|
||||
AC_CHECK_HEADERS(history.h readline/history.h)
|
||||
fi
|
||||
fi
|
||||
])dnl
|
Loading…
Reference in New Issue