mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager
synced 2024-07-21 10:14:41 +00:00
m4: cli: Add support for --with-readline=auto|libreadline|libedit|none configuration options
This commit provides support for --with-readline=auto|libreadline|libedit|none option for the configure script. It allows building the NetworkManager's nmcli tool with libedit instead of libreadline. With --with-readline=auto the system looks for any eligible readline library to use. Moreover, in this commit all required defines are provided (e.g. HAVE_EDITLINE_READLINE) to allow correct buil of the code.
This commit is contained in:
parent
85f3030e4b
commit
8ea9da85b3
17
configure.ac
17
configure.ac
|
@ -1043,10 +1043,24 @@ fi
|
|||
|
||||
PKG_CHECK_MODULES(LIBNDP, [libndp])
|
||||
|
||||
AC_ARG_WITH(readline,
|
||||
AS_HELP_STRING([--with-readline=auto|libreadline|libedit|none], [Using libreadline (auto) or libedit]),
|
||||
[], [with_readline=auto])
|
||||
|
||||
if test "$with_readline" != "none" -a "$with_readline" != "auto" -a "$with_readline" != "libreadline" -a "$with_readline" != "libedit"; then
|
||||
AC_MSG_ERROR([invalid --with-readline option])
|
||||
fi
|
||||
|
||||
if test "$with_readline" != "none"; then
|
||||
AX_LIB_READLINE
|
||||
if test -z "${READLINE_LIBS}"; then
|
||||
AC_MSG_FAILURE([readline library not found])
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(nmcli,
|
||||
AS_HELP_STRING([--with-nmcli=yes|no], [Build nmcli]))
|
||||
if test "$with_nmcli" != no; then
|
||||
AX_LIB_READLINE
|
||||
build_nmcli=yes
|
||||
else
|
||||
build_nmcli=no
|
||||
|
@ -1420,4 +1434,5 @@ echo " crypto: $with_crypto (have-gnutls: $have_crypto_gnutls, have-nss: $have_
|
|||
echo " sanitizers: $sanitizers"
|
||||
echo " Mozilla Public Suffix List: $with_libpsl"
|
||||
echo " eBPF: $have_ebpf"
|
||||
echo " readline: $with_readline"
|
||||
echo
|
||||
|
|
|
@ -65,7 +65,16 @@ 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
|
||||
|
||||
search_readlines="readline edit"
|
||||
if test "$with_readline" = "libreadline"; then
|
||||
search_readlines="readline"
|
||||
fi
|
||||
if test "$with_readline" = "libedit"; then
|
||||
search_readlines="edit"
|
||||
fi
|
||||
for readline_lib in $search_readlines; do
|
||||
# prefer ncurses since we use it for nmtui too
|
||||
for termcap_lib in "" termcap curses ncurses; do
|
||||
if test -z "$termcap_lib"; then
|
||||
TRY_LIB="-l$readline_lib"
|
||||
|
@ -93,7 +102,16 @@ AC_DEFUN([AX_LIB_READLINE], [
|
|||
AC_SUBST(READLINE_LIBS)
|
||||
AC_DEFINE(HAVE_LIBREADLINE, 1,
|
||||
[Define if you have a readline compatible library])
|
||||
AC_CHECK_HEADERS(readline.h readline/readline.h)
|
||||
|
||||
if test "$with_readline" = "libedit"; then
|
||||
AC_DEFINE(HAVE_EDITLINE_READLINE, 1,
|
||||
[Explicitly set to 1 when libedit shall be used])
|
||||
else
|
||||
AC_DEFINE(HAVE_EDITLINE_READLINE, 0,
|
||||
[By default the libreadline is used as readline library])
|
||||
|
||||
fi
|
||||
|
||||
ORIG_LIBS="$LIBS"
|
||||
LIBS="$ORIG_LIBS $ax_cv_lib_readline"
|
||||
AC_CACHE_CHECK([whether readline supports history],
|
||||
|
@ -106,8 +124,11 @@ AC_DEFUN([AX_LIB_READLINE], [
|
|||
|
||||
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)
|
||||
[Define if your readline library has \`history_set_history_state'])
|
||||
AC_CHECK_HEADERS(readline/history.h histedit.h)
|
||||
else
|
||||
AC_DEFINE(HAVE_READLINE_HISTORY, 0,
|
||||
[Explicitly set to 0 when libreadline shall not be used])
|
||||
fi
|
||||
fi
|
||||
])dnl
|
||||
|
|
Loading…
Reference in a new issue