From: John Darrington Date: Fri, 18 Apr 2008 23:44:42 +0000 (+0000) Subject: Close patch #6492 X-Git-Tag: v0.6.0~33 X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=85eeaccf1a92aef8a6b4766c2160e02b14d8ec57;p=pspp-builds.git Close patch #6492 --- diff --git a/ChangeLog b/ChangeLog index 30bc3c95..f8727c47 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2008-04-19 John Darrington + + * configure.ac : Improve checking of ncurses availability. + 2008-04-15 Ben Pfaff * configure.ac: Properly report required version of libglade. diff --git a/configure.ac b/configure.ac index 03a4b399..16a6fbd8 100644 --- a/configure.ac +++ b/configure.ac @@ -111,8 +111,30 @@ AM_CONDITIONAL(WITH_GUI_TOOLS, test x"$with_gui_tools" = x"yes") AC_SEARCH_LIBS([cblas_dsdot], [gslcblas],,[PSPP_REQUIRED_PREREQ([libgslcblas])]) AC_SEARCH_LIBS([gsl_cdf_chisq_Q], [gsl],,[PSPP_REQUIRED_PREREQ([libgsl (version 1.4 or later)])]) -AC_CHECK_LIB(ncurses, tgetent) -AC_CHECK_HEADERS(termcap.h) +dnl Recent versions of GNU ncurses install the curses header files into +dnl /usr/include/ncurses, and provide a 'ncurses5-config' program which +dnl enables us to discover where they are. Earlier versions don't have +dnl this, so we can't rely on it. So if ncurses5-config is present, +dnl we'll trust it to find the right information. Otherwise, we'll +dnl try to discover it ourselves. +dnl To confound things further, Cygwin has decided to rename ncurses5-config +dnl to ncurses8-config !!! +AC_CHECK_PROGS([NCURSES_CONFIG], [ncurses5-config ncurses8-config]) +if test x"$NCURSES_CONFIG" = x ; then + AC_SEARCH_LIBS([tgetent], [ncurses], + [curses_available=yes; AC_CHECK_HEADERS([term.h curses.h],,[curses_available=no])]) +else + curses_available=yes + NCURSES_CFLAGS=`$NCURSES_CONFIG --cflags` + NCURSES_LIBS=`$NCURSES_CONFIG --libs` + AC_SUBST(NCURSES_CFLAGS) + AC_SUBST(NCURSES_LIBS) +fi +if test x"$curses_available" = x"yes" ; then + AC_DEFINE([LIBNCURSES_USABLE], 1, + [Define to 1 if the libncurses is both present and usable.]) +fi +AC_CHECK_HEADERS([termcap.h]) PSPP_READLINE diff --git a/po/de.po b/po/de.po index 1d247eee..5dce15aa 100644 --- a/po/de.po +++ b/po/de.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: PSPP 0.4.3\n" "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n" -"POT-Creation-Date: 2008-04-15 13:59+0800\n" +"POT-Creation-Date: 2008-04-19 07:19+0800\n" "PO-Revision-Date: 2006-07-28 19:32+0800\n" "Last-Translator: John Darrington \n" "Language-Team: German \n" diff --git a/po/en_GB.po b/po/en_GB.po index d7bb31ad..7e6aef4c 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PSPP 0.4.3\n" "Report-Msgid-Bugs-To: pspp-dev@gnu.org\n" -"POT-Creation-Date: 2008-04-15 13:59+0800\n" +"POT-Creation-Date: 2008-04-19 07:19+0800\n" "PO-Revision-Date: 2007-09-15 08:29+0800\n" "Last-Translator: John Darrington \n" "Language-Team: John Darrington \n" diff --git a/src/ui/terminal/automake.mk b/src/ui/terminal/automake.mk index 57eedb29..a19c9738 100644 --- a/src/ui/terminal/automake.mk +++ b/src/ui/terminal/automake.mk @@ -13,7 +13,7 @@ src_ui_terminal_libui_a_SOURCES = \ src/ui/terminal/terminal.c \ src/ui/terminal/terminal.h -src_ui_terminal_libui_a_CFLAGS = -DINSTALLDIR=\"$(bindir)\" +src_ui_terminal_libui_a_CFLAGS = -DINSTALLDIR=\"$(bindir)\" $(NCURSES_CFLAGS) bin_PROGRAMS += src/ui/terminal/pspp @@ -34,6 +34,7 @@ src_ui_terminal_pspp_LDADD = \ src/libpspp/libpspp.a \ $(LIBXML2_LIBS) \ $(PG_LIBS) \ + $(NCURSES_LIBS) \ $(LIBICONV) \ gl/libgl.la \ @LIBINTL@ @LIBREADLINE@ diff --git a/src/ui/terminal/terminal.c b/src/ui/terminal/terminal.c index 9f371821..7360b892 100644 --- a/src/ui/terminal/terminal.c +++ b/src/ui/terminal/terminal.c @@ -46,7 +46,7 @@ terminal_init (int **view_width_p, int **view_length_p) of this file because curses.h redefines "bool" on some systems (e.g. OpenBSD), causing declaration mismatches with functions that have parameters or return values of type "bool". */ -#if HAVE_LIBNCURSES +#if LIBNCURSES_USABLE #include #include #endif @@ -56,7 +56,7 @@ terminal_init (int **view_width_p, int **view_length_p) void terminal_check_size (void) { -#if HAVE_LIBNCURSES +#if LIBNCURSES_USABLE if (getenv ("TERM") != NULL) { char term_buffer [16384];