Date: Sun, 9 Nov 2008 09:06:04 +0000 (UTC) From: Rong-En Fan <rafan@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r184786 - in vendor/ncurses/dist: . contrib doc form include man menu misc ncurses panel progs Message-ID: <200811090906.mA9964w4035426@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: rafan Date: Sun Nov 9 09:06:04 2008 New Revision: 184786 URL: http://svn.freebsd.org/changeset/base/184786 Log: - Flatten the vendor area Added: vendor/ncurses/dist/ANNOUNCE - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/ANNOUNCE vendor/ncurses/dist/AUTHORS - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/AUTHORS vendor/ncurses/dist/INSTALL - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/INSTALL vendor/ncurses/dist/MANIFEST - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/MANIFEST vendor/ncurses/dist/Makefile.in - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/Makefile.in vendor/ncurses/dist/Makefile.os2 - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/Makefile.os2 vendor/ncurses/dist/NEWS - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/NEWS vendor/ncurses/dist/README - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/README vendor/ncurses/dist/README.emx - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/README.emx vendor/ncurses/dist/TO-DO - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/TO-DO vendor/ncurses/dist/aclocal.m4 - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/aclocal.m4 vendor/ncurses/dist/announce.html.in - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/announce.html.in vendor/ncurses/dist/config.guess - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/config.guess vendor/ncurses/dist/config.sub - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/config.sub vendor/ncurses/dist/configure - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/configure vendor/ncurses/dist/configure.in - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/configure.in vendor/ncurses/dist/convert_configure.pl - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/convert_configure.pl vendor/ncurses/dist/dist.mk - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/dist.mk vendor/ncurses/dist/doc/ - copied from r184783, vendor/ncurses/dist/contrib/ncurses/doc/ vendor/ncurses/dist/form/ - copied from r184783, vendor/ncurses/dist/contrib/ncurses/form/ vendor/ncurses/dist/include/ - copied from r184783, vendor/ncurses/dist/contrib/ncurses/include/ vendor/ncurses/dist/install-sh - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/install-sh vendor/ncurses/dist/man/ - copied from r184783, vendor/ncurses/dist/contrib/ncurses/man/ vendor/ncurses/dist/menu/ - copied from r184783, vendor/ncurses/dist/contrib/ncurses/menu/ vendor/ncurses/dist/misc/ - copied from r184783, vendor/ncurses/dist/contrib/ncurses/misc/ vendor/ncurses/dist/mk-0th.awk - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/mk-0th.awk vendor/ncurses/dist/mk-1st.awk - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/mk-1st.awk vendor/ncurses/dist/mk-2nd.awk - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/mk-2nd.awk vendor/ncurses/dist/mk-hdr.awk - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/mk-hdr.awk vendor/ncurses/dist/mkdirs.sh - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/mkdirs.sh vendor/ncurses/dist/ncurses/ - copied from r184783, vendor/ncurses/dist/contrib/ncurses/ncurses/ vendor/ncurses/dist/panel/ - copied from r184783, vendor/ncurses/dist/contrib/ncurses/panel/ vendor/ncurses/dist/progs/ - copied from r184783, vendor/ncurses/dist/contrib/ncurses/progs/ vendor/ncurses/dist/tar-copy.sh - copied unchanged from r184783, vendor/ncurses/dist/contrib/ncurses/tar-copy.sh Deleted: vendor/ncurses/dist/contrib/ Copied: vendor/ncurses/dist/ANNOUNCE (from r184783, vendor/ncurses/dist/contrib/ncurses/ANNOUNCE) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/ncurses/dist/ANNOUNCE Sun Nov 9 09:06:04 2008 (r184786, copy of r184783, vendor/ncurses/dist/contrib/ncurses/ANNOUNCE) @@ -0,0 +1,463 @@ + Announcing ncurses 5.6 + + The ncurses (new curses) library is a free software emulation of + curses in System V Release 4.0, and more. It uses terminfo format, + supports pads and color and multiple highlights and forms characters + and function-key mapping, and has all the other SYSV-curses + enhancements over BSD curses. + + In mid-June 1995, the maintainer of 4.4BSD curses declared that he + considered 4.4BSD curses obsolete, and encouraged the keepers of Unix + releases such as BSD/OS, FreeBSD and NetBSD to switch over to ncurses. + + The ncurses code was developed under GNU/Linux. It has been in use for + some time with OpenBSD as the system curses library, and on FreeBSD + and NetBSD as an external package. It should port easily to any + ANSI/POSIX-conforming UNIX. It has even been ported to OS/2 Warp! + + The distribution includes the library and support utilities, including + a terminfo compiler tic(1), a decompiler infocmp(1), clear(1), + tput(1), tset(1), and a termcap conversion tool captoinfo(1). Full + manual pages are provided for the library and tools. + + The ncurses distribution is available via anonymous FTP at the GNU + distribution site [1]ftp://ftp.gnu.org/gnu/ncurses/ . + It is also available at [2]ftp://invisible-island.net/ncurses/ . + + Release Notes + + This release is designed to be upward compatible from ncurses 5.0 + through 5.5; very few applications will require recompilation, + depending on the platform. These are the highlights from the + change-log since ncurses 5.5 release. + + Interface changes: + * generate linkable stubs for some macros: + getbegx, getbegy, getcurx, getcury, getmaxx, getmaxy, getparx, + getpary, getpary, + and (for libncursesw) + wgetbkgrnd + + New features and improvements: + * library + + support hashed databases for the terminal descriptions. This + uses the Berkeley database, has been tested for several + versions on different platforms. + + add use_legacy_coding() function to support lynx's + font-switching feature. + + add extension nofilter(), to cancel a prior filter() call. + + add/install a package config script, e.g., ncurses5-config or + ncursesw5-config, according to configuration options. + + provide ifdef for NCURSES_NOMACROS which suppresses most + macro definitions from curses.h, i.e., where a macro is + defined to override a function to improve performance. + + make ifdef's consistent in curses.h for the extended colors + so the header file can be used for the normal curses library. + The header file installed for extended colors is a variation + of the wide-character configuration. + + improve tgetstr() by making the return value point into the + user's buffer, if provided. + + add ifdef's allowing ncurses to be built with tparm() using + either varargs (the existing status), or using a + fixed-parameter list (to match X/Open). + + widen the test for xterm kmous a little to allow for other + strings than "\E[M", e.g., for xterm-sco functionality in + xterm. + + modify wgetnstr() to return KEY_RESIZE if a sigwinch occurs. + + move prototypes for wide-character trace functions from + curses.tail to curses.wide to avoid accidental reference to + those if _XOPEN_SOURCE_EXTENDED is defined without ensuring + that <wchar.h> is included. + + change the way shared libraries (other than libtool) are + installed. Rather than copying the build-tree's libraries, + link the shared objects into the install directory. This + makes the --with-rpath option work except with $(DESTDIR). + + several improvements for rendering in hpterm. These are only + available if the library is configured using + --enable-xmc-glitch. + + Add NCURSES_NO_HARD_TABS and NCURSES_NO_MAGIC_COOKIE + environment variables to allow runtime suppression of the + related hard-tabs and xmc-glitch features. + * programs: + + add new test programs: chgat.c, demo_altkeys.c, echochar.c, + foldkeys.c, movewindow.c, redraw.c, (noting that existing + test programs also were modified to test additional + features). + + modify tack to test extended capability function-key strings. + + modify toe to access termcap data, e.g., via cgetent() + functions, or as a text file if those are not available. + + improve infocmp/tic -f option formatting. + + add toe -a option, to show all databases. This uses new + private interfaces in the ncurses library for iterating + through the list of databases. + + modify MKfallback.sh to use tic -x when constructing fallback + tables to allow extended capabilities to be retrieved from a + fallback entry. + * terminal database + + add terminfo entries for xfce terminal (xfce) and multi gnome + terminal (mgt) + + add nsterm-16color entry + + updated mlterm terminfo entry + + add kon, kon2 and jfbterm terminfo entry + + remove invis capability from klone+sgr, mainly used by linux + entry, since it does not really do this + + add ka2, kb1, kb3, kc2 to vt220-keypad as an extension + + add shifted up/down arrow codes to xterm-new as kind/kri + strings + + add hpterm-color terminfo entry + + add 256color variants of terminfo entries for programs which + are reported to implement this feature + + correct order of use-clauses in rxvt-basic entry which made + codes for f1-f4 vt100-style rather than vt220-style. + + Major bug fixes: + * correct a typo in configure --with-bool option for the case where + --without-cxx is used. + * move assignment from environment variable ESCDELAY from initscr() + down to newterm() so the environment variable affects timeouts for + terminals opened with newterm() as well. + * modify werase to clear multicolumn characters that extend into a + derived window. + * modify wchgat() to mark updated cells as changed so a refresh will + repaint those cells. + * correct logic in wadd_wch() and wecho_wch(), which did not guard + against passing the multi-column attribute into a call on + waddch(), e.g., using data returned by win_wch() + * fix redrawing of windows other than stdscr using wredrawln() by + touching the corresponding rows in curscr. + * reduce memory leaks in repeated calls to tgetent() by remembering + the last TERMINAL* value allocated to hold the corresponding data + and freeing that if the tgetent() result buffer is the same as the + previous call. + * modify read_termtype() so the term_names data is always allocated + as part of the str_table, a better fix for a memory leak. + * fix wins_nwstr(), which did not handle single-column non-8bit + codes. + * modify wbkgrnd() to avoid clearing the A_CHARTEXT attribute bits + since those record the state of multicolumn characters. + * improve SIGWINCH handling by postponing its effect during + newterm(), etc., when allocating screens. + * remove 970913 feature for copying subwindows as they are moved in + mvwin(). + * add checks in waddchnstr() and wadd_wchnstr() to stop copying when + a null character is found. + * add some checks to ensure current position is within scrolling + region before scrolling on a new line. + * add a workaround to ACS mapping to allow applications such as + test/blue.c to use the "PC ROM" characters by masking them with + A_ALTCHARSET. This worked up til 5.5, but was lost in the revision + of legacy coding. + + Portability: + * configure script: + + new options: + + --with-hashed-db + Use Berkeley hashed database for storing terminfo + data rather than storing each compiled entry in a + separate binary file within a directory tree. + + --without-dlsym + Do not use dlsym() to load GPM dynamically. + + --with-valgrind + Simplify building for testing with valgrind. + + --enable-wgetch-events + Compile with experimental wgetch-events code. + + --enable-signed-char + Store booleans in "signed char" rather than "char". + + + improved options: + + --disable-largefile + make the option work both ways. + + --with-gpm + The option now accepts a parameter, i.e., the name + of the dynamic GPM library to load via dlopen() + + --disable-symlinks + The option now allows one to disable symlink() in + tic even when link() does not work. + + * other configure/build issues: + + remove special case for Darwin in CF_XOPEN_SOURCE configure + macro. + + add configure check to ensure that SIGWINCH is defined on + platforms such as OS X which exclude that when _XOPEN_SOURCE, + etc., are defined + + use ld's -search_paths_first option on Darwin to work around + odd search rules on that platform. + + improve ifdef's for _POSIX_VDISABLE in tset to work with Mac + OS X. + + modify configure script to ensure that if the C compiler is + used rather than the loader in making shared libraries, the + $(CFLAGS) variable is also used. + + use ${CC} rather than ${LD} in shared library rules for + IRIX64, Solaris to help ensure that initialization sections + are provided for extra linkage requirements, e.g., of C++ + applications. + + improve some shared-library configure scripting for Linux, + FreeBSD and NetBSD to make --with-shlib-version work. + + split up dependency of names.c and codes.c in + ncurses/Makefile to work with parallel make. + + modify MKlib_gen.sh to change preprocessor-expanded _Bool + back to bool. + + modify progs/Makefile.in to make tput init work properly with + cygwin, i.e., do not pass a .exe in the reference string used + in check_aliases. + * library: + + ignore wide-acs line-drawing characters that wcwidth() claims + are not one-column. This is a workaround for Solaris' broken + locale support. + + reduce name-pollution in term.h by removing #define's for + HAVE_xxx symbols. + + fix #ifdef in c++/internal.h for QNX 6.1 + * test programs: + + modify test/configure script to allow building test programs + with PDCurses/X11. + + modified test programs to allow some to work with NetBSD + curses. Several do not because NetBSD curses implements a + subset of X/Open curses, and also lacks much of SVr4 + additions. But it is enough for comparison. + + improved test/configure to build test/ncurses on HPUX 11 + using the vendor curses. + + change configure script to produce test/Makefile from data + file. + + Features of Ncurses + + The ncurses package is fully compatible with SVr4 (System V Release 4) + curses: + * All 257 of the SVr4 calls have been implemented (and are + documented). + * Full support for SVr4 curses features including keyboard mapping, + color, forms-drawing with ACS characters, and automatic + recognition of keypad and function keys. + * An emulation of the SVr4 panels library, supporting a stack of + windows with backing store, is included. + * An emulation of the SVr4 menus library, supporting a uniform but + flexible interface for menu programming, is included. + * An emulation of the SVr4 form library, supporting data collection + through on-screen forms, is included. + * Binary terminfo entries generated by the ncurses tic(1) + implementation are bit-for-bit-compatible with the entry format + SVr4 curses uses. + * The utilities have options to allow you to filter terminfo entries + for use with less capable curses/terminfo versions such as the + HP/UX and AIX ports. + + The ncurses package also has many useful extensions over SVr4: + * The API is 8-bit clean and base-level conformant with the X/OPEN + curses specification, XSI curses (that is, it implements all BASE + level features, and most EXTENDED features). It includes many + function calls not supported under SVr4 curses (but portability of + all calls is documented so you can use the SVr4 subset only). + * Unlike SVr3 curses, ncurses can write to the rightmost-bottommost + corner of the screen if your terminal has an insert-character + capability. + * Ada95 and C++ bindings. + * Support for mouse event reporting with X Window xterm and FreeBSD + and OS/2 console windows. + * Extended mouse support via Alessandro Rubini's gpm package. + * The function wresize() allows you to resize windows, preserving + their data. + * The function use_default_colors() allows you to use the terminal's + default colors for the default color pair, achieving the effect of + transparent colors. + * The functions keyok() and define_key() allow you to better control + the use of function keys, e.g., disabling the ncurses KEY_MOUSE, + or by defining more than one control sequence to map to a given + key code. + * Support for 16-color terminals, such as aixterm and modern xterm. + * Better cursor-movement optimization. The package now features a + cursor-local-movement computation more efficient than either BSD's + or System V's. + * Super hardware scrolling support. The screen-update code + incorporates a novel, simple, and cheap algorithm that enables it + to make optimal use of hardware scrolling, line-insertion, and + line-deletion for screen-line movements. This algorithm is more + powerful than the 4.4BSD curses quickch() routine. + * Real support for terminals with the magic-cookie glitch. The + screen-update code will refrain from drawing a highlight if the + magic- cookie unattributed spaces required just before the + beginning and after the end would step on a non-space character. + It will automatically shift highlight boundaries when doing so + would make it possible to draw the highlight without changing the + visual appearance of the screen. + * It is possible to generate the library with a list of pre-loaded + fallback entries linked to it so that it can serve those terminal + types even when no terminfo tree or termcap file is accessible + (this may be useful for support of screen-oriented programs that + must run in single-user mode). + * The tic(1)/captoinfo utility provided with ncurses has the ability + to translate many termcaps from the XENIX, IBM and AT&T extension + sets. + * A BSD-like tset(1) utility is provided. + * The ncurses library and utilities will automatically read terminfo + entries from $HOME/.terminfo if it exists, and compile to that + directory if it exists and the user has no write access to the + system directory. This feature makes it easier for users to have + personal terminfo entries without giving up access to the system + terminfo directory. + * You may specify a path of directories to search for compiled + descriptions with the environment variable TERMINFO_DIRS (this + generalizes the feature provided by TERMINFO under stock System + V.) + * In terminfo source files, use capabilities may refer not just to + other entries in the same source file (as in System V) but also to + compiled entries in either the system terminfo directory or the + user's $HOME/.terminfo directory. + * A script (capconvert) is provided to help BSD users transition + from termcap to terminfo. It gathers the information in a TERMCAP + environment variable and/or a ~/.termcap local entries file and + converts it to an equivalent local terminfo tree under + $HOME/.terminfo. + * Automatic fallback to the /etc/termcap file can be compiled in + when it is not possible to build a terminfo tree. This feature is + neither fast nor cheap, you don't want to use it unless you have + to, but it's there. + * The table-of-entries utility toe makes it easy for users to see + exactly what terminal types are available on the system. + * The library meets the XSI requirement that every macro entry point + have a corresponding function which may be linked (and will be + prototype-checked) if the macro definition is disabled with + #undef. + * An HTML "Introduction to Programming with NCURSES" document + provides a narrative introduction to the curses programming + interface. + + State of the Package + + Numerous bugs present in earlier versions have been fixed; the library + is far more reliable than it used to be. Bounds checking in many + `dangerous' entry points has been improved. The code is now type-safe + according to gcc -Wall. The library has been checked for malloc leaks + and arena corruption by the Purify memory-allocation tester. + + The ncurses code has been tested with a wide variety of applications + including (versions starting with those noted): + + cdk + Curses Development Kit + [3]http://invisible-island.net/cdk/ + [4]http://www.vexus.ca/products/CDK/ + + ded + directory-editor + [5]http://invisible-island.net/ded/ + + dialog + the underlying application used in Slackware's setup, and the + basis for similar applications on GNU/Linux. + [6]http://invisible-island.net/dialog/ + + lynx + the character-screen WWW browser + [7]http://lynx.isc.org/release/ + + Midnight Commander + file manager + [8]http://www.ibiblio.org/mc/ + + mutt + mail utility + [9]http://www.mutt.org/ + + ncftp + file-transfer utility + [10]http://www.ncftp.com/ + + nvi + New vi versions 1.50 are able to use ncurses versions 1.9.7 and + later. + [11]http://www.bostic.com/vi/ + + pinfo + Lynx-like info browser. + [12]http://dione.ids.pl/~pborys/software/pinfo/ + + tin + newsreader, supporting color, MIME [13]http://www.tin.org/ + + vh-1.6 + Volks-Hypertext browser for the Jargon File + [14]http://www.debian.org/Packages/unstable/text/vh.html + + as well as some that use ncurses for the terminfo support alone: + + minicom + terminal emulator + [15]http://alioth.debian.org/projects/minicom/ + + vile + vi-like-emacs + [16]http://invisible-island.net/vile/ + + The ncurses distribution includes a selection of test programs + (including a few games). + +Who's Who and What's What + + Zeyd Ben-Halim started it from a previous package pcurses, written by + Pavel Curtis. Eric S. Raymond continued development. Juergen Pfeifer + wrote most of the form and menu libraries. Ongoing work is being done + by [17]Thomas Dickey. Thomas Dickey acts as the maintainer for the + Free Software Foundation, which holds the copyright on ncurses. + Contact the current maintainers at [18]bug-ncurses@gnu.org. + + To join the ncurses mailing list, please write email to + bug-ncurses-request@gnu.org containing the line: + subscribe <name>@<host.domain> + + This list is open to anyone interested in helping with the development + and testing of this package. + + Beta versions of ncurses and patches to the current release are made + available at [19]ftp://invisible-island.net/ncurses/ . + +Future Plans + + * Extended-level XPG4 conformance, with internationalization + support. + * Ports to more systems, including DOS and Windows. + + We need people to help with these projects. If you are interested in + working on them, please join the ncurses list. + +Other Related Resources + + The distribution provides a newer version of the terminfo-format + terminal description file once maintained by [20]Eric Raymond . Unlike + the older version, the termcap and terminfo data are provided in the + same file, and provides several user-definable extensions beyond the + X/Open specification. + + You can find lots of information on terminal-related topics not + covered in the terminfo file at [21]Richard Shuford's archive . + +References + + 1. ftp://ftp.gnu.org/gnu/ncurses/ + 2. ftp://invisible-island.net/ncurses/ + 3. http://invisible-island.net/cdk/ + 4. http://www.vexus.ca/products/CDK/ + 5. http://invisible-island.net/ded/ + 6. http://invisible-island.net/dialog/ + 7. http://lynx.isc.org/release/ + 8. http://www.ibiblio.org/mc/ + 9. http://www.mutt.org/ + 10. http://www.ncftp.com/ + 11. http://www.bostic.com/vi/ + 12. http://dione.ids.pl/~pborys/software/pinfo/ + 13. http://www.tin.org/ + 14. http://www.debian.org/Packages/unstable/text/vh.html + 15. http://alioth.debian.org/projects/minicom/ + 16. http://invisible-island.net/vile/ + 17. mailto:dickey@invisible-island.net + 18. mailto:bug-ncurses@gnu.org + 19. ftp://invisible-island.net/ncurses/ + 20. http://www.catb.org/~esr/terminfo/ + 21. http://www.cs.utk.edu/~shuford/terminal_index.html Copied: vendor/ncurses/dist/AUTHORS (from r184783, vendor/ncurses/dist/contrib/ncurses/AUTHORS) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/ncurses/dist/AUTHORS Sun Nov 9 09:06:04 2008 (r184786, copy of r184783, vendor/ncurses/dist/contrib/ncurses/AUTHORS) @@ -0,0 +1,38 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 2006 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 -- +-- "Software"), to deal in the Software without restriction, including -- +-- without limitation the rights to use, copy, modify, merge, publish, -- +-- distribute, distribute with modifications, sublicense, and/or sell copies -- +-- of the Software, and to permit persons to whom the Software is furnished -- +-- to do so, subject to the following conditions: -- +-- -- +-- The above copyright notice and this permission notice shall be included -- +-- in all copies or substantial portions of the Software. -- +-- -- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- +-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- +-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -- +-- NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- +-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- +-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -- +-- USE OR OTHER DEALINGS IN THE SOFTWARE. -- +-- -- +-- Except as contained in this notice, the name(s) of the above copyright -- +-- holders shall not be used in advertising or otherwise to promote the -- +-- sale, use or other dealings in this Software without prior written -- +-- authorization. -- +------------------------------------------------------------------------------- +-- $Id: AUTHORS,v 1.2 2006/10/28 21:44:52 tom Exp $ +------------------------------------------------------------------------------- +These are the principal authors/contributors of ncurses since 1.9.9e, +in decreasing order of their contribution: + +TD Thomas E. Dickey +JPF Juergen Pfeifer +ESR Eric S Raymond +AVL Alexander V Lukyanov +PB Philippe Blain +SV Sven Verdoolaege Copied: vendor/ncurses/dist/INSTALL (from r184783, vendor/ncurses/dist/contrib/ncurses/INSTALL) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor/ncurses/dist/INSTALL Sun Nov 9 09:06:04 2008 (r184786, copy of r184783, vendor/ncurses/dist/contrib/ncurses/INSTALL) @@ -0,0 +1,1619 @@ +------------------------------------------------------------------------------- +-- Copyright (c) 1998-2005,2006 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 -- +-- "Software"), to deal in the Software without restriction, including -- +-- without limitation the rights to use, copy, modify, merge, publish, -- +-- distribute, distribute with modifications, sublicense, and/or sell copies -- +-- of the Software, and to permit persons to whom the Software is furnished -- +-- to do so, subject to the following conditions: -- +-- -- +-- The above copyright notice and this permission notice shall be included -- +-- in all copies or substantial portions of the Software. -- +-- -- +-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -- +-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -- +-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -- +-- NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -- +-- DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -- +-- OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -- +-- USE OR OTHER DEALINGS IN THE SOFTWARE. -- +-- -- +-- Except as contained in this notice, the name(s) of the above copyright -- +-- holders shall not be used in advertising or otherwise to promote the -- +-- sale, use or other dealings in this Software without prior written -- +-- authorization. -- +------------------------------------------------------------------------------- +-- $Id: INSTALL,v 1.124 2008/03/29 18:07:32 tom Exp $ +--------------------------------------------------------------------- + How to install Ncurses/Terminfo on your system +--------------------------------------------------------------------- + + ************************************************************ + * READ ALL OF THIS FILE BEFORE YOU TRY TO INSTALL NCURSES. * + ************************************************************ + +You should be reading the file INSTALL in a directory called ncurses-d.d, where +d.d is the current version number. There should be several subdirectories, +including `c++', `form', `man', `menu', 'misc', `ncurses', `panel', `progs', +and `test'. See the README file for a roadmap to the package. + +If you are a Linux or FreeBSD or NetBSD distribution integrator or packager, +please read and act on the section titled IF YOU ARE A SYSTEM INTEGRATOR +below. + +If you are converting from BSD curses and do not have root access, be sure +to read the BSD CONVERSION NOTES section below. + +If you are trying to build applications using gpm with ncurses, +read the USING NCURSES WITH GPM section below. + +If you are running over the Andrew File System see the note below on +USING NCURSES WITH AFS. + +If you are cross-compiling, see the note below on BUILDING NCURSES WITH A +CROSS-COMPILER. + +If you want to build the Ada95 binding, go to the Ada95 directory and +follow the instructions there. The Ada95 binding is not covered below. + +If you are using anything but (a) Linux, or (b) one of the 4.4BSD-based +i386 Unixes, go read the Portability section in the TO-DO file before you +do anything else. + + +REQUIREMENTS: +------------ + +You will need the following to build and install ncurses under UNIX: + + * ANSI C compiler (gcc, for instance) + * sh (bash will do) + * awk (mawk or gawk will do) + * sed + * BSD or System V style install (a script is enclosed) + +Ncurses has been also built in the OS/2 EMX environment. + + +INSTALLATION PROCEDURE: +---------------------- + +1. First, decide whether you want ncurses to replace your existing library (in + which case you'll need super-user privileges) or be installed in parallel + with it. + + The --prefix option to configure changes the root directory for installing + ncurses. The default is normally in subdirectories of /usr/local, except + for systems where ncurses is normally installed as a system library, e.g., + Linux, the various BSD systems and Cygwin. Use --prefix=/usr to replace + your default curses distribution. + + The package gets installed beneath the --prefix directory as follows: + + In $(prefix)/bin: tic, infocmp, captoinfo, tset, + reset, clear, tput, toe + In $(prefix)/lib: libncurses*.* libcurses.a + In $(prefix)/share/terminfo: compiled terminal descriptions + In $(prefix)/include: C header files + Under $(prefix)/man: the manual pages + + Note that the configure script attempts to locate previous installation of + ncurses, and will set the default prefix according to where it finds the + ncurses headers. + + Do not use commands such as + + make install prefix=XXX + + to change the prefix after configuration, since the prefix value is used + for some absolute pathnames such as TERMINFO. Instead do this + + make install DESTDIR=XXX + + See also the discussion of --with-install-prefix. + +2. Type `./configure' in the top-level directory of the distribution to + configure ncurses for your operating system and create the Makefiles. + Besides --prefix, various configuration options are available to customize + the installation; use `./configure --help' to list the available options. + + If your operating system is not supported, read the PORTABILITY section in + the file ncurses/README for information on how to create a configuration + file for your system. + + The `configure' script generates makefile rules for one or more object + models and their associated libraries: + + libncurses.a (normal) + + libcurses.a (normal, a link to libncurses.a) + This gets left out if you configure with --disable-overwrite. + + libncurses.so (shared) + + libncurses_g.a (debug) + + libncurses_p.a (profile) + + libncurses.la (libtool) + + If you configure using the --enable-widec option, a "w" is appended to the + library names (e.g., libncursesw.a), and the resulting libraries support + wide-characters, e.g., via a UTF-8 locale. The corresponding header files + are compatible with the non-wide-character configuration; wide-character + features are provided by ifdef's in the header files. The wide-character + library interfaces are not binary-compatible with the non-wide-character + version. Building and running the wide-character code relies on a fairly + recent implementation of libiconv. We have built this configuration on + Linux using libiconv, sometimes requiring libutf8. + + If you configure using the --with-pthread option, a "t" is appended to + the library names (e.g., libncursest.a, libncursestw.a). + + If you do not specify any models, the normal and debug libraries will be + configured. Typing `configure' with no arguments is equivalent to: + + ./configure --with-normal --with-debug --enable-overwrite + + Typing + + ./configure --with-shared + + makes the shared libraries the default, resulting in + + ./configure --with-shared --with-normal --with-debug --enable-overwrite + + If you want only shared libraries, type + + ./configure --with-shared --without-normal --without-debug + + Rules for generating shared libraries are highly dependent upon the choice + of host system and compiler. We've been testing shared libraries on Linux + and SunOS with gcc, but more work needs to be done to make shared libraries + work on other systems. + + If you have libtool installed, you can type + + ./configure --with-libtool + + to generate the appropriate static and/or shared libraries for your + platform using libtool. + + You can make curses and terminfo fall back to an existing file of termcap + definitions by configuring with --enable-termcap. If you do this, the + library will search /etc/termcap before the terminfo database, and will + also interpret the contents of the TERM environment variable. See the + section BSD CONVERSION NOTES below. + +3. Type `make'. Ignore any warnings, no error messages should be produced. + This should compile the ncurses library, the terminfo compiler tic(1), + captoinfo(1), infocmp(1), toe(1), clear(1) tset(1), reset(1), and tput(1) + programs (see the manual pages for explanation of what they do), some test + programs, and the panels, menus, and forms libraries. + +4. Run ncurses and several other test programs in the test directory to + verify that ncurses functions correctly before doing an install that + may overwrite system files. Read the file test/README for details on + the test programs. + + NOTE: You must have installed the terminfo database, or set the + environment variable $TERMINFO to point to a SVr4-compatible terminfo + database before running the test programs. Not all vendors' terminfo + databases are SVr4-compatible, but most seem to be. Exceptions include + DEC's Digital Unix (formerly known as OSF/1). + + If you run the test programs WITHOUT installing terminfo, ncurses may + read the termcap file and cache that in $HOME/.terminfo, which will + thereafter be used instead of the terminfo database. See the comments + on "--enable-getcap-cache", to see why this is a Bad Thing. + + It is possible to configure ncurses to use other terminfo database formats. + A few are provided as examples in the include-directory (see --with-caps). + + The ncurses program is designed specifically to test the ncurses library. + You can use it to verify that the screen highlights work correctly, that + cursor addressing and window scrolling works OK, etc. + +5. Once you've tested, you can type `make install' to install libraries, + the programs, the terminfo database and the manual pages. Alternately, you + can type `make install' in each directory you want to install. In the + top-level directory, you can do a partial install using these commands: + + 'make install.progs' installs tic, infocmp, etc... + 'make install.includes' installs the headers. + 'make install.libs' installs the libraries (and the headers). + 'make install.data' installs the terminfo data. (Note: `tic' must + be installed before the terminfo data can be + compiled). + 'make install.man' installs the manual pages. + + ############################################################################ + # CAVEAT EMPTOR: `install.data' run as root will NUKE any existing # + # terminfo database. If you have any custom or unusual entries SAVE them # + # before you install ncurses. I have a file called terminfo.custom for # + # this purpose. Don't forget to run tic on the file once you're done. # + ############################################################################ + + The terminfo(5) manual page must be preprocessed with tbl(1) before + being formatted by nroff(1). Modern man(1) implementations tend to do + this by default, but you may want to look at your version's manual page + to be sure. You may also install the manual pages after preprocessing + with tbl(1) by specifying the configure option --with-manpage-tbl. + + If the system already has a curses library that you need to keep using + you'll need to distinguish between it and ncurses. See the discussion of + --disable-overwrite. If ncurses is installed outside the standard + directories (/usr/include and /usr/lib) then all your users will need to + use the -I option to compile programs and -L to link them. + + If you have another curses installed in your system and you accidentally + compile using its curses.h you'll end up with a large number of + undefined symbols at link time. + + IF YOU DO NOT HAVE ROOT: Change directory to the `progs' subdirectory + and run the `capconvert' script. This script will deduce various things + about your environment and use them to build you a private terminfo tree, + so you can use ncurses applications. + + If more than one user at your site does this, the space for the duplicate + trees is wasted. Try to get your site administrators to install a system- + wide terminfo tree instead. + + See the BSD CONVERSION NOTES section below for a few more details. + +6. The c++ directory has C++ classes that are built on top of ncurses and + panels. You must have c++ (and its libraries) installed before you can + compile and run the demo. + + Use --without-cxx-binding to tell configure to not build the C++ bindings + and demo. + + If you do not have C++, you must use the --without-cxx option to tell + the configure script to not attempt to determine the type of 'bool' + which may be supported by C++. IF YOU USE THIS OPTION, BE ADVISED THAT + YOU MAY NOT BE ABLE TO COMPILE (OR RUN) NCURSES APPLICATIONS WITH C++. + + +SUMMARY OF CONFIGURE OPTIONS: +---------------------------- + + The configure script provides a short list of its options when you type + + ./configure --help + + The --help and several options are common to all configure scripts that are + generated with autoconf. Those are all listed before the line + + --enable and --with options recognized: + + The other options are specific to this package. We list them in alphabetic + order. + + --disable-assumed-color + With ncurses 5.1, we introduced a new function, assume_default_colors() + which allows applications to specify what the default foreground and + background color are assumed to be. Most color applications use + full-screen color; but a few do not color the background. While the + assumed values can be overridden by invoking assume_default_colors(), + you may find it useful to set the assumed values to the pre-5.1 + convention, using this configure option. + + --disable-big-core + Assume machine has little memory. The configure script attempts to + determine if your machine has enough memory (about 6Mb) to compile the + terminfo database without writing portions to disk. Some allocators + return deceptive results, so you may have to override the configure + script. Or you may be building tic for a smaller machine. + + --disable-big-strings + Disable compile-time optimization of predefined tables which puts + all of their strings into a very long string, to reduce relocation + overhead. + + --disable-database + Use only built-in data. The ncurses libraries normally read terminfo + and termcap data from disk. You can configure ncurses to have a + built-in database, aka "fallback" entries. Embedded applications may + have no need for an external database. Some, but not all of the + programs are useful in this configuration, e.g., reset and tput versus + infocmp and tic. + + --disable-ext-funcs + Disable function-extensions. Configure ncurses without the functions + that are not specified by XSI. See ncurses/modules for the exact + list of library modules that would be suppressed. + + --disable-hashmap + Compile without hashmap scrolling-optimization code. This algorithm is + the default. + + --disable-home-terminfo + The $HOME/.terminfo directory is normally added to ncurses' search + list for reading/writing terminfo entries, since that directory is + more likely writable than the system terminfo database. Use this + option to disable the feature altogether. + + --disable-largefile + Disable compiler flags needed to use large-file interfaces. + + --disable-leaks + For testing, compile-in code that frees memory that normally would not + be freed, to simplify analysis of memory-leaks. + + Any implementation of curses must not free the memory associated with + a screen, since (even after calling endwin()), it must be available + for use in the next call to refresh(). There are also chunks of + memory held for performance reasons. That makes it hard to analyze + curses applications for memory leaks. To work around this, build + a debugging version of the ncurses library which frees those chunks + which it can, and provides the _nc_free_and_exit() function to free + the remainder on exit. The ncurses utility and test programs use this + feature, e.g., via the ExitProgram() macro. + + --disable-lp64 + The header files will ignore use of the _LP64 symbol to make chtype + and mmask_t types 32 bits (they may be long on 64-bit hosts, for + compatibility with older releases). + + NOTE: this is potentially an ABI change, depending on existing + packages. The default for this option is "disabled" for ncurses + ABI 5, and "enabled" for ABI 6. + + --disable-macros + For testing, use functions rather than macros. The program will run + more slowly, but it is simpler to debug. This defines NCURSES_NOMACROS + at build time. See also the --enable-expanded option. + + --disable-overwrite + If you are installing ncurses on a system which contains another + development version of curses, or which could be confused by the loader + for another version, we recommend that you leave out the link to + -lcurses. The ncurses library is always available as -lncurses. + Disabling overwrite also causes the ncurses header files to be + installed into a subdirectory, e.g., /usr/local/include/ncurses, + rather than the include directory. This makes it simpler to avoid + compile-time conflicts with other versions of curses.h + + --disable-relink + If --enable-rpath is given, the generated makefiles normally will + rebuild the libraries during install. Use this option to simply + copy whatever the linked produced. + + This option is ignored if --enable-rpath is not given. + + --disable-root-environ + Compile with environment restriction, so certain environment variables + are not available when running as root, or via a setuid/setgid + application. These are (for example $TERMINFO) those that allow the + search path for the terminfo or termcap entry to be customized. + + --disable-scroll-hints + Compile without scroll-hints code. This option is ignored when + hashmap scrolling is configured, which is the default. + + --disable-tparm-varargs + Portable programs should call tparm() using the fixed-length parameter + list documented in X/Open. ncurses provides varargs support for this + function. Use --disable-tparm-varargs to disable this support. + + --enable-assertions + For testing, compile-in assertion code. This is used only for a few + places where ncurses cannot easily recover by returning an error code. + + --enable-broken_linker + A few platforms have what we consider a broken linker: it cannot link + objects from an archive solely by referring to data objects in those + files, but requires a function reference. This configure option + changes several data references to functions to work around this + problem. + + NOTE: With ncurses 5.1, this may not be necessary, since we are + told that some linkers interpret uninitialized global data as a + different type of reference which behaves as described above. We have + explicitly initialized all of the global data to work around the + problem. + + --enable-bsdpad + Recognize BSD-style prefix padding. Some ancient BSD programs (such as + nethack) call tputs("50") to implement delays. + + --enable-colorfgbg + Compile with experimental $COLORFGBG code. That environment variable + is set by some terminal emulators as a hint to applications, by + advertising the default foreground and background colors. During + initialization, ncurses sets color pair 0 to match this. + + --enable-const + The curses interface as documented in XSI is rather old, in fact + including features that precede ANSI C. The prototypes generally do + not make effective use of "const". When using stricter compilers (or + gcc with appropriate warnings), you may see warnings about the mismatch + between const and non-const data. We provide a configure option which + changes the interfaces to use const - quieting these warnings and + reflecting the actual use of the parameters more closely. The ncurses + library uses the symbol NCURSES_CONST for these instances of const, + and if you have asked for compiler warnings, will add gcc's const-qual + warning. There will still be warnings due to subtle inconsistencies + in the interface, but at a lower level. + + NOTE: configuring ncurses with this option may detract from the + portability of your applications by encouraging you to use const in + places where the XSI curses interface would not allow them. Similar + issues arise when porting to SVr4 curses, which uses const in even + fewer places. + + --enable-echo + Use the option --disable-echo to make the build-log less verbose by + suppressing the display of the compile and link commands. This makes + it easier to see the compiler warnings. (You can always use "make -n" + to see the options that are used). + + --enable-expanded + For testing, generate functions for certain macros to make them visible + as such to the debugger. See also the --disable-macros option. + + --enable-ext-colors + Extend the cchar_t structure to allow more than 16 colors to be + encoded. This applies only to the wide-character (--enable-widec) + configuration. + + NOTE: using this option will make libraries which are not binary- + compatible with libncursesw 5.4. None of the interfaces change, but + applications which have an array of cchar_t's must be recompiled. + + --enable-ext-mouse + Modify the encoding of mouse state to make room for a 5th mouse button. + That allows one to use ncurses with a wheel mouse with xterm or + similar X terminal emulators. + + NOTE: using this option will make libraries which are not binary- + compatible with libncursesw 5.4. None of the interfaces change, but + applications which have mouse mask mmask_t's must be recompiled. + + --enable-getcap + Use the 4.4BSD getcap code if available, or a bundled version of it to + fetch termcap entries. Entries read in this way cannot use (make + cross-references to) the terminfo tree, but it is faster than reading + /etc/termcap. + + If configured for one of the *BSD systems, this automatically uses + the hashed database system produced using cap_mkdb or similar tools. + In that case, there is no advantage in using the --enable-getcap-cache + option. + + See also the --with-hashed-db option. + + --enable-getcap-cache + Cache translated termcaps under the directory $HOME/.terminfo + *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811090906.mA9964w4035426>