ncurses 5.7 - patch 20101120

+ improve checks in test/configure for X libraries, from xterm #267
  changes.
+ modify test/configure to allow it to use the build-tree's libraries
  e.g., when using that to configure the test-programs without the
  rpath feature (request by Sven Joachim).
+ repurpose "gnome" terminfo entries as "vte", retaining "gnome" items
  for compatibility, but generally deprecating those since the VTE
  library is what actually defines the behavior of "gnome", etc.,
  since 2003 -TD
This commit is contained in:
Thomas E. Dickey 2010-11-20 23:49:50 +00:00
parent 52aa842907
commit 92e599aba4
7 changed files with 2253 additions and 1308 deletions

13
NEWS
View File

@ -25,7 +25,7 @@
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
-- $Id: NEWS,v 1.1610 2010/11/13 20:23:02 tom Exp $
-- $Id: NEWS,v 1.1612 2010/11/20 22:04:29 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
@ -45,6 +45,17 @@ See the AUTHORS file for the corresponding full names.
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
20101120
+ improve checks in test/configure for X libraries, from xterm #267
changes.
+ modify test/configure to allow it to use the build-tree's libraries
e.g., when using that to configure the test-programs without the
rpath feature (request by Sven Joachim).
+ repurpose "gnome" terminfo entries as "vte", retaining "gnome" items
for compatibility, but generally deprecating those since the VTE
library is what actually defines the behavior of "gnome", etc.,
since 2003 -TD
20101113
+ compiler warning fixes for test programs.
+ various build-fixes for test-programs with pdcurses.

View File

@ -25,7 +25,7 @@
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
# $Id: dist.mk,v 1.780 2010/11/13 16:26:43 tom Exp $
# $Id: dist.mk,v 1.781 2010/11/20 18:49:14 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
@ -37,7 +37,7 @@ SHELL = /bin/sh
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 5
NCURSES_MINOR = 7
NCURSES_PATCH = 20101113
NCURSES_PATCH = 20101120
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)

View File

