summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--configure.ac21
2 files changed, 21 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index d4a245cd2..267a5b355 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-01-05 Peter Stephenson <pws@csr.com>
+
+ * 23090: configure.ac: make ncurses preferred over curses
+ and try not to link to multiple display libraries if not
+ necessary.
+
2007-01-04 Clint Adams <clint@zsh.org>
* 23089: R.Ramkumar: Completion/Unix/Command/_mpc:
diff --git a/configure.ac b/configure.ac
index c7a32eb11..7f585d685 100644
--- a/configure.ac
+++ b/configure.ac
@@ -637,20 +637,24 @@ AC_CHECK_LIB(c, printf, [LIBS="$LIBS -lc"])
AC_CHECK_LIB(m, pow)
dnl Prefer BSD termcap library to SysV curses library, except on certain
-dnl SYSV-derived systems.
+dnl SYSV-derived systems. However, if we find terminfo and termcap
+dnl stuff in the same library we will use that; typically this
+dnl is ncurses or curses.
dnl On HPUX, Hcurses is reported to work better than curses.
+dnl Prefer ncurses to curses on all systems; prefer it to tinfo
+dnl if we were told to use curses. tinfo isn't very common now.
AC_ARG_WITH(curses-terminfo,
AC_HELP_STRING([--with-curses-terminfo], [use terminfo support from curses library]),
[if test x$withval = xyes; then
- termcap_curses_order="tinfo curses ncurses termcap"
+ termcap_curses_order="ncurses tinfo curses termcap"
AC_SEARCH_LIBS(tigetstr, [$termcap_curses_order])
else
- termcap_curses_order="tinfo termcap curses ncurses"
+ termcap_curses_order="tinfo termcap ncurses curses"
fi],
[case "$host_os" in
hpux10.*|hpux11.*|solaris*)
- termcap_curses_order="Hcurses curses ncurses termcap" ;;
- *) termcap_curses_order="tinfo termcap curses ncurses" ;;
+ termcap_curses_order="Hcurses ncurses curses termcap" ;;
+ *) termcap_curses_order="tinfo termcap ncurses curses" ;;
esac])dnl
AH_TEMPLATE([HAVE_BOOLCODES],
@@ -667,8 +671,13 @@ AH_TEMPLATE([HAVE_STRNAMES],
[Define if you have the terminfo strnames symbol.])
AH_TEMPLATE([TERM_H_NEEDS_CURSES_H],
[Define if term.h chokes without curses.h.])
-AC_SEARCH_LIBS(tgetent, [$termcap_curses_order])
+dnl Check for tigetflag (terminfo) before tgetent (termcap).
+dnl That's so that on systems where termcap and [n]curses are
+dnl both available and both contain termcap functions, while
+dnl only [n]curses contains terminfo functions, we only link against
+dnl [n]curses.
AC_SEARCH_LIBS(tigetflag, [$termcap_curses_order])
+AC_SEARCH_LIBS(tgetent, [$termcap_curses_order])
AC_CHECK_HEADERS(curses.h, [],
[AC_CACHE_CHECK(for Solaris 8 curses.h mistake, ac_cv_header_curses_solaris,
AC_TRY_COMPILE([#include <curses.h>], [],