X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=m4%2Freadline.m4;h=4c82a7fafef57329bfcb3a782602915eb5459cbf;hb=90f8d0d3e4ce4b1f4118d35eba6a051558323ace;hp=f082192a4a62f8432e44dd18e8485b7bf06a3fac;hpb=bd4afb37950aaaab7a97a4423c33b1a920387bce;p=gnulib.git diff --git a/m4/readline.m4 b/m4/readline.m4 index f082192a4..4c82a7faf 100644 --- a/m4/readline.m4 +++ b/m4/readline.m4 @@ -1,5 +1,5 @@ -# readline.m4 serial 2 -dnl Copyright (C) 2005 Free Software Foundation, Inc. +# readline.m4 serial 5 +dnl Copyright (C) 2005, 2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -9,8 +9,6 @@ dnl Liljeblad. AC_DEFUN([gl_FUNC_READLINE], [ - AC_LIBSOURCES([readline.c, readline.h]) - dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) @@ -29,7 +27,12 @@ AC_DEFUN([gl_FUNC_READLINE], AC_CACHE_CHECK(for readline, gl_cv_lib_readline, [ gl_cv_lib_readline=no am_save_LIBS="$LIBS" - for extra_lib in "" termcap curses ncurses; do + dnl On some systems, -lreadline doesn't link without an additional + dnl -lncurses or -ltermcap. + dnl Try -lncurses before -ltermcap, because libtermcap is unsecure + dnl by design and obsolete since 1994. Try -lcurses last, because + dnl libcurses is unusable on some old Unices. + for extra_lib in "" ncurses termcap curses; do LIBS="$am_save_LIBS $LIBREADLINE" if test -n "$extra_lib"; then LIBS="$LIBS -l$extra_lib" @@ -37,21 +40,20 @@ AC_DEFUN([gl_FUNC_READLINE], AC_TRY_LINK([#include #include ], [readline((char*)0);], - gl_cv_lib_readline=yes) - if test "$gl_cv_lib_readline" = yes; then - LIBREADLINE="$LIBREADLINE -l$extra_lib" - LTLIBREADLINE="$LTLIBREADLINE -l$extra_lib" - break + [gl_cv_lib_readline=" -l$extra_lib"]) + if test "$gl_cv_lib_readline" != no; then + break fi done LIBS="$am_save_LIBS" ]) - if test "$gl_cv_lib_readline" = yes; then + if test "$gl_cv_lib_readline" != no; then AC_DEFINE(HAVE_READLINE, 1, [Define if you have the readline library.]) - fi - - if test "$gl_cv_lib_readline" = yes; then + if test "$gl_cv_lib_readline" != " -l"; then + LIBREADLINE="$LIBREADLINE$gl_cv_lib_readline" + LTLIBREADLINE="$LTLIBREADLINE$gl_cv_lib_readline" + fi AC_MSG_CHECKING([how to link with libreadline]) AC_MSG_RESULT([$LIBREADLINE]) else