@ -1,5 +1,5 @@
/****************************************************************************
* Copyright (c) 1998-2008,2009 Free Software Foundation, Inc. *
* Copyright (c) 1998-2009,2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
@ -29,7 +29,7 @@
/****************************************************************************
* Author: Thomas E. Dickey 1996-on *
****************************************************************************/
/* $Id: nc_alloc.h,v 1.17 2009/04/18 20:48:19 tom Exp $ */
/* $Id: nc_alloc.h,v 1.18 2010/11/20 22:59:49 tom Exp $ */
#ifndef NC_ALLOC_included
#define NC_ALLOC_included 1
@ -38,7 +38,7 @@
extern "C" {
#endif
#if HAVE_LIBDMALLOC
#if defined(HAVE_LIBDMALLOC) && HAVE_LIBDMALLOC
#include <string.h>
#undef strndup /* workaround for #define in GLIBC 2.7 */
#include <dmalloc.h> /* Gray Watson's library */
@ -47,14 +47,14 @@ extern "C" {
#define HAVE_LIBDMALLOC 0
#endif
#if HAVE_LIBDBMALLOC
#if defined(HAVE_LIBDBMALLOC) && HAVE_LIBDBMALLOC
#include <dbmalloc.h> /* Conor Cahill's library */
#else
#undef HAVE_LIBDBMALLOC
#define HAVE_LIBDBMALLOC 0
#endif
#if HAVE_LIBMPATROL
#if defined(HAVE_LIBMPATROL) && HAVE_LIBMPATROL
#include <mpatrol.h> /* Memory-Patrol library */
#else
#undef HAVE_LIBMPATROL

View File

@ -6,8 +6,8 @@
# Report bugs and new terminal descriptions to
# bug-ncurses@gnu.org
#
# $Revision: 1.375 $
# $Date: 2010/10/09 19:13:51 $
# $Revision: 1.377 $
# $Date: 2010/11/20 20:10:14 $
#
# The original header is preserved below for reference. It is noted that there
# is a "newer" version which differs in some cosmetic details (but actually
@ -3796,8 +3796,10 @@ gnome-fc5|GNOME Terminal,
# of the keys (which more/less correspond to the termcap values), and will
# interpret those according to the $TERM value, but others not in the
# terminfo according to some constantly changing set of hacker guidelines -TD
gnome-2007|GNOME Terminal snapshot 2.18.1,
vte-2007|VTE in GNOME Terminal snapshot 2.18.1,
use=xterm+pcc2, use=gnome-fc5,
gnome-2007|GNOME Terminal snapshot 2.18.1,
use=vte-2007,
# GNOME Terminal 2.22.3 (2008 snapshot)
#
@ -3806,8 +3808,10 @@ gnome-2007|GNOME Terminal snapshot 2.18.1,
# vt220's behavior, which will make it less usable on a VMS system (unclear
# what the intent of the developer is, since the NRC feature exposed in vttest
# by this change does not work).
vte-2008|VTE in GNOME Terminal snapshot 2.22.3,
use=vte+pcfkeys, use=vte-2007,
gnome-2008|GNOME Terminal snapshot 2.22.3,
use=gnome+pcfkeys, use=gnome-2007,
use=vte-2008,
# GNOME terminal may automatically use the contents of the "xterm" terminfo to
# supply key information which is not built into the program. With 2.22.3,
@ -3825,7 +3829,7 @@ gnome-2008|GNOME Terminal snapshot 2.22.3,
#
# The parameters with \EO (SS3) are technically an error, since SS3 should have
# no parameters. This appears to be rote copying based on xterm+pcc0.
gnome+pcfkeys|gnome variation on xterm+pcfkeys,
vte+pcfkeys|VTE's variation on xterm+pcfkeys,
kf1=\EOP, kf13=\EO1;2P, kf14=\EO1;2Q, kf15=\EO1;2R,
kf16=\EO1;2S, kf2=\EOQ, kf25=\EO1;5P, kf26=\EO1;5Q,
kf27=\EO1;5R, kf28=\EO1;5S, kf3=\EOR, kf37=\EO1;6P,
@ -3833,13 +3837,19 @@ gnome+pcfkeys|gnome variation on xterm+pcfkeys,
kf49=\EO1;3P, kf50=\EO1;3Q, kf51=\EO1;3R, kf52=\EO1;3S,
kf61=\EO1;4P, kf62=\EO1;4Q, kf63=\EO1;4R,
use=xterm+pcfkeys,
gnome+pcfkeys|VTE's variation on xterm+pcfkeys,
use=vte+pcfkeys,
vte|VTE aka GNOME Terminal,
use=vte-2008,
gnome|GNOME Terminal,
use=gnome-2008,
use=vte,
# palette is hardcoded...
vte-256color|VTE with xterm 256-colors,
initc@, use=xterm+256color, use=vte,
gnome-256color|GNOME Terminal with xterm 256-colors,
initc@, use=xterm+256color, use=gnome,
use=vte-256color,
# XFCE Terminal 0.2.5.4beta2
#
@ -3848,7 +3858,7 @@ gnome-256color|GNOME Terminal with xterm 256-colors,
# Since most of the terminfo-related behavior is due to the VTE library,
# the terminfo is the same as gnome-terminal.
xfce|Xfce Terminal,
use=gnome,
use=vte,
# Multi-Gnome-Terminal 1.6.2
#
@ -4783,6 +4793,8 @@ screen.Eterm|screen in Eterm,
use=screen+fkeys, use=Eterm,
screen.mrxvt|screen in mrxvt,
use=screen+fkeys, use=mrxvt,
screen.vte|screen in any VTE-based terminal,
use=screen+fkeys, use=vte,
screen.gnome|screen in GNOME Terminal,
use=screen+fkeys, use=gnome,
screen.konsole|screen in KDE console window,
@ -22307,6 +22319,11 @@ v3220|LANPAR Vision II model 3220/3221/3222,
# * improve linux-16color entry, using "dim" for color-8 which makes it
# gray rather than black like color-0 -TD
#
# 2010-11-20
# * make "vte" the principal entry defining "gnome", since GNOME terminal
# is merely one of several terminals whose behavior is provided by this
# library -TD
#
# The following sets edit modes for GNU EMACS.
# Local Variables:
# fill-prefix:"\t"

150
test/aclocal.m4 vendored
View File

@ -26,7 +26,7 @@ dnl sale, use or other dealings in this Software without prior written *
dnl authorization. *
dnl***************************************************************************
dnl
dnl $Id: aclocal.m4,v 1.44 2010/11/14 00:44:52 tom Exp $
dnl $Id: aclocal.m4,v 1.45 2010/11/20 22:07:06 tom Exp $
dnl
dnl Author: Thomas E. Dickey
dnl
@ -837,6 +837,29 @@ AC_SUBST(SHOW_CC)
AC_SUBST(ECHO_CC)
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_DISABLE_LEAKS version: 6 updated: 2010/07/23 04:14:32
dnl ----------------
dnl Combine no-leak checks with the libraries or tools that are used for the
dnl checks.
AC_DEFUN([CF_DISABLE_LEAKS],[
AC_REQUIRE([CF_WITH_DMALLOC])
AC_REQUIRE([CF_WITH_DBMALLOC])
AC_REQUIRE([CF_WITH_VALGRIND])
AC_MSG_CHECKING(if you want to perform memory-leak testing)
AC_ARG_ENABLE(leaks,
[ --disable-leaks test: free permanent memory, analyze leaks],
[if test "x$enableval" = xno; then with_no_leaks=yes; else with_no_leaks=no; fi],
: ${with_no_leaks:=no})
AC_MSG_RESULT($with_no_leaks)
if test "$with_no_leaks" = yes ; then
AC_DEFINE(NO_LEAKS)
AC_DEFINE(YY_NO_LEAKS)
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_ENABLE_WARNINGS version: 4 updated: 2009/07/26 17:53:03
dnl ------------------
dnl Configure-option to enable gcc warnings
@ -1645,7 +1668,7 @@ CF_NCURSES_LIBS(ifelse($1,,ncurses,$1))
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_NCURSES_CPPFLAGS version: 19 updated: 2007/07/29 13:35:20
dnl CF_NCURSES_CPPFLAGS version: 20 updated: 2010/11/20 17:02:38
dnl -------------------
dnl Look for the SVr4 curses clone 'ncurses' in the standard places, adjusting
dnl the CPPFLAGS variable so we can include its header.
@ -1674,7 +1697,7 @@ cf_ncuhdr_root=ifelse($1,,ncurses,$1)
test -n "$cf_cv_curses_dir" && \
test "$cf_cv_curses_dir" != "no" && { \
CF_ADD_INCDIR($cf_cv_curses_dir/include $cf_cv_curses_dir/include/$cf_ncuhdr_root)
CF_ADD_INCDIR($cf_cv_curses_dir/include/$cf_ncuhdr_root)
}
AC_CACHE_CHECK(for $cf_ncuhdr_root header in include-path, cf_cv_ncurses_h,[
@ -1797,7 +1820,7 @@ esac
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_NCURSES_LIBS version: 15 updated: 2010/10/23 15:54:49
dnl CF_NCURSES_LIBS version: 16 updated: 2010/11/20 17:02:38
dnl ---------------
dnl Look for the ncurses library. This is a little complicated on Linux,
dnl because it may be linked with the gpm (general purpose mouse) library.
@ -1837,7 +1860,6 @@ CF_ADD_LIBS($cf_ncurses_LIBS)
if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
then
CF_ADD_LIBDIR($cf_cv_curses_dir/lib)
CF_ADD_LIBS(-l$cf_nculib_root)
else
CF_FIND_LIBRARY($cf_nculib_root,$cf_nculib_root,
@ -1944,6 +1966,35 @@ AC_MSG_RESULT($NCURSES_WRAP_PREFIX)
AC_SUBST(NCURSES_WRAP_PREFIX)
])
dnl ---------------------------------------------------------------------------
dnl CF_NO_LEAKS_OPTION version: 4 updated: 2006/12/16 14:24:05
dnl ------------------
dnl see CF_WITH_NO_LEAKS
AC_DEFUN([CF_NO_LEAKS_OPTION],[
AC_MSG_CHECKING(if you want to use $1 for testing)
AC_ARG_WITH($1,
[$2],
[AC_DEFINE($3)ifelse([$4],,[
$4
])
: ${with_cflags:=-g}
: ${with_no_leaks:=yes}
with_$1=yes],
[with_$1=])
AC_MSG_RESULT(${with_$1:-no})
case .$with_cflags in #(vi
.*-g*)
case .$CFLAGS in #(vi
.*-g*) #(vi
;;
*)
CF_ADD_CFLAGS([-g])
;;
esac
;;
esac
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_PATH_SYNTAX version: 13 updated: 2010/05/26 05:38:42
dnl --------------
dnl Check the argument to see that it looks like a pathname. Rewrite it if it
@ -2461,16 +2512,66 @@ fi
])
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_WITH_CURSES_DIR version: 2 updated: 2002/11/10 14:46:59
dnl CF_WITH_CURSES_DIR version: 3 updated: 2010/11/20 17:02:38
dnl ------------------
dnl Wrapper for AC_ARG_WITH to specify directory under which to look for curses
dnl libraries.
AC_DEFUN([CF_WITH_CURSES_DIR],[
AC_MSG_CHECKING(for specific curses-directory)
AC_ARG_WITH(curses-dir,
[ --with-curses-dir=DIR directory in which (n)curses is installed],
[CF_PATH_SYNTAX(withval)
cf_cv_curses_dir=$withval],
[cf_cv_curses_dir=$withval],
[cf_cv_curses_dir=no])
AC_MSG_RESULT($cf_cv_curses_dir)
if ( test -n "$cf_cv_curses_dir" && test "$cf_cv_curses_dir" != "no" )
then
CF_PATH_SYNTAX(withval)
if test -d "$cf_cv_curses_dir"
then
CF_ADD_INCDIR($cf_cv_curses_dir/include)
CF_ADD_LIBDIR($cf_cv_curses_dir/lib)
fi
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_WITH_DBMALLOC version: 7 updated: 2010/06/21 17:26:47
dnl ----------------
dnl Configure-option for dbmalloc. The optional parameter is used to override
dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
AC_DEFUN([CF_WITH_DBMALLOC],[
CF_NO_LEAKS_OPTION(dbmalloc,
[ --with-dbmalloc test: use Conor Cahill's dbmalloc library],
[USE_DBMALLOC])
if test "$with_dbmalloc" = yes ; then
AC_CHECK_HEADER(dbmalloc.h,
[AC_CHECK_LIB(dbmalloc,[debug_malloc]ifelse([$1],,[],[,$1]))])
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_WITH_DMALLOC version: 7 updated: 2010/06/21 17:26:47
dnl ---------------
dnl Configure-option for dmalloc. The optional parameter is used to override
dnl the updating of $LIBS, e.g., to avoid conflict with subsequent tests.
AC_DEFUN([CF_WITH_DMALLOC],[
CF_NO_LEAKS_OPTION(dmalloc,
[ --with-dmalloc test: use Gray Watson's dmalloc library],
[USE_DMALLOC])
if test "$with_dmalloc" = yes ; then
AC_CHECK_HEADER(dmalloc.h,
[AC_CHECK_LIB(dmalloc,[dmalloc_debug]ifelse([$1],,[],[,$1]))])
fi
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_WITH_VALGRIND version: 1 updated: 2006/12/14 18:00:21
dnl ----------------
AC_DEFUN([CF_WITH_VALGRIND],[
CF_NO_LEAKS_OPTION(valgrind,
[ --with-valgrind test: use valgrind],
[USE_VALGRIND])
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_XOPEN_CURSES version: 10 updated: 2010/10/23 15:54:49
@ -2812,7 +2913,7 @@ CF_TRY_PKG_CONFIG(Xext,,[
[CF_ADD_LIB(Xext)])])
])dnl
dnl ---------------------------------------------------------------------------
dnl CF_X_TOOLKIT version: 19 updated: 2010/11/09 05:18:02
dnl CF_X_TOOLKIT version: 20 updated: 2010/11/19 05:43:04
dnl ------------
dnl Check for X Toolkit libraries
dnl
@ -2825,13 +2926,36 @@ cf_have_X_LIBS=no
CF_TRY_PKG_CONFIG(xt,[
AC_CACHE_CHECK(for usable X Toolkit package,cf_cv_xt_compat,[
case "x$LIBS" in #(vi
*-lX11*) #(vi
;;
*)
# we have an "xt" package, but it may omit Xt's dependency on X11
AC_CACHE_CHECK(for usable X dependency,cf_cv_xt_x11_compat,[
AC_TRY_LINK([
#include <X11/Xlib.h>
],[
int rc1 = XDrawLine((Display*) 0, (Drawable) 0, (GC) 0, 0, 0, 0, 0);
int rc2 = XClearWindow((Display*) 0, (Window) 0);
int rc3 = XMoveWindow((Display*) 0, (Window) 0, 0, 0);
int rc4 = XMoveResizeWindow((Display*)0, (Window)0, 0, 0, 0, 0);
],[cf_cv_xt_x11_compat=yes],[cf_cv_xt_x11_compat=no])])
if test "$cf_cv_xt_x11_compat" = no
then
CF_VERBOSE(work around broken X11 dependency)
# 2010/11/19 - good enough until a working Xt on Xcb is delivered.
CF_TRY_PKG_CONFIG(x11,,[CF_ADD_LIB_AFTER(-lXt,-lX11)])
fi
;;
esac
AC_CACHE_CHECK(for usable X Toolkit package,cf_cv_xt_ice_compat,[
AC_TRY_LINK([
#include <X11/Shell.h>
],[int num = IceConnectionNumber(0)
],[cf_cv_xt_compat=no],[cf_cv_xt_compat=no])])
],[cf_cv_xt_ice_compat=yes],[cf_cv_xt_ice_compat=no])])
if test "$cf_cv_xt_compat" = no
if test "$cf_cv_xt_ice_compat" = no
then
# workaround for broken ".pc" files used for X Toolkit.
case "x$X_PRE_LIBS" in #(vi
@ -2840,7 +2964,7 @@ AC_TRY_LINK([
*-lICE*) #(vi
;;
*)
CF_VERBOSE(work around broken package)
CF_VERBOSE(work around broken ICE dependency)
CF_TRY_PKG_CONFIG(ice,
[CF_TRY_PKG_CONFIG(sm)],
[CF_ADD_LIB_AFTER(-lXt,$X_PRE_LIBS)])

3348
test/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -28,7 +28,7 @@ dnl***************************************************************************
dnl
dnl Author: Thomas E. Dickey 1996, etc.
dnl
dnl $Id: configure.in,v 1.82 2010/11/06 23:05:15 tom Exp $
dnl $Id: configure.in,v 1.83 2010/11/20 21:51:03 tom Exp $
dnl This is a simple configuration-script for the ncurses test programs that
dnl allows the test-directory to be separately configured against a reference
dnl system (i.e., sysvr4 curses)
@ -100,6 +100,7 @@ CF_SIG_ATOMIC_T
CF_DISABLE_ECHO
CF_ENABLE_WARNINGS
CF_DISABLE_LEAKS
CF_WITH_CURSES_DIR
dnl SunOS 4.x