From 5e8cf70d0d16498fc1dd238c7268797ca2325e45 Mon Sep 17 00:00:00 2001 From: Andre Noll Date: Sun, 21 Sep 2014 16:48:01 +0200 Subject: [PATCH 1/1] build: Convert libreadline detection to new macros. --- configure.ac | 96 ++++++++++++---------------------------------------- 1 file changed, 22 insertions(+), 74 deletions(-) diff --git a/configure.ac b/configure.ac index 98d75c78..3bcd0d30 100644 --- a/configure.ac +++ b/configure.ac @@ -385,76 +385,24 @@ AC_CHECK_LIB([ao], [ao_initialize], [], HAVE_AO=no) LIB_SUBST_FLAGS(ao) UNSTASH_FLAGS AC_DEFUN([NEED_AO_OBJECTS], [{ test $HAVE_AO = yes -a $HAVE_PTHREAD = yes; }]) -############################################################# readline -OLD_CPPFLAGS="$CPPFLAGS" -OLD_LDFLAGS="$LDFLAGS" -OLD_LIBS="$LIBS" - -have_readline="yes" -AC_ARG_WITH(readline_headers, [AS_HELP_STRING(--with-readline-headers=dir, - [look for libreadline header files also in dir])]) -if test -n "$with_readline_headers"; then - readline_cppflags="-I$with_readline_headers" - CPPFLAGS="$CPPFLAGS $readline_cppflags" -fi - -AC_ARG_WITH(readline_libs, [AS_HELP_STRING(--with-readline-libs=dir, - [look for readline library also in dir])]) -if test -n "$with_readline_libs"; then - readline_libs="-L$with_readline_libs" - LDFLAGS="$LDFLAGS $readline_libs" -fi -msg="no interactive cli support" -AC_CHECK_HEADERS([readline/readline.h], [ - ], [ - have_readline="no" - AC_MSG_WARN([readline/readline.h not found, $msg]) -]) - -if test "$have_readline" = "yes"; then - readline_ldflags="$readline_libs" - AC_SEARCH_LIBS([rl_free_keymap], [readline], [ - readline_ldflags="$readline_ldflags -lreadline" - ], [have_readline="no"]) - if test "$have_readline" = "no"; then # try with -lcurses - # clear cache - AC_MSG_NOTICE([trying again with -lcurses]) - unset ac_cv_search_rl_free_keymap 2> /dev/null - AC_SEARCH_LIBS([rl_free_keymap], [readline], [ - have_readline=yes - readline_ldflags="$readline_ldflags -lreadline -lcurses" - ], [], [-lcurses]) - fi - if test "$have_readline" = "no"; then # try with -ltermcap - # clear cache - AC_MSG_NOTICE([trying again with -ltermcap]) - unset ac_cv_search_rl_free_keymap 2> /dev/null - AC_SEARCH_LIBS([rl_free_keymap], [readline], [ - have_readline=yes - readline_ldflags="$readline_ldflags -lreadline -ltermcap" - ], [], [-ltermcap]) - fi -fi - -if test "$have_readline" = "yes"; then - AC_CHECK_DECL( - [rl_free_keymap], - [AC_DEFINE(RL_FREE_KEYMAP_DECLARED, 1, readline >= 6.3)], - [], - [ - #include - #include - ] - ) - AC_SUBST(readline_cppflags) - AC_SUBST(readline_ldflags) - AC_DEFINE(HAVE_READLINE, 1, define to 1 to turn on readline support) -else - AC_MSG_WARN([libreadline not found or unusable]) -fi -CPPFLAGS="$OLD_CPPFLAGS" -LDFLAGS="$OLD_LDFLAGS" -LIBS="$OLD_LIBS" +######################################################################## readline +STASH_FLAGS +AC_SEARCH_LIBS([tgetent], [tinfo curses terminfo termcap]) +LIB_ARG_WITH([readline], [-lreadline $LIBS]) +HAVE_READLINE=yes +AC_CHECK_HEADER([readline/readline.h], [], [HAVE_READLINE=no]) +AC_CHECK_LIB([readline], [rl_free_keymap], [], HAVE_READLINE=no) +AC_CHECK_DECL( + [rl_free_keymap], + [AC_DEFINE(RL_FREE_KEYMAP_DECLARED, 1, readline >= 6.3)], + [], + [ + #include + #include + ] +) +LIB_SUBST_FLAGS(readline) +UNSTASH_FLAGS ############################################################# libsamplerate STASH_FLAGS LIB_ARG_WITH([samplerate], [-lsamplerate]) @@ -551,7 +499,7 @@ if test -n "$CRYPTOLIB"; then else client_errlist_objs="$client_errlist_objs gcrypt" fi - if test "$have_readline" = "yes"; then + if test $HAVE_READLINE = yes; then client_errlist_objs="$client_errlist_objs interactive" fi client_objs="add_cmdline($client_cmdline_objs) $client_errlist_objs" @@ -1009,7 +957,7 @@ NEED_AO_OBJECTS && { play_errlist_objs="$play_errlist_objs ao_write" play_cmdline_objs="$play_cmdline_objs ao_write" } -if test "$have_readline" = "yes"; then +if test $HAVE_READLINE = yes; then play_errlist_objs="$play_errlist_objs interactive" fi if test $HAVE_SAMPLERATE = yes; then @@ -1092,7 +1040,7 @@ audioc_errlist_objs=" version ggo " -if test "$have_readline" = "yes"; then +if test $HAVE_READLINE = yes; then audioc_errlist_objs="$audioc_errlist_objs buffer_tree interactive @@ -1183,7 +1131,7 @@ paraslash configuration: ~~~~~~~~~~~~~~~~~~~~~~~~ crypto lib: ${CRYPTOLIB:-[none]} unix socket credentials: $have_ucred -readline (interactive CLIs): $have_readline +readline (interactive CLIs): $HAVE_READLINE audio formats handlers: $audio_format_handlers id3 version 2 support: $HAVE_ID3TAG filters: $filters -- 2.30.2