zsh-workers
 help / color / mirror / code / Atom feed
From: Peter Stephenson <pws@csr.com>
To: Zsh hackers list <zsh-workers@sunsite.dk>
Subject: Re: configure should have --with-ncurses and --with-ncursesw
Date: Fri, 5 Jan 2007 13:51:40 +0000	[thread overview]
Message-ID: <20070105135140.232b160e.pws@csr.com> (raw)
In-Reply-To: <20070104111928.5e156466.pws@csr.com>

Peter Stephenson <pws@csr.com> wrote:
> > To be able to use ncurses by default, I had to change the configure
> > script:
> > 
> > -  termcap_curses_order="tinfo curses ncurses termcap"
> > +  termcap_curses_order="ncurses tinfo curses termcap"
> 
> That looks harmless: I can't see why there might be a good reason for
> preferring curses to ncurses.  I'll have a go at this when I'm back in
> normal operation (my home laptop power supply has died and I'm still
> reeling from being back at work).

OK, here is an attempt at doing this consistently.  I've changed the search
order.  I've also changed the order in which we search for tigetflag
(terminfo) and tgetent (termcap).  The point of this is that if we find
tigetflag in ncurses we then don't need to link against termcap as well.

Much of the history of the termcap/terminfo/curses library search is
probably irrelevant now, since we always try to link against terminfo
in order to make the zsh/terminfo module to work and have done this for
some time.  I'm not sure we need --with-curses-terminfo any more.

This now makes my Fedora system link against -lncurses, instead of -lcurses
-ltermcap.

Index: configure.ac
===================================================================
RCS file: /cvsroot/zsh/zsh/configure.ac,v
retrieving revision 1.60
diff -u -r1.60 configure.ac
--- configure.ac	4 Dec 2006 11:24:10 -0000	1.60
+++ configure.ac	5 Jan 2007 13:05:47 -0000
@@ -637,20 +637,24 @@
 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 @@
 [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>], [],

-- 
Peter Stephenson <pws@csr.com>                  Software Engineer
CSR PLC, Churchill House, Cambridge Business Park, Cowley Road
Cambridge, CB4 0WZ, UK                          Tel: +44 (0)1223 692070


To access the latest news from CSR copy this link into a web browser:  http://www.csr.com/email_sig.php


      reply	other threads:[~2007-01-05 13:52 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-18 14:38 Vincent Lefevre
2006-12-18 15:46 ` Peter Stephenson
2006-12-19 16:12   ` DervishD
2006-12-19 16:22     ` Peter Stephenson
2006-12-25  1:23       ` Vincent Lefevre
2007-01-04 11:19         ` Peter Stephenson
2007-01-05 13:51           ` Peter Stephenson [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070105135140.232b160e.pws@csr.com \
    --to=pws@csr.com \
    --cc=zsh-workers@sunsite.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).