diff options
author | rafan <rafan@FreeBSD.org> | 2007-12-30 11:08:14 +0000 |
---|---|---|
committer | rafan <rafan@FreeBSD.org> | 2007-12-30 11:08:14 +0000 |
commit | 9f9e55f97a716ef0dd4082c4cef00a5a95b624a9 (patch) | |
tree | 319eb1471eaf8c0c9cfc606e7cb8987ca9167507 | |
parent | 7ed1a8e865bedf5154163476c1224b868257ab1a (diff) | |
download | FreeBSD-src-9f9e55f97a716ef0dd4082c4cef00a5a95b624a9.zip FreeBSD-src-9f9e55f97a716ef0dd4082c4cef00a5a95b624a9.tar.gz |
Import ncurses 5.6-20071222 snapshot onto the vender branch
206 files changed, 9821 insertions, 4972 deletions
diff --git a/contrib/ncurses/INSTALL b/contrib/ncurses/INSTALL index 45b13a9..dbd175f 100644 --- a/contrib/ncurses/INSTALL +++ b/contrib/ncurses/INSTALL @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: INSTALL,v 1.114 2006/12/17 19:58:19 tom Exp $ +-- $Id: INSTALL,v 1.122 2007/12/01 19:37:47 tom Exp $ --------------------------------------------------------------------- How to install Ncurses/Terminfo on your system --------------------------------------------------------------------- @@ -304,6 +304,11 @@ SUMMARY OF CONFIGURE OPTIONS: 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 @@ -334,6 +339,16 @@ SUMMARY OF CONFIGURE OPTIONS: 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 @@ -358,6 +373,13 @@ SUMMARY OF CONFIGURE OPTIONS: 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 @@ -476,12 +498,22 @@ SUMMARY OF CONFIGURE OPTIONS: may not be accurate, or that your stty settings have disabled the use of tabs. + --enable-mixed-case + Controls whether the filesystem on which the terminfo database resides + supports mixed-case filenames (normal for UNIX, but not on other + systems). If you do not specify this option, the configure script + checks the current filesystem. + --enable-no-padding Compile-in support for the $NCURSES_NO_PADDING environment variable, which allows you to suppress the effect of non-mandatory padding in terminfo entries. This is the default, unless you have disabled the extended functions. + --enable-reentrant + Compile experimental configuration which improves reentrant use of the + library by reducing global and static variables. + --enable-rpath Use rpath option when generating shared libraries, and (with some restrictions) when linking the corresponding programs. This originally @@ -495,6 +527,9 @@ SUMMARY OF CONFIGURE OPTIONS: environment variable, they do not work with setuid applications since the LD_LIBRARY_PATH variable would be unset in that situation. + This option does not apply to --with-libtool, since libtool makes + extra assumptions about rpath. + --enable-safe-sprintf Compile with experimental safe-sprintf code. You may consider using this if you are building ncurses for a system that has neither @@ -659,10 +694,16 @@ SUMMARY OF CONFIGURE OPTIONS: See also --without-dlsym - --with-hashed-db + --with-hashed-db[=XXX] Use a hashed database for storing terminfo data rather than storing each compiled entry in a separate binary file within a directory tree. + + In particular, this uses the Berkeley database 1.8.5 interface, as + provided by that and its successors db 2, 3, and 4. The actual + interface is slightly different in the successor versions of the + Berkeley database. The database should have been configured using + "--enable-compat185". If you use this option for configuring ncurses, tic will only be able to write entries in the hashed database. infocmp can still read @@ -674,6 +715,12 @@ SUMMARY OF CONFIGURE OPTIONS: You cannot have a directory containing both hashed-database and filesystem-based terminfo entries. + Use the parameter value to give the install-prefix used for the + datbase, e.g., + --with-hashed-db=/usr/local/BigBase + to find the corresponding include- and lib-directories under the + given directory. + See also the --enable-getcap option. --with-install-prefix=XXX @@ -833,6 +880,15 @@ SUMMARY OF CONFIGURE OPTIONS: Specify a search-list of termcap files which will be compiled into the ncurses library (default: /etc/termcap:/usr/share/misc/termcap) + --with-ticlib[=XXX] + When building the ncurses library, build a separate library for + the modules that are used only by the utility programs. Normally + those would be bundled with the termlib or ncurses libraries. + + If an option value is given, that overrides the name of the tic + library. As in termlib, there is no ABI difference between the + "wide" libticw.so and libtic.so + --with-trace Configure the trace() function as part of the all models of the ncurses library. Normally it is part of the debug (libncurses_g) library only. diff --git a/contrib/ncurses/MANIFEST b/contrib/ncurses/MANIFEST index 97faa38..3923e08 100644 --- a/contrib/ncurses/MANIFEST +++ b/contrib/ncurses/MANIFEST @@ -4,6 +4,7 @@ ./Ada95/README ./Ada95/TODO ./Ada95/gen/Makefile.in +./Ada95/gen/adacurses-config.in ./Ada95/gen/gen.c ./Ada95/gen/html.m4 ./Ada95/gen/normal.m4 @@ -20,6 +21,7 @@ ./Ada95/gen/terminal_interface-curses-panels-user_data.ads.m4 ./Ada95/gen/terminal_interface-curses-panels.ads.m4 ./Ada95/gen/terminal_interface-curses-trace.ads.m4 +./Ada95/gen/terminal_interface-curses.adb.m4 ./Ada95/gen/terminal_interface-curses.ads.m4 ./Ada95/samples/Makefile.in ./Ada95/samples/README @@ -163,7 +165,6 @@ ./Ada95/src/terminal_interface-curses-text_io.adb ./Ada95/src/terminal_interface-curses-text_io.ads ./Ada95/src/terminal_interface-curses-trace.adb_p -./Ada95/src/terminal_interface-curses.adb ./Ada95/src/terminal_interface.ads ./INSTALL ./MANIFEST @@ -553,8 +554,10 @@ ./man/curs_instr.3x ./man/curs_inwstr.3x ./man/curs_kernel.3x +./man/curs_legacy.3x ./man/curs_mouse.3x ./man/curs_move.3x +./man/curs_opaque.3x ./man/curs_outopts.3x ./man/curs_overlay.3x ./man/curs_pad.3x @@ -709,7 +712,8 @@ ./mk-0th.awk ./mk-1st.awk ./mk-2nd.awk -./mkinstalldirs +./mk-hdr.awk +./mkdirs.sh ./ncurses/Makefile.in ./ncurses/README ./ncurses/README.IZ @@ -799,6 +803,7 @@ ./ncurses/base/safe_sprintf.c ./ncurses/base/sigaction.c ./ncurses/base/tries.c +./ncurses/base/use_window.c ./ncurses/base/version.c ./ncurses/base/vsscanf.c ./ncurses/base/wresize.c @@ -808,6 +813,8 @@ ./ncurses/llib-lncursesw ./ncurses/modules ./ncurses/tinfo/MKcaptab.awk +./ncurses/tinfo/MKcaptab.sh +./ncurses/tinfo/MKcodes.awk ./ncurses/tinfo/MKfallback.sh ./ncurses/tinfo/MKkeys_list.sh ./ncurses/tinfo/MKnames.awk @@ -824,6 +831,7 @@ ./ncurses/tinfo/comp_scan.c ./ncurses/tinfo/db_iterator.c ./ncurses/tinfo/doalloc.c +./ncurses/tinfo/entries.c ./ncurses/tinfo/free_ttype.c ./ncurses/tinfo/getenv_num.c ./ncurses/tinfo/hashed_db.c @@ -856,6 +864,7 @@ ./ncurses/tinfo/setbuf.c ./ncurses/tinfo/strings.c ./ncurses/tinfo/trim_sgr0.c +./ncurses/tinfo/use_screen.c ./ncurses/tinfo/write_entry.c ./ncurses/trace/README ./ncurses/trace/lib_trace.c @@ -891,6 +900,7 @@ ./ncurses/widechar/lib_in_wchnstr.c ./ncurses/widechar/lib_ins_wch.c ./ncurses/widechar/lib_inwstr.c +./ncurses/widechar/lib_key_name.c ./ncurses/widechar/lib_pecho_wchar.c ./ncurses/widechar/lib_slk_wset.c ./ncurses/widechar/lib_unget_wch.c @@ -934,29 +944,6 @@ ./progs/toe.c ./progs/tput.c ./progs/tset.c -./tack/COPYING -./tack/HISTORY -./tack/Makefile.in -./tack/README -./tack/ansi.c -./tack/charset.c -./tack/color.c -./tack/control.c -./tack/crum.c -./tack/edit.c -./tack/fun.c -./tack/init.c -./tack/menu.c -./tack/modes.c -./tack/modules -./tack/output.c -./tack/pad.c -./tack/scan.c -./tack/sync.c -./tack/sysdep.c -./tack/tack.1 -./tack/tack.c -./tack/tack.h ./tar-copy.sh ./test/Makefile.in ./test/README @@ -981,6 +968,7 @@ ./test/demo_termcap.c ./test/ditto.c ./test/dots.c +./test/dots_mvcur.c ./test/echochar.c ./test/edit_field.c ./test/edit_field.h @@ -992,8 +980,11 @@ ./test/gdc.c ./test/hanoi.c ./test/hashtest.c +./test/inch_wide.c +./test/inchs.c ./test/ins_wide.c ./test/inserts.c +./test/key_names.c ./test/keynames.c ./test/knight.c ./test/linux-color.dat @@ -1010,8 +1001,15 @@ ./test/rain.c ./test/redraw.c ./test/savescreen.c +./test/savescreen.sh ./test/tclock.c ./test/test.priv.h +./test/test_arrays.c +./test/test_get_wstr.c +./test/test_getstr.c +./test/test_instr.c +./test/test_inwstr.c +./test/test_opaque.c ./test/testaddch.c ./test/testcurs.c ./test/testscanw.c diff --git a/contrib/ncurses/NEWS b/contrib/ncurses/NEWS index 6286091..5965909 100644 --- a/contrib/ncurses/NEWS +++ b/contrib/ncurses/NEWS @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2006,2007 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 -- @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: NEWS,v 1.1056 2006/12/17 20:36:26 tom Exp $ +-- $Id: NEWS,v 1.1188 2007/12/22 23:56:08 tom Exp $ ------------------------------------------------------------------------------- This is a log of changes that ncurses has gone through since Zeyd started @@ -45,9 +45,512 @@ 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. +20071222 + + continue implementing support for threading demo by adding mutex + for delwin(). + +20071215 + + add several functions to C++ binding which wrap C functions that + pass a WINDOW* parameter (request by Chris Lee). + +20071201 + + add note about configure options needed for Berkeley database to the + INSTALL file. + + improve checks for version of Berkeley database libraries. + + amend fix for rpath to not modify LDFLAGS if the platform has no + applicable transformation (report by Christian Ebert, cf: 20071124). + +20071124 + + modify configure option --with-hashed-db to accept a parameter which + is the install-prefix of a given Berkeley Database (prompted by + pierre4d2 comments). + + rewrite wrapper for wcrtomb(), making it work on Solaris. This is + used in the form library to determine the length of the buffer needed + by field_buffer (report by Alfred Fung). + + remove unneeded window-parameter from C++ binding for wresize (report + by Chris Lee). + +20071117 + + modify the support for filesystems which do not support mixed-case to + generate 2-character (hexadecimal) codes for the lower-level of the + filesystem terminfo database (request by Michail Vidiassov). + + add configure option --enable-mixed-case, to allow overriding the + configure script's check if the filesystem supports mixed-case + filenames. + + add wresize() to C++ binding (request by Chris Lee). + + define NCURSES_EXT_FUNCS and NCURSES_EXT_COLORS in curses.h to make + it simpler to tell if the extended functions and/or colors are + declared. + +20071103 + + update memory-leak checks for changes to names.c and codes.c + + correct acsc strings in h19, z100 (patch by Benjamin C W Sittler). + +20071020 + + continue implementing support for threading demo by adding mutex + for use_window(). + + add mrxvt terminfo entry, add/fix xterm building blocks for modified + cursor keys -TD + + compile with FreeBSD "contemporary" TTY interface (patch by + Rong-En Fan). + +20071013 + + modify makefile rules to allow clear, tput and tset to be built + without libtic. The other programs (infocmp, tic and toe) rely on + that library. + + add/modify null-pointer checks in several functions for SP and/or + the WINDOW* parameter (report by Thorben Krueger). + + fixes for field_buffer() in formw library (see Redhat Bugzilla + #310071, patches by Miroslav Lichvar). + + improve performance of NCURSES_CHAR_EQ code (patch by Miroslav + Lichvar). + + update/improve mlterm and rxvt terminfo entries, e.g., for + the modified cursor- and keypad-keys -TD + +20071006 + + add code to curses.priv.h ifdef'd with NCURSES_CHAR_EQ, which + changes the CharEq() macro to an inline function to allow comparing + cchar_t struct's without comparing gaps in a possibly unpacked + memory layout (report by Miroslav Lichvar). + +20070929 + + add new functions to lib_trace.c to setup mutex's for the _tracef() + calls within the ncurses library. + + for the reentrant model, move _nc_tputs_trace and _nc_outchars into + the SCREEN. + + start modifying test/worm.c to provide threading demo (incomplete). + + separated ifdef's for some BSD-related symbols in tset.c, to make + it compile on LynxOS (report by Greg Gemmer). +20070915 + + modify Ada95/gen/Makefile to use shlib script, to simplify building + shared-library configuration on platforms lacking rpath support. + + build-fix for Ada95/src/Makefile to reflect changed dependency for + the terminal-interface-curses-aux.adb file which is now generated. + + restructuring test/worm.c, for use_window() example. + +20070908 + + add use_window() and use_screen() functions, to develop into support + for threaded library (incomplete). + + fix typos in man/curs_opaque.3x which kept the install script from + creating symbolic links to two aliases created in 20070818 (report by + Rong-En Fan). + +20070901 + + remove a spurious newline from output of html.m4, which caused links + for Ada95 html to be incorrect for the files generated using m4. + + start investigating mutex's for SCREEN manipulation (incomplete). + + minor cleanup of codes.c/names.c for --enable-const + + expand/revise "Routine and Argument Names" section of ncurses manpage + to address report by David Givens in newsgroup discussion. + + fix interaction between --without-progs/--with-termcap configure + options (report by Michail Vidiassov). + + fix typo in "--disable-relink" option (report by Michail Vidiassov). + +20070825 + + fix a sign-extension bug in infocmp's repair_acsc() function + (cf: 971004). + + fix old configure script bug which prevented "--disable-warnings" + option from working (patch by Mike Frysinger). + +20070818 + + add 9term terminal description (request by Juhapekka Tolvanen) -TD + + modify comp_hash.c's string output to avoid misinterpreting a null + "\0" followed by a digit. + + modify MKnames.awk and MKcodes.awk to support big-strings. + This only applies to the cases (broken linker, reentrant) where + the corresponding arrays are accessed via wrapper functions. + + split MKnames.awk into two scripts, eliminating the shell redirection + which complicated the make process and also the bogus timestamp file + which was introduced to fix "make -j". + + add test/test_opaque.c, test/test_arrays.c + + add wgetscrreg() and wgetparent() for applications that may need it + when NCURSES_OPAQUE is defined (prompted by Bryan Christ). + +20070812 + + amend treatment of infocmp "-r" option to retain the 1023-byte limit + unless "-T" is given (cf: 981017). + + modify comp_captab.c generation to use big-strings. + + make _nc_capalias_table and _nc_infoalias_table private accessed via + _nc_get_alias_table() since the tables are used only within the tic + library. + + modify configure script to skip Intel compiler in CF_C_INLINE. + + make _nc_info_hash_table and _nc_cap_hash_table private accessed via + _nc_get_hash_table() since the tables are used only within the tic + library. + +20070728 + + make _nc_capalias_table and _nc_infoalias_table private, accessed via + _nc_get_alias_table() since they are used only by parse_entry.c + + make _nc_key_names private since it is used only by lib_keyname.c + + add --disable-big-strings configure option to control whether + unctrl.c is generated using the big-string optimization - which may + use strings longer than supported by a given compiler. + + reduce relocation tables for tic, infocmp by changing type of + internal hash tables to short, and make those private symbols. + + eliminate large fixed arrays from progs/infocmp.c + +20070721 + + change winnstr() to stop at the end of the line (cf: 970315). + + add test/test_get_wstr.c + + add test/test_getstr.c + + add test/test_inwstr.c + + add test/test_instr.c + +20070716 + + restore a call to obtain screen-size in _nc_setupterm(), which + is used in tput and other non-screen applications via setupterm() + (Debian #433357, reported by Florent Bayle, Christian Ohm, + cf: 20070310). + +20070714 + + add test/savescreen.c test-program + + add check to trace-file open, if the given name is a directory, add + ".log" to the name and try again. + + add konsole-256color entry -TD + + add extra gcc warning options from xterm. + + minor fixes for ncurses/hashmap test-program. + + modify configure script to quiet c++ build with libtool when the + --disable-echo option is used. + + modify configure script to disable ada95 if libtool is selected, + writing a warning message (addresses FreeBSD ports/114493). + + update config.guess, config.sub + +20070707 + + add continuous-move "M" to demo_panels to help test refresh changes. + + improve fix for refresh of window on top of multi-column characters, + taking into account some split characters on left/right window + boundaries. + +20070630 + + add "widec" row to _tracedump() output to help diagnose remaining + problems with multi-column characters. + + partial fix for refresh of window on top of multi-column characters + which are partly overwritten (report by Sadrul H Chowdhury). + + ignore A_CHARTEXT bits in vidattr() and vid_attr(), in case + multi-column extension bits are passed there. + + add setlocale() call to demo_panels.c, needed for wide-characters. + + add some output flags to _nc_trace_ttymode to help diagnose a bug + report by Larry Virden, i.e., ONLCR, OCRNL, ONOCR and ONLRET, + +20070623 + + add test/demo_panels.c + + implement opaque version of setsyx() and getsyx(). + +20070612 + + corrected xterm+pcf2 terminfo modifiers for F1-F4, to match xterm + #226 -TD + + split-out key_name() from MKkeyname.awk since it now depends upon + wunctrl() which is not in libtinfo (report by Rong-En Fan). + +20070609 + + add test/key_name.c + + add stdscr cases to test/inchs.c and test_inch_wide.c + + update test/configure + + correct formatting of DEL (0x7f) in _nc_vischar(). + + null-terminate result of wunctrl(). + + add null-pointer check in key_name() (report by Andreas Krennmair, + cf: 20020901). + +20070602 + + adapt mouse-handling code from menu library in form-library + (discussion with Clive Nicolson). + + add a modification of test/dots.c, i.e., test/dots_mvcur.c to + illustrate how to use mvcur(). + + modify wide-character flavor of SetAttr() to preserve the + WidecExt() value stored in the .attr field, e.g., in case it + is overwritten by chgat (report by Aleksi Torhamo). + + correct buffer-size for _nc_viswbuf2n() (report by Aleksi Torhamo). + + build-fixes for Solaris 2.6 and 2.7 (patch by Peter O'Gorman). + +20070526 + + modify keyname() to use "^X" form only if meta() has been called, or + if keyname() is called without initializing curses, e.g., via + initscr() or newterm() (prompted by LinuxBase #1604). + + document some portability issues in man/curs_util.3x + + add a shadow copy of TTY buffer to _nc_prescreen to fix applications + broken by moving that data into SCREEN (cf: 20061230). + +20070512 + + add 'O' (wide-character panel test) in ncurses.c to demonstrate a + problem reported by Sadrul H Chowdhury with repainting parts of + a fullwidth cell. + + modify slk_init() so that if there are preceding calls to + ripoffline(), those affect the available lines for soft-keys (adapted + from patch by Clive Nicolson). + + document some portability issues in man/curs_getyx.3x + +20070505 + + fix a bug in Ada95/samples/ncurses which caused a variable to + become uninitialized in the "b" test. + + fix Ada95/gen/Makefile.in adahtml rule to account for recent + movement of files, fix a few incorrect manpage references in the + generated html. + + add Ada95 binding to _nc_freeall() as Curses_Free_All to help with + memory-checking. + + correct some functions in Ada95 binding which were using return value + from C where none was returned: idcok(), immedok() and wtimeout(). + + amend recent changes for Ada95 binding to make it build with + Cygwin's linker, e.g., with configure options + --enable-broken-linker --with-ticlib + +20070428 + + add a configure check for gcc's options for inlining, use that to + quiet a warning message where gcc's default behavior changed from + 3.x to 4.x. + + improve warning message when checking if GPM is linked to curses + library by not warning if its use of "wgetch" is via a weak symbol. + + add loader options when building with static libraries to ensure that + an installed shared library for ncurses does not conflict. This is + reported as problem with Tru64, but could affect other platforms + (report Martin Mokrejs, analysis by Tim Mooney). + + fix build on cygwin after recent ticlib/termlib changes, i.e., + + adjust TINFO_SUFFIX value to work with cygwin's dll naming + + revert a change from 20070303 which commented out dependency of + SHLIB_LIST in form/menu/panel/c++ libraries. + + fix initialization of ripoff stack pointer (cf: 20070421). + +20070421 + + move most static variables into structures _nc_globals and + _nc_prescreen, to simplify storage. + + add/use configure script macro CF_SIG_ATOMIC_T, use the corresponding + type for data manipulated by signal handlers (prompted by comments + in mailing.openbsd.bugs newsgroup). + + modify CF_WITH_LIBTOOL to allow one to pass options such as -static + to the libtool create- and link-operations. + +20070414 + + fix whitespace in curs_opaque.3x which caused a spurious ';' in + the installed aliases (report by Peter Santoro). + + fix configure script to not try to generate adacurses-config when + Ada95 tree is not built. + +20070407 + + add man/curs_legacy.3x, man/curs_opaque.3x + + fix acs_map binding for Ada95 when --enable-reentrant is used. + + add adacurses-config to the Ada95 install, based on version from + FreeBSD port, in turn by Juergen Pfeifer in 2000 (prompted by + comment on comp.lang.ada newsgroup). + + fix includes in c++ binding to build with Intel compiler + (cf: 20061209). + + update install rule in Ada95 to use mkdirs.sh + > other fixes prompted by inspection for Coverity report: + + modify ifdef's for c++ binding to use try/catch/throw statements + + add a null-pointer check in tack/ansi.c request_cfss() + + fix a memory leak in ncurses/base/wresize.c + + corrected check for valid memu/meml capabilities in + progs/dump_entry.c when handling V_HPUX case. + > fixes based on Coverity report: + + remove dead code in test/bs.c + + remove dead code in test/demo_defkey.c + + remove an unused assignment in progs/infocmp.c + + fix a limit check in tack/ansi.c tools_charset() + + fix tack/ansi.c tools_status() to perform the VT320/VT420 + tests in request_cfss(). The function had exited too soon. + + fix a memory leak in tic.c's make_namelist() + + fix a couple of places in tack/output.c which did not check for EOF. + + fix a loop-condition in test/bs.c + + add index checks in lib_color.c for color palettes + + add index checks in progs/dump_entry.c for version_filter() handling + of V_BSD case. + + fix a possible null-pointer dereference in copywin() + + fix a possible null-pointer dereference in waddchnstr() + + add a null-pointer check in _nc_expand_try() + + add a null-pointer check in tic.c's make_namelist() + + add a null-pointer check in _nc_expand_try() + + add null-pointer checks in test/cardfile.c + + fix a double-free in ncurses/tinfo/trim_sgr0.c + + fix a double-free in ncurses/base/wresize.c + + add try/catch block to c++/cursesmain.cc + +20070331 + + modify Ada95 binding to build with --enable-reentrant by wrapping + global variables (bug: acs_map does not yet work). + + modify Ada95 binding to use the new access-functions, allowing it + to build/run when NCURSES_OPAQUE is set. + + add access-functions and macros to return properties of the WINDOW + structure, e.g., when NCURSES_OPAQUE is set. + + improved install-sh's quoting. + + use mkdirs.sh rather than mkinstalldirs, e.g., to use fixes from + other programs. + +20070324 + + eliminate part of the direct use of WINDOW data from Ada95 interface. + + fix substitutions for termlib filename to make configure option + --enable-reentrant work with --with-termlib. + + change a constructor for NCursesWindow to allow compiling with + NCURSES_OPAQUE set, since we cannot pass a reference to + an opaque pointer. + +20070317 + + ignore --with-chtype=unsigned since unsigned is always added to + the type in curses.h; do the same for --with-mmask-t. + + change warning regarding --enable-ext-colors and wide-character + in the configure script to an error. + + tweak error message in CF_WITH_LIBTOOL to distinguish other programs + such as Darwin's libtool program (report by Michail Vidiassov) + + modify edit_man.sh to allow for multiple substitutions per line. + + set locale in misc/ncurses-config.in since it uses a range + + change permissions libncurses++.a install (report by Michail + Vidiassov). + + corrected length of temporary buffer in wide-character version + of set_field_buffer() (related to report by Bryan Christ). + +20070311 + + fix mk-1st.awk script install_shlib() function, broken in 20070224 + changes for cygwin (report by Michail Vidiassov). + +20070310 + + increase size of array in _nc_visbuf2n() to make "tic -v" work + properly in its similar_sgr() function (report/analysis by Peter + Santoro). + + add --enable-reentrant configure option for ongoing changes to + implement a reentrant version of ncurses: + + libraries are suffixed with "t" + + wrap several global variables (curscr, newscr, stdscr, ttytype, + COLORS, COLOR_PAIRS, COLS, ESCDELAY, LINES and TABSIZE) as + functions returning values stored in SCREEN or cur_term. + + move some initialization (LINES, COLS) from lib_setup.c, + i.e., setupterm() to _nc_setupscreen(), i.e., newterm(). + +20070303 + + regenerated html documentation. + + add NCURSES_OPAQUE symbol to curses.h, will use to make structs + opaque in selected configurations. + + move the chunk in lib_acs.c which resets acs capabilities when + running on a terminal whose locale interferes with those into + _nc_setupscreen(), so the libtinfo/libtinfow files can be made + identical (requested by Miroslav Lichvar). + + do not use configure variable SHLIB_LIBS for building libraries + outside the ncurses directory, since that symbol is customized + only for that directory, and using it introduces an unneeded + dependency on libdl (requested by Miroslav Lichvar). + + modify mk-1st.awk so the generated makefile rules for linking or + installing shared libraries do not first remove the library, in + case it is in use, e.g., libncurses.so by /bin/sh (report by Jeff + Chua). + + revised section "Using NCURSES under XTERM" in ncurses-intro.html + (prompted by newsgroup comment by Nick Guenther). + +20070224 + + change internal return codes of _nc_wgetch() to check for cases + where KEY_CODE_YES should be returned, e.g., if a KEY_RESIZE was + ungetch'd, and read by wget_wch(). + + fix static-library build broken in 20070217 changes to remove "-ldl" + (report by Miroslav Lichvar). + + change makefile/scripts for cygwin to allow building termlib. + + use Form_Hook in manpages to match form.h + + use Menu_Hook in manpages, as well as a few places in menu.h + + correct form- and menu-manpages to use specific Field_Options, + Menu_Options and Item_Options types. + + correct prototype for _tracechar() in manpage (cf: 20011229). + + correct prototype for wunctrl() in manpage. + +20070217 + + fixes for $(TICS_LIST) in ncurses/Makefile (report by Miroslav + Lichvar). + + modify relinking of shared libraries to apply only when rpath is + enabled, and add --disable-relink option which can be used to + disable the feature altogether (reports by Michail Vidiassov, + Adam J Richter). + + fix --with-termlib option for wide-character configuration, stripping + the "w" suffix in one place (report by Miroslav Lichvar). + + remove "-ldl" from some library lists to reduce dependencies in + programs (report by Miroslav Lichvar). + + correct description of --enable-signed-char in configure --help + (report by Michail Vidiassov). + + add pattern for GNU/kFreeBSD configuration to CF_XOPEN_SOURCE, + which matches an earlier change to CF_SHARED_OPTS, from xterm #224 + fixes. + + remove "${DESTDIR}" from -install_name option used for linking + shared libraries on Darwin (report by Michail Vidiassov). + +20070210 + + add test/inchs.c, test_inch_wide.c, to test win_wchnstr(). + + remove libdl from library list for termlib (report by Miroslav + Lichvar). + + fix configure.in to allow --without-progs --with-termlib (patch by + Miroslav Lichvar). + + modify win_wchnstr() to ensure that only a base cell is returned + for each multi-column character (prompted by report by Wei Kong + regarding change in mvwin_wch() cf: 20041023). + +20070203 + + modify fix_wchnstr() in form library to strip attributes (and color) + from the cchar_t array (field cells) read from a field's window. + Otherwise, when copying the field cells back to the window, the + associated color overrides the field's background color (report by + Ricardo Cantu). + + improve tracing for form library, showing created forms, fields, etc. + + ignore --enable-rpath configure option if --with-shared was omitted. + + add _nc_leaks_tinfo(), _nc_free_tic(), _nc_free_tinfo() entrypoints + to allow leak-checking when both tic- and tinfo-libraries are built. + + drop CF_CPP_VSCAN_FUNC macro from configure script, since C++ binding + no longer relies on it. + + disallow combining configure script options --with-ticlib and + --enable-termcap (report by Rong-En Fan). + + remove tack from ncurses tree. + +20070128 + + fix typo in configure script that broke --with-termlib option + (report by Rong-En Fan). + +20070127 + + improve fix for FreeBSD gnu/98975, to allow for null pointer passed + to tgetent() (report by Rong-en Fan). + + update tack/HISTORY and tack/README to tell how to build it after + it is removed from the ncurses tree. + + fix configure check for libtool's version to trim blank lines + (report by sci-fi@hush.ai). + + review/eliminate other original-file artifacts in cursesw.cc, making + its license consistent with ncurses. + + use ncurses vw_scanw() rather than reading into a fixed buffer in + the c++ binding for scanw() methods (prompted by report by Nuno Dias). + + eliminate fixed-buffer vsprintf() calls in c++ binding. + +20070120 + + add _nc_leaks_tic() to separate leak-checking of tic library from + term/ncurses libraries, and thereby eliminate a library dependency. + + fix test/mk-test.awk to ignore blank lines. + + correct paths in include/headers, for --srcdir (patch by Miroslav + Lichvar). + +20070113 + + add a break-statement in misc/shlib to ensure that it exits on the + _first_ matched directory (report by Paul Novak). + + add tack/configure, which can be used to build tack outside the + ncurses build-tree. + + add --with-ticlib option, to build/install the tic-support functions + in a separate library (suggested by Miroslav Lichvar). + +20070106 + + change MKunctrl.awk to reduce relocation table for unctrl.o + + change MKkeyname.awk to reduce relocation table for keyname.o + (patch by Miroslav Lichvar). + +20061230 + + modify configure check for libtool's version to trim blank lines + (report by sci-fi@hush.ai). + + modify some modules to allow them to be reentrant if _REENTRANT is + defined: lib_baudrate.c, resizeterm.c (local data only) + + eliminate static data from some modules: add_tries.c, hardscroll.c, + lib_ttyflags.c, lib_twait.c + + improve manpage install to add aliases for the transformed program + names, e.g., from --program-prefix. + + used linklint to verify links in the HTML documentation, made fixes + to manpages as needed. + + fix a typo in curs_mouse.3x (report by William McBrine). + + fix install-rule for ncurses5-config to make the bin-directory. + +20061223 + + modify configure script to omit the tic (terminfo compiler) support + from ncurses library if --without-progs option is given. + + modify install rule for ncurses5-config to do this via "install.libs" + + modify shared-library rules to allow FreeBSD 3.x to use rpath. + + update config.guess, config.sub + 20061217 5.6 release for upload to ftp.gnu.org -20061217 +20061217 + add ifdef's for <wctype.h> for HPUX, which has the corresponding definitions in <wchar.h>. + revert the va_copy() change from 20061202, since it was neither @@ -62,7 +565,7 @@ it is not possible to add this information. + modify configure --with-gpm option to allow it to accept a parameter, i.e., the name of the dynamic GPM library to load via dlopen() (requested by Bryan Henderson). - + add configure option --with-valgrind (from vile). + + add configure option --with-valgrind, changes from vile. + modify configure script AC_TRY_RUN and AC_TRY_LINK checks to use 'return' in preference to 'exit()'. @@ -1524,7 +2027,8 @@ it is not possible to add this information. 20031108 + add DJGPP to special case of DOS-style drive letters potentially appearing in TERMCAP environment variable. - + fix some spelling in comments (reports by jmc, Jonathon Gray). + + fix some spelling in comments (reports by Jason McIntyre, Jonathon + Gray). + update config.guess, config.sub 20031101 @@ -1814,7 +2318,7 @@ it is not possible to add this information. "--srcdir" work (report by Warren L Dodge). + correct missing definition of $(CC) in Ada95/gen/Makefile.in (reported by Warren L Dodge <warrend@mdhost.cse.tek.com>). - + fix typos and whitespace in manpages (patch by jmc + + fix typos and whitespace in manpages (patch by Jason McIntyre <jmc@prioris.mini.pw.edu.pl>). 20030503 @@ -3449,7 +3953,7 @@ it is not possible to add this information. 20000923 + modify rs2 capability in xterm-r6 and similar where cursor - save/restore bracketed the sequence for resetting video attributes. + save/restore bracketed the sequence for resetting video attributes. The cursor restore would undo that (report by John Hawkinson <jhawk@MIT.EDU> (see NetBSD misc/11052)). + using parameter check added to tic, corrected 27 typos in @@ -4266,7 +4770,7 @@ it is not possible to add this information. <bledp@voila.fr>)). + change renaming of dft_fgbg.3x to use_default_colors.3ncurses in man_db.renames, since Debian is not concerned with 14-character - filename limitation (from Debian bug report by Josip Rodin + filename limitation (Debian bug report by Josip Rodin <joy@cibalia.gkvk.hr>). + corrected scoansi terminfo entry by testing with scoterm and console. + revert change from 990614 to terminal_interface-curses-forms.ads.m4, @@ -5309,7 +5813,7 @@ it is not possible to add this information. 980321 + revise configure macro CF_SPEED_TYPE so that termcap.h has speed_t - declared (from Adam J. Richter <adam@yggdrasil.com>) + declared (from Adam J Richter <adam@yggdrasil.com>) + remove spurious curs_set() call from leaveok() (J T Conklin). + corrected handling leaveok() in doupdate() (patch by Alexander V. Lukyanov). diff --git a/contrib/ncurses/TO-DO b/contrib/ncurses/TO-DO index 6834e03..22acd0f 100644 --- a/contrib/ncurses/TO-DO +++ b/contrib/ncurses/TO-DO @@ -1,5 +1,5 @@ ------------------------------------------------------------------------------- --- Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. -- +-- Copyright (c) 1998-2006,2007 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 -- @@ -25,7 +25,7 @@ -- sale, use or other dealings in this Software without prior written -- -- authorization. -- ------------------------------------------------------------------------------- --- $Id: TO-DO,v 1.48 2006/10/28 19:49:16 tom Exp $ +-- $Id: TO-DO,v 1.49 2007/02/03 16:29:17 tom Exp $ ------------------------------------------------------------------------------- SHORT-TERM TO-DO ITEMS: @@ -58,9 +58,6 @@ Known Problems: + The window classes defined in the c++ subdirectory need documentation. Some C++ programmer could earn a lot of good karma by doing this... -+ The resizeterm() function does not handle ripped-off lines such as that done - for the slk_XXX functions. - + vid_attr() should support the set_a_attributes (sgr1) string, but does not. There appear to be no terminals that require that functionality. @@ -75,19 +72,19 @@ Portability (or lack thereof): ncurses/tty/lib_tstp.c . + In theory, vwprintw and vwscanf are supposed to use the older varargs.h - interface for handling variadic argument lists. Linux doesn't have - varargs.h, it has the newer X/Open-standard stdargs.h equivalent. So these - functions use stdargs instead. This is unlikely to be a problem unless - you're building ncurses on a System V old enough to only have varargs.h. - (Solaris 2.5.1 uses the stdarg.h binding as well). + interface for handling variadic argument lists (and are deprecated by X/Open + for that reason). Linux doesn't have varargs.h, it has the newer + X/Open-standard stdargs.h equivalent. So these functions use stdargs + instead. This is unlikely to be a problem unless you're building ncurses on + a System V old enough to only have varargs.h. (Solaris 2.5.1 used the + stdarg.h binding as well). + If you're using a BSD earlier than 4.4BSD, or a Linux old enough not to have a native vsscanf(3) in its library, vwscanw() will not work. You lose. (It should work on any System V, however). If you want to fix this, add an implementation to ncurses/vsscanf.c. -+ The C++ binding fails to build with a few C++ compilers, mainly with - configure script problems with vsscanf(). ++ The C++ binding fails to build with a few C++ compilers. + terminfo.5 does not format with the SunOS (and most other platform's) tbl utility because it relies on a diversion for each table entry. Get the @@ -106,7 +103,7 @@ LONGER-TERM TO-DO ITEMS: 1. Extended COSE conformance -There is an XPG4 standard recently released which describes a superset +There is an XPG4 standard released in 1996 which describes a superset of the SVr4 API. The library is BASE conformant with this standard. We would like to make ncurses fully conformant at the EXTENDED level supporting internationalization. diff --git a/contrib/ncurses/aclocal.m4 b/contrib/ncurses/aclocal.m4 index b57ec00..dfe3866 100644 --- a/contrib/ncurses/aclocal.m4 +++ b/contrib/ncurses/aclocal.m4 @@ -1,5 +1,5 @@ dnl*************************************************************************** -dnl Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * +dnl Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. * dnl * dnl Permission is hereby granted, free of charge, to any person obtaining a * dnl copy of this software and associated documentation files (the * @@ -28,7 +28,7 @@ dnl*************************************************************************** dnl dnl Author: Thomas E. Dickey 1995-on dnl -dnl $Id: aclocal.m4,v 1.407 2006/12/17 16:12:38 tom Exp $ +dnl $Id: aclocal.m4,v 1.442 2007/12/01 20:02:42 tom Exp $ dnl Macros used in NCURSES auto-configuration script. dnl dnl These macros are maintained separately from NCURSES. The copyright on @@ -168,6 +168,99 @@ AC_SUBST(EXTRA_CPPFLAGS) ])dnl dnl --------------------------------------------------------------------------- +dnl CF_ADD_INCDIR version: 8 updated: 2007/07/30 19:22:58 +dnl ------------- +dnl Add an include-directory to $CPPFLAGS. Don't add /usr/include, since it's +dnl redundant. We don't normally need to add -I/usr/local/include for gcc, +dnl but old versions (and some misinstalled ones) need that. To make things +dnl worse, gcc 3.x may give error messages if -I/usr/local/include is added to +dnl the include-path). +AC_DEFUN([CF_ADD_INCDIR], +[ +if test -n "$1" ; then + for cf_add_incdir in $1 + do + while test $cf_add_incdir != /usr/include + do + if test -d $cf_add_incdir + then + cf_have_incdir=no + if test -n "$CFLAGS$CPPFLAGS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_incdir in $CFLAGS $CPPFLAGS ; do + if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then + cf_have_incdir=yes; break + fi + done + fi + + if test "$cf_have_incdir" = no ; then + if test "$cf_add_incdir" = /usr/local/include ; then + if test "$GCC" = yes + then + cf_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + AC_TRY_COMPILE([#include <stdio.h>], + [printf("Hello")], + [], + [cf_have_incdir=yes]) + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi + + if test "$cf_have_incdir" = no ; then + AC_VERBOSE(adding $cf_add_incdir to include-path) + ifelse($2,,CPPFLAGS,$2)="-I$cf_add_incdir $ifelse($2,,CPPFLAGS,[$]$2)" + + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi + done + done +fi +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_ADD_LIBDIR version: 5 updated: 2007/07/30 19:12:03 +dnl ------------- +dnl Adds to the library-path +dnl +dnl Some machines have trouble with multiple -L options. +dnl +dnl $1 is the (list of) directory(s) to add +dnl $2 is the optional name of the variable to update (default LDFLAGS) +dnl +AC_DEFUN([CF_ADD_LIBDIR], +[ +if test -n "$1" ; then + for cf_add_libdir in $1 + do + if test $cf_add_libdir = /usr/lib ; then + : + elif test -d $cf_add_libdir + then + cf_have_libdir=no + if test -n "$LDFLAGS$LIBS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_libdir in $LDFLAGS $LIBS ; do + if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then + cf_have_libdir=yes; break + fi + done + fi + if test "$cf_have_libdir" = no ; then + AC_VERBOSE(adding $cf_add_libdir to library-path) + ifelse($2,,LDFLAGS,$2)="-L$cf_add_libdir $ifelse($2,,LDFLAGS,[$]$2)" + fi + fi + done +fi +])dnl +dnl --------------------------------------------------------------------------- dnl CF_ANSI_CC_CHECK version: 9 updated: 2001/12/30 17:53:34 dnl ---------------- dnl This is adapted from the macros 'fp_PROG_CC_STDC' and 'fp_C_PROTOTYPES' @@ -612,6 +705,50 @@ fi ])dnl dnl --------------------------------------------------------------------------- +dnl CF_CHECK_GPM_WGETCH version: 1 updated: 2007/04/28 14:38:06 +dnl ------------------- +dnl Check if GPM is already linked with curses. If so - and if the linkage +dnl is not "weak" - warn about this because it can create problems linking +dnl applications with ncurses. +AC_DEFUN([CF_CHECK_GPM_WGETCH],[ +AC_CHECK_LIB(gpm,Gpm_Wgetch,[ + +AC_CACHE_CHECK(if GPM is weakly bound to curses library, cf_cv_check_gpm_wgetch,[ +cf_cv_check_gpm_wgetch=unknown +if test "$cross_compiling" != yes ; then + +cat >conftest.$ac_ext <<CF_EOF +#include <gpm.h> +int main() +{ + Gpm_Wgetch(); + ${cf_cv_main_return:-return}(0); +} +CF_EOF + + cf_save_LIBS="$LIBS" + # This only works if we can look at the symbol table. If a shared + # library is stripped for install, we cannot use that. So we're forced + # to rely on the static library, noting that some packagers may not + # include it. + LIBS="-static -lgpm -dynamic $LIBS" + if AC_TRY_EVAL(ac_compile) ; then + if AC_TRY_EVAL(ac_link) ; then + cf_cv_check_gpm_wgetch=`nm conftest$ac_exeext | egrep '\<wgetch\>' | egrep '\<[[vVwW]]\>'` + test -n "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=yes + test -z "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=no + fi + fi + rm -f conftest* + LIBS="$cf_save_LIBS" +fi +]) + +if test "$cf_cv_check_gpm_wgetch" != yes ; then + AC_MSG_WARN(GPM library is already linked with curses - read the FAQ) +fi +])])dnl +dnl --------------------------------------------------------------------------- dnl CF_CPP_PARAM_INIT version: 4 updated: 2001/04/07 22:31:18 dnl ----------------- dnl Check if the C++ compiler accepts duplicate parameter initialization. This @@ -703,82 +840,36 @@ fi test "$cf_cv_cpp_static_cast" = yes && AC_DEFINE(CPP_HAS_STATIC_CAST) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_CPP_VSCAN_FUNC version: 5 updated: 2001/12/02 01:39:28 -dnl ----------------- -dnl Check if the g++ compiler supports vscan function (not a standard feature). -AC_DEFUN([CF_CPP_VSCAN_FUNC], -[ -if test -n "$CXX"; then - -AC_LANG_SAVE -AC_LANG_CPLUSPLUS -AC_CHECK_HEADERS(strstream.h) - -AC_CACHE_CHECK(if $CXX supports vscan function,cf_cv_cpp_vscan_func,[ - for cf_vscan_func in strstream strstream_cast stdio - do - case $cf_vscan_func in #(vi - stdio) cf_vscan_defs=USE_STDIO_VSCAN ;; #(vi - strstream) cf_vscan_defs=USE_STRSTREAM_VSCAN ;; - strstream_cast) cf_vscan_defs=USE_STRSTREAM_VSCAN_CAST ;; - esac - AC_TRY_LINK([ -#include <stdio.h> -#include <stdarg.h> -#define $cf_vscan_defs 1 -#if defined(USE_STDIO_VSCAN) -#elif defined(HAVE_STRSTREAM_H) && defined(USE_STRSTREAM_VSCAN) -#include <strstream.h> -#endif - -int scanw(const char* fmt, ...) -{ - int result = -1; - char buf[BUFSIZ]; - - va_list args; - va_start(args, fmt); -#if defined(USE_STDIO_VSCAN) - if (::vsscanf(buf, fmt, args) != -1) - result = 0; -#elif defined(USE_STRSTREAM_VSCAN) - strstreambuf ss(buf, sizeof(buf)); - if (ss.vscan(fmt, args) != -1) - result = 0; -#elif defined(USE_STRSTREAM_VSCAN_CAST) - strstreambuf ss(buf, sizeof(buf)); - if (ss.vscan(fmt, (_IO_va_list)args) != -1) - result = 0; -#else -#error case $cf_vscan_func failed -#endif - va_end(args); - return result; -} -],[int tmp, foo = scanw("%d", &tmp)], - [cf_cv_cpp_vscan_func=$cf_vscan_func; break], - [cf_cv_cpp_vscan_func=no]) - test "$cf_cv_cpp_vscan_func" != no && break - done -]) - -AC_LANG_RESTORE +dnl CF_C_INLINE version: 2 updated: 2007/08/11 14:09:50 +dnl ----------- +dnl Check if the C compiler supports "inline". +dnl $1 is the name of a shell variable to set if inline is supported +dnl $2 is the threshold for gcc 4.x's option controlling maximum inline size +AC_DEFUN([CF_C_INLINE],[ +AC_C_INLINE +$1= +if test "$ac_cv_c_inline" != no ; then + $1=inline + if test "$INTEL_COMPILER" = yes + then + : + elif test "$GCC" = yes + then + AC_CACHE_CHECK(if gcc supports options to tune inlining,cf_cv_gcc_inline,[ + cf_save_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS --param max-inline-insns-single=$2" + AC_TRY_COMPILE([inline int foo(void) { return 1; }], + [${cf_cv_main_return:-return} foo()], + [cf_cv_gcc_inline=yes], + [cf_cv_gcc_inline=no]) + CFLAGS=$cf_save_CFLAGS + ]) + if test "$cf_cv_gcc_inline" = yes ; then + CF_ADD_CFLAGS([--param max-inline-insns-single=$2]) + fi + fi fi - -case $cf_cv_cpp_vscan_func in #(vi -stdio) #(vi - AC_DEFINE(CPP_HAS_VSCAN_FUNC) - AC_DEFINE(USE_STDIO_VSCAN) - ;; -strstream) - AC_DEFINE(CPP_HAS_VSCAN_FUNC) - AC_DEFINE(USE_STRSTREAM_VSCAN) - ;; -strstream_cast) - AC_DEFINE(CPP_HAS_VSCAN_FUNC) - AC_DEFINE(USE_STRSTREAM_VSCAN_CAST) - ;; -esac +AC_SUBST($1) ])dnl dnl --------------------------------------------------------------------------- dnl CF_DIRNAME version: 4 updated: 2002/12/21 19:25:52 @@ -1070,7 +1161,7 @@ esac ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GCC_ATTRIBUTES version: 10 updated: 2005/05/28 13:16:28 +dnl CF_GCC_ATTRIBUTES version: 11 updated: 2007/07/29 09:55:12 dnl ----------------- dnl Test for availability of useful gcc __attribute__ directives to quiet dnl compiler warnings. Though useful, not all are supported -- and contrary @@ -1097,7 +1188,7 @@ if test "$GCC" = yes then AC_CHECKING([for $CC __attribute__ directives]) cat > conftest.$ac_ext <<EOF -#line __oline__ "configure" +#line __oline__ "${as_me-configure}" #include "confdefs.h" #include "conftest.h" #include "conftest.i" @@ -1159,7 +1250,7 @@ if test "$GCC" = yes ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_GCC_WARNINGS version: 20 updated: 2005/08/06 18:37:29 +dnl CF_GCC_WARNINGS version: 22 updated: 2007/07/29 09:55:12 dnl --------------- dnl Check if the compiler supports useful warning options. There's a few that dnl we don't use, simply because they're too noisy: @@ -1184,7 +1275,7 @@ AC_REQUIRE([CF_GCC_VERSION]) CF_INTEL_COMPILER(GCC,INTEL_COMPILER,CFLAGS) cat > conftest.$ac_ext <<EOF -#line __oline__ "configure" +#line __oline__ "${as_me-configure}" int main(int argc, char *argv[[]]) { return (argv[[argc-1]] == 0) ; } EOF @@ -1205,7 +1296,7 @@ then AC_CHECKING([for $CC warning options]) cf_save_CFLAGS="$CFLAGS" EXTRA_CFLAGS="-Wall" - for cf_opt in $1 \ + for cf_opt in \ wd1419 \ wd1682 \ wd1683 \ @@ -1561,11 +1652,24 @@ AC_LANG_RESTORE AC_SUBST(EXTRA_CXXFLAGS) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_HASHED_DB version: 1 updated: 2006/08/19 09:16:14 +dnl CF_HASHED_DB version: 3 updated: 2007/11/24 17:43:37 dnl ------------ dnl Look for an instance of the Berkeley hashed database. +dnl +dnl $1 = optional parameter, to specify install-prefix for the database. AC_DEFUN([CF_HASHED_DB], [ +ifelse([$1],,,[ +case $1 in #(vi +yes|*able*) #(vi + ;; +*) + if test -d "$1" ; then + CF_ADD_INCDIR($1/include) + CF_ADD_LIBDIR($1/lib) + fi +esac +]) AC_CHECK_HEADER(db.h,[ CF_HASHED_DB_VERSION if test "$cf_cv_hashed_db_version" = unknown ; then @@ -1583,7 +1687,7 @@ fi ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_HASHED_DB_LIBS version: 6 updated: 2006/12/16 12:33:30 +dnl CF_HASHED_DB_LIBS version: 7 updated: 2007/12/01 15:01:37 dnl ----------------- dnl Given that we have the header and version for hashed database, find the dnl library information. @@ -1591,7 +1695,7 @@ AC_DEFUN([CF_HASHED_DB_LIBS], [ AC_CACHE_CHECK(for db libraries, cf_cv_hashed_db_libs,[ cf_cv_hashed_db_libs=unknown -for cf_db_libs in db$cf_cv_hashed_db_version db '' +for cf_db_libs in db$cf_cv_hashed_db_version db-$cf_cv_hashed_db_version db '' do cf_save_libs="$LIBS" if test -n "$cf_db_libs"; then @@ -1655,7 +1759,7 @@ done ]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_HASHED_DB_VERSION version: 2 updated: 2006/08/19 15:12:49 +dnl CF_HASHED_DB_VERSION version: 3 updated: 2007/12/01 15:01:37 dnl -------------------- dnl Given that we have the header file for hashed database, find the version dnl information. @@ -1664,7 +1768,7 @@ AC_DEFUN([CF_HASHED_DB_VERSION], AC_CACHE_CHECK(for version of db, cf_cv_hashed_db_version,[ cf_cv_hashed_db_version=unknown -for cf_db_version in 1 2 3 4 +for cf_db_version in 1 2 3 4 5 do CF_MSG_LOG(checking for db version $cf_db_version) AC_TRY_COMPILE([ @@ -1778,7 +1882,7 @@ AC_MSG_RESULT($cf_cv_have_isascii) test "$cf_cv_have_isascii" = yes && AC_DEFINE(HAVE_ISASCII) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LARGEFILE version: 6 updated: 2006/09/23 19:07:52 +dnl CF_LARGEFILE version: 7 updated: 2007/06/02 11:58:50 dnl ------------ dnl Add checks for large file support. AC_DEFUN([CF_LARGEFILE],[ @@ -1796,6 +1900,7 @@ ifdef([AC_FUNC_FSEEKO],[ # the config.h test "$ac_cv_sys_large_files" != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES " test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE " + test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits " AC_CACHE_CHECK(whether to use struct dirent64, cf_cv_struct_dirent64,[ AC_TRY_COMPILE([ @@ -1816,6 +1921,48 @@ ifdef([AC_FUNC_FSEEKO],[ ]) ]) dnl --------------------------------------------------------------------------- +dnl CF_LDFLAGS_STATIC version: 2 updated: 2007/04/28 15:25:27 +dnl ----------------- +dnl Check for compiler/linker flags used to temporarily force usage of static +dnl libraries. This depends on the compiler and platform. Use this to help +dnl ensure that the linker picks up a given library based on its position in +dnl the list of linker options and libraries. +AC_DEFUN([CF_LDFLAGS_STATIC],[ + +if test "$GCC" = yes ; then + LDFLAGS_STATIC=-static + LDFLAGS_SHARED=-dynamic +else + case $cf_cv_system_name in #( + aix[[45]]*) #( from ld manpage + LDFLAGS_STATIC=-bstatic + LDFLAGS_SHARED=-bdynamic + ;; + hpux*) #( from ld manpage for hpux10.20, hpux11.11 + # We could also use just "archive" and "shared". + LDFLAGS_STATIC=-Wl,-a,archive_shared + LDFLAGS_SHARED=-Wl,-a,shared_archive + ;; + irix*) #( from ld manpage IRIX64 + LDFLAGS_STATIC=-Bstatic + LDFLAGS_SHARED=-Bdynamic + ;; + osf[[45]]*) #( from ld manpage osf4.0d, osf5.1 + # alternative "-oldstyle_liblookup" (not in cc manpage) + LDFLAGS_STATIC=-noso + LDFLAGS_SHARED=-so_archive + ;; + solaris2*) + LDFLAGS_STATIC=-Bstatic + LDFLAGS_SHARED=-Bdynamic + ;; + esac +fi + +AC_SUBST(LDFLAGS_STATIC) +AC_SUBST(LDFLAGS_SHARED) +]) +dnl --------------------------------------------------------------------------- dnl CF_LIBUTF8 version: 2 updated: 2002/01/19 22:51:32 dnl ---------- dnl Check for libutf8 @@ -1852,11 +1999,11 @@ ifelse($1,,,[$1=$LIB_PREFIX]) AC_SUBST(LIB_PREFIX) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_LIB_RULES version: 40 updated: 2006/10/14 15:23:15 +dnl CF_LIB_RULES version: 50 updated: 2007/03/24 18:26:59 dnl ------------ dnl Append definitions and rules for the given models to the subdirectory dnl Makefiles, and the recursion rule for the top-level Makefile. If the -dnl subdirectory is a library-source directory, modify the LIBRARIES list in +dnl subdirectory is a library-source directory, modify the LIBS_TO_MAKE list in dnl the corresponding makefile to list the models that we'll generate. dnl dnl For shared libraries, make a list of symbolic links to construct when @@ -1875,7 +2022,6 @@ do continue elif test -f $srcdir/$cf_dir/modules; then - IMPORT_LIB= SHARED_LIB= LIBS_TO_MAKE= for cf_item in $cf_LIST_MODELS @@ -1922,9 +2068,7 @@ do # use autodetected ${cf_prefix} for import lib and static lib, but # use 'cyg' prefix for shared lib. if test $cf_cv_shlib_version = cygdll ; then - SHARED_LIB="cyg${cf_dir}\${ABI_VERSION}.dll" - IMPORT_LIB="${cf_prefix}${cf_dir}.dll.a" - LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/\${SHARED_LIB} ../lib/\${IMPORT_LIB}" + LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/cyg${cf_dir}\${ABI_VERSION}.dll" continue fi fi @@ -1933,17 +2077,34 @@ do if test $cf_dir = ncurses ; then cf_subsets="$LIB_SUBSETS" - cf_termlib=`echo "$cf_subsets" |sed -e 's/ .*$//'` - if test "$cf_termlib" != "$cf_subsets" ; then - cf_item=`echo $LIBS_TO_MAKE |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g` - LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE" - fi + cf_r_parts="$cf_subsets" + + while test -n "$cf_r_parts" + do + cf_l_parts=`echo "$cf_r_parts" |sed -e 's/ .*$//'` + cf_r_parts=`echo "$cf_r_parts" |sed -e 's/^[[^ ]]* //'` + if test "$cf_l_parts" != "$cf_r_parts" ; then + case $cf_l_parts in #(vi + *termlib*) #(vi + cf_item=`echo $LIBS_TO_MAKE |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g` + ;; + *ticlib*) + cf_item=`echo $LIBS_TO_MAKE |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TICS_LIB_SUFFIX}%g` + ;; + *) + break + ;; + esac + LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE" + else + break + fi + done else cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'` fi sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \ - -e "s%@IMPORT_LIB@%$IMPORT_LIB%" \ -e "s%@SHARED_LIB@%$SHARED_LIB%" \ $cf_dir/Makefile >$cf_dir/Makefile.out mv $cf_dir/Makefile.out $cf_dir/Makefile @@ -1968,13 +2129,20 @@ do case $cf_subset in *base*) ;; - termlib*) + *termlib*) cf_libname=$TINFO_LIB_SUFFIX if test -n "${DFT_ARG_SUFFIX}" ; then # undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"` fi - ;; + ;; + ticlib*) + cf_libname=$TICS_LIB_SUFFIX + if test -n "${DFT_ARG_SUFFIX}" ; then + # undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX + cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"` + fi + ;; esac fi @@ -2015,8 +2183,11 @@ do prefix=$cf_prefix \ suffix=$cf_suffix \ subset=$cf_subset \ + TermlibRoot=$TINFO_NAME \ + TermlibSuffix=$TINFO_SUFFIX \ ShlibVer=$cf_cv_shlib_version \ ShlibVerInfix=$cf_cv_shlib_version_infix \ + ReLink=${cf_cv_do_relink-no} \ DoLinks=$cf_cv_do_symlinks \ rmSoLocs=$cf_cv_rm_so_locs \ ldconfig="$LDCONFIG" \ @@ -2103,8 +2274,8 @@ done cat >> Makefile <<CF_EOF -install.data \\ -uninstall.data :: +install.libs uninstall.libs \\ +install.data uninstall.data :: $MAKE_TERMINFO cd misc && \${MAKE} \${CF_MFLAGS} \[$]@ install.man \\ @@ -2113,7 +2284,7 @@ uninstall.man :: distclean :: rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h - rm -f headers.sh headers.sed + rm -f headers.sh headers.sed mk_shared_lib.sh rm -rf \${DIRS_TO_MAKE} CF_EOF @@ -2224,41 +2395,10 @@ do fi if test -f $srcdir/$cf_dir/headers; then - cat >>$cf_dir/Makefile <<CF_EOF -\${DESTDIR}\${includedir} : - sh \${srcdir}/../mkinstalldirs \[$]@ - -install \\ -install.libs \\ -install.includes :: \${AUTO_SRC} \${DESTDIR}\${includedir} \\ -CF_EOF - j="" - for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"` - do - test -n "$j" && echo " $j \\" >>$cf_dir/Makefile - j=$i - done - - echo " $j" >>$cf_dir/Makefile - - for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"` - do - echo " @ (cd \${DESTDIR}\${includedir} && rm -f `basename $i`) ; ../headers.sh \${INSTALL_DATA} \${DESTDIR}\${includedir} \${srcdir} $i" >>$cf_dir/Makefile - test $i = curses.h && test $WITH_CURSES_H = yes && echo " @ (cd \${DESTDIR}\${includedir} && rm -f ncurses.h && \${LN_S} curses.h ncurses.h)" >>$cf_dir/Makefile - done - - cat >>$cf_dir/Makefile <<CF_EOF - -uninstall \\ -uninstall.libs \\ -uninstall.includes :: -CF_EOF - for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"` - do - i=`basename $i` - echo " -@ (cd \${DESTDIR}\${includedir} && rm -f $i)" >>$cf_dir/Makefile - test $i = curses.h && echo " -@ (cd \${DESTDIR}\${includedir} && rm -f ncurses.h)" >>$cf_dir/Makefile - done + $AWK -f $srcdir/mk-hdr.awk \ + subset="$LIB_SUBSETS" \ + compat="$WITH_CURSES_H" \ + $srcdir/$cf_dir/headers >>$cf_dir/Makefile fi if test -f $srcdir/$cf_dir/modules; then @@ -2776,7 +2916,7 @@ AC_ARG_WITH(manpage-tbl, AC_MSG_RESULT($MANPAGE_TBL) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_MAN_PAGES version: 31 updated: 2006/12/09 12:27:08 +dnl CF_MAN_PAGES version: 35 updated: 2007/03/31 11:47:29 dnl ------------ dnl Try to determine if the man-pages on the system are compressed, and if dnl so, what format is used. Use this information to construct a script that @@ -2826,6 +2966,7 @@ case "$MANPAGE_FORMAT" in #(vi esac cf_edit_man=./edit_man.sh +cf_man_alias=`pwd`/man_alias.sed cat >$cf_edit_man <<CF_EOF #! /bin/sh @@ -2841,7 +2982,7 @@ NCURSES_PATCH="$NCURSES_PATCH" NCURSES_OSPEED="$NCURSES_OSPEED" TERMINFO="$TERMINFO" -MKDIRS="sh `cd $srcdir && pwd`/mkinstalldirs" +MKDIRS="sh `cd $srcdir && pwd`/mkdirs.sh" INSTALL="$INSTALL" INSTALL_DATA="$INSTALL_DATA" @@ -2889,6 +3030,32 @@ case \$i in #(vi \$MKDIRS \$cf_subdir\$section fi fi + + # replace variables in man page + if test ! -f $cf_man_alias ; then +cat >>$cf_man_alias <<-CF_EOF2 + s,@DATADIR@,\$datadir,g + s,@TERMINFO@,\$TERMINFO,g + s,@NCURSES_MAJOR@,\$NCURSES_MAJOR,g + s,@NCURSES_MINOR@,\$NCURSES_MINOR,g + s,@NCURSES_PATCH@,\$NCURSES_PATCH,g + s,@NCURSES_OSPEED@,\$NCURSES_OSPEED,g +CF_EOF + ifelse($1,,,[ + for cf_name in $1 + do + cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + cf_name=`echo $cf_name|sed "$program_transform_name"` +cat >>$cf_edit_man <<-CF_EOF + s,@$cf_NAME@,$cf_name, +CF_EOF + done + ]) +cat >>$cf_edit_man <<CF_EOF +CF_EOF2 + echo "...made $cf_man_alias" + fi + aliases= cf_source=\`basename \$i\` inalias=\$cf_source @@ -2901,7 +3068,7 @@ CF_EOF if test "$MANPAGE_ALIASES" != no ; then cat >>$cf_edit_man <<CF_EOF - aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias | sort -u\` + aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u\` CF_EOF fi @@ -2922,36 +3089,13 @@ cat >>$cf_edit_man <<CF_EOF cf_target="\$cf_source" fi cf_target="\$cf_subdir\${section}/\${cf_target}" -CF_EOF -fi - # replace variables in man page - ifelse($1,,,[ - for cf_name in $1 - do -cat >>$cf_edit_man <<CF_EOF - prog_$cf_name=\`echo $cf_name|sed "\${transform}"\` -CF_EOF - done - ]) -cat >>$cf_edit_man <<CF_EOF - sed -e "s,@DATADIR@,\$datadir," \\ - -e "s,@TERMINFO@,\$TERMINFO," \\ - -e "s,@NCURSES_MAJOR@,\$NCURSES_MAJOR," \\ - -e "s,@NCURSES_MINOR@,\$NCURSES_MINOR," \\ - -e "s,@NCURSES_PATCH@,\$NCURSES_PATCH," \\ - -e "s,@NCURSES_OSPEED@,\$NCURSES_OSPEED," \\ CF_EOF +fi - ifelse($1,,,[ - for cf_name in $1 - do - cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` cat >>$cf_edit_man <<CF_EOF - -e "s,@$cf_NAME@,\$prog_$cf_name," \\ + sed -f $cf_man_alias \\ CF_EOF - done - ]) if test -f $MANPAGE_RENAMES ; then cat >>$cf_edit_man <<CF_EOF @@ -3012,6 +3156,7 @@ cat >>$cf_edit_man <<CF_EOF if test \$verb = installing ; then echo \$verb \$cf_target \$INSTALL_DATA \$TMP \$cf_target + test -d \$cf_subdir\${section} && test -n "\$aliases" && ( cd \$cf_subdir\${section} && ( cf_source=\`echo \$cf_target |sed -e 's%^.*/\([[^/]][[^/]]*/[[^/]][[^/]]*$\)%\1%'\` @@ -3053,8 +3198,11 @@ cat >>$cf_edit_man <<CF_EOF ) ) elif test \$verb = removing ; then - echo \$verb \$cf_target - rm -f \$cf_target + test -f \$cf_target && ( + echo \$verb \$cf_target + rm -f \$cf_target + ) + test -d \$cf_subdir\${section} && test -n "\$aliases" && ( cd \$cf_subdir\${section} && ( for cf_alias in \$aliases @@ -3192,12 +3340,12 @@ if test "$cf_cv_func_mkstemp" = yes ; then fi ])dnl dnl --------------------------------------------------------------------------- -dnl CF_MSG_LOG version: 3 updated: 1997/09/07 14:05:52 +dnl CF_MSG_LOG version: 4 updated: 2007/07/29 09:55:12 dnl ---------- dnl Write a debug message to config.log, along with the line number in the dnl configure script. AC_DEFUN([CF_MSG_LOG],[ -echo "(line __oline__) testing $* ..." 1>&AC_FD_CC +echo "${as_me-configure}:__oline__: testing $* ..." 1>&AC_FD_CC ])dnl dnl --------------------------------------------------------------------------- dnl CF_NCURSES_ABI_6 version: 1 updated: 2005/09/17 18:42:49 @@ -3680,7 +3828,73 @@ $1=`echo "$2" | \ -e 's/-[[UD]]$3\(=[[^ ]]*\)\?[$]//g'` ])dnl dnl --------------------------------------------------------------------------- -dnl CF_SHARED_OPTS version: 41 updated: 2006/12/09 12:32:00 +dnl CF_REMOVE_LIB version: 1 updated: 2007/02/17 14:11:52 +dnl ------------- +dnl Remove the given library from the symbol +dnl +dnl $1 = target (which could be the same as the source variable) +dnl $2 = source (including '$') +dnl $3 = library to remove +define([CF_REMOVE_LIB], +[ +# remove $3 library from $2 +$1=`echo "$2" | sed -e 's/-l$3[[ ]]//g' -e 's/-l$3[$]//'` +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_RPATH_HACK version: 3 updated: 2007/12/01 11:14:13 +dnl ------------- +AC_DEFUN([CF_RPATH_HACK], +[ +AC_REQUIRE([CF_SHARED_OPTS]) +AC_MSG_CHECKING(for updated LDFLAGS) +if test -n "$LDFLAGS" ; then +AC_MSG_RESULT(maybe) +CF_VERBOSE(...checking LDFLAGS $LDFLAGS) +CF_VERBOSE(...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS) +case "$EXTRA_LDFLAGS" in #(vi +-Wl,-rpath,*) #(vi + cf_rpath_hack="-Wl,-rpath," + ;; +-R\ *) + cf_rpath_hack="-R " + ;; +-R*) + cf_rpath_hack="-R" + ;; +*) + cf_rpath_hack= + ;; +esac +if test -n "$cf_rpath_hack" ; then + cf_rpath_dst= + for cf_rpath_src in $LDFLAGS + do + CF_VERBOSE(Filtering $cf_rpath_src) + case $cf_rpath_src in #(vi + -L*) #(vi + if test "$cf_rpath_hack" = "-R " ; then + cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e 's%-L%-R %'` + else + cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e s%-L%$cf_rpath_hack%` + fi + CF_VERBOSE(...Filter $cf_rpath_tmp) + EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS" + ;; + *) + cf_rpath_dst="$cf_rpath_dst $cf_rpath_src" + ;; + esac + done + LDFLAGS=$cf_rpath_dst + CF_VERBOSE(...checked LDFLAGS $LDFLAGS) + CF_VERBOSE(...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS) +fi +else +AC_MSG_RESULT(no) +fi +])dnl +dnl --------------------------------------------------------------------------- +dnl CF_SHARED_OPTS version: 46 updated: 2007/02/24 18:58:09 dnl -------------- dnl -------------- dnl Attempt to determine the appropriate CC/LD options for creating a shared @@ -3757,14 +3971,27 @@ AC_DEFUN([CF_SHARED_OPTS], ;; cygwin*) CC_SHARED_OPTS= - MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,--out-implib=../lib/${IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/${SHARED_LIB}' + MK_SHARED_LIB='sh ../mk_shared_lib.sh [$]@ [$]{CC} [$]{CFLAGS}' cf_cv_shlib_version=cygdll cf_cv_shlib_version_infix=cygdll + cat >mk_shared_lib.sh <<-CF_EOF + #!/bin/sh + SHARED_LIB=\[$]1 + IMPORT_LIB=\`echo "\[$]1" | sed -e 's/cyg/lib/' -e 's/[[0-9]]*\.dll[$]/.dll.a/'\` + shift + cat <<-EOF + Linking shared library + ** SHARED_LIB \[$]SHARED_LIB + ** IMPORT_LIB \[$]IMPORT_LIB +EOF + exec \[$]* -shared -Wl,--out-implib=../lib/\[$]{IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\[$]{SHARED_LIB} +CF_EOF + chmod +x mk_shared_lib.sh ;; darwin*) EXTRA_CFLAGS="-no-cpp-precomp" CC_SHARED_OPTS="-dynamic" - MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${DESTDIR}${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]' + MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $[@]` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $[@]' test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi cf_cv_shlib_version_infix=yes AC_CACHE_CHECK([if ld -search_paths_first works], cf_cv_ldflags_search_paths_first, [ @@ -3818,11 +4045,11 @@ AC_DEFUN([CF_SHARED_OPTS], CF_SHARED_SONAME MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_shared_soname',-stats,-lc -o $[@]' ;; - openbsd2*) + openbsd[[2-9]].*) CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" MK_SHARED_LIB='${LD} -Bshareable -soname,`basename $[@].${ABI_VERSION}` -o $[@]' ;; - openbsd*|freebsd[[23]]*) + openbsd*|freebsd[[12]].*) CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" MK_SHARED_LIB='${LD} -Bshareable -o $[@]' test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel @@ -4043,6 +4270,41 @@ done fi ])dnl dnl --------------------------------------------------------------------------- +dnl CF_SIG_ATOMIC_T version: 2 updated: 2005/09/18 17:27:12 +dnl --------------- +dnl signal handler, but there are some gcc depedencies in that recommendation. +dnl Try anyway. +AC_DEFUN([CF_SIG_ATOMIC_T], +[ +AC_MSG_CHECKING(for signal global datatype) +AC_CACHE_VAL(cf_cv_sig_atomic_t,[ + for cf_type in \ + "volatile sig_atomic_t" \ + "sig_atomic_t" \ + "int" + do + AC_TRY_COMPILE([ +#include <sys/types.h> +#include <signal.h> +#include <stdio.h> + +extern $cf_type x; +$cf_type x; +static void handler(int sig) +{ + x = 5; +}], + [signal(SIGINT, handler); + x = 1], + [cf_cv_sig_atomic_t=$cf_type], + [cf_cv_sig_atomic_t=no]) + test "$cf_cv_sig_atomic_t" != no && break + done + ]) +AC_MSG_RESULT($cf_cv_sig_atomic_t) +test "$cf_cv_sig_atomic_t" != no && AC_DEFINE_UNQUOTED(SIG_ATOMIC_T, $cf_cv_sig_atomic_t) +])dnl +dnl --------------------------------------------------------------------------- dnl CF_SIZECHANGE version: 8 updated: 2000/11/04 12:22:16 dnl ------------- dnl Check for definitions & structures needed for window size-changing @@ -4503,11 +4765,12 @@ AC_DEFUN([CF_UPPER], $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` ])dnl dnl --------------------------------------------------------------------------- -dnl CF_VERBOSE version: 2 updated: 1997/09/05 10:45:14 +dnl CF_VERBOSE version: 3 updated: 2007/07/29 09:55:12 dnl ---------- dnl Use AC_VERBOSE w/o the warnings AC_DEFUN([CF_VERBOSE], [test -n "$verbose" && echo " $1" 1>&AC_FD_MSG +CF_MSG_LOG([$1]) ])dnl dnl --------------------------------------------------------------------------- dnl CF_WCHAR_TYPE version: 2 updated: 2004/01/17 19:18:20 @@ -4643,7 +4906,7 @@ if test "$with_gpm" != no ; then fi ]) dnl --------------------------------------------------------------------------- -dnl CF_WITH_LIBTOOL version: 10 updated: 2006/10/14 15:23:15 +dnl CF_WITH_LIBTOOL version: 18 updated: 2007/04/08 20:02:38 dnl --------------- dnl Provide a configure option to incorporate libtool. Define several useful dnl symbols for the makefile rules. @@ -4692,7 +4955,7 @@ LIB_PREP="$RANLIB" # doing: LIB_CLEAN= LIB_COMPILE= -LIB_LINK= +LIB_LINK='${CC}' LIB_INSTALL= LIB_UNINSTALL= @@ -4718,12 +4981,12 @@ ifdef([AC_PROG_LIBTOOL],[ AC_MSG_ERROR(Cannot find libtool) fi ])dnl - LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} -version-info `cut -f1 ${srcdir}/VERSION` -o' - LIB_OBJECT='${OBJECTS}.o=.lo)' + LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} -version-info `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} -o' + LIB_OBJECT='${OBJECTS:.o=.lo}' LIB_SUFFIX=.la LIB_CLEAN='${LIBTOOL} --mode=clean' LIB_COMPILE='${LIBTOOL} --mode=compile' - LIB_LINK='${LIBTOOL} --mode=link' + LIB_LINK='${LIBTOOL} --mode=link ${CC} ${LIBTOOL_OPTS}' LIB_INSTALL='${LIBTOOL} --mode=install' LIB_UNINSTALL='${LIBTOOL} --mode=uninstall' LIB_PREP=: @@ -4734,10 +4997,10 @@ ifdef([AC_PROG_LIBTOOL],[ # Save the version in a cache variable - this is not entirely a good # thing, but the version string from libtool is very ugly, and for # bug reports it might be useful to have the original string. - cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'` + cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([[^)]]*)//g' -e 's/^[[^1-9]]*//' -e 's/[[^0-9.]].*//'` AC_MSG_RESULT($cf_cv_libtool_version) if test -z "$cf_cv_libtool_version" ; then - AC_MSG_ERROR(This is not libtool) + AC_MSG_ERROR(This is not GNU libtool) fi # special hack to add --tag option for C++ compiler @@ -4758,6 +5021,7 @@ test -z "$LIBTOOL" && ECHO_LT= AC_SUBST(LIBTOOL) AC_SUBST(LIBTOOL_CXX) +AC_SUBST(LIBTOOL_OPTS) AC_SUBST(LIB_CREATE) AC_SUBST(LIB_OBJECT) @@ -4772,7 +5036,7 @@ AC_SUBST(LIB_UNINSTALL) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_WITH_PATH version: 7 updated: 2006/08/03 15:20:08 +dnl CF_WITH_PATH version: 8 updated: 2007/05/13 13:16:35 dnl ------------ dnl Wrapper for AC_ARG_WITH to ensure that user supplies a pathname, not just dnl defaulting to yes/no. @@ -4786,7 +5050,9 @@ dnl AC_DEFUN([CF_WITH_PATH], [AC_ARG_WITH($1,[$2 ](default: ifelse($4,,empty,$4)),, ifelse($4,,[withval="${$3}"],[withval="${$3-ifelse($5,,$4,$5)}"]))dnl +if ifelse($5,,true,[test -n "$5"]) ; then CF_PATH_SYNTAX(withval) +fi $3="$withval" AC_SUBST($3)dnl ])dnl @@ -4896,7 +5162,7 @@ CF_NO_LEAKS_OPTION(valgrind, [USE_VALGRIND]) ])dnl dnl --------------------------------------------------------------------------- -dnl CF_XOPEN_SOURCE version: 24 updated: 2006/04/02 16:41:09 +dnl CF_XOPEN_SOURCE version: 25 updated: 2007/01/29 18:36:38 dnl --------------- dnl Try to get _XOPEN_SOURCE defined properly that we can use POSIX functions, dnl or adapt to the vendor's definitions to get equivalent functionality, @@ -4930,7 +5196,7 @@ hpux*) #(vi irix[[56]].*) #(vi CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE" ;; -linux*|gnu*) #(vi +linux*|gnu*|k*bsd*-gnu) #(vi CF_GNU_SOURCE ;; mirbsd*) #(vi diff --git a/contrib/ncurses/config.guess b/contrib/ncurses/config.guess index 396482d..951383e 100755 --- a/contrib/ncurses/config.guess +++ b/contrib/ncurses/config.guess @@ -4,7 +4,7 @@ # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, # Inc. -timestamp='2006-07-02' +timestamp='2007-05-17' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -161,6 +161,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched @@ -329,7 +330,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; - i86pc:SunOS:5.*:*) + i86pc:SunOS:5.*:* | ix86xen:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) @@ -780,7 +781,7 @@ EOF i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; - i*:MINGW*:*) + *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) @@ -790,12 +791,15 @@ EOF i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - x86:Interix*:[3456]*) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - EM64T:Interix*:[3456]*) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; + *:Interix*:[3456]*) + case ${UNAME_MACHINE} in + x86) + echo i586-pc-interix${UNAME_RELEASE} + exit ;; + EM64T | authenticamd) + echo x86_64-unknown-interix${UNAME_RELEASE} + exit ;; + esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; @@ -950,6 +954,9 @@ EOF x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; + xtensa:Linux:*:*) + echo xtensa-unknown-linux-gnu + exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so # first see if it will tell us. cd to the root directory to prevent @@ -1208,6 +1215,15 @@ EOF SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; + SX-7:SUPER-UX:*:*) + echo sx7-nec-superux${UNAME_RELEASE} + exit ;; + SX-8:SUPER-UX:*:*) + echo sx8-nec-superux${UNAME_RELEASE} + exit ;; + SX-8R:SUPER-UX:*:*) + echo sx8r-nec-superux${UNAME_RELEASE} + exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; diff --git a/contrib/ncurses/config.sub b/contrib/ncurses/config.sub index 53954db..1761d8b 100755 --- a/contrib/ncurses/config.sub +++ b/contrib/ncurses/config.sub @@ -4,7 +4,7 @@ # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, # Inc. -timestamp='2006-08-14' +timestamp='2007-06-28' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -245,12 +245,12 @@ case $basic_machine in | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ - | fr30 | frv \ + | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore \ + | maxq | mb | microblaze | mcore | mep \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -276,6 +276,7 @@ case $basic_machine in | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ + | score \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ @@ -323,7 +324,7 @@ case $basic_machine in | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ - | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \ + | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ @@ -474,8 +475,8 @@ case $basic_machine in basic_machine=craynv-cray os=-unicosmp ;; - cr16c) - basic_machine=cr16c-unknown + cr16) + basic_machine=cr16-unknown os=-elf ;; crds | unos) @@ -682,6 +683,10 @@ case $basic_machine in basic_machine=i386-pc os=-mingw32 ;; + mingw32ce) + basic_machine=arm-unknown + os=-mingw32ce + ;; miniframe) basic_machine=m68000-convergent ;; @@ -924,6 +929,9 @@ case $basic_machine in basic_machine=sh-hitachi os=-hms ;; + sh5el) + basic_machine=sh5le-unknown + ;; sh64) basic_machine=sh64-unknown ;; @@ -1218,7 +1226,7 @@ case $os in | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1370,6 +1378,9 @@ else # system, and we'll never get to this point. case $basic_machine in + score-*) + os=-elf + ;; spu-*) os=-elf ;; @@ -1410,6 +1421,9 @@ case $basic_machine in m68*-cisco) os=-aout ;; + mep-*) + os=-elf + ;; mips*-cisco) os=-elf ;; diff --git a/contrib/ncurses/configure b/contrib/ncurses/configure index f46dcb6..65bb06a 100755 --- a/contrib/ncurses/configure +++ b/contrib/ncurses/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in Revision: 1.383 . +# From configure.in Revision: 1.429 . # Guess values for system-dependent variables and create Makefiles. # Generated by Autoconf 2.52.20061216. # @@ -699,6 +699,7 @@ Optional Features: --without-ada suppress check for Ada95, don't build demo --without-progs suppress build with programs (e.g., tic) --without-curses-h install curses.h as ncurses.h only + --enable-mixed-case tic should assume mixed-case filenames --with-install-prefix prefixes actual install-location ($DESTDIR) Build-Tools Needed to Compile Temporary Applications for Cross-compiling: --with-build-cc=XXX the build C compiler ($BUILD_CC) @@ -714,10 +715,12 @@ Options to Specify the Libraries Built/Used: --with-debug generate debug-libraries (default) --with-profile generate profile-libraries --with-termlib generate separate terminfo library + --with-ticlib generate separate tic library --with-gpm use Alessandro Rubini's GPM library --without-dlsym do not use dlsym() to load GPM dynamically --with-sysmouse use sysmouse (FreeBSD console) --enable-rpath use rpath option when generating shared libraries + --disable-relink relink shared libraries during install --with-shlib-version=X Specify rel or abi version for shared libs Fine-Tuning Your Configuration: --disable-overwrite leave out the link to -lcurses @@ -729,6 +732,7 @@ Fine-Tuning Your Configuration: --with-terminfo-dirs=XXX specify list of terminfo directories (default: DATADIR/terminfo) --with-default-terminfo-dir=DIR default terminfo directory (default: DATADIR/terminfo) --disable-big-core assume machine has little memory + --disable-big-strings assume compiler has only standard-size strings --enable-termcap compile in termcap fallback support --with-termpath=XXX specify list of termcap files (default: /etc/termcap:/usr/share/misc/termcap) --enable-getcap fast termcap load, no xrefs to terminfo @@ -759,7 +763,7 @@ Extensions: --disable-ext-funcs disable function-extensions --enable-const compile with extra/non-standard const --enable-no-padding compile with $NCURSES_NO_PADDING code - --enable-signed-char compile with SIGWINCH handler + --enable-signed-char compile using signed Boolean's in term.h --enable-sigwinch compile with SIGWINCH handler --enable-tcap-names compile with user-definable terminal capabilities Development Code: @@ -772,6 +776,7 @@ Experimental Code: --enable-colorfgbg compile with $COLORFGBG code --enable-ext-colors compile for experimental 256-color support --enable-ext-mouse compile for experimental mouse-encoding + --enable-reentrant compile with experimental reentrant code --enable-safe-sprintf compile with experimental safe-sprintf code --disable-scroll-hints compile without scroll-hints code --enable-wgetch-events compile with experimental wgetch-events code @@ -986,7 +991,7 @@ if test -z "$CONFIG_SITE"; then fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then - { echo "$as_me:989: loading site script $ac_site_file" >&5 + { echo "$as_me:994: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} cat "$ac_site_file" >&5 . "$ac_site_file" @@ -997,7 +1002,7 @@ if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then - { echo "$as_me:1000: loading cache $cache_file" >&5 + { echo "$as_me:1005: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . $cache_file;; @@ -1005,7 +1010,7 @@ echo "$as_me: loading cache $cache_file" >&6;} esac fi else - { echo "$as_me:1008: creating cache $cache_file" >&5 + { echo "$as_me:1013: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi @@ -1021,21 +1026,21 @@ for ac_var in `(set) 2>&1 | eval ac_new_val="\$ac_env_${ac_var}_value" case $ac_old_set,$ac_new_set in set,) - { echo "$as_me:1024: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 + { echo "$as_me:1029: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) - { echo "$as_me:1028: error: \`$ac_var' was not set in the previous run" >&5 + { echo "$as_me:1033: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then - { echo "$as_me:1034: error: \`$ac_var' has changed since the previous run:" >&5 + { echo "$as_me:1039: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - { echo "$as_me:1036: former value: $ac_old_val" >&5 + { echo "$as_me:1041: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} - { echo "$as_me:1038: current value: $ac_new_val" >&5 + { echo "$as_me:1043: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; @@ -1054,9 +1059,9 @@ echo "$as_me: current value: $ac_new_val" >&2;} fi done if $ac_cache_corrupted; then - { echo "$as_me:1057: error: changes in the environment can compromise the build" >&5 + { echo "$as_me:1062: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} - { { echo "$as_me:1059: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 + { { echo "$as_me:1064: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi @@ -1077,10 +1082,10 @@ esac echo "#! $SHELL" >conftest.sh echo "exit 0" >>conftest.sh chmod +x conftest.sh -if { (echo "$as_me:1080: PATH=\".;.\"; conftest.sh") >&5 +if { (echo "$as_me:1085: PATH=\".;.\"; conftest.sh") >&5 (PATH=".;."; conftest.sh) 2>&5 ac_status=$? - echo "$as_me:1083: \$? = $ac_status" >&5 + echo "$as_me:1088: \$? = $ac_status" >&5 (exit $ac_status); }; then ac_path_separator=';' else @@ -1093,7 +1098,7 @@ ac_config_headers="$ac_config_headers include/ncurses_cfg.h:include/ncurses_cfg. top_builddir=`pwd` -echo "$as_me:1096: checking for egrep" >&5 +echo "$as_me:1101: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6 if test "${ac_cv_prog_egrep+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1103,11 +1108,11 @@ else else ac_cv_prog_egrep='egrep' fi fi -echo "$as_me:1106: result: $ac_cv_prog_egrep" >&5 +echo "$as_me:1111: result: $ac_cv_prog_egrep" >&5 echo "${ECHO_T}$ac_cv_prog_egrep" >&6 EGREP=$ac_cv_prog_egrep -test -z "$EGREP" && { { echo "$as_me:1110: error: No egrep program found" >&5 +test -z "$EGREP" && { { echo "$as_me:1115: error: No egrep program found" >&5 echo "$as_me: error: No egrep program found" >&2;} { (exit 1); exit 1; }; } @@ -1117,7 +1122,7 @@ NCURSES_PATCH="`$ac_cv_prog_egrep '^NCURSES_PATCH[ ]*=' $srcdir/dist.mk | sed - cf_cv_abi_version=${NCURSES_MAJOR} cf_cv_rel_version=${NCURSES_MAJOR}.${NCURSES_MINOR} cf_cv_timestamp=`date` -echo "$as_me:1120: result: Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&5 +echo "$as_me:1125: result: Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&5 echo "${ECHO_T}Configuring NCURSES $cf_cv_rel_version ABI $cf_cv_abi_version ($cf_cv_timestamp)" >&6 test -z "$cf_cv_rel_version" && cf_cv_rel_version=0.0 @@ -1125,7 +1130,7 @@ test -z "$cf_cv_rel_version" && cf_cv_rel_version=0.0 # Check whether --with-rel-version or --without-rel-version was given. if test "${with_rel_version+set}" = set; then withval="$with_rel_version" - { echo "$as_me:1128: WARNING: overriding release version $cf_cv_rel_version to $withval" >&5 + { echo "$as_me:1133: WARNING: overriding release version $cf_cv_rel_version to $withval" >&5 echo "$as_me: WARNING: overriding release version $cf_cv_rel_version to $withval" >&2;} cf_cv_rel_version=$withval fi; @@ -1138,13 +1143,13 @@ if test -n "$NCURSES_MAJOR" ; then [0-9]*) #(vi ;; *) - { { echo "$as_me:1141: error: Release major-version is not a number: $NCURSES_MAJOR" >&5 + { { echo "$as_me:1146: error: Release major-version is not a number: $NCURSES_MAJOR" >&5 echo "$as_me: error: Release major-version is not a number: $NCURSES_MAJOR" >&2;} { (exit 1); exit 1; }; } ;; esac else - { { echo "$as_me:1147: error: Release major-version value is empty" >&5 + { { echo "$as_me:1152: error: Release major-version value is empty" >&5 echo "$as_me: error: Release major-version value is empty" >&2;} { (exit 1); exit 1; }; } fi @@ -1154,13 +1159,13 @@ if test -n "$NCURSES_MINOR" ; then [0-9]*) #(vi ;; *) - { { echo "$as_me:1157: error: Release minor-version is not a number: $NCURSES_MINOR" >&5 + { { echo "$as_me:1162: error: Release minor-version is not a number: $NCURSES_MINOR" >&5 echo "$as_me: error: Release minor-version is not a number: $NCURSES_MINOR" >&2;} { (exit 1); exit 1; }; } ;; esac else - { { echo "$as_me:1163: error: Release minor-version value is empty" >&5 + { { echo "$as_me:1168: error: Release minor-version value is empty" >&5 echo "$as_me: error: Release minor-version value is empty" >&2;} { (exit 1); exit 1; }; } fi @@ -1170,7 +1175,7 @@ test -z "$cf_cv_abi_version" && cf_cv_abi_version=0 # Check whether --with-abi-version or --without-abi-version was given. if test "${with_abi_version+set}" = set; then withval="$with_abi_version" - { echo "$as_me:1173: WARNING: overriding ABI version $cf_cv_abi_version to $withval" >&5 + { echo "$as_me:1178: WARNING: overriding ABI version $cf_cv_abi_version to $withval" >&5 echo "$as_me: WARNING: overriding ABI version $cf_cv_abi_version to $withval" >&2;} cf_cv_abi_version=$withval fi; @@ -1180,13 +1185,13 @@ if test -n "$cf_cv_abi_version" ; then [0-9]*) #(vi ;; *) - { { echo "$as_me:1183: error: ABI version is not a number: $cf_cv_abi_version" >&5 + { { echo "$as_me:1188: error: ABI version is not a number: $cf_cv_abi_version" >&5 echo "$as_me: error: ABI version is not a number: $cf_cv_abi_version" >&2;} { (exit 1); exit 1; }; } ;; esac else - { { echo "$as_me:1189: error: ABI version value is empty" >&5 + { { echo "$as_me:1194: error: ABI version value is empty" >&5 echo "$as_me: error: ABI version value is empty" >&2;} { (exit 1); exit 1; }; } fi @@ -1208,7 +1213,7 @@ for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do fi done if test -z "$ac_aux_dir"; then - { { echo "$as_me:1211: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 + { { echo "$as_me:1216: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} { (exit 1); exit 1; }; } fi @@ -1218,11 +1223,11 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # Make sure we can run config.sub. $ac_config_sub sun4 >/dev/null 2>&1 || - { { echo "$as_me:1221: error: cannot run $ac_config_sub" >&5 + { { echo "$as_me:1226: error: cannot run $ac_config_sub" >&5 echo "$as_me: error: cannot run $ac_config_sub" >&2;} { (exit 1); exit 1; }; } -echo "$as_me:1225: checking build system type" >&5 +echo "$as_me:1230: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6 if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1231,23 +1236,23 @@ else test -z "$ac_cv_build_alias" && ac_cv_build_alias=`$ac_config_guess` test -z "$ac_cv_build_alias" && - { { echo "$as_me:1234: error: cannot guess build type; you must specify one" >&5 + { { echo "$as_me:1239: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || - { { echo "$as_me:1238: error: $ac_config_sub $ac_cv_build_alias failed." >&5 + { { echo "$as_me:1243: error: $ac_config_sub $ac_cv_build_alias failed." >&5 echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed." >&2;} { (exit 1); exit 1; }; } fi -echo "$as_me:1243: result: $ac_cv_build" >&5 +echo "$as_me:1248: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6 build=$ac_cv_build build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$as_me:1250: checking host system type" >&5 +echo "$as_me:1255: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6 if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1256,12 +1261,12 @@ else test -z "$ac_cv_host_alias" && ac_cv_host_alias=$ac_cv_build_alias ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || - { { echo "$as_me:1259: error: $ac_config_sub $ac_cv_host_alias failed" >&5 + { { echo "$as_me:1264: error: $ac_config_sub $ac_cv_host_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} { (exit 1); exit 1; }; } fi -echo "$as_me:1264: result: $ac_cv_host" >&5 +echo "$as_me:1269: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6 host=$ac_cv_host host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` @@ -1269,7 +1274,7 @@ host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` if test -f $srcdir/config.guess || test -f $ac_aux_dir/config.guess ; then - echo "$as_me:1272: checking target system type" >&5 + echo "$as_me:1277: checking target system type" >&5 echo $ECHO_N "checking target system type... $ECHO_C" >&6 if test "${ac_cv_target+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1278,12 +1283,12 @@ else test "x$ac_cv_target_alias" = "x" && ac_cv_target_alias=$ac_cv_host_alias ac_cv_target=`$ac_config_sub $ac_cv_target_alias` || - { { echo "$as_me:1281: error: $ac_config_sub $ac_cv_target_alias failed" >&5 + { { echo "$as_me:1286: error: $ac_config_sub $ac_cv_target_alias failed" >&5 echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;} { (exit 1); exit 1; }; } fi -echo "$as_me:1286: result: $ac_cv_target" >&5 +echo "$as_me:1291: result: $ac_cv_target" >&5 echo "${ECHO_T}$ac_cv_target" >&6 target=$ac_cv_target target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` @@ -1314,13 +1319,13 @@ else fi test -z "$system_name" && system_name="$cf_cv_system_name" -test -n "$cf_cv_system_name" && echo "$as_me:1317: result: Configuring for $cf_cv_system_name" >&5 +test -n "$cf_cv_system_name" && echo "$as_me:1322: result: Configuring for $cf_cv_system_name" >&5 echo "${ECHO_T}Configuring for $cf_cv_system_name" >&6 if test ".$system_name" != ".$cf_cv_system_name" ; then - echo "$as_me:1321: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5 + echo "$as_me:1326: result: Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&5 echo "${ECHO_T}Cached system name ($system_name) does not agree with actual ($cf_cv_system_name)" >&6 - { { echo "$as_me:1323: error: \"Please remove config.cache and try again.\"" >&5 + { { echo "$as_me:1328: error: \"Please remove config.cache and try again.\"" >&5 echo "$as_me: error: \"Please remove config.cache and try again.\"" >&2;} { (exit 1); exit 1; }; } fi @@ -1328,7 +1333,7 @@ fi # Check whether --with-system-type or --without-system-type was given. if test "${with_system_type+set}" = set; then withval="$with_system_type" - { echo "$as_me:1331: WARNING: overriding system type to $withval" >&5 + { echo "$as_me:1336: WARNING: overriding system type to $withval" >&5 echo "$as_me: WARNING: overriding system type to $withval" >&2;} cf_cv_system_name=$withval fi; @@ -1338,7 +1343,7 @@ cf_user_CFLAGS="$CFLAGS" ### Default install-location -echo "$as_me:1341: checking for prefix" >&5 +echo "$as_me:1346: checking for prefix" >&5 echo $ECHO_N "checking for prefix... $ECHO_C" >&6 if test "x$prefix" = "xNONE" ; then case "$cf_cv_system_name" in @@ -1350,11 +1355,11 @@ if test "x$prefix" = "xNONE" ; then ;; esac fi -echo "$as_me:1353: result: $prefix" >&5 +echo "$as_me:1358: result: $prefix" >&5 echo "${ECHO_T}$prefix" >&6 if test "x$prefix" = "xNONE" ; then -echo "$as_me:1357: checking for default include-directory" >&5 +echo "$as_me:1362: checking for default include-directory" >&5 echo $ECHO_N "checking for default include-directory... $ECHO_C" >&6 test -n "$verbose" && echo 1>&6 for cf_symbol in \ @@ -1377,7 +1382,7 @@ do fi test -n "$verbose" && echo " tested $cf_dir" 1>&6 done -echo "$as_me:1380: result: $includedir" >&5 +echo "$as_me:1385: result: $includedir" >&5 echo "${ECHO_T}$includedir" >&6 fi @@ -1391,7 +1396,7 @@ ac_main_return=return if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 -echo "$as_me:1394: checking for $ac_word" >&5 +echo "$as_me:1399: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1406,7 +1411,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="${ac_tool_prefix}gcc" -echo "$as_me:1409: found $ac_dir/$ac_word" >&5 +echo "$as_me:1414: found $ac_dir/$ac_word" >&5 break done @@ -1414,10 +1419,10 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:1417: result: $CC" >&5 + echo "$as_me:1422: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:1420: result: no" >&5 + echo "$as_me:1425: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1426,7 +1431,7 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -echo "$as_me:1429: checking for $ac_word" >&5 +echo "$as_me:1434: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1441,7 +1446,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="gcc" -echo "$as_me:1444: found $ac_dir/$ac_word" >&5 +echo "$as_me:1449: found $ac_dir/$ac_word" >&5 break done @@ -1449,10 +1454,10 @@ fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:1452: result: $ac_ct_CC" >&5 + echo "$as_me:1457: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else - echo "$as_me:1455: result: no" >&5 + echo "$as_me:1460: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1465,7 +1470,7 @@ if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 -echo "$as_me:1468: checking for $ac_word" >&5 +echo "$as_me:1473: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1480,7 +1485,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="${ac_tool_prefix}cc" -echo "$as_me:1483: found $ac_dir/$ac_word" >&5 +echo "$as_me:1488: found $ac_dir/$ac_word" >&5 break done @@ -1488,10 +1493,10 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:1491: result: $CC" >&5 + echo "$as_me:1496: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:1494: result: no" >&5 + echo "$as_me:1499: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1500,7 +1505,7 @@ if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -echo "$as_me:1503: checking for $ac_word" >&5 +echo "$as_me:1508: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1515,7 +1520,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="cc" -echo "$as_me:1518: found $ac_dir/$ac_word" >&5 +echo "$as_me:1523: found $ac_dir/$ac_word" >&5 break done @@ -1523,10 +1528,10 @@ fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:1526: result: $ac_ct_CC" >&5 + echo "$as_me:1531: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else - echo "$as_me:1529: result: no" >&5 + echo "$as_me:1534: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1539,7 +1544,7 @@ fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -echo "$as_me:1542: checking for $ac_word" >&5 +echo "$as_me:1547: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1559,7 +1564,7 @@ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then continue fi ac_cv_prog_CC="cc" -echo "$as_me:1562: found $ac_dir/$ac_word" >&5 +echo "$as_me:1567: found $ac_dir/$ac_word" >&5 break done @@ -1581,10 +1586,10 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:1584: result: $CC" >&5 + echo "$as_me:1589: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:1587: result: no" >&5 + echo "$as_me:1592: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1595,7 +1600,7 @@ if test -z "$CC"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:1598: checking for $ac_word" >&5 +echo "$as_me:1603: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1610,7 +1615,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CC="$ac_tool_prefix$ac_prog" -echo "$as_me:1613: found $ac_dir/$ac_word" >&5 +echo "$as_me:1618: found $ac_dir/$ac_word" >&5 break done @@ -1618,10 +1623,10 @@ fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$as_me:1621: result: $CC" >&5 + echo "$as_me:1626: result: $CC" >&5 echo "${ECHO_T}$CC" >&6 else - echo "$as_me:1624: result: no" >&5 + echo "$as_me:1629: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1634,7 +1639,7 @@ if test -z "$CC"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:1637: checking for $ac_word" >&5 +echo "$as_me:1642: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -1649,7 +1654,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CC="$ac_prog" -echo "$as_me:1652: found $ac_dir/$ac_word" >&5 +echo "$as_me:1657: found $ac_dir/$ac_word" >&5 break done @@ -1657,10 +1662,10 @@ fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then - echo "$as_me:1660: result: $ac_ct_CC" >&5 + echo "$as_me:1665: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6 else - echo "$as_me:1663: result: no" >&5 + echo "$as_me:1668: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -1672,32 +1677,32 @@ fi fi -test -z "$CC" && { { echo "$as_me:1675: error: no acceptable cc found in \$PATH" >&5 +test -z "$CC" && { { echo "$as_me:1680: error: no acceptable cc found in \$PATH" >&5 echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. -echo "$as_me:1680:" \ +echo "$as_me:1685:" \ "checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:1683: \"$ac_compiler --version </dev/null >&5\"") >&5 +{ (eval echo "$as_me:1688: \"$ac_compiler --version </dev/null >&5\"") >&5 (eval $ac_compiler --version </dev/null >&5) 2>&5 ac_status=$? - echo "$as_me:1686: \$? = $ac_status" >&5 + echo "$as_me:1691: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:1688: \"$ac_compiler -v </dev/null >&5\"") >&5 +{ (eval echo "$as_me:1693: \"$ac_compiler -v </dev/null >&5\"") >&5 (eval $ac_compiler -v </dev/null >&5) 2>&5 ac_status=$? - echo "$as_me:1691: \$? = $ac_status" >&5 + echo "$as_me:1696: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:1693: \"$ac_compiler -V </dev/null >&5\"") >&5 +{ (eval echo "$as_me:1698: \"$ac_compiler -V </dev/null >&5\"") >&5 (eval $ac_compiler -V </dev/null >&5) 2>&5 ac_status=$? - echo "$as_me:1696: \$? = $ac_status" >&5 + echo "$as_me:1701: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF -#line 1700 "configure" +#line 1705 "configure" #include "confdefs.h" int @@ -1713,13 +1718,13 @@ ac_clean_files="$ac_clean_files a.out a.exe" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. -echo "$as_me:1716: checking for C compiler default output" >&5 +echo "$as_me:1721: checking for C compiler default output" >&5 echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` -if { (eval echo "$as_me:1719: \"$ac_link_default\"") >&5 +if { (eval echo "$as_me:1724: \"$ac_link_default\"") >&5 (eval $ac_link_default) 2>&5 ac_status=$? - echo "$as_me:1722: \$? = $ac_status" >&5 + echo "$as_me:1727: \$? = $ac_status" >&5 (exit $ac_status); }; then # Find the output, starting from the most likely. This scheme is # not robust to junk in `.', hence go to wildcards (a.*) only as a last @@ -1742,34 +1747,34 @@ done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 -{ { echo "$as_me:1745: error: C compiler cannot create executables" >&5 +{ { echo "$as_me:1750: error: C compiler cannot create executables" >&5 echo "$as_me: error: C compiler cannot create executables" >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext -echo "$as_me:1751: result: $ac_file" >&5 +echo "$as_me:1756: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6 # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -echo "$as_me:1756: checking whether the C compiler works" >&5 +echo "$as_me:1761: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' - { (eval echo "$as_me:1762: \"$ac_try\"") >&5 + { (eval echo "$as_me:1767: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:1765: \$? = $ac_status" >&5 + echo "$as_me:1770: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else - { { echo "$as_me:1772: error: cannot run C compiled programs. + { { echo "$as_me:1777: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'." >&2;} @@ -1777,24 +1782,24 @@ If you meant to cross compile, use \`--host'." >&2;} fi fi fi -echo "$as_me:1780: result: yes" >&5 +echo "$as_me:1785: result: yes" >&5 echo "${ECHO_T}yes" >&6 rm -f a.out a.exe conftest$ac_cv_exeext ac_clean_files=$ac_clean_files_save # Check the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. -echo "$as_me:1787: checking whether we are cross compiling" >&5 +echo "$as_me:1792: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 -echo "$as_me:1789: result: $cross_compiling" >&5 +echo "$as_me:1794: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6 -echo "$as_me:1792: checking for executable suffix" >&5 +echo "$as_me:1797: checking for executable suffix" >&5 echo $ECHO_N "checking for executable suffix... $ECHO_C" >&6 -if { (eval echo "$as_me:1794: \"$ac_link\"") >&5 +if { (eval echo "$as_me:1799: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:1797: \$? = $ac_status" >&5 + echo "$as_me:1802: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will @@ -1810,25 +1815,25 @@ for ac_file in `(ls conftest.exe; ls conftest; ls conftest.*) 2>/dev/null`; do esac done else - { { echo "$as_me:1813: error: cannot compute EXEEXT: cannot compile and link" >&5 + { { echo "$as_me:1818: error: cannot compute EXEEXT: cannot compile and link" >&5 echo "$as_me: error: cannot compute EXEEXT: cannot compile and link" >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext -echo "$as_me:1819: result: $ac_cv_exeext" >&5 +echo "$as_me:1824: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6 rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT -echo "$as_me:1825: checking for object suffix" >&5 +echo "$as_me:1830: checking for object suffix" >&5 echo $ECHO_N "checking for object suffix... $ECHO_C" >&6 if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 1831 "configure" +#line 1836 "configure" #include "confdefs.h" int @@ -1840,10 +1845,10 @@ main () } _ACEOF rm -f conftest.o conftest.obj -if { (eval echo "$as_me:1843: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:1848: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:1846: \$? = $ac_status" >&5 + echo "$as_me:1851: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do case $ac_file in @@ -1855,24 +1860,24 @@ done else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 -{ { echo "$as_me:1858: error: cannot compute OBJEXT: cannot compile" >&5 +{ { echo "$as_me:1863: error: cannot compute OBJEXT: cannot compile" >&5 echo "$as_me: error: cannot compute OBJEXT: cannot compile" >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi -echo "$as_me:1865: result: $ac_cv_objext" >&5 +echo "$as_me:1870: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6 OBJEXT=$ac_cv_objext ac_objext=$OBJEXT -echo "$as_me:1869: checking whether we are using the GNU C compiler" >&5 +echo "$as_me:1874: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 1875 "configure" +#line 1880 "configure" #include "confdefs.h" int @@ -1887,16 +1892,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:1890: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:1895: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:1893: \$? = $ac_status" >&5 + echo "$as_me:1898: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1896: \"$ac_try\"") >&5 + { (eval echo "$as_me:1901: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:1899: \$? = $ac_status" >&5 + echo "$as_me:1904: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else @@ -1908,19 +1913,19 @@ rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:1911: result: $ac_cv_c_compiler_gnu" >&5 +echo "$as_me:1916: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS CFLAGS="-g" -echo "$as_me:1917: checking whether $CC accepts -g" >&5 +echo "$as_me:1922: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 1923 "configure" +#line 1928 "configure" #include "confdefs.h" int @@ -1932,16 +1937,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:1935: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:1940: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:1938: \$? = $ac_status" >&5 + echo "$as_me:1943: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1941: \"$ac_try\"") >&5 + { (eval echo "$as_me:1946: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:1944: \$? = $ac_status" >&5 + echo "$as_me:1949: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_g=yes else @@ -1951,7 +1956,7 @@ ac_cv_prog_cc_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:1954: result: $ac_cv_prog_cc_g" >&5 +echo "$as_me:1959: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS @@ -1978,16 +1983,16 @@ cat >conftest.$ac_ext <<_ACEOF #endif _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:1981: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:1986: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:1984: \$? = $ac_status" >&5 + echo "$as_me:1989: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:1987: \"$ac_try\"") >&5 + { (eval echo "$as_me:1992: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:1990: \$? = $ac_status" >&5 + echo "$as_me:1995: \$? = $ac_status" >&5 (exit $ac_status); }; }; then for ac_declaration in \ ''\ @@ -1999,7 +2004,7 @@ if { (eval echo "$as_me:1981: \"$ac_compile\"") >&5 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF -#line 2002 "configure" +#line 2007 "configure" #include "confdefs.h" #include <stdlib.h> $ac_declaration @@ -2012,16 +2017,16 @@ exit (42); } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:2015: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:2020: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:2018: \$? = $ac_status" >&5 + echo "$as_me:2023: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2021: \"$ac_try\"") >&5 + { (eval echo "$as_me:2026: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:2024: \$? = $ac_status" >&5 + echo "$as_me:2029: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else @@ -2031,7 +2036,7 @@ continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF -#line 2034 "configure" +#line 2039 "configure" #include "confdefs.h" $ac_declaration int @@ -2043,16 +2048,16 @@ exit (42); } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:2046: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:2051: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:2049: \$? = $ac_status" >&5 + echo "$as_me:2054: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2052: \"$ac_try\"") >&5 + { (eval echo "$as_me:2057: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:2055: \$? = $ac_status" >&5 + echo "$as_me:2060: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else @@ -2082,11 +2087,11 @@ ac_main_return=return GCC_VERSION=none if test "$GCC" = yes ; then - echo "$as_me:2085: checking version of $CC" >&5 + echo "$as_me:2090: checking version of $CC" >&5 echo $ECHO_N "checking version of $CC... $ECHO_C" >&6 GCC_VERSION="`${CC} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`" test -z "$GCC_VERSION" && GCC_VERSION=unknown - echo "$as_me:2089: result: $GCC_VERSION" >&5 + echo "$as_me:2094: result: $GCC_VERSION" >&5 echo "${ECHO_T}$GCC_VERSION" >&6 fi @@ -2096,7 +2101,7 @@ ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_main_return=return -echo "$as_me:2099: checking how to run the C preprocessor" >&5 +echo "$as_me:2104: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then @@ -2117,18 +2122,18 @@ do # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line 2120 "configure" +#line 2125 "configure" #include "confdefs.h" #include <assert.h> Syntax error _ACEOF -if { (eval echo "$as_me:2125: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:2130: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:2131: \$? = $ac_status" >&5 + echo "$as_me:2136: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -2151,17 +2156,17 @@ rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line 2154 "configure" +#line 2159 "configure" #include "confdefs.h" #include <ac_nonexistent.h> _ACEOF -if { (eval echo "$as_me:2158: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:2163: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:2164: \$? = $ac_status" >&5 + echo "$as_me:2169: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -2198,7 +2203,7 @@ fi else ac_cv_prog_CPP=$CPP fi -echo "$as_me:2201: result: $CPP" >&5 +echo "$as_me:2206: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6 ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes @@ -2208,18 +2213,18 @@ do # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line 2211 "configure" +#line 2216 "configure" #include "confdefs.h" #include <assert.h> Syntax error _ACEOF -if { (eval echo "$as_me:2216: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:2221: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:2222: \$? = $ac_status" >&5 + echo "$as_me:2227: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -2242,17 +2247,17 @@ rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line 2245 "configure" +#line 2250 "configure" #include "confdefs.h" #include <ac_nonexistent.h> _ACEOF -if { (eval echo "$as_me:2249: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:2254: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:2255: \$? = $ac_status" >&5 + echo "$as_me:2260: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -2280,7 +2285,7 @@ rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else - { { echo "$as_me:2283: error: C preprocessor \"$CPP\" fails sanity check" >&5 + { { echo "$as_me:2288: error: C preprocessor \"$CPP\" fails sanity check" >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check" >&2;} { (exit 1); exit 1; }; } fi @@ -2293,14 +2298,14 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_main_return=return if test $ac_cv_c_compiler_gnu = yes; then - echo "$as_me:2296: checking whether $CC needs -traditional" >&5 + echo "$as_me:2301: checking whether $CC needs -traditional" >&5 echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6 if test "${ac_cv_prog_gcc_traditional+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_pattern="Autoconf.*'x'" cat >conftest.$ac_ext <<_ACEOF -#line 2303 "configure" +#line 2308 "configure" #include "confdefs.h" #include <sgtty.h> int Autoconf = TIOCGETP; @@ -2315,7 +2320,7 @@ rm -f conftest* if test $ac_cv_prog_gcc_traditional = no; then cat >conftest.$ac_ext <<_ACEOF -#line 2318 "configure" +#line 2323 "configure" #include "confdefs.h" #include <termio.h> int Autoconf = TCGETA; @@ -2328,14 +2333,14 @@ rm -f conftest* fi fi -echo "$as_me:2331: result: $ac_cv_prog_gcc_traditional" >&5 +echo "$as_me:2336: result: $ac_cv_prog_gcc_traditional" >&5 echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6 if test $ac_cv_prog_gcc_traditional = yes; then CC="$CC -traditional" fi fi -echo "$as_me:2338: checking whether $CC understands -c and -o together" >&5 +echo "$as_me:2343: checking whether $CC understands -c and -o together" >&5 echo $ECHO_N "checking whether $CC understands -c and -o together... $ECHO_C" >&6 if test "${cf_cv_prog_CC_c_o+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -2351,15 +2356,15 @@ CF_EOF # We do the test twice because some compilers refuse to overwrite an # existing .o file with -o, though they will create one. ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' -if { (eval echo "$as_me:2354: \"$ac_try\"") >&5 +if { (eval echo "$as_me:2359: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:2357: \$? = $ac_status" >&5 + echo "$as_me:2362: \$? = $ac_status" >&5 (exit $ac_status); } && - test -f conftest2.$ac_objext && { (eval echo "$as_me:2359: \"$ac_try\"") >&5 + test -f conftest2.$ac_objext && { (eval echo "$as_me:2364: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:2362: \$? = $ac_status" >&5 + echo "$as_me:2367: \$? = $ac_status" >&5 (exit $ac_status); }; then eval cf_cv_prog_CC_c_o=yes @@ -2370,19 +2375,19 @@ rm -f conftest* fi if test $cf_cv_prog_CC_c_o = yes; then - echo "$as_me:2373: result: yes" >&5 + echo "$as_me:2378: result: yes" >&5 echo "${ECHO_T}yes" >&6 else - echo "$as_me:2376: result: no" >&5 + echo "$as_me:2381: result: no" >&5 echo "${ECHO_T}no" >&6 fi -echo "$as_me:2380: checking for POSIXized ISC" >&5 +echo "$as_me:2385: checking for POSIXized ISC" >&5 echo $ECHO_N "checking for POSIXized ISC... $ECHO_C" >&6 if test -d /etc/conf/kconfig.d && grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1 then - echo "$as_me:2385: result: yes" >&5 + echo "$as_me:2390: result: yes" >&5 echo "${ECHO_T}yes" >&6 ISC=yes # If later tests want to check for ISC. @@ -2396,12 +2401,12 @@ EOF CC="$CC -Xp" fi else - echo "$as_me:2399: result: no" >&5 + echo "$as_me:2404: result: no" >&5 echo "${ECHO_T}no" >&6 ISC= fi -echo "$as_me:2404: checking for ${CC-cc} option to accept ANSI C" >&5 +echo "$as_me:2409: checking for ${CC-cc} option to accept ANSI C" >&5 echo $ECHO_N "checking for ${CC-cc} option to accept ANSI C... $ECHO_C" >&6 if test "${cf_cv_ansi_cc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -2495,7 +2500,7 @@ if test -n "$cf_new_extra_cppflags" ; then fi cat >conftest.$ac_ext <<_ACEOF -#line 2498 "configure" +#line 2503 "configure" #include "confdefs.h" #ifndef CC_HAS_PROTOS @@ -2516,16 +2521,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:2519: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:2524: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:2522: \$? = $ac_status" >&5 + echo "$as_me:2527: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2525: \"$ac_try\"") >&5 + { (eval echo "$as_me:2530: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:2528: \$? = $ac_status" >&5 + echo "$as_me:2533: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_ansi_cc="$cf_arg"; break else @@ -2538,7 +2543,7 @@ CFLAGS="$cf_save_CFLAGS" CPPFLAGS="$cf_save_CPPFLAGS" fi -echo "$as_me:2541: result: $cf_cv_ansi_cc" >&5 +echo "$as_me:2546: result: $cf_cv_ansi_cc" >&5 echo "${ECHO_T}$cf_cv_ansi_cc" >&6 if test "$cf_cv_ansi_cc" != "no"; then @@ -2621,7 +2626,7 @@ fi fi if test "$cf_cv_ansi_cc" = "no"; then - { { echo "$as_me:2624: error: Your compiler does not appear to recognize prototypes. + { { echo "$as_me:2629: error: Your compiler does not appear to recognize prototypes. You have the following choices: a. adjust your compiler options b. get an up-to-date compiler @@ -2661,7 +2666,7 @@ freebsd*) #(vi *) LDPATH=$PATH:/sbin:/usr/sbin # Extract the first word of "ldconfig", so it can be a program name with args. set dummy ldconfig; ac_word=$2 -echo "$as_me:2664: checking for $ac_word" >&5 +echo "$as_me:2669: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_LDCONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -2678,7 +2683,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if $as_executable_p "$ac_dir/$ac_word"; then ac_cv_path_LDCONFIG="$ac_dir/$ac_word" - echo "$as_me:2681: found $ac_dir/$ac_word" >&5 + echo "$as_me:2686: found $ac_dir/$ac_word" >&5 break fi done @@ -2689,10 +2694,10 @@ fi LDCONFIG=$ac_cv_path_LDCONFIG if test -n "$LDCONFIG"; then - echo "$as_me:2692: result: $LDCONFIG" >&5 + echo "$as_me:2697: result: $LDCONFIG" >&5 echo "${ECHO_T}$LDCONFIG" >&6 else - echo "$as_me:2695: result: no" >&5 + echo "$as_me:2700: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -2700,7 +2705,7 @@ fi esac fi -echo "$as_me:2703: checking if you want to ensure bool is consistent with C++" >&5 +echo "$as_me:2708: checking if you want to ensure bool is consistent with C++" >&5 echo $ECHO_N "checking if you want to ensure bool is consistent with C++... $ECHO_C" >&6 # Check whether --with-cxx or --without-cxx was given. @@ -2710,7 +2715,7 @@ if test "${with_cxx+set}" = set; then else cf_with_cxx=yes fi; -echo "$as_me:2713: result: $cf_with_cxx" >&5 +echo "$as_me:2718: result: $cf_with_cxx" >&5 echo "${ECHO_T}$cf_with_cxx" >&6 if test "X$cf_with_cxx" = Xno ; then CXX="" @@ -2728,7 +2733,7 @@ if test -n "$ac_tool_prefix"; then do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -echo "$as_me:2731: checking for $ac_word" >&5 +echo "$as_me:2736: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -2743,7 +2748,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" -echo "$as_me:2746: found $ac_dir/$ac_word" >&5 +echo "$as_me:2751: found $ac_dir/$ac_word" >&5 break done @@ -2751,10 +2756,10 @@ fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then - echo "$as_me:2754: result: $CXX" >&5 + echo "$as_me:2759: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else - echo "$as_me:2757: result: no" >&5 + echo "$as_me:2762: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -2767,7 +2772,7 @@ if test -z "$CXX"; then do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:2770: checking for $ac_word" >&5 +echo "$as_me:2775: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -2782,7 +2787,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_CXX="$ac_prog" -echo "$as_me:2785: found $ac_dir/$ac_word" >&5 +echo "$as_me:2790: found $ac_dir/$ac_word" >&5 break done @@ -2790,10 +2795,10 @@ fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then - echo "$as_me:2793: result: $ac_ct_CXX" >&5 + echo "$as_me:2798: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6 else - echo "$as_me:2796: result: no" >&5 + echo "$as_me:2801: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -2805,32 +2810,32 @@ test -n "$ac_ct_CXX" || ac_ct_CXX="g++" fi # Provide some information about the compiler. -echo "$as_me:2808:" \ +echo "$as_me:2813:" \ "checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` -{ (eval echo "$as_me:2811: \"$ac_compiler --version </dev/null >&5\"") >&5 +{ (eval echo "$as_me:2816: \"$ac_compiler --version </dev/null >&5\"") >&5 (eval $ac_compiler --version </dev/null >&5) 2>&5 ac_status=$? - echo "$as_me:2814: \$? = $ac_status" >&5 + echo "$as_me:2819: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:2816: \"$ac_compiler -v </dev/null >&5\"") >&5 +{ (eval echo "$as_me:2821: \"$ac_compiler -v </dev/null >&5\"") >&5 (eval $ac_compiler -v </dev/null >&5) 2>&5 ac_status=$? - echo "$as_me:2819: \$? = $ac_status" >&5 + echo "$as_me:2824: \$? = $ac_status" >&5 (exit $ac_status); } -{ (eval echo "$as_me:2821: \"$ac_compiler -V </dev/null >&5\"") >&5 +{ (eval echo "$as_me:2826: \"$ac_compiler -V </dev/null >&5\"") >&5 (eval $ac_compiler -V </dev/null >&5) 2>&5 ac_status=$? - echo "$as_me:2824: \$? = $ac_status" >&5 + echo "$as_me:2829: \$? = $ac_status" >&5 (exit $ac_status); } -echo "$as_me:2827: checking whether we are using the GNU C++ compiler" >&5 +echo "$as_me:2832: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6 if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 2833 "configure" +#line 2838 "configure" #include "confdefs.h" int @@ -2845,16 +2850,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:2848: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:2853: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:2851: \$? = $ac_status" >&5 + echo "$as_me:2856: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2854: \"$ac_try\"") >&5 + { (eval echo "$as_me:2859: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:2857: \$? = $ac_status" >&5 + echo "$as_me:2862: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_compiler_gnu=yes else @@ -2866,19 +2871,19 @@ rm -f conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi -echo "$as_me:2869: result: $ac_cv_cxx_compiler_gnu" >&5 +echo "$as_me:2874: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6 GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS CXXFLAGS="-g" -echo "$as_me:2875: checking whether $CXX accepts -g" >&5 +echo "$as_me:2880: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6 if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 2881 "configure" +#line 2886 "configure" #include "confdefs.h" int @@ -2890,16 +2895,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:2893: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:2898: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:2896: \$? = $ac_status" >&5 + echo "$as_me:2901: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2899: \"$ac_try\"") >&5 + { (eval echo "$as_me:2904: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:2902: \$? = $ac_status" >&5 + echo "$as_me:2907: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cxx_g=yes else @@ -2909,7 +2914,7 @@ ac_cv_prog_cxx_g=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:2912: result: $ac_cv_prog_cxx_g" >&5 +echo "$as_me:2917: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS @@ -2936,7 +2941,7 @@ for ac_declaration in \ 'void exit (int);' do cat >conftest.$ac_ext <<_ACEOF -#line 2939 "configure" +#line 2944 "configure" #include "confdefs.h" #include <stdlib.h> $ac_declaration @@ -2949,16 +2954,16 @@ exit (42); } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:2952: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:2957: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:2955: \$? = $ac_status" >&5 + echo "$as_me:2960: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2958: \"$ac_try\"") >&5 + { (eval echo "$as_me:2963: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:2961: \$? = $ac_status" >&5 + echo "$as_me:2966: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else @@ -2968,7 +2973,7 @@ continue fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF -#line 2971 "configure" +#line 2976 "configure" #include "confdefs.h" $ac_declaration int @@ -2980,16 +2985,16 @@ exit (42); } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:2983: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:2988: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:2986: \$? = $ac_status" >&5 + echo "$as_me:2991: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:2989: \"$ac_try\"") >&5 + { (eval echo "$as_me:2994: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:2992: \$? = $ac_status" >&5 + echo "$as_me:2997: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else @@ -3016,7 +3021,7 @@ ac_main_return=return if test "$CXX" = "g++" ; then # Extract the first word of "g++", so it can be a program name with args. set dummy g++; ac_word=$2 -echo "$as_me:3019: checking for $ac_word" >&5 +echo "$as_me:3024: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3033,7 +3038,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if $as_executable_p "$ac_dir/$ac_word"; then ac_cv_path_CXX="$ac_dir/$ac_word" - echo "$as_me:3036: found $ac_dir/$ac_word" >&5 + echo "$as_me:3041: found $ac_dir/$ac_word" >&5 break fi done @@ -3044,16 +3049,16 @@ fi CXX=$ac_cv_path_CXX if test -n "$CXX"; then - echo "$as_me:3047: result: $CXX" >&5 + echo "$as_me:3052: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6 else - echo "$as_me:3050: result: no" >&5 + echo "$as_me:3055: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test "$CXX" = "g++" ; then - { echo "$as_me:3056: WARNING: ignoring hardcoded g++" >&5 + { echo "$as_me:3061: WARNING: ignoring hardcoded g++" >&5 echo "$as_me: WARNING: ignoring hardcoded g++" >&2;} cf_with_cxx=no; CXX=""; GXX=""; fi @@ -3061,11 +3066,11 @@ fi GXX_VERSION=none if test "$GXX" = yes; then - echo "$as_me:3064: checking version of g++" >&5 + echo "$as_me:3069: checking version of g++" >&5 echo $ECHO_N "checking version of g++... $ECHO_C" >&6 GXX_VERSION="`${CXX-g++} --version| sed -e '2,$d' -e 's/^.*(GCC) //' -e 's/^[^0-9.]*//' -e 's/[^0-9.].*//'`" test -z "$GXX_VERSION" && GXX_VERSION=unknown - echo "$as_me:3068: result: $GXX_VERSION" >&5 + echo "$as_me:3073: result: $GXX_VERSION" >&5 echo "${ECHO_T}$GXX_VERSION" >&6 fi @@ -3073,12 +3078,12 @@ case $GXX_VERSION in 1*|2.[0-6]*) # GXX=""; CXX=""; ac_cv_prog_gxx=no # cf_cxx_library=no - { echo "$as_me:3076: WARNING: templates do not work" >&5 + { echo "$as_me:3081: WARNING: templates do not work" >&5 echo "$as_me: WARNING: templates do not work" >&2;} ;; esac -echo "$as_me:3081: checking if you want to build C++ binding and demo" >&5 +echo "$as_me:3086: checking if you want to build C++ binding and demo" >&5 echo $ECHO_N "checking if you want to build C++ binding and demo... $ECHO_C" >&6 # Check whether --with-cxx-binding or --without-cxx-binding was given. @@ -3088,10 +3093,10 @@ if test "${with_cxx_binding+set}" = set; then else cf_with_cxx_binding=$cf_with_cxx fi; -echo "$as_me:3091: result: $cf_with_cxx_binding" >&5 +echo "$as_me:3096: result: $cf_with_cxx_binding" >&5 echo "${ECHO_T}$cf_with_cxx_binding" >&6 -echo "$as_me:3094: checking if you want to build with Ada95" >&5 +echo "$as_me:3099: checking if you want to build with Ada95" >&5 echo $ECHO_N "checking if you want to build with Ada95... $ECHO_C" >&6 # Check whether --with-ada or --without-ada was given. @@ -3101,10 +3106,10 @@ if test "${with_ada+set}" = set; then else cf_with_ada=yes fi; -echo "$as_me:3104: result: $cf_with_ada" >&5 +echo "$as_me:3109: result: $cf_with_ada" >&5 echo "${ECHO_T}$cf_with_ada" >&6 -echo "$as_me:3107: checking if you want to build programs such as tic" >&5 +echo "$as_me:3112: checking if you want to build programs such as tic" >&5 echo $ECHO_N "checking if you want to build programs such as tic... $ECHO_C" >&6 # Check whether --with-progs or --without-progs was given. @@ -3114,10 +3119,10 @@ if test "${with_progs+set}" = set; then else cf_with_progs=yes fi; -echo "$as_me:3117: result: $cf_with_progs" >&5 +echo "$as_me:3122: result: $cf_with_progs" >&5 echo "${ECHO_T}$cf_with_progs" >&6 -echo "$as_me:3120: checking if you wish to install curses.h" >&5 +echo "$as_me:3125: checking if you wish to install curses.h" >&5 echo $ECHO_N "checking if you wish to install curses.h... $ECHO_C" >&6 # Check whether --with-curses-h or --without-curses-h was given. @@ -3127,7 +3132,7 @@ if test "${with_curses_h+set}" = set; then else with_curses_h=yes fi; -echo "$as_me:3130: result: $with_curses_h" >&5 +echo "$as_me:3135: result: $with_curses_h" >&5 echo "${ECHO_T}$with_curses_h" >&6 modules_to_build="ncurses" @@ -3153,7 +3158,7 @@ for ac_prog in mawk gawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:3156: checking for $ac_word" >&5 +echo "$as_me:3161: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3168,7 +3173,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_AWK="$ac_prog" -echo "$as_me:3171: found $ac_dir/$ac_word" >&5 +echo "$as_me:3176: found $ac_dir/$ac_word" >&5 break done @@ -3176,21 +3181,21 @@ fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then - echo "$as_me:3179: result: $AWK" >&5 + echo "$as_me:3184: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6 else - echo "$as_me:3182: result: no" >&5 + echo "$as_me:3187: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$AWK" && break done -test -z "$AWK" && { { echo "$as_me:3189: error: No awk program found" >&5 +test -z "$AWK" && { { echo "$as_me:3194: error: No awk program found" >&5 echo "$as_me: error: No awk program found" >&2;} { (exit 1); exit 1; }; } -echo "$as_me:3193: checking for egrep" >&5 +echo "$as_me:3198: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6 if test "${ac_cv_prog_egrep+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3200,11 +3205,11 @@ else else ac_cv_prog_egrep='egrep' fi fi -echo "$as_me:3203: result: $ac_cv_prog_egrep" >&5 +echo "$as_me:3208: result: $ac_cv_prog_egrep" >&5 echo "${ECHO_T}$ac_cv_prog_egrep" >&6 EGREP=$ac_cv_prog_egrep -test -z "$EGREP" && { { echo "$as_me:3207: error: No egrep program found" >&5 +test -z "$EGREP" && { { echo "$as_me:3212: error: No egrep program found" >&5 echo "$as_me: error: No egrep program found" >&2;} { (exit 1); exit 1; }; } @@ -3220,7 +3225,7 @@ echo "$as_me: error: No egrep program found" >&2;} # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. -echo "$as_me:3223: checking for a BSD compatible install" >&5 +echo "$as_me:3228: checking for a BSD compatible install" >&5 echo $ECHO_N "checking for a BSD compatible install... $ECHO_C" >&6 if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then @@ -3269,7 +3274,7 @@ fi INSTALL=$ac_install_sh fi fi -echo "$as_me:3272: result: $INSTALL" >&5 +echo "$as_me:3277: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. @@ -3294,7 +3299,7 @@ for ac_prog in tdlint lint alint do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:3297: checking for $ac_word" >&5 +echo "$as_me:3302: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_LINT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3309,7 +3314,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_LINT="$ac_prog" -echo "$as_me:3312: found $ac_dir/$ac_word" >&5 +echo "$as_me:3317: found $ac_dir/$ac_word" >&5 break done @@ -3317,57 +3322,91 @@ fi fi LINT=$ac_cv_prog_LINT if test -n "$LINT"; then - echo "$as_me:3320: result: $LINT" >&5 + echo "$as_me:3325: result: $LINT" >&5 echo "${ECHO_T}$LINT" >&6 else - echo "$as_me:3323: result: no" >&5 + echo "$as_me:3328: result: no" >&5 echo "${ECHO_T}no" >&6 fi test -n "$LINT" && break done -echo "$as_me:3330: checking whether ln -s works" >&5 +echo "$as_me:3335: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6 LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then - echo "$as_me:3334: result: yes" >&5 + echo "$as_me:3339: result: yes" >&5 echo "${ECHO_T}yes" >&6 else - echo "$as_me:3337: result: no, using $LN_S" >&5 + echo "$as_me:3342: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6 fi -echo "$as_me:3341: checking whether ${MAKE-make} sets \${MAKE}" >&5 -echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` -if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then +echo "$as_me:3346: checking for long file names" >&5 +echo $ECHO_N "checking for long file names... $ECHO_C" >&6 +if test "${ac_cv_sys_long_file_names+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat >conftest.make <<\EOF -all: - @echo 'ac_maketemp="${MAKE}"' -EOF -# GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes + ac_cv_sys_long_file_names=yes +# Test for long file names in all the places we know might matter: +# . the current directory, where building will happen +# $prefix/lib where we will be installing things +# $exec_prefix/lib likewise +# eval it to expand exec_prefix. +# $TMPDIR if set, where it might want to write temporary files +# if $TMPDIR is not set: +# /tmp where it might want to write temporary files +# /var/tmp likewise +# /usr/tmp likewise +if test -n "$TMPDIR" && test -d "$TMPDIR" && test -w "$TMPDIR"; then + ac_tmpdirs=$TMPDIR else - eval ac_cv_prog_make_${ac_make}_set=no + ac_tmpdirs='/tmp /var/tmp /usr/tmp' fi -rm -f conftest.make +for ac_dir in . $ac_tmpdirs `eval echo $prefix/lib $exec_prefix/lib` ; do + test -d $ac_dir || continue + test -w $ac_dir || continue # It is less confusing to not echo anything here. + ac_xdir=$ac_dir/cf$$ + (umask 077 && mkdir $ac_xdir 2>/dev/null) || continue + ac_tf1=$ac_xdir/conftest9012345 + ac_tf2=$ac_xdir/conftest9012346 + (echo 1 >$ac_tf1) 2>/dev/null + (echo 2 >$ac_tf2) 2>/dev/null + ac_val=`cat $ac_tf1 2>/dev/null` + if test ! -f $ac_tf1 || test "$ac_val" != 1; then + ac_cv_sys_long_file_names=no + rm -rf $ac_xdir 2>/dev/null + break + fi + rm -rf $ac_xdir 2>/dev/null +done fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$as_me:3361: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - SET_MAKE= -else - echo "$as_me:3365: result: no" >&5 -echo "${ECHO_T}no" >&6 - SET_MAKE="MAKE=${MAKE-make}" +echo "$as_me:3385: result: $ac_cv_sys_long_file_names" >&5 +echo "${ECHO_T}$ac_cv_sys_long_file_names" >&6 +if test $ac_cv_sys_long_file_names = yes; then + +cat >>confdefs.h <<\EOF +#define HAVE_LONG_FILE_NAMES 1 +EOF + fi -echo "$as_me:3370: checking if filesystem supports mixed-case filenames" >&5 +echo "$as_me:3395: checking if we should assume mixed-case filenames" >&5 +echo $ECHO_N "checking if we should assume mixed-case filenames... $ECHO_C" >&6 + +# Check whether --enable-mixed-case or --disable-mixed-case was given. +if test "${enable_mixed_case+set}" = set; then + enableval="$enable_mixed_case" + enable_mixedcase=$enableval +else + enable_mixedcase=auto +fi; +echo "$as_me:3405: result: $enable_mixedcase" >&5 +echo "${ECHO_T}$enable_mixedcase" >&6 +if test "$enable_mixedcase" = "auto" ; then + +echo "$as_me:3409: checking if filesystem supports mixed-case filenames" >&5 echo $ECHO_N "checking if filesystem supports mixed-case filenames... $ECHO_C" >&6 if test "${cf_cv_mixedcase+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3394,15 +3433,55 @@ else fi fi -echo "$as_me:3397: result: $cf_cv_mixedcase" >&5 +echo "$as_me:3436: result: $cf_cv_mixedcase" >&5 echo "${ECHO_T}$cf_cv_mixedcase" >&6 test "$cf_cv_mixedcase" = yes && cat >>confdefs.h <<\EOF #define MIXEDCASE_FILENAMES 1 EOF +else + cf_cv_mixedcase=$enable_mixedcase + if test "$enable_mixedcase" = "yes" ; then + cat >>confdefs.h <<\EOF +#define MIXEDCASE_FILENAMES 1 +EOF + + fi +fi + +# do this after mixed-case option (tags/TAGS is not as important as tic). +echo "$as_me:3453: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \${MAKE}... $ECHO_C" >&6 +set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,./+-,__p_,'` +if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\EOF +all: + @echo 'ac_maketemp="${MAKE}"' +EOF +# GNU make sometimes prints "make[1]: Entering...", which would confuse us. +eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=` +if test -n "$ac_maketemp"; then + eval ac_cv_prog_make_${ac_make}_set=yes +else + eval ac_cv_prog_make_${ac_make}_set=no +fi +rm -f conftest.make +fi +if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then + echo "$as_me:3473: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + SET_MAKE= +else + echo "$as_me:3477: result: no" >&5 +echo "${ECHO_T}no" >&6 + SET_MAKE="MAKE=${MAKE-make}" +fi + # Extract the first word of "ctags", so it can be a program name with args. set dummy ctags; ac_word=$2 -echo "$as_me:3405: checking for $ac_word" >&5 +echo "$as_me:3484: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_MAKE_LOWER_TAGS+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3417,7 +3496,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_MAKE_LOWER_TAGS="yes" -echo "$as_me:3420: found $ac_dir/$ac_word" >&5 +echo "$as_me:3499: found $ac_dir/$ac_word" >&5 break done @@ -3426,17 +3505,17 @@ fi fi MAKE_LOWER_TAGS=$ac_cv_prog_MAKE_LOWER_TAGS if test -n "$MAKE_LOWER_TAGS"; then - echo "$as_me:3429: result: $MAKE_LOWER_TAGS" >&5 + echo "$as_me:3508: result: $MAKE_LOWER_TAGS" >&5 echo "${ECHO_T}$MAKE_LOWER_TAGS" >&6 else - echo "$as_me:3432: result: no" >&5 + echo "$as_me:3511: result: no" >&5 echo "${ECHO_T}no" >&6 fi if test "$cf_cv_mixedcase" = yes ; then # Extract the first word of "etags", so it can be a program name with args. set dummy etags; ac_word=$2 -echo "$as_me:3439: checking for $ac_word" >&5 +echo "$as_me:3518: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_MAKE_UPPER_TAGS+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3451,7 +3530,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_MAKE_UPPER_TAGS="yes" -echo "$as_me:3454: found $ac_dir/$ac_word" >&5 +echo "$as_me:3533: found $ac_dir/$ac_word" >&5 break done @@ -3460,10 +3539,10 @@ fi fi MAKE_UPPER_TAGS=$ac_cv_prog_MAKE_UPPER_TAGS if test -n "$MAKE_UPPER_TAGS"; then - echo "$as_me:3463: result: $MAKE_UPPER_TAGS" >&5 + echo "$as_me:3542: result: $MAKE_UPPER_TAGS" >&5 echo "${ECHO_T}$MAKE_UPPER_TAGS" >&6 else - echo "$as_me:3466: result: no" >&5 + echo "$as_me:3545: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3483,7 +3562,7 @@ else MAKE_LOWER_TAGS="#" fi -echo "$as_me:3486: checking for makeflags variable" >&5 +echo "$as_me:3565: checking for makeflags variable" >&5 echo $ECHO_N "checking for makeflags variable... $ECHO_C" >&6 if test "${cf_cv_makeflags+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3517,95 +3596,13 @@ CF_EOF rm -f cf_makeflags.tmp fi -echo "$as_me:3520: result: $cf_cv_makeflags" >&5 +echo "$as_me:3599: result: $cf_cv_makeflags" >&5 echo "${ECHO_T}$cf_cv_makeflags" >&6 -echo "$as_me:3523: checking for long file names" >&5 -echo $ECHO_N "checking for long file names... $ECHO_C" >&6 -if test "${ac_cv_sys_long_file_names+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - ac_cv_sys_long_file_names=yes -# Test for long file names in all the places we know might matter: -# . the current directory, where building will happen -# $prefix/lib where we will be installing things -# $exec_prefix/lib likewise -# eval it to expand exec_prefix. -# $TMPDIR if set, where it might want to write temporary files -# if $TMPDIR is not set: -# /tmp where it might want to write temporary files -# /var/tmp likewise -# /usr/tmp likewise -if test -n "$TMPDIR" && test -d "$TMPDIR" && test -w "$TMPDIR"; then - ac_tmpdirs=$TMPDIR -else - ac_tmpdirs='/tmp /var/tmp /usr/tmp' -fi -for ac_dir in . $ac_tmpdirs `eval echo $prefix/lib $exec_prefix/lib` ; do - test -d $ac_dir || continue - test -w $ac_dir || continue # It is less confusing to not echo anything here. - ac_xdir=$ac_dir/cf$$ - (umask 077 && mkdir $ac_xdir 2>/dev/null) || continue - ac_tf1=$ac_xdir/conftest9012345 - ac_tf2=$ac_xdir/conftest9012346 - (echo 1 >$ac_tf1) 2>/dev/null - (echo 2 >$ac_tf2) 2>/dev/null - ac_val=`cat $ac_tf1 2>/dev/null` - if test ! -f $ac_tf1 || test "$ac_val" != 1; then - ac_cv_sys_long_file_names=no - rm -rf $ac_xdir 2>/dev/null - break - fi - rm -rf $ac_xdir 2>/dev/null -done -fi -echo "$as_me:3562: result: $ac_cv_sys_long_file_names" >&5 -echo "${ECHO_T}$ac_cv_sys_long_file_names" >&6 -if test $ac_cv_sys_long_file_names = yes; then - -cat >>confdefs.h <<\EOF -#define HAVE_LONG_FILE_NAMES 1 -EOF - -fi - -echo "$as_me:3572: checking if filesystem supports mixed-case filenames" >&5 -echo $ECHO_N "checking if filesystem supports mixed-case filenames... $ECHO_C" >&6 -if test "${cf_cv_mixedcase+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - -if test "$cross_compiling" = yes ; then - case $target_alias in #(vi - *-os2-emx*|*-msdosdjgpp*|*-cygwin*|*-mingw32*|*-uwin*) #(vi - cf_cv_mixedcase=no - ;; - *) - cf_cv_mixedcase=yes - ;; - esac -else - rm -f conftest CONFTEST - echo test >conftest - if test -f CONFTEST ; then - cf_cv_mixedcase=no - else - cf_cv_mixedcase=yes - fi - rm -f conftest CONFTEST -fi - -fi -echo "$as_me:3599: result: $cf_cv_mixedcase" >&5 -echo "${ECHO_T}$cf_cv_mixedcase" >&6 -test "$cf_cv_mixedcase" = yes && cat >>confdefs.h <<\EOF -#define MIXEDCASE_FILENAMES 1 -EOF - if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -echo "$as_me:3608: checking for $ac_word" >&5 +echo "$as_me:3605: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3620,7 +3617,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" -echo "$as_me:3623: found $ac_dir/$ac_word" >&5 +echo "$as_me:3620: found $ac_dir/$ac_word" >&5 break done @@ -3628,10 +3625,10 @@ fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then - echo "$as_me:3631: result: $RANLIB" >&5 + echo "$as_me:3628: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6 else - echo "$as_me:3634: result: no" >&5 + echo "$as_me:3631: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3640,7 +3637,7 @@ if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 -echo "$as_me:3643: checking for $ac_word" >&5 +echo "$as_me:3640: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3655,7 +3652,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_RANLIB="ranlib" -echo "$as_me:3658: found $ac_dir/$ac_word" >&5 +echo "$as_me:3655: found $ac_dir/$ac_word" >&5 break done @@ -3664,10 +3661,10 @@ fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then - echo "$as_me:3667: result: $ac_ct_RANLIB" >&5 + echo "$as_me:3664: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6 else - echo "$as_me:3670: result: no" >&5 + echo "$as_me:3667: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3679,7 +3676,7 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ld", so it can be a program name with args. set dummy ${ac_tool_prefix}ld; ac_word=$2 -echo "$as_me:3682: checking for $ac_word" >&5 +echo "$as_me:3679: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3694,7 +3691,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_LD="${ac_tool_prefix}ld" -echo "$as_me:3697: found $ac_dir/$ac_word" >&5 +echo "$as_me:3694: found $ac_dir/$ac_word" >&5 break done @@ -3702,10 +3699,10 @@ fi fi LD=$ac_cv_prog_LD if test -n "$LD"; then - echo "$as_me:3705: result: $LD" >&5 + echo "$as_me:3702: result: $LD" >&5 echo "${ECHO_T}$LD" >&6 else - echo "$as_me:3708: result: no" >&5 + echo "$as_me:3705: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3714,7 +3711,7 @@ if test -z "$ac_cv_prog_LD"; then ac_ct_LD=$LD # Extract the first word of "ld", so it can be a program name with args. set dummy ld; ac_word=$2 -echo "$as_me:3717: checking for $ac_word" >&5 +echo "$as_me:3714: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3729,7 +3726,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_LD="ld" -echo "$as_me:3732: found $ac_dir/$ac_word" >&5 +echo "$as_me:3729: found $ac_dir/$ac_word" >&5 break done @@ -3738,10 +3735,10 @@ fi fi ac_ct_LD=$ac_cv_prog_ac_ct_LD if test -n "$ac_ct_LD"; then - echo "$as_me:3741: result: $ac_ct_LD" >&5 + echo "$as_me:3738: result: $ac_ct_LD" >&5 echo "${ECHO_T}$ac_ct_LD" >&6 else - echo "$as_me:3744: result: no" >&5 + echo "$as_me:3741: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3753,7 +3750,7 @@ fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 -echo "$as_me:3756: checking for $ac_word" >&5 +echo "$as_me:3753: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3768,7 +3765,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_AR="${ac_tool_prefix}ar" -echo "$as_me:3771: found $ac_dir/$ac_word" >&5 +echo "$as_me:3768: found $ac_dir/$ac_word" >&5 break done @@ -3776,10 +3773,10 @@ fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then - echo "$as_me:3779: result: $AR" >&5 + echo "$as_me:3776: result: $AR" >&5 echo "${ECHO_T}$AR" >&6 else - echo "$as_me:3782: result: no" >&5 + echo "$as_me:3779: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3788,7 +3785,7 @@ if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 -echo "$as_me:3791: checking for $ac_word" >&5 +echo "$as_me:3788: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_ac_ct_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3803,7 +3800,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_ac_ct_AR="ar" -echo "$as_me:3806: found $ac_dir/$ac_word" >&5 +echo "$as_me:3803: found $ac_dir/$ac_word" >&5 break done @@ -3812,10 +3809,10 @@ fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then - echo "$as_me:3815: result: $ac_ct_AR" >&5 + echo "$as_me:3812: result: $ac_ct_AR" >&5 echo "${ECHO_T}$ac_ct_AR" >&6 else - echo "$as_me:3818: result: no" >&5 + echo "$as_me:3815: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3828,7 +3825,7 @@ if test "${cf_cv_subst_AR_OPTS+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else -echo "$as_me:3831: checking for archiver options (symbol AR_OPTS)" >&5 +echo "$as_me:3828: checking for archiver options (symbol AR_OPTS)" >&5 echo $ECHO_N "checking for archiver options (symbol AR_OPTS)... $ECHO_C" >&6 if test -z "$AR_OPTS" ; then @@ -3837,12 +3834,12 @@ if test -z "$AR_OPTS" ; then fi cf_cv_subst_AR_OPTS=$AR_OPTS -echo "$as_me:3840: result: $AR_OPTS" >&5 +echo "$as_me:3837: result: $AR_OPTS" >&5 echo "${ECHO_T}$AR_OPTS" >&6 fi -echo "$as_me:3845: checking if you have specified an install-prefix" >&5 +echo "$as_me:3842: checking if you have specified an install-prefix" >&5 echo $ECHO_N "checking if you have specified an install-prefix... $ECHO_C" >&6 # Check whether --with-install-prefix or --without-install-prefix was given. @@ -3855,7 +3852,7 @@ if test "${with_install_prefix+set}" = set; then ;; esac fi; -echo "$as_me:3858: result: $DESTDIR" >&5 +echo "$as_me:3855: result: $DESTDIR" >&5 echo "${ECHO_T}$DESTDIR" >&6 ############################################################################### @@ -3883,7 +3880,7 @@ else do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 -echo "$as_me:3886: checking for $ac_word" >&5 +echo "$as_me:3883: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_BUILD_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -3898,7 +3895,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_BUILD_CC="$ac_prog" -echo "$as_me:3901: found $ac_dir/$ac_word" >&5 +echo "$as_me:3898: found $ac_dir/$ac_word" >&5 break done @@ -3906,10 +3903,10 @@ fi fi BUILD_CC=$ac_cv_prog_BUILD_CC if test -n "$BUILD_CC"; then - echo "$as_me:3909: result: $BUILD_CC" >&5 + echo "$as_me:3906: result: $BUILD_CC" >&5 echo "${ECHO_T}$BUILD_CC" >&6 else - echo "$as_me:3912: result: no" >&5 + echo "$as_me:3909: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -3917,12 +3914,12 @@ fi done fi; - echo "$as_me:3920: checking for native build C compiler" >&5 + echo "$as_me:3917: checking for native build C compiler" >&5 echo $ECHO_N "checking for native build C compiler... $ECHO_C" >&6 - echo "$as_me:3922: result: $BUILD_CC" >&5 + echo "$as_me:3919: result: $BUILD_CC" >&5 echo "${ECHO_T}$BUILD_CC" >&6 - echo "$as_me:3925: checking for native build C preprocessor" >&5 + echo "$as_me:3922: checking for native build C preprocessor" >&5 echo $ECHO_N "checking for native build C preprocessor... $ECHO_C" >&6 # Check whether --with-build-cpp or --without-build-cpp was given. @@ -3932,10 +3929,10 @@ if test "${with_build_cpp+set}" = set; then else BUILD_CPP='${BUILD_CC} -E' fi; - echo "$as_me:3935: result: $BUILD_CPP" >&5 + echo "$as_me:3932: result: $BUILD_CPP" >&5 echo "${ECHO_T}$BUILD_CPP" >&6 - echo "$as_me:3938: checking for native build C flags" >&5 + echo "$as_me:3935: checking for native build C flags" >&5 echo $ECHO_N "checking for native build C flags... $ECHO_C" >&6 # Check whether --with-build-cflags or --without-build-cflags was given. @@ -3943,10 +3940,10 @@ if test "${with_build_cflags+set}" = set; then withval="$with_build_cflags" BUILD_CFLAGS="$withval" fi; - echo "$as_me:3946: result: $BUILD_CFLAGS" >&5 + echo "$as_me:3943: result: $BUILD_CFLAGS" >&5 echo "${ECHO_T}$BUILD_CFLAGS" >&6 - echo "$as_me:3949: checking for native build C preprocessor-flags" >&5 + echo "$as_me:3946: checking for native build C preprocessor-flags" >&5 echo $ECHO_N "checking for native build C preprocessor-flags... $ECHO_C" >&6 # Check whether --with-build-cppflags or --without-build-cppflags was given. @@ -3954,10 +3951,10 @@ if test "${with_build_cppflags+set}" = set; then withval="$with_build_cppflags" BUILD_CPPFLAGS="$withval" fi; - echo "$as_me:3957: result: $BUILD_CPPFLAGS" >&5 + echo "$as_me:3954: result: $BUILD_CPPFLAGS" >&5 echo "${ECHO_T}$BUILD_CPPFLAGS" >&6 - echo "$as_me:3960: checking for native build linker-flags" >&5 + echo "$as_me:3957: checking for native build linker-flags" >&5 echo $ECHO_N "checking for native build linker-flags... $ECHO_C" >&6 # Check whether --with-build-ldflags or --without-build-ldflags was given. @@ -3965,10 +3962,10 @@ if test "${with_build_ldflags+set}" = set; then withval="$with_build_ldflags" BUILD_LDFLAGS="$withval" fi; - echo "$as_me:3968: result: $BUILD_LDFLAGS" >&5 + echo "$as_me:3965: result: $BUILD_LDFLAGS" >&5 echo "${ECHO_T}$BUILD_LDFLAGS" >&6 - echo "$as_me:3971: checking for native build linker-libraries" >&5 + echo "$as_me:3968: checking for native build linker-libraries" >&5 echo $ECHO_N "checking for native build linker-libraries... $ECHO_C" >&6 # Check whether --with-build-libs or --without-build-libs was given. @@ -3976,7 +3973,7 @@ if test "${with_build_libs+set}" = set; then withval="$with_build_libs" BUILD_LIBS="$withval" fi; - echo "$as_me:3979: result: $BUILD_LIBS" >&5 + echo "$as_me:3976: result: $BUILD_LIBS" >&5 echo "${ECHO_T}$BUILD_LIBS" >&6 # this assumes we're on Unix. @@ -3986,7 +3983,7 @@ echo "${ECHO_T}$BUILD_LIBS" >&6 : ${BUILD_CC:='${CC}'} if ( test "$BUILD_CC" = "$CC" || test "$BUILD_CC" = '${CC}' ) ; then - { { echo "$as_me:3989: error: Cross-build requires two compilers. + { { echo "$as_me:3986: error: Cross-build requires two compilers. Use --with-build-cc to specify the native compiler." >&5 echo "$as_me: error: Cross-build requires two compilers. Use --with-build-cc to specify the native compiler." >&2;} @@ -4023,11 +4020,11 @@ LIB_PREP="$RANLIB" # doing: LIB_CLEAN= LIB_COMPILE= -LIB_LINK= +LIB_LINK='${CC}' LIB_INSTALL= LIB_UNINSTALL= -echo "$as_me:4030: checking if you want to build libraries with libtool" >&5 +echo "$as_me:4027: checking if you want to build libraries with libtool" >&5 echo $ECHO_N "checking if you want to build libraries with libtool... $ECHO_C" >&6 # Check whether --with-libtool or --without-libtool was given. @@ -4037,7 +4034,7 @@ if test "${with_libtool+set}" = set; then else with_libtool=no fi; -echo "$as_me:4040: result: $with_libtool" >&5 +echo "$as_me:4037: result: $with_libtool" >&5 echo "${ECHO_T}$with_libtool" >&6 if test "$with_libtool" != "no"; then @@ -4068,7 +4065,7 @@ case ".$with_libtool" in #(vi with_libtool=`echo $with_libtool | sed -e s%NONE%$cf_path_syntax%` ;; *) - { { echo "$as_me:4071: error: expected a pathname, not \"$with_libtool\"" >&5 + { { echo "$as_me:4068: error: expected a pathname, not \"$with_libtool\"" >&5 echo "$as_me: error: expected a pathname, not \"$with_libtool\"" >&2;} { (exit 1); exit 1; }; } ;; @@ -4078,7 +4075,7 @@ esac else # Extract the first word of "libtool", so it can be a program name with args. set dummy libtool; ac_word=$2 -echo "$as_me:4081: checking for $ac_word" >&5 +echo "$as_me:4078: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_path_LIBTOOL+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -4095,7 +4092,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if $as_executable_p "$ac_dir/$ac_word"; then ac_cv_path_LIBTOOL="$ac_dir/$ac_word" - echo "$as_me:4098: found $ac_dir/$ac_word" >&5 + echo "$as_me:4095: found $ac_dir/$ac_word" >&5 break fi done @@ -4106,42 +4103,42 @@ fi LIBTOOL=$ac_cv_path_LIBTOOL if test -n "$LIBTOOL"; then - echo "$as_me:4109: result: $LIBTOOL" >&5 + echo "$as_me:4106: result: $LIBTOOL" >&5 echo "${ECHO_T}$LIBTOOL" >&6 else - echo "$as_me:4112: result: no" >&5 + echo "$as_me:4109: result: no" >&5 echo "${ECHO_T}no" >&6 fi fi if test -z "$LIBTOOL" ; then - { { echo "$as_me:4118: error: Cannot find libtool" >&5 + { { echo "$as_me:4115: error: Cannot find libtool" >&5 echo "$as_me: error: Cannot find libtool" >&2;} { (exit 1); exit 1; }; } fi - LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} -version-info `cut -f1 ${srcdir}/VERSION` -o' - LIB_OBJECT='${OBJECTS}.o=.lo)' + LIB_CREATE='${LIBTOOL} --mode=link ${CC} -rpath ${DESTDIR}${libdir} -version-info `cut -f1 ${srcdir}/VERSION` ${LIBTOOL_OPTS} -o' + LIB_OBJECT='${OBJECTS:.o=.lo}' LIB_SUFFIX=.la LIB_CLEAN='${LIBTOOL} --mode=clean' LIB_COMPILE='${LIBTOOL} --mode=compile' - LIB_LINK='${LIBTOOL} --mode=link' + LIB_LINK='${LIBTOOL} --mode=link ${CC} ${LIBTOOL_OPTS}' LIB_INSTALL='${LIBTOOL} --mode=install' LIB_UNINSTALL='${LIBTOOL} --mode=uninstall' LIB_PREP=: # Show the version of libtool - echo "$as_me:4133: checking version of libtool" >&5 + echo "$as_me:4130: checking version of libtool" >&5 echo $ECHO_N "checking version of libtool... $ECHO_C" >&6 # Save the version in a cache variable - this is not entirely a good # thing, but the version string from libtool is very ugly, and for # bug reports it might be useful to have the original string. - cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '2,$d' -e 's/([^)]*)//g' -e 's/^[^1-9]*//' -e 's/[^0-9.].*//'` - echo "$as_me:4140: result: $cf_cv_libtool_version" >&5 + cf_cv_libtool_version=`$LIBTOOL --version 2>&1 | sed -e '/^$/d' |sed -e '2,$d' -e 's/([^)]*)//g' -e 's/^[^1-9]*//' -e 's/[^0-9.].*//'` + echo "$as_me:4137: result: $cf_cv_libtool_version" >&5 echo "${ECHO_T}$cf_cv_libtool_version" >&6 if test -z "$cf_cv_libtool_version" ; then - { { echo "$as_me:4143: error: This is not libtool" >&5 -echo "$as_me: error: This is not libtool" >&2;} + { { echo "$as_me:4140: error: This is not GNU libtool" >&5 +echo "$as_me: error: This is not GNU libtool" >&2;} { (exit 1); exit 1; }; } fi @@ -4167,7 +4164,7 @@ cf_list_models="$cf_list_models libtool" else -echo "$as_me:4170: checking if you want to build shared libraries" >&5 +echo "$as_me:4167: checking if you want to build shared libraries" >&5 echo $ECHO_N "checking if you want to build shared libraries... $ECHO_C" >&6 # Check whether --with-shared or --without-shared was given. @@ -4177,11 +4174,11 @@ if test "${with_shared+set}" = set; then else with_shared=no fi; -echo "$as_me:4180: result: $with_shared" >&5 +echo "$as_me:4177: result: $with_shared" >&5 echo "${ECHO_T}$with_shared" >&6 test "$with_shared" = "yes" && cf_list_models="$cf_list_models shared" -echo "$as_me:4184: checking if you want to build static libraries" >&5 +echo "$as_me:4181: checking if you want to build static libraries" >&5 echo $ECHO_N "checking if you want to build static libraries... $ECHO_C" >&6 # Check whether --with-normal or --without-normal was given. @@ -4191,11 +4188,11 @@ if test "${with_normal+set}" = set; then else with_normal=yes fi; -echo "$as_me:4194: result: $with_normal" >&5 +echo "$as_me:4191: result: $with_normal" >&5 echo "${ECHO_T}$with_normal" >&6 test "$with_normal" = "yes" && cf_list_models="$cf_list_models normal" -echo "$as_me:4198: checking if you want to build debug libraries" >&5 +echo "$as_me:4195: checking if you want to build debug libraries" >&5 echo $ECHO_N "checking if you want to build debug libraries... $ECHO_C" >&6 # Check whether --with-debug or --without-debug was given. @@ -4205,11 +4202,11 @@ if test "${with_debug+set}" = set; then else with_debug=yes fi; -echo "$as_me:4208: result: $with_debug" >&5 +echo "$as_me:4205: result: $with_debug" >&5 echo "${ECHO_T}$with_debug" >&6 test "$with_debug" = "yes" && cf_list_models="$cf_list_models debug" -echo "$as_me:4212: checking if you want to build profiling libraries" >&5 +echo "$as_me:4209: checking if you want to build profiling libraries" >&5 echo $ECHO_N "checking if you want to build profiling libraries... $ECHO_C" >&6 # Check whether --with-profile or --without-profile was given. @@ -4219,7 +4216,7 @@ if test "${with_profile+set}" = set; then else with_profile=no fi; -echo "$as_me:4222: result: $with_profile" >&5 +echo "$as_me:4219: result: $with_profile" >&5 echo "${ECHO_T}$with_profile" >&6 test "$with_profile" = "yes" && cf_list_models="$cf_list_models profile" @@ -4227,23 +4224,25 @@ fi ############################################################################### -echo "$as_me:4230: checking for specified models" >&5 +echo "$as_me:4227: checking for specified models" >&5 echo $ECHO_N "checking for specified models... $ECHO_C" >&6 test -z "$cf_list_models" && cf_list_models=normal test "$with_libtool" != "no" && cf_list_models=libtool -echo "$as_me:4234: result: $cf_list_models" >&5 +echo "$as_me:4231: result: $cf_list_models" >&5 echo "${ECHO_T}$cf_list_models" >&6 ### Use the first model as the default, and save its suffix for use in building ### up test-applications. -echo "$as_me:4239: checking for default model" >&5 +echo "$as_me:4236: checking for default model" >&5 echo $ECHO_N "checking for default model... $ECHO_C" >&6 DFT_LWR_MODEL=`echo "$cf_list_models" | $AWK '{print $1}'` -echo "$as_me:4242: result: $DFT_LWR_MODEL" >&5 +echo "$as_me:4239: result: $DFT_LWR_MODEL" >&5 echo "${ECHO_T}$DFT_LWR_MODEL" >&6 DFT_UPR_MODEL=`echo "$DFT_LWR_MODEL" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` +TICS_NAME=tic + TINFO_NAME=tinfo LIB_NAME=ncurses @@ -4264,7 +4263,7 @@ LIB_SUFFIX= ############################################################################### -echo "$as_me:4267: checking if you want to build a separate terminfo library" >&5 +echo "$as_me:4266: checking if you want to build a separate terminfo library" >&5 echo $ECHO_N "checking if you want to build a separate terminfo library... $ECHO_C" >&6 # Check whether --with-termlib or --without-termlib was given. @@ -4274,13 +4273,26 @@ if test "${with_termlib+set}" = set; then else with_termlib=no fi; -echo "$as_me:4277: result: $with_termlib" >&5 +echo "$as_me:4276: result: $with_termlib" >&5 echo "${ECHO_T}$with_termlib" >&6 +echo "$as_me:4279: checking if you want to build a separate tic library" >&5 +echo $ECHO_N "checking if you want to build a separate tic library... $ECHO_C" >&6 + +# Check whether --with-ticlib or --without-ticlib was given. +if test "${with_ticlib+set}" = set; then + withval="$with_ticlib" + with_ticlib=$withval +else + with_ticlib=no +fi; +echo "$as_me:4289: result: $with_ticlib" >&5 +echo "${ECHO_T}$with_ticlib" >&6 + ### Checks for special libraries, must be done up-front. SHLIB_LIST="" -echo "$as_me:4283: checking if you want to link with the GPM mouse library" >&5 +echo "$as_me:4295: checking if you want to link with the GPM mouse library" >&5 echo $ECHO_N "checking if you want to link with the GPM mouse library... $ECHO_C" >&6 # Check whether --with-gpm or --without-gpm was given. @@ -4290,27 +4302,27 @@ if test "${with_gpm+set}" = set; then else with_gpm=maybe fi; -echo "$as_me:4293: result: $with_gpm" >&5 +echo "$as_me:4305: result: $with_gpm" >&5 echo "${ECHO_T}$with_gpm" >&6 if test "$with_gpm" != no ; then - echo "$as_me:4297: checking for gpm.h" >&5 + echo "$as_me:4309: checking for gpm.h" >&5 echo $ECHO_N "checking for gpm.h... $ECHO_C" >&6 if test "${ac_cv_header_gpm_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 4303 "configure" +#line 4315 "configure" #include "confdefs.h" #include <gpm.h> _ACEOF -if { (eval echo "$as_me:4307: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:4319: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:4313: \$? = $ac_status" >&5 + echo "$as_me:4325: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -4329,7 +4341,7 @@ else fi rm -f conftest.err conftest.$ac_ext fi -echo "$as_me:4332: result: $ac_cv_header_gpm_h" >&5 +echo "$as_me:4344: result: $ac_cv_header_gpm_h" >&5 echo "${ECHO_T}$ac_cv_header_gpm_h" >&6 if test $ac_cv_header_gpm_h = yes; then @@ -4340,12 +4352,14 @@ EOF if test "$with_gpm" != yes && test "$with_gpm" != maybe ; then test -n "$verbose" && echo " assuming we really have GPM library" 1>&6 +echo "${as_me-configure}:4355: testing assuming we really have GPM library ..." 1>&5 + cat >>confdefs.h <<\EOF #define HAVE_LIBGPM 1 EOF else - echo "$as_me:4348: checking for Gpm_Open in -lgpm" >&5 + echo "$as_me:4362: checking for Gpm_Open in -lgpm" >&5 echo $ECHO_N "checking for Gpm_Open in -lgpm... $ECHO_C" >&6 if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -4353,7 +4367,7 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lgpm $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 4356 "configure" +#line 4370 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -4372,16 +4386,16 @@ Gpm_Open (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4375: \"$ac_link\"") >&5 +if { (eval echo "$as_me:4389: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:4378: \$? = $ac_status" >&5 + echo "$as_me:4392: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4381: \"$ac_try\"") >&5 + { (eval echo "$as_me:4395: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4384: \$? = $ac_status" >&5 + echo "$as_me:4398: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_gpm_Gpm_Open=yes else @@ -4392,13 +4406,13 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:4395: result: $ac_cv_lib_gpm_Gpm_Open" >&5 +echo "$as_me:4409: result: $ac_cv_lib_gpm_Gpm_Open" >&5 echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Open" >&6 if test $ac_cv_lib_gpm_Gpm_Open = yes; then : else - { { echo "$as_me:4401: error: Cannot link with GPM library" >&5 + { { echo "$as_me:4415: error: Cannot link with GPM library" >&5 echo "$as_me: error: Cannot link with GPM library" >&2;} { (exit 1); exit 1; }; } fi @@ -4408,7 +4422,7 @@ fi else - test "$with_gpm" != maybe && { echo "$as_me:4411: WARNING: Cannot find GPM header" >&5 + test "$with_gpm" != maybe && { echo "$as_me:4425: WARNING: Cannot find GPM header" >&5 echo "$as_me: WARNING: Cannot find GPM header" >&2;} with_gpm=no @@ -4417,7 +4431,7 @@ fi fi if test "$with_gpm" != no ; then - echo "$as_me:4420: checking if you want to load GPM dynamically" >&5 + echo "$as_me:4434: checking if you want to load GPM dynamically" >&5 echo $ECHO_N "checking if you want to load GPM dynamically... $ECHO_C" >&6 # Check whether --with-dlsym or --without-dlsym was given. @@ -4427,18 +4441,18 @@ if test "${with_dlsym+set}" = set; then else with_dlsym=yes fi; - echo "$as_me:4430: result: $with_dlsym" >&5 + echo "$as_me:4444: result: $with_dlsym" >&5 echo "${ECHO_T}$with_dlsym" >&6 if test "$with_dlsym" = yes ; then cf_have_dlsym=no -echo "$as_me:4435: checking for dlsym" >&5 +echo "$as_me:4449: checking for dlsym" >&5 echo $ECHO_N "checking for dlsym... $ECHO_C" >&6 if test "${ac_cv_func_dlsym+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 4441 "configure" +#line 4455 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dlsym (); below. */ @@ -4469,16 +4483,16 @@ f = dlsym; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4472: \"$ac_link\"") >&5 +if { (eval echo "$as_me:4486: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:4475: \$? = $ac_status" >&5 + echo "$as_me:4489: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4478: \"$ac_try\"") >&5 + { (eval echo "$as_me:4492: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4481: \$? = $ac_status" >&5 + echo "$as_me:4495: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_dlsym=yes else @@ -4488,14 +4502,14 @@ ac_cv_func_dlsym=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:4491: result: $ac_cv_func_dlsym" >&5 +echo "$as_me:4505: result: $ac_cv_func_dlsym" >&5 echo "${ECHO_T}$ac_cv_func_dlsym" >&6 if test $ac_cv_func_dlsym = yes; then cf_have_dlsym=yes else cf_have_libdl=no -echo "$as_me:4498: checking for dlsym in -ldl" >&5 +echo "$as_me:4512: checking for dlsym in -ldl" >&5 echo $ECHO_N "checking for dlsym in -ldl... $ECHO_C" >&6 if test "${ac_cv_lib_dl_dlsym+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -4503,7 +4517,7 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 4506 "configure" +#line 4520 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -4522,16 +4536,16 @@ dlsym (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4525: \"$ac_link\"") >&5 +if { (eval echo "$as_me:4539: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:4528: \$? = $ac_status" >&5 + echo "$as_me:4542: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4531: \"$ac_try\"") >&5 + { (eval echo "$as_me:4545: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4534: \$? = $ac_status" >&5 + echo "$as_me:4548: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dl_dlsym=yes else @@ -4542,7 +4556,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:4545: result: $ac_cv_lib_dl_dlsym" >&5 +echo "$as_me:4559: result: $ac_cv_lib_dl_dlsym" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlsym" >&6 if test $ac_cv_lib_dl_dlsym = yes; then @@ -4555,10 +4569,10 @@ fi if test "$cf_have_dlsym" = yes ; then test "$cf_have_libdl" = yes && LIBS="-ldl $LIBS" - echo "$as_me:4558: checking whether able to link to dl*() functions" >&5 + echo "$as_me:4572: checking whether able to link to dl*() functions" >&5 echo $ECHO_N "checking whether able to link to dl*() functions... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line 4561 "configure" +#line 4575 "configure" #include "confdefs.h" #include <dlfcn.h> int @@ -4576,16 +4590,16 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4579: \"$ac_link\"") >&5 +if { (eval echo "$as_me:4593: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:4582: \$? = $ac_status" >&5 + echo "$as_me:4596: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4585: \"$ac_try\"") >&5 + { (eval echo "$as_me:4599: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4588: \$? = $ac_status" >&5 + echo "$as_me:4602: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cat >>confdefs.h <<\EOF @@ -4596,15 +4610,15 @@ else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 - { { echo "$as_me:4599: error: Cannot link test program for libdl" >&5 + { { echo "$as_me:4613: error: Cannot link test program for libdl" >&5 echo "$as_me: error: Cannot link test program for libdl" >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - echo "$as_me:4604: result: ok" >&5 + echo "$as_me:4618: result: ok" >&5 echo "${ECHO_T}ok" >&6 else - { { echo "$as_me:4607: error: Cannot find dlsym function" >&5 + { { echo "$as_me:4621: error: Cannot find dlsym function" >&5 echo "$as_me: error: Cannot find dlsym function" >&2;} { (exit 1); exit 1; }; } fi @@ -4612,10 +4626,12 @@ fi if test "$with_gpm" != yes ; then test -n "$verbose" && echo " assuming soname for gpm is $with_gpm" 1>&6 +echo "${as_me-configure}:4629: testing assuming soname for gpm is $with_gpm ..." 1>&5 + cf_cv_gpm_soname="$with_gpm" else -echo "$as_me:4618: checking for soname of gpm library" >&5 +echo "$as_me:4634: checking for soname of gpm library" >&5 echo $ECHO_N "checking for soname of gpm library... $ECHO_C" >&6 if test "${cf_cv_gpm_soname+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -4633,15 +4649,15 @@ if (Gpm_Open(0,0)) Gpm_Close(); CF_EOF cf_save_LIBS="$LIBS" LIBS="-lgpm $LIBS" - if { (eval echo "$as_me:4636: \"$ac_compile\"") >&5 + if { (eval echo "$as_me:4652: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:4639: \$? = $ac_status" >&5 + echo "$as_me:4655: \$? = $ac_status" >&5 (exit $ac_status); } ; then - if { (eval echo "$as_me:4641: \"$ac_link\"") >&5 + if { (eval echo "$as_me:4657: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:4644: \$? = $ac_status" >&5 + echo "$as_me:4660: \$? = $ac_status" >&5 (exit $ac_status); } ; then cf_cv_gpm_soname=`ldd conftest$ac_exeext 2>/dev/null | sed -e 's,^.*/,,' -e 's, .*$,,' | fgrep libgpm.` test -z "$cf_cv_gpm_soname" && cf_cv_gpm_soname=unknown @@ -4652,7 +4668,7 @@ LIBS="$cf_save_LIBS" fi fi -echo "$as_me:4655: result: $cf_cv_gpm_soname" >&5 +echo "$as_me:4671: result: $cf_cv_gpm_soname" >&5 echo "${ECHO_T}$cf_cv_gpm_soname" >&6 fi @@ -4668,7 +4684,7 @@ EOF #define HAVE_LIBGPM 1 EOF - echo "$as_me:4671: checking for Gpm_Wgetch in -lgpm" >&5 +echo "$as_me:4687: checking for Gpm_Wgetch in -lgpm" >&5 echo $ECHO_N "checking for Gpm_Wgetch in -lgpm... $ECHO_C" >&6 if test "${ac_cv_lib_gpm_Gpm_Wgetch+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -4676,7 +4692,7 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lgpm $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 4679 "configure" +#line 4695 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -4695,16 +4711,16 @@ Gpm_Wgetch (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4698: \"$ac_link\"") >&5 +if { (eval echo "$as_me:4714: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:4701: \$? = $ac_status" >&5 + echo "$as_me:4717: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4704: \"$ac_try\"") >&5 + { (eval echo "$as_me:4720: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4707: \$? = $ac_status" >&5 + echo "$as_me:4723: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_gpm_Gpm_Wgetch=yes else @@ -4715,12 +4731,61 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:4718: result: $ac_cv_lib_gpm_Gpm_Wgetch" >&5 +echo "$as_me:4734: result: $ac_cv_lib_gpm_Gpm_Wgetch" >&5 echo "${ECHO_T}$ac_cv_lib_gpm_Gpm_Wgetch" >&6 if test $ac_cv_lib_gpm_Gpm_Wgetch = yes; then - { echo "$as_me:4722: WARNING: GPM library is already linked with curses - read the FAQ" >&5 +echo "$as_me:4738: checking if GPM is weakly bound to curses library" >&5 +echo $ECHO_N "checking if GPM is weakly bound to curses library... $ECHO_C" >&6 +if test "${cf_cv_check_gpm_wgetch+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + +cf_cv_check_gpm_wgetch=unknown +if test "$cross_compiling" != yes ; then + +cat >conftest.$ac_ext <<CF_EOF +#include <gpm.h> +int main() +{ + Gpm_Wgetch(); + ${cf_cv_main_return:-return}(0); +} +CF_EOF + + cf_save_LIBS="$LIBS" + # This only works if we can look at the symbol table. If a shared + # library is stripped for install, we cannot use that. So we're forced + # to rely on the static library, noting that some packagers may not + # include it. + LIBS="-static -lgpm -dynamic $LIBS" + if { (eval echo "$as_me:4762: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:4765: \$? = $ac_status" >&5 + (exit $ac_status); } ; then + if { (eval echo "$as_me:4767: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:4770: \$? = $ac_status" >&5 + (exit $ac_status); } ; then + cf_cv_check_gpm_wgetch=`nm conftest$ac_exeext | egrep '\<wgetch\>' | egrep '\<[vVwW]\>'` + test -n "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=yes + test -z "$cf_cv_check_gpm_wgetch" && cf_cv_check_gpm_wgetch=no + fi + fi + rm -f conftest* + LIBS="$cf_save_LIBS" +fi + +fi +echo "$as_me:4782: result: $cf_cv_check_gpm_wgetch" >&5 +echo "${ECHO_T}$cf_cv_check_gpm_wgetch" >&6 + +if test "$cf_cv_check_gpm_wgetch" != yes ; then + { echo "$as_me:4786: WARNING: GPM library is already linked with curses - read the FAQ" >&5 echo "$as_me: WARNING: GPM library is already linked with curses - read the FAQ" >&2;} +fi fi @@ -4728,7 +4793,7 @@ fi # not everyone has "test -c" if test -c /dev/sysmouse 2>/dev/null ; then -echo "$as_me:4731: checking if you want to use sysmouse" >&5 +echo "$as_me:4796: checking if you want to use sysmouse" >&5 echo $ECHO_N "checking if you want to use sysmouse... $ECHO_C" >&6 # Check whether --with-sysmouse or --without-sysmouse was given. @@ -4740,7 +4805,7 @@ else fi; if test "$cf_with_sysmouse" != no ; then cat >conftest.$ac_ext <<_ACEOF -#line 4743 "configure" +#line 4808 "configure" #include "confdefs.h" #include <osreldate.h> @@ -4763,16 +4828,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:4766: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:4831: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:4769: \$? = $ac_status" >&5 + echo "$as_me:4834: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4772: \"$ac_try\"") >&5 + { (eval echo "$as_me:4837: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4775: \$? = $ac_status" >&5 + echo "$as_me:4840: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_with_sysmouse=yes else @@ -4782,7 +4847,7 @@ cf_with_sysmouse=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:4785: result: $cf_with_sysmouse" >&5 +echo "$as_me:4850: result: $cf_with_sysmouse" >&5 echo "${ECHO_T}$cf_with_sysmouse" >&6 test "$cf_with_sysmouse" = yes && cat >>confdefs.h <<\EOF #define USE_SYSMOUSE 1 @@ -4800,7 +4865,7 @@ if test X"$CXX_G_OPT" = X"" ; then test -n "$GXX" && test "${ac_cv_prog_cxx_g}" != yes && CXX_G_OPT='' fi -echo "$as_me:4803: checking for default loader flags" >&5 +echo "$as_me:4868: checking for default loader flags" >&5 echo $ECHO_N "checking for default loader flags... $ECHO_C" >&6 case $DFT_LWR_MODEL in libtool) LD_MODEL='' ;; @@ -4809,10 +4874,12 @@ debug) LD_MODEL=$CC_G_OPT ;; profile) LD_MODEL='-pg';; shared) LD_MODEL='' ;; esac -echo "$as_me:4812: result: $LD_MODEL" >&5 +echo "$as_me:4877: result: $LD_MODEL" >&5 echo "${ECHO_T}$LD_MODEL" >&6 -echo "$as_me:4815: checking if rpath option should be used" >&5 +case $DFT_LWR_MODEL in +shared) +echo "$as_me:4882: checking if rpath option should be used" >&5 echo $ECHO_N "checking if rpath option should be used... $ECHO_C" >&6 # Check whether --enable-rpath or --disable-rpath was given. @@ -4822,8 +4889,22 @@ if test "${enable_rpath+set}" = set; then else cf_cv_ld_rpath=no fi; -echo "$as_me:4825: result: $cf_cv_ld_rpath" >&5 +echo "$as_me:4892: result: $cf_cv_ld_rpath" >&5 echo "${ECHO_T}$cf_cv_ld_rpath" >&6 +echo "$as_me:4894: checking if shared libraries should be relinked during install" >&5 +echo $ECHO_N "checking if shared libraries should be relinked during install... $ECHO_C" >&6 + +# Check whether --enable-relink or --disable-relink was given. +if test "${enable_relink+set}" = set; then + enableval="$enable_relink" + cf_cv_do_relink=$enableval +else + cf_cv_do_relink=yes +fi; +echo "$as_me:4904: result: $cf_cv_do_relink" >&5 +echo "${ECHO_T}$cf_cv_do_relink" >&6 + ;; +esac LOCAL_LDFLAGS= LOCAL_LDFLAGS2= @@ -4832,7 +4913,7 @@ echo "${ECHO_T}$cf_cv_ld_rpath" >&6 cf_cv_do_symlinks=no - echo "$as_me:4835: checking if release/abi version should be used for shared libs" >&5 + echo "$as_me:4916: checking if release/abi version should be used for shared libs" >&5 echo $ECHO_N "checking if release/abi version should be used for shared libs... $ECHO_C" >&6 # Check whether --with-shlib-version or --without-shlib-version was given. @@ -4847,7 +4928,7 @@ if test "${with_shlib_version+set}" = set; then cf_cv_shlib_version=$withval ;; *) - { { echo "$as_me:4850: error: option value must be one of: rel, abi, auto or no" >&5 + { { echo "$as_me:4931: error: option value must be one of: rel, abi, auto or no" >&5 echo "$as_me: error: option value must be one of: rel, abi, auto or no" >&2;} { (exit 1); exit 1; }; } ;; @@ -4856,7 +4937,7 @@ echo "$as_me: error: option value must be one of: rel, abi, auto or no" >&2;} else cf_cv_shlib_version=auto fi; - echo "$as_me:4859: result: $cf_cv_shlib_version" >&5 + echo "$as_me:4940: result: $cf_cv_shlib_version" >&5 echo "${ECHO_T}$cf_cv_shlib_version" >&6 cf_cv_rm_so_locs=no @@ -4865,14 +4946,14 @@ echo "${ECHO_T}$cf_cv_shlib_version" >&6 CC_SHARED_OPTS= if test "$GCC" = yes then - echo "$as_me:4868: checking which $CC option to use" >&5 + echo "$as_me:4949: checking which $CC option to use" >&5 echo $ECHO_N "checking which $CC option to use... $ECHO_C" >&6 cf_save_CFLAGS="$CFLAGS" for CC_SHARED_OPTS in -fPIC -fpic '' do CFLAGS="$cf_save_CFLAGS $CC_SHARED_OPTS" cat >conftest.$ac_ext <<_ACEOF -#line 4875 "configure" +#line 4956 "configure" #include "confdefs.h" #include <stdio.h> int @@ -4884,16 +4965,16 @@ int x = 1 } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:4887: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:4968: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:4890: \$? = $ac_status" >&5 + echo "$as_me:4971: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:4893: \"$ac_try\"") >&5 + { (eval echo "$as_me:4974: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4896: \$? = $ac_status" >&5 + echo "$as_me:4977: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else @@ -4902,7 +4983,7 @@ cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext done - echo "$as_me:4905: result: $CC_SHARED_OPTS" >&5 + echo "$as_me:4986: result: $CC_SHARED_OPTS" >&5 echo "${ECHO_T}$CC_SHARED_OPTS" >&6 CFLAGS="$cf_save_CFLAGS" fi @@ -4915,17 +4996,30 @@ echo "${ECHO_T}$CC_SHARED_OPTS" >&6 ;; cygwin*) CC_SHARED_OPTS= - MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,--out-implib=../lib/${IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/${SHARED_LIB}' + MK_SHARED_LIB='sh ../mk_shared_lib.sh $@ ${CC} ${CFLAGS}' cf_cv_shlib_version=cygdll cf_cv_shlib_version_infix=cygdll + cat >mk_shared_lib.sh <<-CF_EOF + #!/bin/sh + SHARED_LIB=\$1 + IMPORT_LIB=\`echo "\$1" | sed -e 's/cyg/lib/' -e 's/[0-9]*\.dll$/.dll.a/'\` + shift + cat <<-EOF + Linking shared library + ** SHARED_LIB \$SHARED_LIB + ** IMPORT_LIB \$IMPORT_LIB +EOF + exec \$* -shared -Wl,--out-implib=../lib/\${IMPORT_LIB} -Wl,--export-all-symbols -o ../lib/\${SHARED_LIB} +CF_EOF + chmod +x mk_shared_lib.sh ;; darwin*) EXTRA_CFLAGS="-no-cpp-precomp" CC_SHARED_OPTS="-dynamic" - MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${DESTDIR}${libdir}/`basename $@` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $@' + MK_SHARED_LIB='${CC} ${CFLAGS} -dynamiclib -install_name ${libdir}/`basename $@` -compatibility_version ${ABI_VERSION} -current_version ${ABI_VERSION} -o $@' test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=abi cf_cv_shlib_version_infix=yes - echo "$as_me:4928: checking if ld -search_paths_first works" >&5 + echo "$as_me:5022: checking if ld -search_paths_first works" >&5 echo $ECHO_N "checking if ld -search_paths_first works... $ECHO_C" >&6 if test "${cf_cv_ldflags_search_paths_first+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -4934,7 +5028,7 @@ else cf_save_LDFLAGS=$LDFLAGS LDFLAGS="$LDFLAGS -Wl,-search_paths_first" cat >conftest.$ac_ext <<_ACEOF -#line 4937 "configure" +#line 5031 "configure" #include "confdefs.h" int @@ -4946,16 +5040,16 @@ int i; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:4949: \"$ac_link\"") >&5 +if { (eval echo "$as_me:5043: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:4952: \$? = $ac_status" >&5 + echo "$as_me:5046: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:4955: \"$ac_try\"") >&5 + { (eval echo "$as_me:5049: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:4958: \$? = $ac_status" >&5 + echo "$as_me:5052: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_ldflags_search_paths_first=yes else @@ -4966,7 +5060,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LDFLAGS=$cf_save_LDFLAGS fi -echo "$as_me:4969: result: $cf_cv_ldflags_search_paths_first" >&5 +echo "$as_me:5063: result: $cf_cv_ldflags_search_paths_first" >&5 echo "${ECHO_T}$cf_cv_ldflags_search_paths_first" >&6 if test $cf_cv_ldflags_search_paths_first = yes; then LDFLAGS="$LDFLAGS -Wl,-search_paths_first" @@ -5021,11 +5115,11 @@ echo "${ECHO_T}$cf_cv_ldflags_search_paths_first" >&6 MK_SHARED_LIB='${CC} ${CFLAGS} -shared -Wl,-soname,'$cf_shared_soname',-stats,-lc -o $@' ;; - openbsd2*) + openbsd[2-9].*) CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" MK_SHARED_LIB='${LD} -Bshareable -soname,`basename $@.${ABI_VERSION}` -o $@' ;; - openbsd*|freebsd[23]*) + openbsd*|freebsd[12].*) CC_SHARED_OPTS="$CC_SHARED_OPTS -DPIC" MK_SHARED_LIB='${LD} -Bshareable -o $@' test "$cf_cv_shlib_version" = auto && cf_cv_shlib_version=rel @@ -5162,7 +5256,7 @@ echo "${ECHO_T}$cf_cv_ldflags_search_paths_first" >&6 test "$cf_cv_do_symlinks" = no && cf_cv_do_symlinks=yes ;; *) - { echo "$as_me:5165: WARNING: ignored --with-shlib-version" >&5 + { echo "$as_me:5259: WARNING: ignored --with-shlib-version" >&5 echo "$as_me: WARNING: ignored --with-shlib-version" >&2;} ;; esac @@ -5170,12 +5264,12 @@ echo "$as_me: WARNING: ignored --with-shlib-version" >&2;} esac if test -n "$cf_ld_rpath_opt" ; then - echo "$as_me:5173: checking if we need a space after rpath option" >&5 + echo "$as_me:5267: checking if we need a space after rpath option" >&5 echo $ECHO_N "checking if we need a space after rpath option... $ECHO_C" >&6 cf_save_LIBS="$LIBS" LIBS="$LIBS ${cf_ld_rpath_opt}$libdir" cat >conftest.$ac_ext <<_ACEOF -#line 5178 "configure" +#line 5272 "configure" #include "confdefs.h" int @@ -5187,16 +5281,16 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:5190: \"$ac_link\"") >&5 +if { (eval echo "$as_me:5284: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:5193: \$? = $ac_status" >&5 + echo "$as_me:5287: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:5196: \"$ac_try\"") >&5 + { (eval echo "$as_me:5290: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:5199: \$? = $ac_status" >&5 + echo "$as_me:5293: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_rpath_space=no else @@ -5206,7 +5300,7 @@ cf_rpath_space=yes fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS="$cf_save_LIBS" - echo "$as_me:5209: result: $cf_rpath_space" >&5 + echo "$as_me:5303: result: $cf_rpath_space" >&5 echo "${ECHO_T}$cf_rpath_space" >&6 test "$cf_rpath_space" = yes && cf_ld_rpath_opt="$cf_ld_rpath_opt " MK_SHARED_LIB="$MK_SHARED_LIB $cf_ld_rpath_opt\${libdir}" @@ -5215,7 +5309,7 @@ echo "${ECHO_T}$cf_rpath_space" >&6 if test "$CC_SHARED_OPTS" = "unknown"; then for model in $cf_list_models; do if test "$model" = "shared"; then - { { echo "$as_me:5218: error: Shared libraries are not supported in this version" >&5 + { { echo "$as_me:5312: error: Shared libraries are not supported in this version" >&5 echo "$as_me: error: Shared libraries are not supported in this version" >&2;} { (exit 1); exit 1; }; } fi @@ -5225,7 +5319,7 @@ fi ############################################################################### ### use option --disable-overwrite to leave out the link to -lcurses -echo "$as_me:5228: checking if you wish to install ncurses overwriting curses" >&5 +echo "$as_me:5322: checking if you wish to install ncurses overwriting curses" >&5 echo $ECHO_N "checking if you wish to install ncurses overwriting curses... $ECHO_C" >&6 # Check whether --enable-overwrite or --disable-overwrite was given. @@ -5235,10 +5329,10 @@ if test "${enable_overwrite+set}" = set; then else if test "$prefix" = "/usr" ; then with_overwrite=yes; else with_overwrite=no; fi fi; -echo "$as_me:5238: result: $with_overwrite" >&5 +echo "$as_me:5332: result: $with_overwrite" >&5 echo "${ECHO_T}$with_overwrite" >&6 -echo "$as_me:5241: checking if external terminfo-database is used" >&5 +echo "$as_me:5335: checking if external terminfo-database is used" >&5 echo $ECHO_N "checking if external terminfo-database is used... $ECHO_C" >&6 # Check whether --enable-database or --disable-database was given. @@ -5248,7 +5342,7 @@ if test "${enable_database+set}" = set; then else use_database=yes fi; -echo "$as_me:5251: result: $use_database" >&5 +echo "$as_me:5345: result: $use_database" >&5 echo "${ECHO_T}$use_database" >&6 case $host_os in #(vi @@ -5270,7 +5364,7 @@ if test "$use_database" != no ; then #define USE_DATABASE 1 EOF - echo "$as_me:5273: checking which terminfo source-file will be installed" >&5 + echo "$as_me:5367: checking which terminfo source-file will be installed" >&5 echo $ECHO_N "checking which terminfo source-file will be installed... $ECHO_C" >&6 # Check whether --enable-database or --disable-database was given. @@ -5278,10 +5372,10 @@ if test "${enable_database+set}" = set; then enableval="$enable_database" TERMINFO_SRC=$withval fi; - echo "$as_me:5281: result: $TERMINFO_SRC" >&5 + echo "$as_me:5375: result: $TERMINFO_SRC" >&5 echo "${ECHO_T}$TERMINFO_SRC" >&6 - echo "$as_me:5284: checking whether to use hashed database instead of directory/tree" >&5 + echo "$as_me:5378: checking whether to use hashed database instead of directory/tree" >&5 echo $ECHO_N "checking whether to use hashed database instead of directory/tree... $ECHO_C" >&6 # Check whether --with-hashed-db or --without-hashed-db was given. @@ -5291,11 +5385,11 @@ if test "${with_hashed_db+set}" = set; then else with_hashed_db=no fi; - echo "$as_me:5294: result: $with_hashed_db" >&5 + echo "$as_me:5388: result: $with_hashed_db" >&5 echo "${ECHO_T}$with_hashed_db" >&6 fi -echo "$as_me:5298: checking for list of fallback descriptions" >&5 +echo "$as_me:5392: checking for list of fallback descriptions" >&5 echo $ECHO_N "checking for list of fallback descriptions... $ECHO_C" >&6 # Check whether --with-fallbacks or --without-fallbacks was given. @@ -5305,11 +5399,11 @@ if test "${with_fallbacks+set}" = set; then else with_fallback= fi; -echo "$as_me:5308: result: $with_fallback" >&5 +echo "$as_me:5402: result: $with_fallback" >&5 echo "${ECHO_T}$with_fallback" >&6 FALLBACK_LIST=`echo "$with_fallback" | sed -e 's/,/ /g'` -echo "$as_me:5312: checking if you want modern xterm or antique" >&5 +echo "$as_me:5406: checking if you want modern xterm or antique" >&5 echo $ECHO_N "checking if you want modern xterm or antique... $ECHO_C" >&6 # Check whether --with-xterm-new or --without-xterm-new was given. @@ -5323,7 +5417,7 @@ case $with_xterm_new in no) with_xterm_new=xterm-old;; *) with_xterm_new=xterm-new;; esac -echo "$as_me:5326: result: $with_xterm_new" >&5 +echo "$as_me:5420: result: $with_xterm_new" >&5 echo "${ECHO_T}$with_xterm_new" >&6 WHICH_XTERM=$with_xterm_new @@ -5333,7 +5427,7 @@ if test "$use_database" = no ; then MAKE_TERMINFO="#" else -echo "$as_me:5336: checking for list of terminfo directories" >&5 +echo "$as_me:5430: checking for list of terminfo directories" >&5 echo $ECHO_N "checking for list of terminfo directories... $ECHO_C" >&6 # Check whether --with-terminfo-dirs or --without-terminfo-dirs was given. @@ -5373,7 +5467,7 @@ case ".$cf_src_path" in #(vi cf_src_path=`echo $cf_src_path | sed -e s%NONE%$cf_path_syntax%` ;; *) - { { echo "$as_me:5376: error: expected a pathname, not \"$cf_src_path\"" >&5 + { { echo "$as_me:5470: error: expected a pathname, not \"$cf_src_path\"" >&5 echo "$as_me: error: expected a pathname, not \"$cf_src_path\"" >&2;} { (exit 1); exit 1; }; } ;; @@ -5386,13 +5480,13 @@ IFS="$ac_save_ifs" eval 'TERMINFO_DIRS="$cf_dst_path"' -echo "$as_me:5389: result: $TERMINFO_DIRS" >&5 +echo "$as_me:5483: result: $TERMINFO_DIRS" >&5 echo "${ECHO_T}$TERMINFO_DIRS" >&6 test -n "$TERMINFO_DIRS" && cat >>confdefs.h <<EOF #define TERMINFO_DIRS "$TERMINFO_DIRS" EOF -echo "$as_me:5395: checking for default terminfo directory" >&5 +echo "$as_me:5489: checking for default terminfo directory" >&5 echo $ECHO_N "checking for default terminfo directory... $ECHO_C" >&6 # Check whether --with-default-terminfo-dir or --without-default-terminfo-dir was given. @@ -5401,7 +5495,8 @@ if test "${with_default_terminfo_dir+set}" = set; then else withval="${TERMINFO-${datadir}/terminfo}" -fi; +fi; if test -n "${datadir}/terminfo" ; then + if test "x$prefix" != xNONE; then cf_path_syntax="$prefix" else @@ -5427,15 +5522,16 @@ case ".$withval" in #(vi withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%` ;; *) - { { echo "$as_me:5430: error: expected a pathname, not \"$withval\"" >&5 + { { echo "$as_me:5525: error: expected a pathname, not \"$withval\"" >&5 echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;} { (exit 1); exit 1; }; } ;; esac +fi TERMINFO="$withval" -echo "$as_me:5438: result: $TERMINFO" >&5 +echo "$as_me:5534: result: $TERMINFO" >&5 echo "${ECHO_T}$TERMINFO" >&6 cat >>confdefs.h <<EOF #define TERMINFO "$TERMINFO" @@ -5445,7 +5541,7 @@ fi ### use option --disable-big-core to make tic run on small machines ### We need 4Mb, check if we can allocate 50% more than that. -echo "$as_me:5448: checking if big-core option selected" >&5 +echo "$as_me:5544: checking if big-core option selected" >&5 echo $ECHO_N "checking if big-core option selected... $ECHO_C" >&6 # Check whether --enable-big-core or --disable-big-core was given. @@ -5457,7 +5553,7 @@ else with_big_core=no else cat >conftest.$ac_ext <<_ACEOF -#line 5460 "configure" +#line 5556 "configure" #include "confdefs.h" #include <stdlib.h> @@ -5471,15 +5567,15 @@ int main() { } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:5474: \"$ac_link\"") >&5 +if { (eval echo "$as_me:5570: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:5477: \$? = $ac_status" >&5 + echo "$as_me:5573: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:5479: \"$ac_try\"") >&5 + { (eval echo "$as_me:5575: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:5482: \$? = $ac_status" >&5 + echo "$as_me:5578: \$? = $ac_status" >&5 (exit $ac_status); }; }; then with_big_core=yes else @@ -5491,14 +5587,32 @@ fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi; -echo "$as_me:5494: result: $with_big_core" >&5 +echo "$as_me:5590: result: $with_big_core" >&5 echo "${ECHO_T}$with_big_core" >&6 test "$with_big_core" = "yes" && cat >>confdefs.h <<\EOF #define HAVE_BIG_CORE 1 EOF +### ISO C only guarantees 512-char strings, we have tables which load faster +### when constructed using "big" strings. +echo "$as_me:5598: checking if big-strings option selected" >&5 +echo $ECHO_N "checking if big-strings option selected... $ECHO_C" >&6 + +# Check whether --enable-big-strings or --disable-big-strings was given. +if test "${enable_big_strings+set}" = set; then + enableval="$enable_big_strings" + with_big_strings=no +else + with_big_strings=yes +fi; +echo "$as_me:5608: result: $with_big_strings" >&5 +echo "${ECHO_T}$with_big_strings" >&6 + +USE_BIG_STRINGS=0 +test "$with_big_strings" = "yes" && USE_BIG_STRINGS=1 + ### use option --enable-termcap to compile in the termcap fallback support -echo "$as_me:5501: checking if you want termcap-fallback support" >&5 +echo "$as_me:5615: checking if you want termcap-fallback support" >&5 echo $ECHO_N "checking if you want termcap-fallback support... $ECHO_C" >&6 # Check whether --enable-termcap or --disable-termcap was given. @@ -5508,13 +5622,13 @@ if test "${enable_termcap+set}" = set; then else with_termcap=no fi; -echo "$as_me:5511: result: $with_termcap" >&5 +echo "$as_me:5625: result: $with_termcap" >&5 echo "${ECHO_T}$with_termcap" >&6 if test "$with_termcap" != "yes" ; then if test "$use_database" = no ; then if test -z "$with_fallback" ; then - { { echo "$as_me:5517: error: You have disabled the database w/o specifying fallbacks" >&5 + { { echo "$as_me:5631: error: You have disabled the database w/o specifying fallbacks" >&5 echo "$as_me: error: You have disabled the database w/o specifying fallbacks" >&2;} { (exit 1); exit 1; }; } fi @@ -5525,11 +5639,17 @@ EOF else +if test "$with_ticlib" != no ; then + { { echo "$as_me:5643: error: Options --with-ticlib and --enable-termcap cannot be combined" >&5 +echo "$as_me: error: Options --with-ticlib and --enable-termcap cannot be combined" >&2;} + { (exit 1); exit 1; }; } +fi + cat >>confdefs.h <<\EOF #define USE_TERMCAP 1 EOF -echo "$as_me:5532: checking for list of termcap files" >&5 +echo "$as_me:5652: checking for list of termcap files" >&5 echo $ECHO_N "checking for list of termcap files... $ECHO_C" >&6 # Check whether --with-termpath or --without-termpath was given. @@ -5569,7 +5689,7 @@ case ".$cf_src_path" in #(vi cf_src_path=`echo $cf_src_path | sed -e s%NONE%$cf_path_syntax%` ;; *) - { { echo "$as_me:5572: error: expected a pathname, not \"$cf_src_path\"" >&5 + { { echo "$as_me:5692: error: expected a pathname, not \"$cf_src_path\"" >&5 echo "$as_me: error: expected a pathname, not \"$cf_src_path\"" >&2;} { (exit 1); exit 1; }; } ;; @@ -5582,14 +5702,14 @@ IFS="$ac_save_ifs" eval 'TERMPATH="$cf_dst_path"' -echo "$as_me:5585: result: $TERMPATH" >&5 +echo "$as_me:5705: result: $TERMPATH" >&5 echo "${ECHO_T}$TERMPATH" >&6 test -n "$TERMPATH" && cat >>confdefs.h <<EOF #define TERMPATH "$TERMPATH" EOF ### use option --enable-getcap to use a hacked getcap for reading termcaps -echo "$as_me:5592: checking if fast termcap-loader is needed" >&5 +echo "$as_me:5712: checking if fast termcap-loader is needed" >&5 echo $ECHO_N "checking if fast termcap-loader is needed... $ECHO_C" >&6 # Check whether --enable-getcap or --disable-getcap was given. @@ -5599,13 +5719,13 @@ if test "${enable_getcap+set}" = set; then else with_getcap=no fi; -echo "$as_me:5602: result: $with_getcap" >&5 +echo "$as_me:5722: result: $with_getcap" >&5 echo "${ECHO_T}$with_getcap" >&6 test "$with_getcap" = "yes" && cat >>confdefs.h <<\EOF #define USE_GETCAP 1 EOF -echo "$as_me:5608: checking if translated termcaps will be cached in ~/.terminfo" >&5 +echo "$as_me:5728: checking if translated termcaps will be cached in ~/.terminfo" >&5 echo $ECHO_N "checking if translated termcaps will be cached in ~/.terminfo... $ECHO_C" >&6 # Check whether --enable-getcap-cache or --disable-getcap-cache was given. @@ -5615,7 +5735,7 @@ if test "${enable_getcap_cache+set}" = set; then else with_getcap_cache=no fi; -echo "$as_me:5618: result: $with_getcap_cache" >&5 +echo "$as_me:5738: result: $with_getcap_cache" >&5 echo "${ECHO_T}$with_getcap_cache" >&6 test "$with_getcap_cache" = "yes" && cat >>confdefs.h <<\EOF #define USE_GETCAP_CACHE 1 @@ -5624,7 +5744,7 @@ EOF fi ### Use option --disable-home-terminfo to completely remove ~/.terminfo -echo "$as_me:5627: checking if ~/.terminfo is wanted" >&5 +echo "$as_me:5747: checking if ~/.terminfo is wanted" >&5 echo $ECHO_N "checking if ~/.terminfo is wanted... $ECHO_C" >&6 # Check whether --enable-home-terminfo or --disable-home-terminfo was given. @@ -5634,13 +5754,13 @@ if test "${enable_home_terminfo+set}" = set; then else with_home_terminfo=yes fi; -echo "$as_me:5637: result: $with_home_terminfo" >&5 +echo "$as_me:5757: result: $with_home_terminfo" >&5 echo "${ECHO_T}$with_home_terminfo" >&6 test "$with_home_terminfo" = "yes" && cat >>confdefs.h <<\EOF #define USE_HOME_TERMINFO 1 EOF -echo "$as_me:5643: checking if you want to use restricted environment when running as root" >&5 +echo "$as_me:5763: checking if you want to use restricted environment when running as root" >&5 echo $ECHO_N "checking if you want to use restricted environment when running as root... $ECHO_C" >&6 # Check whether --enable-root-environ or --disable-root-environ was given. @@ -5650,7 +5770,7 @@ if test "${enable_root_environ+set}" = set; then else with_root_environ=yes fi; -echo "$as_me:5653: result: $with_root_environ" >&5 +echo "$as_me:5773: result: $with_root_environ" >&5 echo "${ECHO_T}$with_root_environ" >&6 test "$with_root_environ" = yes && cat >>confdefs.h <<\EOF #define USE_ROOT_ENVIRON 1 @@ -5664,13 +5784,13 @@ for ac_func in \ unlink do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:5667: checking for $ac_func" >&5 +echo "$as_me:5787: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 5673 "configure" +#line 5793 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. */ @@ -5701,16 +5821,16 @@ f = $ac_func; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:5704: \"$ac_link\"") >&5 +if { (eval echo "$as_me:5824: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:5707: \$? = $ac_status" >&5 + echo "$as_me:5827: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:5710: \"$ac_try\"") >&5 + { (eval echo "$as_me:5830: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:5713: \$? = $ac_status" >&5 + echo "$as_me:5833: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else @@ -5720,7 +5840,7 @@ eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:5723: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "$as_me:5843: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<EOF @@ -5737,13 +5857,13 @@ for ac_func in \ symlink do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:5740: checking for $ac_func" >&5 +echo "$as_me:5860: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 5746 "configure" +#line 5866 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. */ @@ -5774,16 +5894,16 @@ f = $ac_func; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:5777: \"$ac_link\"") >&5 +if { (eval echo "$as_me:5897: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:5780: \$? = $ac_status" >&5 + echo "$as_me:5900: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:5783: \"$ac_try\"") >&5 + { (eval echo "$as_me:5903: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:5786: \$? = $ac_status" >&5 + echo "$as_me:5906: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else @@ -5793,7 +5913,7 @@ eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:5796: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "$as_me:5916: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<EOF @@ -5804,7 +5924,7 @@ fi done else - echo "$as_me:5807: checking if link/symlink functions work" >&5 + echo "$as_me:5927: checking if link/symlink functions work" >&5 echo $ECHO_N "checking if link/symlink functions work... $ECHO_C" >&6 if test "${cf_cv_link_funcs+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -5817,7 +5937,7 @@ else eval 'ac_cv_func_'$cf_func'=error' else cat >conftest.$ac_ext <<_ACEOF -#line 5820 "configure" +#line 5940 "configure" #include "confdefs.h" #include <sys/types.h> @@ -5847,15 +5967,15 @@ int main() _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:5850: \"$ac_link\"") >&5 +if { (eval echo "$as_me:5970: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:5853: \$? = $ac_status" >&5 + echo "$as_me:5973: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:5855: \"$ac_try\"") >&5 + { (eval echo "$as_me:5975: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:5858: \$? = $ac_status" >&5 + echo "$as_me:5978: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_link_funcs="$cf_cv_link_funcs $cf_func" @@ -5873,7 +5993,7 @@ fi test -z "$cf_cv_link_funcs" && cf_cv_link_funcs=no fi -echo "$as_me:5876: result: $cf_cv_link_funcs" >&5 +echo "$as_me:5996: result: $cf_cv_link_funcs" >&5 echo "${ECHO_T}$cf_cv_link_funcs" >&6 test "$ac_cv_func_link" = yes && cat >>confdefs.h <<\EOF #define HAVE_LINK 1 @@ -5891,7 +6011,7 @@ with_symlinks=no # soft links (symbolic links) are useful for some systems where hard links do # not work, or to make it simpler to copy terminfo trees around. if test "$ac_cv_func_symlink" = yes ; then - echo "$as_me:5894: checking if tic should use symbolic links" >&5 + echo "$as_me:6014: checking if tic should use symbolic links" >&5 echo $ECHO_N "checking if tic should use symbolic links... $ECHO_C" >&6 # Check whether --enable-symlinks or --disable-symlinks was given. @@ -5901,21 +6021,21 @@ if test "${enable_symlinks+set}" = set; then else with_symlinks=no fi; - echo "$as_me:5904: result: $with_symlinks" >&5 + echo "$as_me:6024: result: $with_symlinks" >&5 echo "${ECHO_T}$with_symlinks" >&6 fi # If we have hard links and did not choose to use soft links instead, there is # no reason to make this choice optional - use the hard links. if test "$with_symlinks" = no ; then - echo "$as_me:5911: checking if tic should use hard links" >&5 + echo "$as_me:6031: checking if tic should use hard links" >&5 echo $ECHO_N "checking if tic should use hard links... $ECHO_C" >&6 if test "$ac_cv_func_link" = yes ; then with_links=yes else with_links=no fi - echo "$as_me:5918: result: $with_links" >&5 + echo "$as_me:6038: result: $with_links" >&5 echo "${ECHO_T}$with_links" >&6 fi @@ -5928,7 +6048,7 @@ test "$with_symlinks" = yes && cat >>confdefs.h <<\EOF EOF ### use option --enable-broken-linker to force on use of broken-linker support -echo "$as_me:5931: checking if you want broken-linker support code" >&5 +echo "$as_me:6051: checking if you want broken-linker support code" >&5 echo $ECHO_N "checking if you want broken-linker support code... $ECHO_C" >&6 # Check whether --enable-broken_linker or --disable-broken_linker was given. @@ -5938,7 +6058,7 @@ if test "${enable_broken_linker+set}" = set; then else with_broken_linker=${BROKEN_LINKER-no} fi; -echo "$as_me:5941: result: $with_broken_linker" >&5 +echo "$as_me:6061: result: $with_broken_linker" >&5 echo "${ECHO_T}$with_broken_linker" >&6 BROKEN_LINKER=0 @@ -5958,12 +6078,14 @@ EOF BROKEN_LINKER=1 test -n "$verbose" && echo " cygwin linker is broken anyway" 1>&6 +echo "${as_me-configure}:6081: testing cygwin linker is broken anyway ..." 1>&5 + ;; esac fi ### use option --enable-bsdpad to have tputs process BSD-style prefix padding -echo "$as_me:5966: checking if tputs should process BSD-style prefix padding" >&5 +echo "$as_me:6088: checking if tputs should process BSD-style prefix padding" >&5 echo $ECHO_N "checking if tputs should process BSD-style prefix padding... $ECHO_C" >&6 # Check whether --enable-bsdpad or --disable-bsdpad was given. @@ -5973,7 +6095,7 @@ if test "${enable_bsdpad+set}" = set; then else with_bsdpad=no fi; -echo "$as_me:5976: result: $with_bsdpad" >&5 +echo "$as_me:6098: result: $with_bsdpad" >&5 echo "${ECHO_T}$with_bsdpad" >&6 test "$with_bsdpad" = yes && cat >>confdefs.h <<\EOF #define BSD_TPUTS 1 @@ -5990,7 +6112,7 @@ NCURSES_WINT_T=0 # Check to define _XOPEN_SOURCE "automatically" -echo "$as_me:5993: checking if $CC -U and -D options work together" >&5 +echo "$as_me:6115: checking if $CC -U and -D options work together" >&5 echo $ECHO_N "checking if $CC -U and -D options work together... $ECHO_C" >&6 if test "${cf_cv_cc_u_d_options+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -5999,7 +6121,7 @@ else cf_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="-UU_D_OPTIONS -DU_D_OPTIONS -DD_U_OPTIONS -UD_U_OPTIONS" cat >conftest.$ac_ext <<_ACEOF -#line 6002 "configure" +#line 6124 "configure" #include "confdefs.h" int @@ -6018,16 +6140,16 @@ make a defined-error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:6021: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:6143: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6024: \$? = $ac_status" >&5 + echo "$as_me:6146: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6027: \"$ac_try\"") >&5 + { (eval echo "$as_me:6149: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6030: \$? = $ac_status" >&5 + echo "$as_me:6152: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_cc_u_d_options=yes @@ -6041,7 +6163,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext CPPFLAGS="$cf_save_CPPFLAGS" fi -echo "$as_me:6044: result: $cf_cv_cc_u_d_options" >&5 +echo "$as_me:6166: result: $cf_cv_cc_u_d_options" >&5 echo "${ECHO_T}$cf_cv_cc_u_d_options" >&6 cf_XOPEN_SOURCE=500 @@ -6065,16 +6187,16 @@ hpux*) #(vi irix[56].*) #(vi CPPFLAGS="$CPPFLAGS -D_SGI_SOURCE" ;; -linux*|gnu*) #(vi +linux*|gnu*|k*bsd*-gnu) #(vi -echo "$as_me:6070: checking if we must define _GNU_SOURCE" >&5 +echo "$as_me:6192: checking if we must define _GNU_SOURCE" >&5 echo $ECHO_N "checking if we must define _GNU_SOURCE... $ECHO_C" >&6 if test "${cf_cv_gnu_source+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 6077 "configure" +#line 6199 "configure" #include "confdefs.h" #include <sys/types.h> int @@ -6089,16 +6211,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:6092: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:6214: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6095: \$? = $ac_status" >&5 + echo "$as_me:6217: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6098: \"$ac_try\"") >&5 + { (eval echo "$as_me:6220: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6101: \$? = $ac_status" >&5 + echo "$as_me:6223: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_gnu_source=no else @@ -6107,7 +6229,7 @@ cat conftest.$ac_ext >&5 cf_save="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" cat >conftest.$ac_ext <<_ACEOF -#line 6110 "configure" +#line 6232 "configure" #include "confdefs.h" #include <sys/types.h> int @@ -6122,16 +6244,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:6125: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:6247: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6128: \$? = $ac_status" >&5 + echo "$as_me:6250: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6131: \"$ac_try\"") >&5 + { (eval echo "$as_me:6253: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6134: \$? = $ac_status" >&5 + echo "$as_me:6256: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_gnu_source=no else @@ -6146,7 +6268,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:6149: result: $cf_cv_gnu_source" >&5 +echo "$as_me:6271: result: $cf_cv_gnu_source" >&5 echo "${ECHO_T}$cf_cv_gnu_source" >&6 test "$cf_cv_gnu_source" = yes && CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE" @@ -6173,14 +6295,14 @@ solaris*) #(vi CPPFLAGS="$CPPFLAGS -D__EXTENSIONS__" ;; *) - echo "$as_me:6176: checking if we should define _XOPEN_SOURCE" >&5 + echo "$as_me:6298: checking if we should define _XOPEN_SOURCE" >&5 echo $ECHO_N "checking if we should define _XOPEN_SOURCE... $ECHO_C" >&6 if test "${cf_cv_xopen_source+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 6183 "configure" +#line 6305 "configure" #include "confdefs.h" #include <sys/types.h> int @@ -6195,16 +6317,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:6198: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:6320: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6201: \$? = $ac_status" >&5 + echo "$as_me:6323: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6204: \"$ac_try\"") >&5 + { (eval echo "$as_me:6326: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6207: \$? = $ac_status" >&5 + echo "$as_me:6329: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_xopen_source=no else @@ -6213,7 +6335,7 @@ cat conftest.$ac_ext >&5 cf_save="$CPPFLAGS" CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE=$cf_XOPEN_SOURCE" cat >conftest.$ac_ext <<_ACEOF -#line 6216 "configure" +#line 6338 "configure" #include "confdefs.h" #include <sys/types.h> int @@ -6228,16 +6350,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:6231: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:6353: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6234: \$? = $ac_status" >&5 + echo "$as_me:6356: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6237: \"$ac_try\"") >&5 + { (eval echo "$as_me:6359: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6240: \$? = $ac_status" >&5 + echo "$as_me:6362: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_xopen_source=no else @@ -6252,7 +6374,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:6255: result: $cf_cv_xopen_source" >&5 +echo "$as_me:6377: result: $cf_cv_xopen_source" >&5 echo "${ECHO_T}$cf_cv_xopen_source" >&6 if test "$cf_cv_xopen_source" != no ; then @@ -6286,16 +6408,16 @@ cf_trim_CPPFLAGS=`echo "$cf_save_CPPFLAGS" | \ sed -e 's/-[UD]_POSIX_C_SOURCE\(=[^ ]*\)\?[ ]/ /g' \ -e 's/-[UD]_POSIX_C_SOURCE\(=[^ ]*\)\?$//g'` -echo "$as_me:6289: checking if we should define _POSIX_C_SOURCE" >&5 +echo "$as_me:6411: checking if we should define _POSIX_C_SOURCE" >&5 echo $ECHO_N "checking if we should define _POSIX_C_SOURCE... $ECHO_C" >&6 if test "${cf_cv_posix_c_source+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else -echo "(line 6295) testing if the symbol is already defined go no further ..." 1>&5 +echo "${as_me-configure}:6417: testing if the symbol is already defined go no further ..." 1>&5 cat >conftest.$ac_ext <<_ACEOF -#line 6298 "configure" +#line 6420 "configure" #include "confdefs.h" #include <sys/types.h> int @@ -6310,16 +6432,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:6313: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:6435: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6316: \$? = $ac_status" >&5 + echo "$as_me:6438: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6319: \"$ac_try\"") >&5 + { (eval echo "$as_me:6441: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6322: \$? = $ac_status" >&5 + echo "$as_me:6444: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_posix_c_source=no else @@ -6340,7 +6462,7 @@ cf_want_posix_source=no esac if test "$cf_want_posix_source" = yes ; then cat >conftest.$ac_ext <<_ACEOF -#line 6343 "configure" +#line 6465 "configure" #include "confdefs.h" #include <sys/types.h> int @@ -6355,16 +6477,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:6358: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:6480: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6361: \$? = $ac_status" >&5 + echo "$as_me:6483: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6364: \"$ac_try\"") >&5 + { (eval echo "$as_me:6486: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6367: \$? = $ac_status" >&5 + echo "$as_me:6489: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else @@ -6375,15 +6497,15 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "(line 6378) testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5 +echo "${as_me-configure}:6500: testing ifdef from value $cf_POSIX_C_SOURCE ..." 1>&5 CFLAGS="$cf_trim_CFLAGS" CPPFLAGS="$cf_trim_CPPFLAGS $cf_cv_posix_c_source" -echo "(line 6383) testing if the second compile does not leave our definition intact error ..." 1>&5 +echo "${as_me-configure}:6505: testing if the second compile does not leave our definition intact error ..." 1>&5 cat >conftest.$ac_ext <<_ACEOF -#line 6386 "configure" +#line 6508 "configure" #include "confdefs.h" #include <sys/types.h> int @@ -6398,16 +6520,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:6401: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:6523: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6404: \$? = $ac_status" >&5 + echo "$as_me:6526: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6407: \"$ac_try\"") >&5 + { (eval echo "$as_me:6529: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6410: \$? = $ac_status" >&5 + echo "$as_me:6532: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else @@ -6423,7 +6545,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:6426: result: $cf_cv_posix_c_source" >&5 +echo "$as_me:6548: result: $cf_cv_posix_c_source" >&5 echo "${ECHO_T}$cf_cv_posix_c_source" >&6 if test "$cf_cv_posix_c_source" != no ; then @@ -6442,14 +6564,14 @@ esac # Work around breakage on OS X -echo "$as_me:6445: checking if SIGWINCH is defined" >&5 +echo "$as_me:6567: checking if SIGWINCH is defined" >&5 echo $ECHO_N "checking if SIGWINCH is defined... $ECHO_C" >&6 if test "${cf_cv_define_sigwinch+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 6452 "configure" +#line 6574 "configure" #include "confdefs.h" #include <sys/types.h> @@ -6464,23 +6586,23 @@ int x = SIGWINCH } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:6467: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:6589: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6470: \$? = $ac_status" >&5 + echo "$as_me:6592: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6473: \"$ac_try\"") >&5 + { (eval echo "$as_me:6595: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6476: \$? = $ac_status" >&5 + echo "$as_me:6598: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_define_sigwinch=yes else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF -#line 6483 "configure" +#line 6605 "configure" #include "confdefs.h" #undef _XOPEN_SOURCE @@ -6498,16 +6620,16 @@ int x = SIGWINCH } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:6501: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:6623: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6504: \$? = $ac_status" >&5 + echo "$as_me:6626: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6507: \"$ac_try\"") >&5 + { (eval echo "$as_me:6629: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6510: \$? = $ac_status" >&5 + echo "$as_me:6632: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_define_sigwinch=maybe else @@ -6521,11 +6643,11 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:6524: result: $cf_cv_define_sigwinch" >&5 +echo "$as_me:6646: result: $cf_cv_define_sigwinch" >&5 echo "${ECHO_T}$cf_cv_define_sigwinch" >&6 if test "$cf_cv_define_sigwinch" = maybe ; then -echo "$as_me:6528: checking for actual SIGWINCH definition" >&5 +echo "$as_me:6650: checking for actual SIGWINCH definition" >&5 echo $ECHO_N "checking for actual SIGWINCH definition... $ECHO_C" >&6 if test "${cf_cv_fixup_sigwinch+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6536,7 +6658,7 @@ cf_sigwinch=32 while test $cf_sigwinch != 1 do cat >conftest.$ac_ext <<_ACEOF -#line 6539 "configure" +#line 6661 "configure" #include "confdefs.h" #undef _XOPEN_SOURCE @@ -6558,16 +6680,16 @@ int x = SIGWINCH } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:6561: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:6683: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6564: \$? = $ac_status" >&5 + echo "$as_me:6686: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6567: \"$ac_try\"") >&5 + { (eval echo "$as_me:6689: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6570: \$? = $ac_status" >&5 + echo "$as_me:6692: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_fixup_sigwinch=$cf_sigwinch break @@ -6581,7 +6703,7 @@ cf_sigwinch=`expr $cf_sigwinch - 1` done fi -echo "$as_me:6584: result: $cf_cv_fixup_sigwinch" >&5 +echo "$as_me:6706: result: $cf_cv_fixup_sigwinch" >&5 echo "${ECHO_T}$cf_cv_fixup_sigwinch" >&6 if test "$cf_cv_fixup_sigwinch" != unknown ; then @@ -6591,13 +6713,13 @@ fi # Checks for CODESET support. - echo "$as_me:6594: checking for nl_langinfo and CODESET" >&5 + echo "$as_me:6716: checking for nl_langinfo and CODESET" >&5 echo $ECHO_N "checking for nl_langinfo and CODESET... $ECHO_C" >&6 if test "${am_cv_langinfo_codeset+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 6600 "configure" +#line 6722 "configure" #include "confdefs.h" #include <langinfo.h> int @@ -6609,16 +6731,16 @@ char* cs = nl_langinfo(CODESET); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6612: \"$ac_link\"") >&5 +if { (eval echo "$as_me:6734: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:6615: \$? = $ac_status" >&5 + echo "$as_me:6737: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6618: \"$ac_try\"") >&5 + { (eval echo "$as_me:6740: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6621: \$? = $ac_status" >&5 + echo "$as_me:6743: \$? = $ac_status" >&5 (exit $ac_status); }; }; then am_cv_langinfo_codeset=yes else @@ -6629,7 +6751,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:6632: result: $am_cv_langinfo_codeset" >&5 +echo "$as_me:6754: result: $am_cv_langinfo_codeset" >&5 echo "${ECHO_T}$am_cv_langinfo_codeset" >&6 if test $am_cv_langinfo_codeset = yes; then @@ -6643,7 +6765,7 @@ EOF NCURSES_OK_WCHAR_T= NCURSES_OK_WINT_T= -echo "$as_me:6646: checking if you want wide-character code" >&5 +echo "$as_me:6768: checking if you want wide-character code" >&5 echo $ECHO_N "checking if you want wide-character code... $ECHO_C" >&6 # Check whether --enable-widec or --disable-widec was given. @@ -6653,7 +6775,7 @@ if test "${enable_widec+set}" = set; then else with_widec=no fi; -echo "$as_me:6656: result: $with_widec" >&5 +echo "$as_me:6778: result: $with_widec" >&5 echo "${ECHO_T}$with_widec" >&6 if test "$with_widec" = yes ; then LIB_SUFFIX="w${LIB_SUFFIX}" @@ -6661,10 +6783,10 @@ if test "$with_widec" = yes ; then #define USE_WIDEC_SUPPORT 1 EOF -echo "$as_me:6664: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5 +echo "$as_me:6786: checking if we must define _XOPEN_SOURCE_EXTENDED" >&5 echo $ECHO_N "checking if we must define _XOPEN_SOURCE_EXTENDED... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line 6667 "configure" +#line 6789 "configure" #include "confdefs.h" #include <sys/types.h> @@ -6680,16 +6802,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:6683: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:6805: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6686: \$? = $ac_status" >&5 + echo "$as_me:6808: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6689: \"$ac_try\"") >&5 + { (eval echo "$as_me:6811: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6692: \$? = $ac_status" >&5 + echo "$as_me:6814: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_result=no else @@ -6698,16 +6820,16 @@ cat conftest.$ac_ext >&5 cf_result=yes fi rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:6701: result: $cf_result" >&5 +echo "$as_me:6823: result: $cf_result" >&5 echo "${ECHO_T}$cf_result" >&6 if test "$cf_result" = yes ; then CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED" elif test "x" != "x" ; then - echo "$as_me:6707: checking checking for compatible value versus " >&5 + echo "$as_me:6829: checking checking for compatible value versus " >&5 echo $ECHO_N "checking checking for compatible value versus ... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line 6710 "configure" +#line 6832 "configure" #include "confdefs.h" #include <sys/types.h> @@ -6723,16 +6845,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:6726: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:6848: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6729: \$? = $ac_status" >&5 + echo "$as_me:6851: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6732: \"$ac_try\"") >&5 + { (eval echo "$as_me:6854: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6735: \$? = $ac_status" >&5 + echo "$as_me:6857: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_result=yes else @@ -6741,7 +6863,7 @@ cat conftest.$ac_ext >&5 cf_result=no fi rm -f conftest.$ac_objext conftest.$ac_ext - echo "$as_me:6744: result: $cf_result" >&5 + echo "$as_me:6866: result: $cf_result" >&5 echo "${ECHO_T}$cf_result" >&6 if test "$cf_result" = no ; then # perhaps we can override it - try... @@ -6755,13 +6877,13 @@ fi for ac_func in putwc btowc wctob mbtowc wctomb mblen mbrlen mbrtowc do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:6758: checking for $ac_func" >&5 +echo "$as_me:6880: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 6764 "configure" +#line 6886 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. */ @@ -6792,16 +6914,16 @@ f = $ac_func; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6795: \"$ac_link\"") >&5 +if { (eval echo "$as_me:6917: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:6798: \$? = $ac_status" >&5 + echo "$as_me:6920: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6801: \"$ac_try\"") >&5 + { (eval echo "$as_me:6923: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6804: \$? = $ac_status" >&5 + echo "$as_me:6926: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else @@ -6811,7 +6933,7 @@ eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:6814: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "$as_me:6936: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<EOF @@ -6823,7 +6945,7 @@ done if test "$ac_cv_func_putwc" != yes ; then -echo "$as_me:6826: checking for putwc in libutf8" >&5 +echo "$as_me:6948: checking for putwc in libutf8" >&5 echo $ECHO_N "checking for putwc in libutf8... $ECHO_C" >&6 if test "${cf_cv_libutf8+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -6832,7 +6954,7 @@ else cf_save_LIBS="$LIBS" LIBS="-lutf8 $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 6835 "configure" +#line 6957 "configure" #include "confdefs.h" #include <libutf8.h> @@ -6845,16 +6967,16 @@ putwc(0,0); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:6848: \"$ac_link\"") >&5 +if { (eval echo "$as_me:6970: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:6851: \$? = $ac_status" >&5 + echo "$as_me:6973: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:6854: \"$ac_try\"") >&5 + { (eval echo "$as_me:6976: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6857: \$? = $ac_status" >&5 + echo "$as_me:6979: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_libutf8=yes else @@ -6866,7 +6988,7 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS="$cf_save_LIBS" fi -echo "$as_me:6869: result: $cf_cv_libutf8" >&5 +echo "$as_me:6991: result: $cf_cv_libutf8" >&5 echo "${ECHO_T}$cf_cv_libutf8" >&6 if test "$cf_cv_libutf8" = yes ; then @@ -6883,14 +7005,14 @@ fi fi # This is needed on Tru64 5.0 to declare mbstate_t -echo "$as_me:6886: checking if we must include wchar.h to declare mbstate_t" >&5 +echo "$as_me:7008: checking if we must include wchar.h to declare mbstate_t" >&5 echo $ECHO_N "checking if we must include wchar.h to declare mbstate_t... $ECHO_C" >&6 if test "${cf_cv_mbstate_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 6893 "configure" +#line 7015 "configure" #include "confdefs.h" #include <stdlib.h> @@ -6908,23 +7030,23 @@ mbstate_t state } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:6911: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:7033: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6914: \$? = $ac_status" >&5 + echo "$as_me:7036: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6917: \"$ac_try\"") >&5 + { (eval echo "$as_me:7039: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6920: \$? = $ac_status" >&5 + echo "$as_me:7042: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_mbstate_t=no else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF -#line 6927 "configure" +#line 7049 "configure" #include "confdefs.h" #include <stdlib.h> @@ -6943,16 +7065,16 @@ mbstate_t value } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:6946: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:7068: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:6949: \$? = $ac_status" >&5 + echo "$as_me:7071: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:6952: \"$ac_try\"") >&5 + { (eval echo "$as_me:7074: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:6955: \$? = $ac_status" >&5 + echo "$as_me:7077: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_mbstate_t=yes else @@ -6964,7 +7086,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:6967: result: $cf_cv_mbstate_t" >&5 +echo "$as_me:7089: result: $cf_cv_mbstate_t" >&5 echo "${ECHO_T}$cf_cv_mbstate_t" >&6 if test "$cf_cv_mbstate_t" = yes ; then @@ -6981,14 +7103,14 @@ if test "$cf_cv_mbstate_t" = unknown ; then fi # This is needed on Tru64 5.0 to declare wchar_t -echo "$as_me:6984: checking if we must include wchar.h to declare wchar_t" >&5 +echo "$as_me:7106: checking if we must include wchar.h to declare wchar_t" >&5 echo $ECHO_N "checking if we must include wchar.h to declare wchar_t... $ECHO_C" >&6 if test "${cf_cv_wchar_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 6991 "configure" +#line 7113 "configure" #include "confdefs.h" #include <stdlib.h> @@ -7006,23 +7128,23 @@ wchar_t state } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:7009: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:7131: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7012: \$? = $ac_status" >&5 + echo "$as_me:7134: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7015: \"$ac_try\"") >&5 + { (eval echo "$as_me:7137: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7018: \$? = $ac_status" >&5 + echo "$as_me:7140: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_wchar_t=no else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF -#line 7025 "configure" +#line 7147 "configure" #include "confdefs.h" #include <stdlib.h> @@ -7041,16 +7163,16 @@ wchar_t value } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:7044: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:7166: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7047: \$? = $ac_status" >&5 + echo "$as_me:7169: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7050: \"$ac_try\"") >&5 + { (eval echo "$as_me:7172: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7053: \$? = $ac_status" >&5 + echo "$as_me:7175: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_wchar_t=yes else @@ -7062,7 +7184,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:7065: result: $cf_cv_wchar_t" >&5 +echo "$as_me:7187: result: $cf_cv_wchar_t" >&5 echo "${ECHO_T}$cf_cv_wchar_t" >&6 if test "$cf_cv_wchar_t" = yes ; then @@ -7084,14 +7206,14 @@ if test "$cf_cv_wchar_t" != unknown ; then fi # This is needed on Tru64 5.0 to declare wint_t -echo "$as_me:7087: checking if we must include wchar.h to declare wint_t" >&5 +echo "$as_me:7209: checking if we must include wchar.h to declare wint_t" >&5 echo $ECHO_N "checking if we must include wchar.h to declare wint_t... $ECHO_C" >&6 if test "${cf_cv_wint_t+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 7094 "configure" +#line 7216 "configure" #include "confdefs.h" #include <stdlib.h> @@ -7109,23 +7231,23 @@ wint_t state } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:7112: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:7234: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7115: \$? = $ac_status" >&5 + echo "$as_me:7237: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7118: \"$ac_try\"") >&5 + { (eval echo "$as_me:7240: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7121: \$? = $ac_status" >&5 + echo "$as_me:7243: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_wint_t=no else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF -#line 7128 "configure" +#line 7250 "configure" #include "confdefs.h" #include <stdlib.h> @@ -7144,16 +7266,16 @@ wint_t value } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:7147: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:7269: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7150: \$? = $ac_status" >&5 + echo "$as_me:7272: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7153: \"$ac_try\"") >&5 + { (eval echo "$as_me:7275: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7156: \$? = $ac_status" >&5 + echo "$as_me:7278: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_wint_t=yes else @@ -7165,7 +7287,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:7168: result: $cf_cv_wint_t" >&5 +echo "$as_me:7290: result: $cf_cv_wint_t" >&5 echo "${ECHO_T}$cf_cv_wint_t" >&6 if test "$cf_cv_wint_t" = yes ; then @@ -7204,7 +7326,7 @@ case $cf_cv_abi_version in ;; esac -echo "$as_me:7207: checking whether to enable _LP64 definition in curses.h" >&5 +echo "$as_me:7329: checking whether to enable _LP64 definition in curses.h" >&5 echo $ECHO_N "checking whether to enable _LP64 definition in curses.h... $ECHO_C" >&6 # Check whether --enable-lp64 or --disable-lp64 was given. @@ -7214,7 +7336,7 @@ if test "${enable_lp64+set}" = set; then else with_lp64=$default_with_lp64 fi; -echo "$as_me:7217: result: $with_lp64" >&5 +echo "$as_me:7339: result: $with_lp64" >&5 echo "${ECHO_T}$with_lp64" >&6 if test "$with_lp64" = yes ; then @@ -7230,7 +7352,7 @@ if test "${enable_largefile+set}" = set; then fi; if test "$enable_largefile" != no; then - echo "$as_me:7233: checking for special C compiler options needed for large files" >&5 + echo "$as_me:7355: checking for special C compiler options needed for large files" >&5 echo $ECHO_N "checking for special C compiler options needed for large files... $ECHO_C" >&6 if test "${ac_cv_sys_largefile_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7242,7 +7364,7 @@ else # IRIX 6.2 and later do not support large files by default, # so use the C compiler's -n32 option if that helps. cat >conftest.$ac_ext <<_ACEOF -#line 7245 "configure" +#line 7367 "configure" #include "confdefs.h" #include <sys/types.h> /* Check that off_t can represent 2**63 - 1 correctly. @@ -7262,16 +7384,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:7265: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:7387: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7268: \$? = $ac_status" >&5 + echo "$as_me:7390: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7271: \"$ac_try\"") >&5 + { (eval echo "$as_me:7393: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7274: \$? = $ac_status" >&5 + echo "$as_me:7396: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else @@ -7281,16 +7403,16 @@ fi rm -f conftest.$ac_objext CC="$CC -n32" rm -f conftest.$ac_objext -if { (eval echo "$as_me:7284: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:7406: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7287: \$? = $ac_status" >&5 + echo "$as_me:7409: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7290: \"$ac_try\"") >&5 + { (eval echo "$as_me:7412: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7293: \$? = $ac_status" >&5 + echo "$as_me:7415: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_largefile_CC=' -n32'; break else @@ -7304,13 +7426,13 @@ rm -f conftest.$ac_objext rm -f conftest.$ac_ext fi fi -echo "$as_me:7307: result: $ac_cv_sys_largefile_CC" >&5 +echo "$as_me:7429: result: $ac_cv_sys_largefile_CC" >&5 echo "${ECHO_T}$ac_cv_sys_largefile_CC" >&6 if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi - echo "$as_me:7313: checking for _FILE_OFFSET_BITS value needed for large files" >&5 + echo "$as_me:7435: checking for _FILE_OFFSET_BITS value needed for large files" >&5 echo $ECHO_N "checking for _FILE_OFFSET_BITS value needed for large files... $ECHO_C" >&6 if test "${ac_cv_sys_file_offset_bits+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7318,7 +7440,7 @@ else while :; do ac_cv_sys_file_offset_bits=no cat >conftest.$ac_ext <<_ACEOF -#line 7321 "configure" +#line 7443 "configure" #include "confdefs.h" #include <sys/types.h> /* Check that off_t can represent 2**63 - 1 correctly. @@ -7338,16 +7460,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:7341: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:7463: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7344: \$? = $ac_status" >&5 + echo "$as_me:7466: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7347: \"$ac_try\"") >&5 + { (eval echo "$as_me:7469: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7350: \$? = $ac_status" >&5 + echo "$as_me:7472: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else @@ -7356,7 +7478,7 @@ cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF -#line 7359 "configure" +#line 7481 "configure" #include "confdefs.h" #define _FILE_OFFSET_BITS 64 #include <sys/types.h> @@ -7377,16 +7499,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:7380: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:7502: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7383: \$? = $ac_status" >&5 + echo "$as_me:7505: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7386: \"$ac_try\"") >&5 + { (eval echo "$as_me:7508: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7389: \$? = $ac_status" >&5 + echo "$as_me:7511: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_file_offset_bits=64; break else @@ -7397,7 +7519,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext break done fi -echo "$as_me:7400: result: $ac_cv_sys_file_offset_bits" >&5 +echo "$as_me:7522: result: $ac_cv_sys_file_offset_bits" >&5 echo "${ECHO_T}$ac_cv_sys_file_offset_bits" >&6 if test "$ac_cv_sys_file_offset_bits" != no; then @@ -7407,7 +7529,7 @@ EOF fi rm -f conftest* - echo "$as_me:7410: checking for _LARGE_FILES value needed for large files" >&5 + echo "$as_me:7532: checking for _LARGE_FILES value needed for large files" >&5 echo $ECHO_N "checking for _LARGE_FILES value needed for large files... $ECHO_C" >&6 if test "${ac_cv_sys_large_files+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7415,7 +7537,7 @@ else while :; do ac_cv_sys_large_files=no cat >conftest.$ac_ext <<_ACEOF -#line 7418 "configure" +#line 7540 "configure" #include "confdefs.h" #include <sys/types.h> /* Check that off_t can represent 2**63 - 1 correctly. @@ -7435,16 +7557,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:7438: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:7560: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7441: \$? = $ac_status" >&5 + echo "$as_me:7563: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7444: \"$ac_try\"") >&5 + { (eval echo "$as_me:7566: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7447: \$? = $ac_status" >&5 + echo "$as_me:7569: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else @@ -7453,7 +7575,7 @@ cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF -#line 7456 "configure" +#line 7578 "configure" #include "confdefs.h" #define _LARGE_FILES 1 #include <sys/types.h> @@ -7474,16 +7596,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:7477: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:7599: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7480: \$? = $ac_status" >&5 + echo "$as_me:7602: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7483: \"$ac_try\"") >&5 + { (eval echo "$as_me:7605: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7486: \$? = $ac_status" >&5 + echo "$as_me:7608: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_large_files=1; break else @@ -7494,7 +7616,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext break done fi -echo "$as_me:7497: result: $ac_cv_sys_large_files" >&5 +echo "$as_me:7619: result: $ac_cv_sys_large_files" >&5 echo "${ECHO_T}$ac_cv_sys_large_files" >&6 if test "$ac_cv_sys_large_files" != no; then @@ -7507,7 +7629,7 @@ rm -f conftest* fi if test "$enable_largefile" != no ; then - echo "$as_me:7510: checking for _LARGEFILE_SOURCE value needed for large files" >&5 + echo "$as_me:7632: checking for _LARGEFILE_SOURCE value needed for large files" >&5 echo $ECHO_N "checking for _LARGEFILE_SOURCE value needed for large files... $ECHO_C" >&6 if test "${ac_cv_sys_largefile_source+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -7515,7 +7637,7 @@ else while :; do ac_cv_sys_largefile_source=no cat >conftest.$ac_ext <<_ACEOF -#line 7518 "configure" +#line 7640 "configure" #include "confdefs.h" #include <stdio.h> int @@ -7527,16 +7649,16 @@ return !fseeko; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:7530: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:7652: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7533: \$? = $ac_status" >&5 + echo "$as_me:7655: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7536: \"$ac_try\"") >&5 + { (eval echo "$as_me:7658: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7539: \$? = $ac_status" >&5 + echo "$as_me:7661: \$? = $ac_status" >&5 (exit $ac_status); }; }; then break else @@ -7545,7 +7667,7 @@ cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext cat >conftest.$ac_ext <<_ACEOF -#line 7548 "configure" +#line 7670 "configure" #include "confdefs.h" #define _LARGEFILE_SOURCE 1 #include <stdio.h> @@ -7558,16 +7680,16 @@ return !fseeko; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:7561: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:7683: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7564: \$? = $ac_status" >&5 + echo "$as_me:7686: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7567: \"$ac_try\"") >&5 + { (eval echo "$as_me:7689: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7570: \$? = $ac_status" >&5 + echo "$as_me:7692: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sys_largefile_source=1; break else @@ -7578,7 +7700,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext break done fi -echo "$as_me:7581: result: $ac_cv_sys_largefile_source" >&5 +echo "$as_me:7703: result: $ac_cv_sys_largefile_source" >&5 echo "${ECHO_T}$ac_cv_sys_largefile_source" >&6 if test "$ac_cv_sys_largefile_source" != no; then @@ -7592,13 +7714,13 @@ rm -f conftest* # We used to try defining _XOPEN_SOURCE=500 too, to work around a bug # in glibc 2.1.3, but that breaks too many other things. # If you want fseeko and ftello with glibc, upgrade to a fixed glibc. -echo "$as_me:7595: checking for fseeko" >&5 +echo "$as_me:7717: checking for fseeko" >&5 echo $ECHO_N "checking for fseeko... $ECHO_C" >&6 if test "${ac_cv_func_fseeko+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 7601 "configure" +#line 7723 "configure" #include "confdefs.h" #include <stdio.h> int @@ -7610,16 +7732,16 @@ return fseeko && fseeko (stdin, 0, 0); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:7613: \"$ac_link\"") >&5 +if { (eval echo "$as_me:7735: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:7616: \$? = $ac_status" >&5 + echo "$as_me:7738: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:7619: \"$ac_try\"") >&5 + { (eval echo "$as_me:7741: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7622: \$? = $ac_status" >&5 + echo "$as_me:7744: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_fseeko=yes else @@ -7629,7 +7751,7 @@ ac_cv_func_fseeko=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:7632: result: $ac_cv_func_fseeko" >&5 +echo "$as_me:7754: result: $ac_cv_func_fseeko" >&5 echo "${ECHO_T}$ac_cv_func_fseeko" >&6 if test $ac_cv_func_fseeko = yes; then @@ -7648,15 +7770,16 @@ fi # the config.h test "$ac_cv_sys_large_files" != no && CPPFLAGS="$CPPFLAGS -D_LARGE_FILES " test "$ac_cv_sys_largefile_source" != no && CPPFLAGS="$CPPFLAGS -D_LARGEFILE_SOURCE " + test "$ac_cv_sys_file_offset_bits" != no && CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits " - echo "$as_me:7652: checking whether to use struct dirent64" >&5 + echo "$as_me:7775: checking whether to use struct dirent64" >&5 echo $ECHO_N "checking whether to use struct dirent64... $ECHO_C" >&6 if test "${cf_cv_struct_dirent64+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 7659 "configure" +#line 7782 "configure" #include "confdefs.h" #include <sys/types.h> @@ -7677,16 +7800,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:7680: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:7803: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:7683: \$? = $ac_status" >&5 + echo "$as_me:7806: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:7686: \"$ac_try\"") >&5 + { (eval echo "$as_me:7809: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:7689: \$? = $ac_status" >&5 + echo "$as_me:7812: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_struct_dirent64=yes else @@ -7697,7 +7820,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:7700: result: $cf_cv_struct_dirent64" >&5 +echo "$as_me:7823: result: $cf_cv_struct_dirent64" >&5 echo "${ECHO_T}$cf_cv_struct_dirent64" >&6 test "$cf_cv_struct_dirent64" = yes && cat >>confdefs.h <<\EOF #define HAVE_STRUCT_DIRENT64 1 @@ -7706,7 +7829,7 @@ EOF fi ### use option --disable-tparm-varargs to make tparm() conform to X/Open -echo "$as_me:7709: checking if you want tparm not to use X/Open fixed-parameter list" >&5 +echo "$as_me:7832: checking if you want tparm not to use X/Open fixed-parameter list" >&5 echo $ECHO_N "checking if you want tparm not to use X/Open fixed-parameter list... $ECHO_C" >&6 # Check whether --enable-tparm-varargs or --disable-tparm-varargs was given. @@ -7716,13 +7839,13 @@ if test "${enable_tparm_varargs+set}" = set; then else with_tparm_varargs=yes fi; -echo "$as_me:7719: result: $with_tparm_varargs" >&5 +echo "$as_me:7842: result: $with_tparm_varargs" >&5 echo "${ECHO_T}$with_tparm_varargs" >&6 NCURSES_TPARM_VARARGS=0 test "$with_tparm_varargs" = yes && NCURSES_TPARM_VARARGS=1 ### use option --with-bool to override bool's type -echo "$as_me:7725: checking for type of bool" >&5 +echo "$as_me:7848: checking for type of bool" >&5 echo $ECHO_N "checking for type of bool... $ECHO_C" >&6 # Check whether --with-bool or --without-bool was given. @@ -7732,10 +7855,10 @@ if test "${with_bool+set}" = set; then else NCURSES_BOOL=auto fi; -echo "$as_me:7735: result: $NCURSES_BOOL" >&5 +echo "$as_me:7858: result: $NCURSES_BOOL" >&5 echo "${ECHO_T}$NCURSES_BOOL" >&6 -echo "$as_me:7738: checking for alternate terminal capabilities file" >&5 +echo "$as_me:7861: checking for alternate terminal capabilities file" >&5 echo $ECHO_N "checking for alternate terminal capabilities file... $ECHO_C" >&6 # Check whether --with-caps or --without-caps was given. @@ -7746,11 +7869,11 @@ else TERMINFO_CAPS=Caps fi; test -f "${srcdir}/include/${TERMINFO_CAPS}" || TERMINFO_CAPS=Caps -echo "$as_me:7749: result: $TERMINFO_CAPS" >&5 +echo "$as_me:7872: result: $TERMINFO_CAPS" >&5 echo "${ECHO_T}$TERMINFO_CAPS" >&6 ### use option --with-chtype to override chtype's type -echo "$as_me:7753: checking for type of chtype" >&5 +echo "$as_me:7876: checking for type of chtype" >&5 echo $ECHO_N "checking for type of chtype... $ECHO_C" >&6 # Check whether --with-chtype or --without-chtype was given. @@ -7760,11 +7883,11 @@ if test "${with_chtype+set}" = set; then else NCURSES_CHTYPE=auto fi; -echo "$as_me:7763: result: $NCURSES_CHTYPE" >&5 +echo "$as_me:7886: result: $NCURSES_CHTYPE" >&5 echo "${ECHO_T}$NCURSES_CHTYPE" >&6 ### use option --with-ospeed to override ospeed's type -echo "$as_me:7767: checking for type of ospeed" >&5 +echo "$as_me:7890: checking for type of ospeed" >&5 echo $ECHO_N "checking for type of ospeed... $ECHO_C" >&6 # Check whether --with-ospeed or --without-ospeed was given. @@ -7774,11 +7897,11 @@ if test "${with_ospeed+set}" = set; then else NCURSES_OSPEED=short fi; -echo "$as_me:7777: result: $NCURSES_OSPEED" >&5 +echo "$as_me:7900: result: $NCURSES_OSPEED" >&5 echo "${ECHO_T}$NCURSES_OSPEED" >&6 ### use option --with-mmask-t to override mmask_t's type -echo "$as_me:7781: checking for type of mmask_t" >&5 +echo "$as_me:7904: checking for type of mmask_t" >&5 echo $ECHO_N "checking for type of mmask_t... $ECHO_C" >&6 # Check whether --with-mmask-t or --without-mmask-t was given. @@ -7788,11 +7911,11 @@ if test "${with_mmask_t+set}" = set; then else NCURSES_MMASK_T=auto fi; -echo "$as_me:7791: result: $NCURSES_MMASK_T" >&5 +echo "$as_me:7914: result: $NCURSES_MMASK_T" >&5 echo "${ECHO_T}$NCURSES_MMASK_T" >&6 ### Enable compiling-in rcs id's -echo "$as_me:7795: checking if RCS identifiers should be compiled-in" >&5 +echo "$as_me:7918: checking if RCS identifiers should be compiled-in" >&5 echo $ECHO_N "checking if RCS identifiers should be compiled-in... $ECHO_C" >&6 # Check whether --with-rcs-ids or --without-rcs-ids was given. @@ -7802,7 +7925,7 @@ if test "${with_rcs_ids+set}" = set; then else with_rcs_ids=no fi; -echo "$as_me:7805: result: $with_rcs_ids" >&5 +echo "$as_me:7928: result: $with_rcs_ids" >&5 echo "${ECHO_T}$with_rcs_ids" >&6 test "$with_rcs_ids" = yes && cat >>confdefs.h <<\EOF #define USE_RCS_IDS 1 @@ -7810,7 +7933,7 @@ EOF ############################################################################### -echo "$as_me:7813: checking format of man-pages" >&5 +echo "$as_me:7936: checking format of man-pages" >&5 echo $ECHO_N "checking format of man-pages... $ECHO_C" >&6 # Check whether --with-manpage-format or --without-manpage-format was given. @@ -7899,14 +8022,14 @@ unknown) ;; esac -echo "$as_me:7902: result: $MANPAGE_FORMAT" >&5 +echo "$as_me:8025: result: $MANPAGE_FORMAT" >&5 echo "${ECHO_T}$MANPAGE_FORMAT" >&6 if test -n "$cf_unknown" ; then - { echo "$as_me:7905: WARNING: Unexpected manpage-format $cf_unknown" >&5 + { echo "$as_me:8028: WARNING: Unexpected manpage-format $cf_unknown" >&5 echo "$as_me: WARNING: Unexpected manpage-format $cf_unknown" >&2;} fi -echo "$as_me:7909: checking for manpage renaming" >&5 +echo "$as_me:8032: checking for manpage renaming" >&5 echo $ECHO_N "checking for manpage renaming... $ECHO_C" >&6 # Check whether --with-manpage-renames or --without-manpage-renames was given. @@ -7934,7 +8057,7 @@ if test "$MANPAGE_RENAMES" != no ; then if test -f $srcdir/man/$MANPAGE_RENAMES ; then MANPAGE_RENAMES=`cd $srcdir/man && pwd`/$MANPAGE_RENAMES elif test ! -f $MANPAGE_RENAMES ; then - { { echo "$as_me:7937: error: not a filename: $MANPAGE_RENAMES" >&5 + { { echo "$as_me:8060: error: not a filename: $MANPAGE_RENAMES" >&5 echo "$as_me: error: not a filename: $MANPAGE_RENAMES" >&2;} { (exit 1); exit 1; }; } fi @@ -7948,10 +8071,10 @@ echo "$as_me: error: not a filename: $MANPAGE_RENAMES" >&2;} fi fi -echo "$as_me:7951: result: $MANPAGE_RENAMES" >&5 +echo "$as_me:8074: result: $MANPAGE_RENAMES" >&5 echo "${ECHO_T}$MANPAGE_RENAMES" >&6 -echo "$as_me:7954: checking if manpage aliases will be installed" >&5 +echo "$as_me:8077: checking if manpage aliases will be installed" >&5 echo $ECHO_N "checking if manpage aliases will be installed... $ECHO_C" >&6 # Check whether --with-manpage-aliases or --without-manpage-aliases was given. @@ -7962,7 +8085,7 @@ else MANPAGE_ALIASES=yes fi; -echo "$as_me:7965: result: $MANPAGE_ALIASES" >&5 +echo "$as_me:8088: result: $MANPAGE_ALIASES" >&5 echo "${ECHO_T}$MANPAGE_ALIASES" >&6 if test "$LN_S" = "ln -s"; then @@ -7973,7 +8096,7 @@ fi MANPAGE_SYMLINKS=no if test "$MANPAGE_ALIASES" = yes ; then -echo "$as_me:7976: checking if manpage symlinks should be used" >&5 +echo "$as_me:8099: checking if manpage symlinks should be used" >&5 echo $ECHO_N "checking if manpage symlinks should be used... $ECHO_C" >&6 # Check whether --with-manpage-symlinks or --without-manpage-symlinks was given. @@ -7986,17 +8109,17 @@ fi; if test "$$cf_use_symlinks" = no; then if test "$MANPAGE_SYMLINKS" = yes ; then - { echo "$as_me:7989: WARNING: cannot make symlinks" >&5 + { echo "$as_me:8112: WARNING: cannot make symlinks" >&5 echo "$as_me: WARNING: cannot make symlinks" >&2;} MANPAGE_SYMLINKS=no fi fi -echo "$as_me:7995: result: $MANPAGE_SYMLINKS" >&5 +echo "$as_me:8118: result: $MANPAGE_SYMLINKS" >&5 echo "${ECHO_T}$MANPAGE_SYMLINKS" >&6 fi -echo "$as_me:7999: checking for manpage tbl" >&5 +echo "$as_me:8122: checking for manpage tbl" >&5 echo $ECHO_N "checking for manpage tbl... $ECHO_C" >&6 # Check whether --with-manpage-tbl or --without-manpage-tbl was given. @@ -8007,7 +8130,7 @@ else MANPAGE_TBL=no fi; -echo "$as_me:8010: result: $MANPAGE_TBL" >&5 +echo "$as_me:8133: result: $MANPAGE_TBL" >&5 echo "${ECHO_T}$MANPAGE_TBL" >&6 if test "$prefix" = "NONE" ; then @@ -8047,6 +8170,7 @@ case "$MANPAGE_FORMAT" in #(vi esac cf_edit_man=./edit_man.sh +cf_man_alias=`pwd`/man_alias.sed cat >$cf_edit_man <<CF_EOF #! /bin/sh @@ -8062,7 +8186,7 @@ NCURSES_PATCH="$NCURSES_PATCH" NCURSES_OSPEED="$NCURSES_OSPEED" TERMINFO="$TERMINFO" -MKDIRS="sh `cd $srcdir && pwd`/mkinstalldirs" +MKDIRS="sh `cd $srcdir && pwd`/mkdirs.sh" INSTALL="$INSTALL" INSTALL_DATA="$INSTALL_DATA" @@ -8110,6 +8234,32 @@ case \$i in #(vi \$MKDIRS \$cf_subdir\$section fi fi + + # replace variables in man page + if test ! -f $cf_man_alias ; then +cat >>$cf_man_alias <<-CF_EOF2 + s,@DATADIR@,\$datadir,g + s,@TERMINFO@,\$TERMINFO,g + s,@NCURSES_MAJOR@,\$NCURSES_MAJOR,g + s,@NCURSES_MINOR@,\$NCURSES_MINOR,g + s,@NCURSES_PATCH@,\$NCURSES_PATCH,g + s,@NCURSES_OSPEED@,\$NCURSES_OSPEED,g +CF_EOF + + for cf_name in captoinfo clear infocmp infotocap tic toe tput + do + cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` + cf_name=`echo $cf_name|sed "$program_transform_name"` +cat >>$cf_edit_man <<-CF_EOF + s,@$cf_NAME@,$cf_name, +CF_EOF + done + +cat >>$cf_edit_man <<CF_EOF +CF_EOF2 + echo "...made $cf_man_alias" + fi + aliases= cf_source=\`basename \$i\` inalias=\$cf_source @@ -8122,7 +8272,7 @@ CF_EOF if test "$MANPAGE_ALIASES" != no ; then cat >>$cf_edit_man <<CF_EOF - aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias | sort -u\` + aliases=\`sed -f \$top_srcdir/man/manlinks.sed \$inalias |sed -f $cf_man_alias | sort -u\` CF_EOF fi @@ -8143,34 +8293,13 @@ cat >>$cf_edit_man <<CF_EOF cf_target="\$cf_source" fi cf_target="\$cf_subdir\${section}/\${cf_target}" -CF_EOF -fi - - # replace variables in man page - for cf_name in captoinfo clear infocmp infotocap tic toe tput - do -cat >>$cf_edit_man <<CF_EOF - prog_$cf_name=\`echo $cf_name|sed "\${transform}"\` -CF_EOF - done - -cat >>$cf_edit_man <<CF_EOF - sed -e "s,@DATADIR@,\$datadir," \\ - -e "s,@TERMINFO@,\$TERMINFO," \\ - -e "s,@NCURSES_MAJOR@,\$NCURSES_MAJOR," \\ - -e "s,@NCURSES_MINOR@,\$NCURSES_MINOR," \\ - -e "s,@NCURSES_PATCH@,\$NCURSES_PATCH," \\ - -e "s,@NCURSES_OSPEED@,\$NCURSES_OSPEED," \\ CF_EOF +fi - for cf_name in captoinfo clear infocmp infotocap tic toe tput - do - cf_NAME=`echo "$cf_name" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%` cat >>$cf_edit_man <<CF_EOF - -e "s,@$cf_NAME@,\$prog_$cf_name," \\ + sed -f $cf_man_alias \\ CF_EOF - done if test -f $MANPAGE_RENAMES ; then cat >>$cf_edit_man <<CF_EOF @@ -8231,6 +8360,7 @@ cat >>$cf_edit_man <<CF_EOF if test \$verb = installing ; then echo \$verb \$cf_target \$INSTALL_DATA \$TMP \$cf_target + test -d \$cf_subdir\${section} && test -n "\$aliases" && ( cd \$cf_subdir\${section} && ( cf_source=\`echo \$cf_target |sed -e 's%^.*/\([^/][^/]*/[^/][^/]*$\)%\1%'\` @@ -8272,8 +8402,11 @@ cat >>$cf_edit_man <<CF_EOF ) ) elif test \$verb = removing ; then - echo \$verb \$cf_target - rm -f \$cf_target + test -f \$cf_target && ( + echo \$verb \$cf_target + rm -f \$cf_target + ) + test -d \$cf_subdir\${section} && test -n "\$aliases" && ( cd \$cf_subdir\${section} && ( for cf_alias in \$aliases @@ -8308,7 +8441,7 @@ chmod 755 $cf_edit_man ############################################################################### ### Note that some functions (such as const) are normally disabled anyway. -echo "$as_me:8311: checking if you want to build with function extensions" >&5 +echo "$as_me:8444: checking if you want to build with function extensions" >&5 echo $ECHO_N "checking if you want to build with function extensions... $ECHO_C" >&6 # Check whether --enable-ext-funcs or --disable-ext-funcs was given. @@ -8318,7 +8451,7 @@ if test "${enable_ext_funcs+set}" = set; then else with_ext_funcs=yes fi; -echo "$as_me:8321: result: $with_ext_funcs" >&5 +echo "$as_me:8454: result: $with_ext_funcs" >&5 echo "${ECHO_T}$with_ext_funcs" >&6 if test "$with_ext_funcs" = yes ; then NCURSES_EXT_FUNCS=1 @@ -8355,7 +8488,7 @@ else fi ### use option --enable-const to turn on use of const beyond that in XSI. -echo "$as_me:8358: checking for extended use of const keyword" >&5 +echo "$as_me:8491: checking for extended use of const keyword" >&5 echo $ECHO_N "checking for extended use of const keyword... $ECHO_C" >&6 # Check whether --enable-const or --disable-const was given. @@ -8365,14 +8498,14 @@ if test "${enable_const+set}" = set; then else with_ext_const=no fi; -echo "$as_me:8368: result: $with_ext_const" >&5 +echo "$as_me:8501: result: $with_ext_const" >&5 echo "${ECHO_T}$with_ext_const" >&6 NCURSES_CONST='/*nothing*/' if test "$with_ext_const" = yes ; then NCURSES_CONST=const fi -echo "$as_me:8375: checking if you want \$NCURSES_NO_PADDING code" >&5 +echo "$as_me:8508: checking if you want \$NCURSES_NO_PADDING code" >&5 echo $ECHO_N "checking if you want \$NCURSES_NO_PADDING code... $ECHO_C" >&6 # Check whether --enable-no-padding or --disable-no-padding was given. @@ -8382,19 +8515,19 @@ if test "${enable_no_padding+set}" = set; then else with_no_padding=$with_ext_funcs fi; -echo "$as_me:8385: result: $with_no_padding" >&5 +echo "$as_me:8518: result: $with_no_padding" >&5 echo "${ECHO_T}$with_no_padding" >&6 test "$with_no_padding" = yes && cat >>confdefs.h <<\EOF #define NCURSES_NO_PADDING 1 EOF -echo "$as_me:8391: checking for ANSI C header files" >&5 +echo "$as_me:8524: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 8397 "configure" +#line 8530 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -8402,13 +8535,13 @@ else #include <float.h> _ACEOF -if { (eval echo "$as_me:8405: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:8538: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:8411: \$? = $ac_status" >&5 + echo "$as_me:8544: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -8430,7 +8563,7 @@ rm -f conftest.err conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF -#line 8433 "configure" +#line 8566 "configure" #include "confdefs.h" #include <string.h> @@ -8448,7 +8581,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF -#line 8451 "configure" +#line 8584 "configure" #include "confdefs.h" #include <stdlib.h> @@ -8469,7 +8602,7 @@ if test $ac_cv_header_stdc = yes; then : else cat >conftest.$ac_ext <<_ACEOF -#line 8472 "configure" +#line 8605 "configure" #include "confdefs.h" #include <ctype.h> #if ((' ' & 0x0FF) == 0x020) @@ -8495,15 +8628,15 @@ main () } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:8498: \"$ac_link\"") >&5 +if { (eval echo "$as_me:8631: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:8501: \$? = $ac_status" >&5 + echo "$as_me:8634: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:8503: \"$ac_try\"") >&5 + { (eval echo "$as_me:8636: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8506: \$? = $ac_status" >&5 + echo "$as_me:8639: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else @@ -8516,7 +8649,7 @@ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi -echo "$as_me:8519: result: $ac_cv_header_stdc" >&5 +echo "$as_me:8652: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then @@ -8532,28 +8665,28 @@ for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:8535: checking for $ac_header" >&5 +echo "$as_me:8668: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 8541 "configure" +#line 8674 "configure" #include "confdefs.h" $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:8547: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:8680: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:8550: \$? = $ac_status" >&5 + echo "$as_me:8683: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8553: \"$ac_try\"") >&5 + { (eval echo "$as_me:8686: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8556: \$? = $ac_status" >&5 + echo "$as_me:8689: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" else @@ -8563,7 +8696,7 @@ eval "$as_ac_Header=no" fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:8566: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:8699: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<EOF @@ -8573,13 +8706,13 @@ EOF fi done -echo "$as_me:8576: checking for signed char" >&5 +echo "$as_me:8709: checking for signed char" >&5 echo $ECHO_N "checking for signed char... $ECHO_C" >&6 if test "${ac_cv_type_signed_char+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 8582 "configure" +#line 8715 "configure" #include "confdefs.h" $ac_includes_default int @@ -8594,16 +8727,16 @@ if (sizeof (signed char)) } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:8597: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:8730: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:8600: \$? = $ac_status" >&5 + echo "$as_me:8733: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8603: \"$ac_try\"") >&5 + { (eval echo "$as_me:8736: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8606: \$? = $ac_status" >&5 + echo "$as_me:8739: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_signed_char=yes else @@ -8613,10 +8746,10 @@ ac_cv_type_signed_char=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:8616: result: $ac_cv_type_signed_char" >&5 +echo "$as_me:8749: result: $ac_cv_type_signed_char" >&5 echo "${ECHO_T}$ac_cv_type_signed_char" >&6 -echo "$as_me:8619: checking size of signed char" >&5 +echo "$as_me:8752: checking size of signed char" >&5 echo $ECHO_N "checking size of signed char... $ECHO_C" >&6 if test "${ac_cv_sizeof_signed_char+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -8625,7 +8758,7 @@ else if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat >conftest.$ac_ext <<_ACEOF -#line 8628 "configure" +#line 8761 "configure" #include "confdefs.h" $ac_includes_default int @@ -8637,21 +8770,21 @@ int _array_ [1 - 2 * !((sizeof (signed char)) >= 0)] } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:8640: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:8773: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:8643: \$? = $ac_status" >&5 + echo "$as_me:8776: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8646: \"$ac_try\"") >&5 + { (eval echo "$as_me:8779: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8649: \$? = $ac_status" >&5 + echo "$as_me:8782: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=0 ac_mid=0 while :; do cat >conftest.$ac_ext <<_ACEOF -#line 8654 "configure" +#line 8787 "configure" #include "confdefs.h" $ac_includes_default int @@ -8663,16 +8796,16 @@ int _array_ [1 - 2 * !((sizeof (signed char)) <= $ac_mid)] } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:8666: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:8799: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:8669: \$? = $ac_status" >&5 + echo "$as_me:8802: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8672: \"$ac_try\"") >&5 + { (eval echo "$as_me:8805: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8675: \$? = $ac_status" >&5 + echo "$as_me:8808: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid; break else @@ -8688,7 +8821,7 @@ cat conftest.$ac_ext >&5 ac_hi=-1 ac_mid=-1 while :; do cat >conftest.$ac_ext <<_ACEOF -#line 8691 "configure" +#line 8824 "configure" #include "confdefs.h" $ac_includes_default int @@ -8700,16 +8833,16 @@ int _array_ [1 - 2 * !((sizeof (signed char)) >= $ac_mid)] } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:8703: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:8836: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:8706: \$? = $ac_status" >&5 + echo "$as_me:8839: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8709: \"$ac_try\"") >&5 + { (eval echo "$as_me:8842: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8712: \$? = $ac_status" >&5 + echo "$as_me:8845: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_lo=$ac_mid; break else @@ -8725,7 +8858,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext while test "x$ac_lo" != "x$ac_hi"; do ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` cat >conftest.$ac_ext <<_ACEOF -#line 8728 "configure" +#line 8861 "configure" #include "confdefs.h" $ac_includes_default int @@ -8737,16 +8870,16 @@ int _array_ [1 - 2 * !((sizeof (signed char)) <= $ac_mid)] } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:8740: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:8873: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:8743: \$? = $ac_status" >&5 + echo "$as_me:8876: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:8746: \"$ac_try\"") >&5 + { (eval echo "$as_me:8879: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8749: \$? = $ac_status" >&5 + echo "$as_me:8882: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_hi=$ac_mid else @@ -8759,12 +8892,12 @@ done ac_cv_sizeof_signed_char=$ac_lo else if test "$cross_compiling" = yes; then - { { echo "$as_me:8762: error: cannot run test program while cross compiling" >&5 + { { echo "$as_me:8895: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF -#line 8767 "configure" +#line 8900 "configure" #include "confdefs.h" $ac_includes_default int @@ -8780,15 +8913,15 @@ fclose (f); } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:8783: \"$ac_link\"") >&5 +if { (eval echo "$as_me:8916: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:8786: \$? = $ac_status" >&5 + echo "$as_me:8919: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:8788: \"$ac_try\"") >&5 + { (eval echo "$as_me:8921: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:8791: \$? = $ac_status" >&5 + echo "$as_me:8924: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_sizeof_signed_char=`cat conftest.val` else @@ -8804,7 +8937,7 @@ else ac_cv_sizeof_signed_char=0 fi fi -echo "$as_me:8807: result: $ac_cv_sizeof_signed_char" >&5 +echo "$as_me:8940: result: $ac_cv_sizeof_signed_char" >&5 echo "${ECHO_T}$ac_cv_sizeof_signed_char" >&6 cat >>confdefs.h <<EOF #define SIZEOF_SIGNED_CHAR $ac_cv_sizeof_signed_char @@ -8815,7 +8948,7 @@ if test "$ac_cv_sizeof_signed_char" = 1 ; then else NCURSES_SBOOL="char" fi -echo "$as_me:8818: checking if you want to use signed Boolean array in term.h" >&5 +echo "$as_me:8951: checking if you want to use signed Boolean array in term.h" >&5 echo $ECHO_N "checking if you want to use signed Boolean array in term.h... $ECHO_C" >&6 # Check whether --enable-signed-char or --disable-signed-char was given. @@ -8825,12 +8958,12 @@ if test "${enable_signed_char+set}" = set; then else with_signed_char=no fi; -echo "$as_me:8828: result: $with_signed_char" >&5 +echo "$as_me:8961: result: $with_signed_char" >&5 echo "${ECHO_T}$with_signed_char" >&6 test "$with_signed_char" != yes && NCURSES_SBOOL="char" ### use option --enable-sigwinch to turn on use of SIGWINCH logic -echo "$as_me:8833: checking if you want SIGWINCH handler" >&5 +echo "$as_me:8966: checking if you want SIGWINCH handler" >&5 echo $ECHO_N "checking if you want SIGWINCH handler... $ECHO_C" >&6 # Check whether --enable-sigwinch or --disable-sigwinch was given. @@ -8840,14 +8973,14 @@ if test "${enable_sigwinch+set}" = set; then else with_sigwinch=$with_ext_funcs fi; -echo "$as_me:8843: result: $with_sigwinch" >&5 +echo "$as_me:8976: result: $with_sigwinch" >&5 echo "${ECHO_T}$with_sigwinch" >&6 test "$with_sigwinch" = yes && cat >>confdefs.h <<\EOF #define USE_SIGWINCH 1 EOF ### use option --enable-tcap-names to allow user to define new capabilities -echo "$as_me:8850: checking if you want user-definable terminal capabilities like termcap" >&5 +echo "$as_me:8983: checking if you want user-definable terminal capabilities like termcap" >&5 echo $ECHO_N "checking if you want user-definable terminal capabilities like termcap... $ECHO_C" >&6 # Check whether --enable-tcap-names or --disable-tcap-names was given. @@ -8857,7 +8990,7 @@ if test "${enable_tcap_names+set}" = set; then else with_tcap_names=$with_ext_funcs fi; -echo "$as_me:8860: result: $with_tcap_names" >&5 +echo "$as_me:8993: result: $with_tcap_names" >&5 echo "${ECHO_T}$with_tcap_names" >&6 NCURSES_XNAMES=0 test "$with_tcap_names" = yes && NCURSES_XNAMES=1 @@ -8865,7 +8998,7 @@ test "$with_tcap_names" = yes && NCURSES_XNAMES=1 ############################################################################### # These options are relatively safe to experiment with. -echo "$as_me:8868: checking if you want all development code" >&5 +echo "$as_me:9001: checking if you want all development code" >&5 echo $ECHO_N "checking if you want all development code... $ECHO_C" >&6 # Check whether --with-develop or --without-develop was given. @@ -8875,11 +9008,11 @@ if test "${with_develop+set}" = set; then else with_develop=no fi; -echo "$as_me:8878: result: $with_develop" >&5 +echo "$as_me:9011: result: $with_develop" >&5 echo "${ECHO_T}$with_develop" >&6 ### use option --enable-hard-tabs to turn on use of hard-tabs optimize -echo "$as_me:8882: checking if you want hard-tabs code" >&5 +echo "$as_me:9015: checking if you want hard-tabs code" >&5 echo $ECHO_N "checking if you want hard-tabs code... $ECHO_C" >&6 # Check whether --enable-hard-tabs or --disable-hard-tabs was given. @@ -8889,14 +9022,14 @@ if test "${enable_hard_tabs+set}" = set; then else enable_hard_tabs=$with_develop fi; -echo "$as_me:8892: result: $enable_hard_tabs" >&5 +echo "$as_me:9025: result: $enable_hard_tabs" >&5 echo "${ECHO_T}$enable_hard_tabs" >&6 test "$enable_hard_tabs" = yes && cat >>confdefs.h <<\EOF #define USE_HARD_TABS 1 EOF ### use option --enable-xmc-glitch to turn on use of magic-cookie optimize -echo "$as_me:8899: checking if you want limited support for xmc" >&5 +echo "$as_me:9032: checking if you want limited support for xmc" >&5 echo $ECHO_N "checking if you want limited support for xmc... $ECHO_C" >&6 # Check whether --enable-xmc-glitch or --disable-xmc-glitch was given. @@ -8906,7 +9039,7 @@ if test "${enable_xmc_glitch+set}" = set; then else enable_xmc_glitch=$with_develop fi; -echo "$as_me:8909: result: $enable_xmc_glitch" >&5 +echo "$as_me:9042: result: $enable_xmc_glitch" >&5 echo "${ECHO_T}$enable_xmc_glitch" >&6 test "$enable_xmc_glitch" = yes && cat >>confdefs.h <<\EOF #define USE_XMC_SUPPORT 1 @@ -8915,7 +9048,7 @@ EOF ############################################################################### # These are just experimental, probably should not be in a package: -echo "$as_me:8918: checking if you do not want to assume colors are white-on-black" >&5 +echo "$as_me:9051: checking if you do not want to assume colors are white-on-black" >&5 echo $ECHO_N "checking if you do not want to assume colors are white-on-black... $ECHO_C" >&6 # Check whether --enable-assumed-color or --disable-assumed-color was given. @@ -8925,14 +9058,14 @@ if test "${enable_assumed_color+set}" = set; then else with_assumed_color=yes fi; -echo "$as_me:8928: result: $with_assumed_color" >&5 +echo "$as_me:9061: result: $with_assumed_color" >&5 echo "${ECHO_T}$with_assumed_color" >&6 test "$with_assumed_color" = yes && cat >>confdefs.h <<\EOF #define USE_ASSUMED_COLOR 1 EOF ### use option --enable-hashmap to turn on use of hashmap scrolling logic -echo "$as_me:8935: checking if you want hashmap scrolling-optimization code" >&5 +echo "$as_me:9068: checking if you want hashmap scrolling-optimization code" >&5 echo $ECHO_N "checking if you want hashmap scrolling-optimization code... $ECHO_C" >&6 # Check whether --enable-hashmap or --disable-hashmap was given. @@ -8942,14 +9075,14 @@ if test "${enable_hashmap+set}" = set; then else with_hashmap=yes fi; -echo "$as_me:8945: result: $with_hashmap" >&5 +echo "$as_me:9078: result: $with_hashmap" >&5 echo "${ECHO_T}$with_hashmap" >&6 test "$with_hashmap" = yes && cat >>confdefs.h <<\EOF #define USE_HASHMAP 1 EOF ### use option --enable-colorfgbg to turn on use of $COLORFGBG environment -echo "$as_me:8952: checking if you want colorfgbg code" >&5 +echo "$as_me:9085: checking if you want colorfgbg code" >&5 echo $ECHO_N "checking if you want colorfgbg code... $ECHO_C" >&6 # Check whether --enable-colorfgbg or --disable-colorfgbg was given. @@ -8959,14 +9092,14 @@ if test "${enable_colorfgbg+set}" = set; then else with_colorfgbg=no fi; -echo "$as_me:8962: result: $with_colorfgbg" >&5 +echo "$as_me:9095: result: $with_colorfgbg" >&5 echo "${ECHO_T}$with_colorfgbg" >&6 test "$with_colorfgbg" = yes && cat >>confdefs.h <<\EOF #define USE_COLORFGBG 1 EOF ### use option --enable-ext-colors to turn on use of colors beyond 16. -echo "$as_me:8969: checking if you want to use experimental extended colors" >&5 +echo "$as_me:9102: checking if you want to use experimental extended colors" >&5 echo $ECHO_N "checking if you want to use experimental extended colors... $ECHO_C" >&6 # Check whether --enable-ext-colors or --disable-ext-colors was given. @@ -8976,13 +9109,14 @@ if test "${enable_ext_colors+set}" = set; then else with_ext_colors=no fi; -echo "$as_me:8979: result: $with_ext_colors" >&5 +echo "$as_me:9112: result: $with_ext_colors" >&5 echo "${ECHO_T}$with_ext_colors" >&6 NCURSES_EXT_COLORS=0 if test "$with_ext_colors" = yes ; then if test "$with_widec" != yes ; then - { echo "$as_me:8984: WARNING: This option applies only to wide-character library" >&5 -echo "$as_me: WARNING: This option applies only to wide-character library" >&2;} + { { echo "$as_me:9117: error: This option applies only to wide-character library" >&5 +echo "$as_me: error: This option applies only to wide-character library" >&2;} + { (exit 1); exit 1; }; } else # cannot be ABI 5 since it changes sizeof(cchar_t) @@ -8991,7 +9125,7 @@ if test "${with_abi_version+set}" != set; then 5.*) cf_cv_rel_version=6.0 cf_cv_abi_version=6 - { echo "$as_me:8994: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5 + { echo "$as_me:9128: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5 echo "$as_me: WARNING: Overriding ABI version to $cf_cv_abi_version" >&2;} ;; esac @@ -9006,7 +9140,7 @@ EOF fi ### use option --enable-ext-mouse to modify coding to support 5-button mice -echo "$as_me:9009: checking if you want to use experimental extended mouse encoding" >&5 +echo "$as_me:9143: checking if you want to use experimental extended mouse encoding" >&5 echo $ECHO_N "checking if you want to use experimental extended mouse encoding... $ECHO_C" >&6 # Check whether --enable-ext-mouse or --disable-ext-mouse was given. @@ -9016,7 +9150,7 @@ if test "${enable_ext_mouse+set}" = set; then else with_ext_mouse=no fi; -echo "$as_me:9019: result: $with_ext_mouse" >&5 +echo "$as_me:9153: result: $with_ext_mouse" >&5 echo "${ECHO_T}$with_ext_mouse" >&6 NCURSES_MOUSE_VERSION=1 if test "$with_ext_mouse" = yes ; then @@ -9027,7 +9161,7 @@ if test "${with_abi_version+set}" != set; then 5.*) cf_cv_rel_version=6.0 cf_cv_abi_version=6 - { echo "$as_me:9030: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5 + { echo "$as_me:9164: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5 echo "$as_me: WARNING: Overriding ABI version to $cf_cv_abi_version" >&2;} ;; esac @@ -9035,7 +9169,49 @@ fi fi -echo "$as_me:9038: checking if you want experimental safe-sprintf code" >&5 +# Reentrant code has to be opaque; there's little advantage to making ncurses +# opaque outside of that, so there is no --enable-opaque option. +echo "$as_me:9174: checking if you want experimental reentrant code" >&5 +echo $ECHO_N "checking if you want experimental reentrant code... $ECHO_C" >&6 + +# Check whether --enable-reentrant or --disable-reentrant was given. +if test "${enable_reentrant+set}" = set; then + enableval="$enable_reentrant" + with_reentrant=$enableval +else + with_reentrant=no +fi; +echo "$as_me:9184: result: $with_reentrant" >&5 +echo "${ECHO_T}$with_reentrant" >&6 +if test "$with_reentrant" = yes ; then + cf_cv_enable_reentrant=1 + cf_cv_enable_opaque="NCURSES_INTERNALS" + NCURSES_OPAQUE=1 + NCURSES_SIZE_T=int + LIB_SUFFIX="t${LIB_SUFFIX}" + cat >>confdefs.h <<\EOF +#define USE_REENTRANT 1 +EOF + +if test "${with_abi_version+set}" != set; then + case $cf_cv_rel_version in + 5.*) + cf_cv_rel_version=6.0 + cf_cv_abi_version=6 + { echo "$as_me:9201: WARNING: Overriding ABI version to $cf_cv_abi_version" >&5 +echo "$as_me: WARNING: Overriding ABI version to $cf_cv_abi_version" >&2;} + ;; + esac +fi + +else + cf_cv_enable_reentrant=0 + cf_cv_enable_opaque="NCURSES_OPAQUE" + NCURSES_OPAQUE=0 + NCURSES_SIZE_T=short +fi + +echo "$as_me:9214: checking if you want experimental safe-sprintf code" >&5 echo $ECHO_N "checking if you want experimental safe-sprintf code... $ECHO_C" >&6 # Check whether --enable-safe-sprintf or --disable-safe-sprintf was given. @@ -9045,7 +9221,7 @@ if test "${enable_safe_sprintf+set}" = set; then else with_safe_sprintf=no fi; -echo "$as_me:9048: result: $with_safe_sprintf" >&5 +echo "$as_me:9224: result: $with_safe_sprintf" >&5 echo "${ECHO_T}$with_safe_sprintf" >&6 test "$with_safe_sprintf" = yes && cat >>confdefs.h <<\EOF #define USE_SAFE_SPRINTF 1 @@ -9054,7 +9230,7 @@ EOF ### use option --disable-scroll-hints to turn off use of scroll-hints scrolling logic # when hashmap is used scroll hints are useless if test "$with_hashmap" = no ; then -echo "$as_me:9057: checking if you want to experiment without scrolling-hints code" >&5 +echo "$as_me:9233: checking if you want to experiment without scrolling-hints code" >&5 echo $ECHO_N "checking if you want to experiment without scrolling-hints code... $ECHO_C" >&6 # Check whether --enable-scroll-hints or --disable-scroll-hints was given. @@ -9064,7 +9240,7 @@ if test "${enable_scroll_hints+set}" = set; then else with_scroll_hints=yes fi; -echo "$as_me:9067: result: $with_scroll_hints" >&5 +echo "$as_me:9243: result: $with_scroll_hints" >&5 echo "${ECHO_T}$with_scroll_hints" >&6 test "$with_scroll_hints" = yes && cat >>confdefs.h <<\EOF #define USE_SCROLL_HINTS 1 @@ -9072,7 +9248,7 @@ EOF fi -echo "$as_me:9075: checking if you want experimental wgetch-events code" >&5 +echo "$as_me:9251: checking if you want experimental wgetch-events code" >&5 echo $ECHO_N "checking if you want experimental wgetch-events code... $ECHO_C" >&6 # Check whether --enable-wgetch-events or --disable-wgetch-events was given. @@ -9082,7 +9258,7 @@ if test "${enable_wgetch_events+set}" = set; then else with_wgetch_events=no fi; -echo "$as_me:9085: result: $with_wgetch_events" >&5 +echo "$as_me:9261: result: $with_wgetch_events" >&5 echo "${ECHO_T}$with_wgetch_events" >&6 test "$with_wgetch_events" = yes && cat >>confdefs.h <<\EOF #define NCURSES_WGETCH_EVENTS 1 @@ -9091,7 +9267,7 @@ EOF ############################################################################### ### use option --disable-echo to suppress full display compiling commands -echo "$as_me:9094: checking if you want to display full commands during build" >&5 +echo "$as_me:9270: checking if you want to display full commands during build" >&5 echo $ECHO_N "checking if you want to display full commands during build... $ECHO_C" >&6 # Check whether --enable-echo or --disable-echo was given. @@ -9106,12 +9282,13 @@ if test "$with_echo" = yes; then else ECHO_LINK='@ echo linking $@ ... ;' test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent" + test -n "$LIBTOOL_CXX" && LIBTOOL_CXX="$LIBTOOL_CXX --silent" fi -echo "$as_me:9110: result: $with_echo" >&5 +echo "$as_me:9287: result: $with_echo" >&5 echo "${ECHO_T}$with_echo" >&6 ### use option --enable-warnings to turn on all gcc warnings -echo "$as_me:9114: checking if you want to see compiler warnings" >&5 +echo "$as_me:9291: checking if you want to see compiler warnings" >&5 echo $ECHO_N "checking if you want to see compiler warnings... $ECHO_C" >&6 # Check whether --enable-warnings or --disable-warnings was given. @@ -9119,10 +9296,10 @@ if test "${enable_warnings+set}" = set; then enableval="$enable_warnings" with_warnings=$enableval fi; -echo "$as_me:9122: result: $with_warnings" >&5 +echo "$as_me:9299: result: $with_warnings" >&5 echo "${ECHO_T}$with_warnings" >&6 -if test -n "$with_warnings"; then +if test "x$with_warnings" = "xyes"; then ADAFLAGS="$ADAFLAGS -gnatg" INTEL_COMPILER=no @@ -9130,12 +9307,12 @@ INTEL_COMPILER=no if test "$GCC" = yes ; then case $host_os in linux*|gnu*) - echo "$as_me:9133: checking if this is really Intel C compiler" >&5 + echo "$as_me:9310: checking if this is really Intel C compiler" >&5 echo $ECHO_N "checking if this is really Intel C compiler... $ECHO_C" >&6 cf_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -no-gcc" cat >conftest.$ac_ext <<_ACEOF -#line 9138 "configure" +#line 9315 "configure" #include "confdefs.h" int @@ -9152,16 +9329,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:9155: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:9332: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:9158: \$? = $ac_status" >&5 + echo "$as_me:9335: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:9161: \"$ac_try\"") >&5 + { (eval echo "$as_me:9338: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9164: \$? = $ac_status" >&5 + echo "$as_me:9341: \$? = $ac_status" >&5 (exit $ac_status); }; }; then INTEL_COMPILER=yes cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc" @@ -9172,14 +9349,14 @@ cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext CFLAGS="$cf_save_CFLAGS" - echo "$as_me:9175: result: $INTEL_COMPILER" >&5 + echo "$as_me:9352: result: $INTEL_COMPILER" >&5 echo "${ECHO_T}$INTEL_COMPILER" >&6 ;; esac fi cat > conftest.$ac_ext <<EOF -#line 9182 "configure" +#line 9359 "${as_me-configure}" int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; } EOF @@ -9197,11 +9374,11 @@ then # remark #981: operands are evaluated in unspecified order # warning #269: invalid format string conversion - { echo "$as_me:9200: checking for $CC warning options..." >&5 + { echo "$as_me:9377: checking for $CC warning options..." >&5 echo "$as_me: checking for $CC warning options..." >&6;} cf_save_CFLAGS="$CFLAGS" EXTRA_CFLAGS="-Wall" - for cf_opt in \ + for cf_opt in \ wd1419 \ wd1682 \ wd1683 \ @@ -9214,12 +9391,12 @@ echo "$as_me: checking for $CC warning options..." >&6;} wd981 do CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt" - if { (eval echo "$as_me:9217: \"$ac_compile\"") >&5 + if { (eval echo "$as_me:9394: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:9220: \$? = $ac_status" >&5 + echo "$as_me:9397: \$? = $ac_status" >&5 (exit $ac_status); }; then - test -n "$verbose" && echo "$as_me:9222: result: ... -$cf_opt" >&5 + test -n "$verbose" && echo "$as_me:9399: result: ... -$cf_opt" >&5 echo "${ECHO_T}... -$cf_opt" >&6 EXTRA_CFLAGS="$EXTRA_CFLAGS -$cf_opt" fi @@ -9228,7 +9405,7 @@ echo "${ECHO_T}... -$cf_opt" >&6 elif test "$GCC" = yes then - { echo "$as_me:9231: checking for $CC warning options..." >&5 + { echo "$as_me:9408: checking for $CC warning options..." >&5 echo "$as_me: checking for $CC warning options..." >&6;} cf_save_CFLAGS="$CFLAGS" EXTRA_CFLAGS="-W -Wall" @@ -9245,15 +9422,15 @@ echo "$as_me: checking for $CC warning options..." >&6;} Wpointer-arith \ Wshadow \ Wstrict-prototypes \ - Wundef $cf_warn_CONST + Wundef $cf_warn_CONST Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum do CFLAGS="$cf_save_CFLAGS $EXTRA_CFLAGS -$cf_opt" - if { (eval echo "$as_me:9251: \"$ac_compile\"") >&5 + if { (eval echo "$as_me:9428: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:9254: \$? = $ac_status" >&5 + echo "$as_me:9431: \$? = $ac_status" >&5 (exit $ac_status); }; then - test -n "$verbose" && echo "$as_me:9256: result: ... -$cf_opt" >&5 + test -n "$verbose" && echo "$as_me:9433: result: ... -$cf_opt" >&5 echo "${ECHO_T}... -$cf_opt" >&6 case $cf_opt in #(vi Wcast-qual) #(vi @@ -9264,6 +9441,8 @@ echo "${ECHO_T}... -$cf_opt" >&6 3.3*) test -n "$verbose" && echo " feature is broken in gcc $GCC_VERSION" 1>&6 +echo "${as_me-configure}:9444: testing feature is broken in gcc $GCC_VERSION ..." 1>&5 + continue;; esac ;; @@ -9282,12 +9461,12 @@ INTEL_CPLUSPLUS=no if test "$GCC" = yes ; then case $host_os in linux*|gnu*) - echo "$as_me:9285: checking if this is really Intel C++ compiler" >&5 + echo "$as_me:9464: checking if this is really Intel C++ compiler" >&5 echo $ECHO_N "checking if this is really Intel C++ compiler... $ECHO_C" >&6 cf_save_CFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -no-gcc" cat >conftest.$ac_ext <<_ACEOF -#line 9290 "configure" +#line 9469 "configure" #include "confdefs.h" int @@ -9304,16 +9483,16 @@ make an error } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:9307: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:9486: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:9310: \$? = $ac_status" >&5 + echo "$as_me:9489: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:9313: \"$ac_try\"") >&5 + { (eval echo "$as_me:9492: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9316: \$? = $ac_status" >&5 + echo "$as_me:9495: \$? = $ac_status" >&5 (exit $ac_status); }; }; then INTEL_CPLUSPLUS=yes cf_save_CFLAGS="$cf_save_CFLAGS -we147 -no-gcc" @@ -9324,7 +9503,7 @@ cat conftest.$ac_ext >&5 fi rm -f conftest.$ac_objext conftest.$ac_ext CXXFLAGS="$cf_save_CFLAGS" - echo "$as_me:9327: result: $INTEL_CPLUSPLUS" >&5 + echo "$as_me:9506: result: $INTEL_CPLUSPLUS" >&5 echo "${ECHO_T}$INTEL_CPLUSPLUS" >&6 ;; esac @@ -9338,7 +9517,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_main_return=return cat > conftest.$ac_ext <<EOF -#line 9341 "configure" +#line 9520 "configure" int main(int argc, char *argv[]) { return (argv[argc-1] == 0) ; } EOF @@ -9356,7 +9535,7 @@ then # remark #981: operands are evaluated in unspecified order # warning #269: invalid format string conversion - { echo "$as_me:9359: checking for $CC warning options..." >&5 + { echo "$as_me:9538: checking for $CC warning options..." >&5 echo "$as_me: checking for $CC warning options..." >&6;} cf_save_CXXFLAGS="$CXXFLAGS" EXTRA_CXXFLAGS="-Wall" @@ -9373,12 +9552,12 @@ echo "$as_me: checking for $CC warning options..." >&6;} wd981 do CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -$cf_opt" - if { (eval echo "$as_me:9376: \"$ac_compile\"") >&5 + if { (eval echo "$as_me:9555: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:9379: \$? = $ac_status" >&5 + echo "$as_me:9558: \$? = $ac_status" >&5 (exit $ac_status); }; then - test -n "$verbose" && echo "$as_me:9381: result: ... -$cf_opt" >&5 + test -n "$verbose" && echo "$as_me:9560: result: ... -$cf_opt" >&5 echo "${ECHO_T}... -$cf_opt" >&6 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt" fi @@ -9387,7 +9566,7 @@ echo "${ECHO_T}... -$cf_opt" >&6 elif test "$GXX" = yes then - { echo "$as_me:9390: checking for $CXX warning options..." >&5 + { echo "$as_me:9569: checking for $CXX warning options..." >&5 echo "$as_me: checking for $CXX warning options..." >&6;} cf_save_CXXFLAGS="$CXXFLAGS" EXTRA_CXXFLAGS="-W -Wall" @@ -9416,16 +9595,16 @@ echo "$as_me: checking for $CXX warning options..." >&6;} Wundef $cf_gxx_extra_warnings Wno-unused do CXXFLAGS="$cf_save_CXXFLAGS $EXTRA_CXXFLAGS -Werror -$cf_opt" - if { (eval echo "$as_me:9419: \"$ac_compile\"") >&5 + if { (eval echo "$as_me:9598: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:9422: \$? = $ac_status" >&5 + echo "$as_me:9601: \$? = $ac_status" >&5 (exit $ac_status); }; then - test -n "$verbose" && echo "$as_me:9424: result: ... -$cf_opt" >&5 + test -n "$verbose" && echo "$as_me:9603: result: ... -$cf_opt" >&5 echo "${ECHO_T}... -$cf_opt" >&6 EXTRA_CXXFLAGS="$EXTRA_CXXFLAGS -$cf_opt" else - test -n "$verbose" && echo "$as_me:9428: result: ... no -$cf_opt" >&5 + test -n "$verbose" && echo "$as_me:9607: result: ... no -$cf_opt" >&5 echo "${ECHO_T}... no -$cf_opt" >&6 fi done @@ -9461,10 +9640,10 @@ cat > conftest.i <<EOF EOF if test "$GCC" = yes then - { echo "$as_me:9464: checking for $CC __attribute__ directives..." >&5 + { echo "$as_me:9643: checking for $CC __attribute__ directives..." >&5 echo "$as_me: checking for $CC __attribute__ directives..." >&6;} cat > conftest.$ac_ext <<EOF -#line 9467 "configure" +#line 9646 "${as_me-configure}" #include "confdefs.h" #include "conftest.h" #include "conftest.i" @@ -9502,12 +9681,12 @@ EOF EOF ;; esac - if { (eval echo "$as_me:9505: \"$ac_compile\"") >&5 + if { (eval echo "$as_me:9684: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:9508: \$? = $ac_status" >&5 + echo "$as_me:9687: \$? = $ac_status" >&5 (exit $ac_status); }; then - test -n "$verbose" && echo "$as_me:9510: result: ... $cf_attribute" >&5 + test -n "$verbose" && echo "$as_me:9689: result: ... $cf_attribute" >&5 echo "${ECHO_T}... $cf_attribute" >&6 cat conftest.h >>confdefs.h fi @@ -9519,7 +9698,7 @@ rm -rf conftest* fi ### use option --enable-assertions to turn on generation of assertion code -echo "$as_me:9522: checking if you want to enable runtime assertions" >&5 +echo "$as_me:9701: checking if you want to enable runtime assertions" >&5 echo $ECHO_N "checking if you want to enable runtime assertions... $ECHO_C" >&6 # Check whether --enable-assertions or --disable-assertions was given. @@ -9529,7 +9708,7 @@ if test "${enable_assertions+set}" = set; then else with_assertions=no fi; -echo "$as_me:9532: result: $with_assertions" >&5 +echo "$as_me:9711: result: $with_assertions" >&5 echo "${ECHO_T}$with_assertions" >&6 if test -n "$GCC" then @@ -9547,7 +9726,7 @@ fi ### use option --disable-leaks to suppress "permanent" leaks, for testing -echo "$as_me:9550: checking if you want to use dmalloc for testing" >&5 +echo "$as_me:9729: checking if you want to use dmalloc for testing" >&5 echo $ECHO_N "checking if you want to use dmalloc for testing... $ECHO_C" >&6 # Check whether --with-dmalloc or --without-dmalloc was given. @@ -9563,7 +9742,7 @@ EOF else with_dmalloc= fi; -echo "$as_me:9566: result: ${with_dmalloc:-no}" >&5 +echo "$as_me:9745: result: ${with_dmalloc:-no}" >&5 echo "${ECHO_T}${with_dmalloc:-no}" >&6 case .$with_cflags in #(vi @@ -9647,23 +9826,23 @@ fi esac if test "$with_dmalloc" = yes ; then - echo "$as_me:9650: checking for dmalloc.h" >&5 + echo "$as_me:9829: checking for dmalloc.h" >&5 echo $ECHO_N "checking for dmalloc.h... $ECHO_C" >&6 if test "${ac_cv_header_dmalloc_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 9656 "configure" +#line 9835 "configure" #include "confdefs.h" #include <dmalloc.h> _ACEOF -if { (eval echo "$as_me:9660: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:9839: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:9666: \$? = $ac_status" >&5 + echo "$as_me:9845: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -9682,11 +9861,11 @@ else fi rm -f conftest.err conftest.$ac_ext fi -echo "$as_me:9685: result: $ac_cv_header_dmalloc_h" >&5 +echo "$as_me:9864: result: $ac_cv_header_dmalloc_h" >&5 echo "${ECHO_T}$ac_cv_header_dmalloc_h" >&6 if test $ac_cv_header_dmalloc_h = yes; then -echo "$as_me:9689: checking for dmalloc_debug in -ldmalloc" >&5 +echo "$as_me:9868: checking for dmalloc_debug in -ldmalloc" >&5 echo $ECHO_N "checking for dmalloc_debug in -ldmalloc... $ECHO_C" >&6 if test "${ac_cv_lib_dmalloc_dmalloc_debug+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9694,7 +9873,7 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-ldmalloc $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 9697 "configure" +#line 9876 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -9713,16 +9892,16 @@ dmalloc_debug (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9716: \"$ac_link\"") >&5 +if { (eval echo "$as_me:9895: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9719: \$? = $ac_status" >&5 + echo "$as_me:9898: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9722: \"$ac_try\"") >&5 + { (eval echo "$as_me:9901: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9725: \$? = $ac_status" >&5 + echo "$as_me:9904: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dmalloc_dmalloc_debug=yes else @@ -9733,7 +9912,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:9736: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5 +echo "$as_me:9915: result: $ac_cv_lib_dmalloc_dmalloc_debug" >&5 echo "${ECHO_T}$ac_cv_lib_dmalloc_dmalloc_debug" >&6 if test $ac_cv_lib_dmalloc_dmalloc_debug = yes; then cat >>confdefs.h <<EOF @@ -9748,7 +9927,7 @@ fi fi -echo "$as_me:9751: checking if you want to use dbmalloc for testing" >&5 +echo "$as_me:9930: checking if you want to use dbmalloc for testing" >&5 echo $ECHO_N "checking if you want to use dbmalloc for testing... $ECHO_C" >&6 # Check whether --with-dbmalloc or --without-dbmalloc was given. @@ -9764,7 +9943,7 @@ EOF else with_dbmalloc= fi; -echo "$as_me:9767: result: ${with_dbmalloc:-no}" >&5 +echo "$as_me:9946: result: ${with_dbmalloc:-no}" >&5 echo "${ECHO_T}${with_dbmalloc:-no}" >&6 case .$with_cflags in #(vi @@ -9848,23 +10027,23 @@ fi esac if test "$with_dbmalloc" = yes ; then - echo "$as_me:9851: checking for dbmalloc.h" >&5 + echo "$as_me:10030: checking for dbmalloc.h" >&5 echo $ECHO_N "checking for dbmalloc.h... $ECHO_C" >&6 if test "${ac_cv_header_dbmalloc_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 9857 "configure" +#line 10036 "configure" #include "confdefs.h" #include <dbmalloc.h> _ACEOF -if { (eval echo "$as_me:9861: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:10040: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:9867: \$? = $ac_status" >&5 + echo "$as_me:10046: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -9883,11 +10062,11 @@ else fi rm -f conftest.err conftest.$ac_ext fi -echo "$as_me:9886: result: $ac_cv_header_dbmalloc_h" >&5 +echo "$as_me:10065: result: $ac_cv_header_dbmalloc_h" >&5 echo "${ECHO_T}$ac_cv_header_dbmalloc_h" >&6 if test $ac_cv_header_dbmalloc_h = yes; then -echo "$as_me:9890: checking for debug_malloc in -ldbmalloc" >&5 +echo "$as_me:10069: checking for debug_malloc in -ldbmalloc" >&5 echo $ECHO_N "checking for debug_malloc in -ldbmalloc... $ECHO_C" >&6 if test "${ac_cv_lib_dbmalloc_debug_malloc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -9895,7 +10074,7 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-ldbmalloc $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 9898 "configure" +#line 10077 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -9914,16 +10093,16 @@ debug_malloc (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:9917: \"$ac_link\"") >&5 +if { (eval echo "$as_me:10096: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:9920: \$? = $ac_status" >&5 + echo "$as_me:10099: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:9923: \"$ac_try\"") >&5 + { (eval echo "$as_me:10102: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:9926: \$? = $ac_status" >&5 + echo "$as_me:10105: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dbmalloc_debug_malloc=yes else @@ -9934,7 +10113,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:9937: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5 +echo "$as_me:10116: result: $ac_cv_lib_dbmalloc_debug_malloc" >&5 echo "${ECHO_T}$ac_cv_lib_dbmalloc_debug_malloc" >&6 if test $ac_cv_lib_dbmalloc_debug_malloc = yes; then cat >>confdefs.h <<EOF @@ -9949,7 +10128,7 @@ fi fi -echo "$as_me:9952: checking if you want to use valgrind for testing" >&5 +echo "$as_me:10131: checking if you want to use valgrind for testing" >&5 echo $ECHO_N "checking if you want to use valgrind for testing... $ECHO_C" >&6 # Check whether --with-valgrind or --without-valgrind was given. @@ -9965,7 +10144,7 @@ EOF else with_valgrind= fi; -echo "$as_me:9968: result: ${with_valgrind:-no}" >&5 +echo "$as_me:10147: result: ${with_valgrind:-no}" >&5 echo "${ECHO_T}${with_valgrind:-no}" >&6 case .$with_cflags in #(vi @@ -10048,7 +10227,7 @@ fi ;; esac -echo "$as_me:10051: checking if you want to perform memory-leak testing" >&5 +echo "$as_me:10230: checking if you want to perform memory-leak testing" >&5 echo $ECHO_N "checking if you want to perform memory-leak testing... $ECHO_C" >&6 # Check whether --enable-leaks or --disable-leaks was given. @@ -10058,7 +10237,7 @@ if test "${enable_leaks+set}" = set; then else : ${with_no_leaks:=no} fi; -echo "$as_me:10061: result: $with_no_leaks" >&5 +echo "$as_me:10240: result: $with_no_leaks" >&5 echo "${ECHO_T}$with_no_leaks" >&6 if test "$with_no_leaks" = yes ; then @@ -10103,7 +10282,7 @@ case "$CFLAGS $CPPFLAGS" in ;; esac -echo "$as_me:10106: checking whether to add trace feature to all models" >&5 +echo "$as_me:10285: checking whether to add trace feature to all models" >&5 echo $ECHO_N "checking whether to add trace feature to all models... $ECHO_C" >&6 # Check whether --with-trace or --without-trace was given. @@ -10113,7 +10292,7 @@ if test "${with_trace+set}" = set; then else cf_with_trace=$cf_all_traces fi; -echo "$as_me:10116: result: $cf_with_trace" >&5 +echo "$as_me:10295: result: $cf_with_trace" >&5 echo "${ECHO_T}$cf_with_trace" >&6 if test "$cf_with_trace" = yes ; then @@ -10194,13 +10373,13 @@ else fi ### Checks for libraries. -echo "$as_me:10197: checking for gettimeofday" >&5 +echo "$as_me:10376: checking for gettimeofday" >&5 echo $ECHO_N "checking for gettimeofday... $ECHO_C" >&6 if test "${ac_cv_func_gettimeofday+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 10203 "configure" +#line 10382 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char gettimeofday (); below. */ @@ -10231,16 +10410,16 @@ f = gettimeofday; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10234: \"$ac_link\"") >&5 +if { (eval echo "$as_me:10413: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:10237: \$? = $ac_status" >&5 + echo "$as_me:10416: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10240: \"$ac_try\"") >&5 + { (eval echo "$as_me:10419: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10243: \$? = $ac_status" >&5 + echo "$as_me:10422: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_gettimeofday=yes else @@ -10250,7 +10429,7 @@ ac_cv_func_gettimeofday=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:10253: result: $ac_cv_func_gettimeofday" >&5 +echo "$as_me:10432: result: $ac_cv_func_gettimeofday" >&5 echo "${ECHO_T}$ac_cv_func_gettimeofday" >&6 if test $ac_cv_func_gettimeofday = yes; then cat >>confdefs.h <<\EOF @@ -10259,7 +10438,7 @@ EOF else -echo "$as_me:10262: checking for gettimeofday in -lbsd" >&5 +echo "$as_me:10441: checking for gettimeofday in -lbsd" >&5 echo $ECHO_N "checking for gettimeofday in -lbsd... $ECHO_C" >&6 if test "${ac_cv_lib_bsd_gettimeofday+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -10267,7 +10446,7 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lbsd $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 10270 "configure" +#line 10449 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -10286,16 +10465,16 @@ gettimeofday (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10289: \"$ac_link\"") >&5 +if { (eval echo "$as_me:10468: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:10292: \$? = $ac_status" >&5 + echo "$as_me:10471: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10295: \"$ac_try\"") >&5 + { (eval echo "$as_me:10474: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10298: \$? = $ac_status" >&5 + echo "$as_me:10477: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_bsd_gettimeofday=yes else @@ -10306,7 +10485,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:10309: result: $ac_cv_lib_bsd_gettimeofday" >&5 +echo "$as_me:10488: result: $ac_cv_lib_bsd_gettimeofday" >&5 echo "${ECHO_T}$ac_cv_lib_bsd_gettimeofday" >&6 if test $ac_cv_lib_bsd_gettimeofday = yes; then cat >>confdefs.h <<\EOF @@ -10318,14 +10497,14 @@ fi fi -echo "$as_me:10321: checking if -lm needed for math functions" >&5 +echo "$as_me:10500: checking if -lm needed for math functions" >&5 echo $ECHO_N "checking if -lm needed for math functions... $ECHO_C" >&6 if test "${cf_cv_need_libm+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 10328 "configure" +#line 10507 "configure" #include "confdefs.h" #include <stdio.h> @@ -10340,16 +10519,16 @@ double x = rand(); printf("result = %g\n", sin(x)) } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10343: \"$ac_link\"") >&5 +if { (eval echo "$as_me:10522: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:10346: \$? = $ac_status" >&5 + echo "$as_me:10525: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10349: \"$ac_try\"") >&5 + { (eval echo "$as_me:10528: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10352: \$? = $ac_status" >&5 + echo "$as_me:10531: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_need_libm=no else @@ -10359,7 +10538,7 @@ cf_cv_need_libm=yes fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:10362: result: $cf_cv_need_libm" >&5 +echo "$as_me:10541: result: $cf_cv_need_libm" >&5 echo "${ECHO_T}$cf_cv_need_libm" >&6 if test "$cf_cv_need_libm" = yes then @@ -10367,13 +10546,13 @@ MATH_LIB=-lm fi ### Checks for header files. -echo "$as_me:10370: checking for ANSI C header files" >&5 +echo "$as_me:10549: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 10376 "configure" +#line 10555 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -10381,13 +10560,13 @@ else #include <float.h> _ACEOF -if { (eval echo "$as_me:10384: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:10563: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:10390: \$? = $ac_status" >&5 + echo "$as_me:10569: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -10409,7 +10588,7 @@ rm -f conftest.err conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF -#line 10412 "configure" +#line 10591 "configure" #include "confdefs.h" #include <string.h> @@ -10427,7 +10606,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF -#line 10430 "configure" +#line 10609 "configure" #include "confdefs.h" #include <stdlib.h> @@ -10448,7 +10627,7 @@ if test $ac_cv_header_stdc = yes; then : else cat >conftest.$ac_ext <<_ACEOF -#line 10451 "configure" +#line 10630 "configure" #include "confdefs.h" #include <ctype.h> #if ((' ' & 0x0FF) == 0x020) @@ -10474,15 +10653,15 @@ main () } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:10477: \"$ac_link\"") >&5 +if { (eval echo "$as_me:10656: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:10480: \$? = $ac_status" >&5 + echo "$as_me:10659: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:10482: \"$ac_try\"") >&5 + { (eval echo "$as_me:10661: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10485: \$? = $ac_status" >&5 + echo "$as_me:10664: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else @@ -10495,7 +10674,7 @@ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi -echo "$as_me:10498: result: $ac_cv_header_stdc" >&5 +echo "$as_me:10677: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6 if test $ac_cv_header_stdc = yes; then @@ -10508,13 +10687,13 @@ fi ac_header_dirent=no for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` -echo "$as_me:10511: checking for $ac_hdr that defines DIR" >&5 +echo "$as_me:10690: checking for $ac_hdr that defines DIR" >&5 echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 10517 "configure" +#line 10696 "configure" #include "confdefs.h" #include <sys/types.h> #include <$ac_hdr> @@ -10529,16 +10708,16 @@ return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:10532: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:10711: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:10535: \$? = $ac_status" >&5 + echo "$as_me:10714: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10538: \"$ac_try\"") >&5 + { (eval echo "$as_me:10717: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10541: \$? = $ac_status" >&5 + echo "$as_me:10720: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_Header=yes" else @@ -10548,7 +10727,7 @@ eval "$as_ac_Header=no" fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:10551: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:10730: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<EOF @@ -10561,7 +10740,7 @@ fi done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then - echo "$as_me:10564: checking for opendir in -ldir" >&5 + echo "$as_me:10743: checking for opendir in -ldir" >&5 echo $ECHO_N "checking for opendir in -ldir... $ECHO_C" >&6 if test "${ac_cv_lib_dir_opendir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -10569,7 +10748,7 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-ldir $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 10572 "configure" +#line 10751 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -10588,16 +10767,16 @@ opendir (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10591: \"$ac_link\"") >&5 +if { (eval echo "$as_me:10770: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:10594: \$? = $ac_status" >&5 + echo "$as_me:10773: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10597: \"$ac_try\"") >&5 + { (eval echo "$as_me:10776: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10600: \$? = $ac_status" >&5 + echo "$as_me:10779: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_dir_opendir=yes else @@ -10608,14 +10787,14 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:10611: result: $ac_cv_lib_dir_opendir" >&5 +echo "$as_me:10790: result: $ac_cv_lib_dir_opendir" >&5 echo "${ECHO_T}$ac_cv_lib_dir_opendir" >&6 if test $ac_cv_lib_dir_opendir = yes; then LIBS="$LIBS -ldir" fi else - echo "$as_me:10618: checking for opendir in -lx" >&5 + echo "$as_me:10797: checking for opendir in -lx" >&5 echo $ECHO_N "checking for opendir in -lx... $ECHO_C" >&6 if test "${ac_cv_lib_x_opendir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -10623,7 +10802,7 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lx $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 10626 "configure" +#line 10805 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -10642,16 +10821,16 @@ opendir (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10645: \"$ac_link\"") >&5 +if { (eval echo "$as_me:10824: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:10648: \$? = $ac_status" >&5 + echo "$as_me:10827: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10651: \"$ac_try\"") >&5 + { (eval echo "$as_me:10830: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10654: \$? = $ac_status" >&5 + echo "$as_me:10833: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_x_opendir=yes else @@ -10662,7 +10841,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:10665: result: $ac_cv_lib_x_opendir" >&5 +echo "$as_me:10844: result: $ac_cv_lib_x_opendir" >&5 echo "${ECHO_T}$ac_cv_lib_x_opendir" >&6 if test $ac_cv_lib_x_opendir = yes; then LIBS="$LIBS -lx" @@ -10670,13 +10849,13 @@ fi fi -echo "$as_me:10673: checking whether time.h and sys/time.h may both be included" >&5 +echo "$as_me:10852: checking whether time.h and sys/time.h may both be included" >&5 echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6 if test "${ac_cv_header_time+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 10679 "configure" +#line 10858 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/time.h> @@ -10692,16 +10871,16 @@ return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:10695: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:10874: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:10698: \$? = $ac_status" >&5 + echo "$as_me:10877: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:10701: \"$ac_try\"") >&5 + { (eval echo "$as_me:10880: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10704: \$? = $ac_status" >&5 + echo "$as_me:10883: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_header_time=yes else @@ -10711,7 +10890,7 @@ ac_cv_header_time=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:10714: result: $ac_cv_header_time" >&5 +echo "$as_me:10893: result: $ac_cv_header_time" >&5 echo "${ECHO_T}$ac_cv_header_time" >&6 if test $ac_cv_header_time = yes; then @@ -10721,14 +10900,14 @@ EOF fi -echo "$as_me:10724: checking for regular-expression headers" >&5 +echo "$as_me:10903: checking for regular-expression headers" >&5 echo $ECHO_N "checking for regular-expression headers... $ECHO_C" >&6 if test "${cf_cv_regex+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 10731 "configure" +#line 10910 "configure" #include "confdefs.h" #include <sys/types.h> #include <regex.h> @@ -10746,16 +10925,16 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10749: \"$ac_link\"") >&5 +if { (eval echo "$as_me:10928: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:10752: \$? = $ac_status" >&5 + echo "$as_me:10931: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10755: \"$ac_try\"") >&5 + { (eval echo "$as_me:10934: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10758: \$? = $ac_status" >&5 + echo "$as_me:10937: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_regex="regex.h" else @@ -10763,7 +10942,7 @@ else cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF -#line 10766 "configure" +#line 10945 "configure" #include "confdefs.h" #include <regexp.h> int @@ -10778,16 +10957,16 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10781: \"$ac_link\"") >&5 +if { (eval echo "$as_me:10960: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:10784: \$? = $ac_status" >&5 + echo "$as_me:10963: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10787: \"$ac_try\"") >&5 + { (eval echo "$as_me:10966: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10790: \$? = $ac_status" >&5 + echo "$as_me:10969: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_regex="regexp.h" else @@ -10797,7 +10976,7 @@ cat conftest.$ac_ext >&5 cf_save_LIBS="$LIBS" LIBS="-lgen $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 10800 "configure" +#line 10979 "configure" #include "confdefs.h" #include <regexpr.h> int @@ -10812,16 +10991,16 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10815: \"$ac_link\"") >&5 +if { (eval echo "$as_me:10994: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:10818: \$? = $ac_status" >&5 + echo "$as_me:10997: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10821: \"$ac_try\"") >&5 + { (eval echo "$as_me:11000: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10824: \$? = $ac_status" >&5 + echo "$as_me:11003: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_regex="regexpr.h" else @@ -10837,7 +11016,7 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:10840: result: $cf_cv_regex" >&5 +echo "$as_me:11019: result: $cf_cv_regex" >&5 echo "${ECHO_T}$cf_cv_regex" >&6 case $cf_cv_regex in regex.h) cat >>confdefs.h <<\EOF @@ -10873,23 +11052,23 @@ wctype.h \ do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:10876: checking for $ac_header" >&5 +echo "$as_me:11055: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 10882 "configure" +#line 11061 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF -if { (eval echo "$as_me:10886: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:11065: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:10892: \$? = $ac_status" >&5 + echo "$as_me:11071: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -10908,7 +11087,7 @@ else fi rm -f conftest.err conftest.$ac_ext fi -echo "$as_me:10911: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:11090: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<EOF @@ -10922,7 +11101,7 @@ done # Note: even non-Posix ISC needs <sys/bsdtypes.h> to declare fd_set if test "$ISC" = yes ; then -echo "$as_me:10925: checking for main in -lcposix" >&5 +echo "$as_me:11104: checking for main in -lcposix" >&5 echo $ECHO_N "checking for main in -lcposix... $ECHO_C" >&6 if test "${ac_cv_lib_cposix_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -10930,7 +11109,7 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-lcposix $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 10933 "configure" +#line 11112 "configure" #include "confdefs.h" int @@ -10942,16 +11121,16 @@ main (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:10945: \"$ac_link\"") >&5 +if { (eval echo "$as_me:11124: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:10948: \$? = $ac_status" >&5 + echo "$as_me:11127: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:10951: \"$ac_try\"") >&5 + { (eval echo "$as_me:11130: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:10954: \$? = $ac_status" >&5 + echo "$as_me:11133: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_cposix_main=yes else @@ -10962,7 +11141,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:10965: result: $ac_cv_lib_cposix_main" >&5 +echo "$as_me:11144: result: $ac_cv_lib_cposix_main" >&5 echo "${ECHO_T}$ac_cv_lib_cposix_main" >&6 if test $ac_cv_lib_cposix_main = yes; then cat >>confdefs.h <<EOF @@ -10973,7 +11152,7 @@ EOF fi - echo "$as_me:10976: checking for bzero in -linet" >&5 + echo "$as_me:11155: checking for bzero in -linet" >&5 echo $ECHO_N "checking for bzero in -linet... $ECHO_C" >&6 if test "${ac_cv_lib_inet_bzero+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -10981,7 +11160,7 @@ else ac_check_lib_save_LIBS=$LIBS LIBS="-linet $LIBS" cat >conftest.$ac_ext <<_ACEOF -#line 10984 "configure" +#line 11163 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ @@ -11000,16 +11179,16 @@ bzero (); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11003: \"$ac_link\"") >&5 +if { (eval echo "$as_me:11182: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:11006: \$? = $ac_status" >&5 + echo "$as_me:11185: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11009: \"$ac_try\"") >&5 + { (eval echo "$as_me:11188: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11012: \$? = $ac_status" >&5 + echo "$as_me:11191: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_lib_inet_bzero=yes else @@ -11020,21 +11199,21 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -echo "$as_me:11023: result: $ac_cv_lib_inet_bzero" >&5 +echo "$as_me:11202: result: $ac_cv_lib_inet_bzero" >&5 echo "${ECHO_T}$ac_cv_lib_inet_bzero" >&6 if test $ac_cv_lib_inet_bzero = yes; then LIBS="$LIBS -linet" fi fi -echo "$as_me:11030: checking if sys/time.h works with sys/select.h" >&5 +echo "$as_me:11209: checking if sys/time.h works with sys/select.h" >&5 echo $ECHO_N "checking if sys/time.h works with sys/select.h... $ECHO_C" >&6 if test "${cf_cv_sys_time_select+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 11037 "configure" +#line 11216 "configure" #include "confdefs.h" #include <sys/types.h> @@ -11054,16 +11233,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:11057: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:11236: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:11060: \$? = $ac_status" >&5 + echo "$as_me:11239: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11063: \"$ac_try\"") >&5 + { (eval echo "$as_me:11242: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11066: \$? = $ac_status" >&5 + echo "$as_me:11245: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_sys_time_select=yes else @@ -11075,7 +11254,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:11078: result: $cf_cv_sys_time_select" >&5 +echo "$as_me:11257: result: $cf_cv_sys_time_select" >&5 echo "${ECHO_T}$cf_cv_sys_time_select" >&6 test "$cf_cv_sys_time_select" = yes && cat >>confdefs.h <<\EOF #define HAVE_SYS_TIME_SELECT 1 @@ -11089,7 +11268,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_main_return=return -echo "$as_me:11092: checking for $CC option to accept ANSI C" >&5 +echo "$as_me:11271: checking for $CC option to accept ANSI C" >&5 echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 if test "${ac_cv_prog_cc_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -11097,7 +11276,7 @@ else ac_cv_prog_cc_stdc=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF -#line 11100 "configure" +#line 11279 "configure" #include "confdefs.h" #include <stdarg.h> #include <stdio.h> @@ -11146,16 +11325,16 @@ for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIO do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext -if { (eval echo "$as_me:11149: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:11328: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:11152: \$? = $ac_status" >&5 + echo "$as_me:11331: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11155: \"$ac_try\"") >&5 + { (eval echo "$as_me:11334: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11158: \$? = $ac_status" >&5 + echo "$as_me:11337: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_prog_cc_stdc=$ac_arg break @@ -11172,21 +11351,21 @@ fi case "x$ac_cv_prog_cc_stdc" in x|xno) - echo "$as_me:11175: result: none needed" >&5 + echo "$as_me:11354: result: none needed" >&5 echo "${ECHO_T}none needed" >&6 ;; *) - echo "$as_me:11178: result: $ac_cv_prog_cc_stdc" >&5 + echo "$as_me:11357: result: $ac_cv_prog_cc_stdc" >&5 echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 CC="$CC $ac_cv_prog_cc_stdc" ;; esac -echo "$as_me:11183: checking for an ANSI C-conforming const" >&5 +echo "$as_me:11362: checking for an ANSI C-conforming const" >&5 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 if test "${ac_cv_c_const+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 11189 "configure" +#line 11368 "configure" #include "confdefs.h" int @@ -11244,16 +11423,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:11247: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:11426: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:11250: \$? = $ac_status" >&5 + echo "$as_me:11429: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11253: \"$ac_try\"") >&5 + { (eval echo "$as_me:11432: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11256: \$? = $ac_status" >&5 + echo "$as_me:11435: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_const=yes else @@ -11263,7 +11442,7 @@ ac_cv_c_const=no fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:11266: result: $ac_cv_c_const" >&5 +echo "$as_me:11445: result: $ac_cv_c_const" >&5 echo "${ECHO_T}$ac_cv_c_const" >&6 if test $ac_cv_c_const = no; then @@ -11273,7 +11452,7 @@ EOF fi -echo "$as_me:11276: checking for inline" >&5 +echo "$as_me:11455: checking for inline" >&5 echo $ECHO_N "checking for inline... $ECHO_C" >&6 if test "${ac_cv_c_inline+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -11281,7 +11460,7 @@ else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat >conftest.$ac_ext <<_ACEOF -#line 11284 "configure" +#line 11463 "configure" #include "confdefs.h" #ifndef __cplusplus static $ac_kw int static_foo () {return 0; } @@ -11290,16 +11469,16 @@ $ac_kw int foo () {return 0; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:11293: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:11472: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:11296: \$? = $ac_status" >&5 + echo "$as_me:11475: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11299: \"$ac_try\"") >&5 + { (eval echo "$as_me:11478: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11302: \$? = $ac_status" >&5 + echo "$as_me:11481: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_c_inline=$ac_kw; break else @@ -11310,7 +11489,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext done fi -echo "$as_me:11313: result: $ac_cv_c_inline" >&5 +echo "$as_me:11492: result: $ac_cv_c_inline" >&5 echo "${ECHO_T}$ac_cv_c_inline" >&6 case $ac_cv_c_inline in inline | yes) ;; @@ -11327,16 +11506,197 @@ esac NCURSES_INLINE= if test "$ac_cv_c_inline" != no ; then - cat >>confdefs.h <<\EOF -#define CC_HAS_INLINE_FUNCS 1 -EOF + NCURSES_INLINE=inline + if test "$INTEL_COMPILER" = yes + then + : + elif test "$GCC" = yes + then + echo "$as_me:11515: checking if gcc supports options to tune inlining" >&5 +echo $ECHO_N "checking if gcc supports options to tune inlining... $ECHO_C" >&6 +if test "${cf_cv_gcc_inline+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + cf_save_CFLAGS=$CFLAGS + CFLAGS="$CFLAGS --param max-inline-insns-single=1200" + cat >conftest.$ac_ext <<_ACEOF +#line 11524 "configure" +#include "confdefs.h" +inline int foo(void) { return 1; } +int +main () +{ +${cf_cv_main_return:-return} foo() + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:11536: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:11539: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:11542: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:11545: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cf_cv_gcc_inline=yes +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +cf_cv_gcc_inline=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext + CFLAGS=$cf_save_CFLAGS - NCURSES_INLINE=inline fi +echo "$as_me:11557: result: $cf_cv_gcc_inline" >&5 +echo "${ECHO_T}$cf_cv_gcc_inline" >&6 + if test "$cf_cv_gcc_inline" = yes ; then + +cf_fix_cppflags=no +cf_new_cflags= +cf_new_cppflags= +cf_new_extra_cppflags= + +for cf_add_cflags in --param max-inline-insns-single=1200 +do +case $cf_fix_cppflags in +no) + case $cf_add_cflags in #(vi + -undef|-nostdinc*|-I*|-D*|-U*|-E|-P|-C) #(vi + case $cf_add_cflags in + -D*) + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^-D[^=]*='\''\"[^"]*//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=yes + + if test $cf_fix_cppflags = yes ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + elif test "${cf_tst_cflags}" = "\"'" ; then + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + continue + fi + ;; + esac + case "$CPPFLAGS" in + *$cf_add_cflags) #(vi + ;; + *) #(vi + cf_new_cppflags="$cf_new_cppflags $cf_add_cflags" + ;; + esac + ;; + *) + cf_new_cflags="$cf_new_cflags $cf_add_cflags" + ;; + esac + ;; +yes) + cf_new_extra_cppflags="$cf_new_extra_cppflags $cf_add_cflags" + + cf_tst_cflags=`echo ${cf_add_cflags} |sed -e 's/^[^"]*"'\''//'` + + test "${cf_add_cflags}" != "${cf_tst_cflags}" \ + && test -z "${cf_tst_cflags}" \ + && cf_fix_cppflags=no + ;; +esac +done + +if test -n "$cf_new_cflags" ; then + + CFLAGS="$CFLAGS $cf_new_cflags" +fi + +if test -n "$cf_new_cppflags" ; then + + CPPFLAGS="$cf_new_cppflags $CPPFLAGS" +fi + +if test -n "$cf_new_extra_cppflags" ; then + + EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" +fi + + fi + fi +fi + +echo "$as_me:11633: checking for signal global datatype" >&5 +echo $ECHO_N "checking for signal global datatype... $ECHO_C" >&6 +if test "${cf_cv_sig_atomic_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + + for cf_type in \ + "volatile sig_atomic_t" \ + "sig_atomic_t" \ + "int" + do + cat >conftest.$ac_ext <<_ACEOF +#line 11645 "configure" +#include "confdefs.h" + +#include <sys/types.h> +#include <signal.h> +#include <stdio.h> + +extern $cf_type x; +$cf_type x; +static void handler(int sig) +{ + x = 5; +} +int +main () +{ +signal(SIGINT, handler); + x = 1 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:11668: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:11671: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:11674: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:11677: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cf_cv_sig_atomic_t=$cf_type +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +cf_cv_sig_atomic_t=no +fi +rm -f conftest.$ac_objext conftest.$ac_ext + test "$cf_cv_sig_atomic_t" != no && break + done + +fi + +echo "$as_me:11691: result: $cf_cv_sig_atomic_t" >&5 +echo "${ECHO_T}$cf_cv_sig_atomic_t" >&6 +test "$cf_cv_sig_atomic_t" != no && cat >>confdefs.h <<EOF +#define SIG_ATOMIC_T $cf_cv_sig_atomic_t +EOF if test $NCURSES_CHTYPE = auto ; then -echo "$as_me:11339: checking for type of chtype" >&5 +echo "$as_me:11699: checking for type of chtype" >&5 echo $ECHO_N "checking for type of chtype... $ECHO_C" >&6 if test "${cf_cv_typeof_chtype+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -11346,7 +11706,7 @@ else cf_cv_typeof_chtype=long else cat >conftest.$ac_ext <<_ACEOF -#line 11349 "configure" +#line 11709 "configure" #include "confdefs.h" #define WANT_BITS 31 @@ -11381,15 +11741,15 @@ int main() _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:11384: \"$ac_link\"") >&5 +if { (eval echo "$as_me:11744: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:11387: \$? = $ac_status" >&5 + echo "$as_me:11747: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:11389: \"$ac_try\"") >&5 + { (eval echo "$as_me:11749: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11392: \$? = $ac_status" >&5 + echo "$as_me:11752: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_typeof_chtype=`cat cf_test.out` else @@ -11404,7 +11764,7 @@ fi fi -echo "$as_me:11407: result: $cf_cv_typeof_chtype" >&5 +echo "$as_me:11767: result: $cf_cv_typeof_chtype" >&5 echo "${ECHO_T}$cf_cv_typeof_chtype" >&6 cat >>confdefs.h <<EOF @@ -11414,15 +11774,16 @@ EOF else cf_cv_typeof_chtype=$NCURSES_CHTYPE fi +test "$cf_cv_typeof_chtype" = unsigned && cf_cv_typeof_chtype="" -echo "$as_me:11418: checking if unsigned literals are legal" >&5 +echo "$as_me:11779: checking if unsigned literals are legal" >&5 echo $ECHO_N "checking if unsigned literals are legal... $ECHO_C" >&6 if test "${cf_cv_unsigned_literals+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 11425 "configure" +#line 11786 "configure" #include "confdefs.h" int @@ -11434,16 +11795,16 @@ long x = 1L + 1UL + 1U + 1 } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:11437: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:11798: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:11440: \$? = $ac_status" >&5 + echo "$as_me:11801: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11443: \"$ac_try\"") >&5 + { (eval echo "$as_me:11804: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11446: \$? = $ac_status" >&5 + echo "$as_me:11807: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_unsigned_literals=yes else @@ -11455,29 +11816,30 @@ rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:11458: result: $cf_cv_unsigned_literals" >&5 +echo "$as_me:11819: result: $cf_cv_unsigned_literals" >&5 echo "${ECHO_T}$cf_cv_unsigned_literals" >&6 cf_cv_1UL="1" -test "$cf_cv_unsigned_literals" = yes && cf_cv_1UL="${cf_cv_1UL}U" -test "$cf_cv_typeof_chtype" = long && cf_cv_1UL="${cf_cv_1UL}L" +test ".$cf_cv_unsigned_literals" = .yes && cf_cv_1UL="${cf_cv_1UL}U" +test ".$cf_cv_typeof_chtype" = .long && cf_cv_1UL="${cf_cv_1UL}L" if test $NCURSES_MMASK_T = auto ; then cf_cv_typeof_mmask_t=long else cf_cv_typeof_mmask_t=$NCURSES_MMASK_T fi +test "$cf_cv_typeof_mmask_t" = unsigned && cf_cv_typeof_mmask_t="" ### Checks for external-data -echo "$as_me:11473: checking if external errno is declared" >&5 +echo "$as_me:11835: checking if external errno is declared" >&5 echo $ECHO_N "checking if external errno is declared... $ECHO_C" >&6 if test "${cf_cv_dcl_errno+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 11480 "configure" +#line 11842 "configure" #include "confdefs.h" #ifdef HAVE_STDLIB_H @@ -11495,16 +11857,16 @@ long x = (long) errno } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:11498: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:11860: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:11501: \$? = $ac_status" >&5 + echo "$as_me:11863: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11504: \"$ac_try\"") >&5 + { (eval echo "$as_me:11866: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11507: \$? = $ac_status" >&5 + echo "$as_me:11869: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_dcl_errno=yes else @@ -11515,7 +11877,7 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:11518: result: $cf_cv_dcl_errno" >&5 +echo "$as_me:11880: result: $cf_cv_dcl_errno" >&5 echo "${ECHO_T}$cf_cv_dcl_errno" >&6 if test "$cf_cv_dcl_errno" = no ; then @@ -11530,14 +11892,14 @@ fi # It's possible (for near-UNIX clones) that the data doesn't exist -echo "$as_me:11533: checking if external errno exists" >&5 +echo "$as_me:11895: checking if external errno exists" >&5 echo $ECHO_N "checking if external errno exists... $ECHO_C" >&6 if test "${cf_cv_have_errno+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 11540 "configure" +#line 11902 "configure" #include "confdefs.h" #undef errno @@ -11552,16 +11914,16 @@ errno = 2 } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11555: \"$ac_link\"") >&5 +if { (eval echo "$as_me:11917: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:11558: \$? = $ac_status" >&5 + echo "$as_me:11920: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11561: \"$ac_try\"") >&5 + { (eval echo "$as_me:11923: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11564: \$? = $ac_status" >&5 + echo "$as_me:11926: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_have_errno=yes else @@ -11572,7 +11934,7 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:11575: result: $cf_cv_have_errno" >&5 +echo "$as_me:11937: result: $cf_cv_have_errno" >&5 echo "${ECHO_T}$cf_cv_have_errno" >&6 if test "$cf_cv_have_errno" = yes ; then @@ -11585,7 +11947,7 @@ EOF fi -echo "$as_me:11588: checking if data-only library module links" >&5 +echo "$as_me:11950: checking if data-only library module links" >&5 echo $ECHO_N "checking if data-only library module links... $ECHO_C" >&6 if test "${cf_cv_link_dataonly+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -11593,20 +11955,20 @@ else rm -f conftest.a cat >conftest.$ac_ext <<EOF -#line 11596 "configure" +#line 11958 "configure" int testdata[3] = { 123, 456, 789 }; EOF - if { (eval echo "$as_me:11599: \"$ac_compile\"") >&5 + if { (eval echo "$as_me:11961: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:11602: \$? = $ac_status" >&5 + echo "$as_me:11964: \$? = $ac_status" >&5 (exit $ac_status); } ; then mv conftest.o data.o && \ ( $AR $AR_OPTS conftest.a data.o ) 2>&5 1>/dev/null fi rm -f conftest.$ac_ext data.o cat >conftest.$ac_ext <<EOF -#line 11609 "configure" +#line 11971 "configure" int testfunc() { #if defined(NeXT) @@ -11619,10 +11981,10 @@ int testfunc() #endif } EOF - if { (eval echo "$as_me:11622: \"$ac_compile\"") >&5 + if { (eval echo "$as_me:11984: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:11625: \$? = $ac_status" >&5 + echo "$as_me:11987: \$? = $ac_status" >&5 (exit $ac_status); }; then mv conftest.o func.o && \ ( $AR $AR_OPTS conftest.a func.o ) 2>&5 1>/dev/null @@ -11635,7 +11997,7 @@ EOF cf_cv_link_dataonly=unknown else cat >conftest.$ac_ext <<_ACEOF -#line 11638 "configure" +#line 12000 "configure" #include "confdefs.h" int main() @@ -11646,15 +12008,15 @@ else _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:11649: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12011: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:11652: \$? = $ac_status" >&5 + echo "$as_me:12014: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:11654: \"$ac_try\"") >&5 + { (eval echo "$as_me:12016: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11657: \$? = $ac_status" >&5 + echo "$as_me:12019: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_link_dataonly=yes else @@ -11669,7 +12031,7 @@ fi fi -echo "$as_me:11672: result: $cf_cv_link_dataonly" >&5 +echo "$as_me:12034: result: $cf_cv_link_dataonly" >&5 echo "${ECHO_T}$cf_cv_link_dataonly" >&6 if test "$cf_cv_link_dataonly" = no ; then @@ -11704,13 +12066,13 @@ vsnprintf \ do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` -echo "$as_me:11707: checking for $ac_func" >&5 +echo "$as_me:12069: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 if eval "test \"\${$as_ac_var+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 11713 "configure" +#line 12075 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. */ @@ -11741,16 +12103,16 @@ f = $ac_func; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11744: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12106: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:11747: \$? = $ac_status" >&5 + echo "$as_me:12109: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11750: \"$ac_try\"") >&5 + { (eval echo "$as_me:12112: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11753: \$? = $ac_status" >&5 + echo "$as_me:12115: \$? = $ac_status" >&5 (exit $ac_status); }; }; then eval "$as_ac_var=yes" else @@ -11760,7 +12122,7 @@ eval "$as_ac_var=no" fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:11763: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "$as_me:12125: result: `eval echo '${'$as_ac_var'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<EOF @@ -11772,14 +12134,14 @@ done if test "$with_getcap" = "yes" ; then -echo "$as_me:11775: checking for terminal-capability database functions" >&5 +echo "$as_me:12137: checking for terminal-capability database functions" >&5 echo $ECHO_N "checking for terminal-capability database functions... $ECHO_C" >&6 if test "${cf_cv_cgetent+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 11782 "configure" +#line 12144 "configure" #include "confdefs.h" #include <stdlib.h> @@ -11799,16 +12161,16 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11802: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12164: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:11805: \$? = $ac_status" >&5 + echo "$as_me:12167: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11808: \"$ac_try\"") >&5 + { (eval echo "$as_me:12170: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11811: \$? = $ac_status" >&5 + echo "$as_me:12173: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_cgetent=yes else @@ -11820,7 +12182,7 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:11823: result: $cf_cv_cgetent" >&5 +echo "$as_me:12185: result: $cf_cv_cgetent" >&5 echo "${ECHO_T}$cf_cv_cgetent" >&6 test "$cf_cv_cgetent" = yes && cat >>confdefs.h <<\EOF #define HAVE_BSD_CGETENT 1 @@ -11828,14 +12190,14 @@ EOF fi -echo "$as_me:11831: checking for isascii" >&5 +echo "$as_me:12193: checking for isascii" >&5 echo $ECHO_N "checking for isascii... $ECHO_C" >&6 if test "${cf_cv_have_isascii+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 11838 "configure" +#line 12200 "configure" #include "confdefs.h" #include <ctype.h> int @@ -11847,16 +12209,16 @@ int x = isascii(' ') } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:11850: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12212: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:11853: \$? = $ac_status" >&5 + echo "$as_me:12215: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:11856: \"$ac_try\"") >&5 + { (eval echo "$as_me:12218: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11859: \$? = $ac_status" >&5 + echo "$as_me:12221: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_have_isascii=yes else @@ -11867,17 +12229,17 @@ fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:11870: result: $cf_cv_have_isascii" >&5 +echo "$as_me:12232: result: $cf_cv_have_isascii" >&5 echo "${ECHO_T}$cf_cv_have_isascii" >&6 test "$cf_cv_have_isascii" = yes && cat >>confdefs.h <<\EOF #define HAVE_ISASCII 1 EOF if test "$ac_cv_func_sigaction" = yes; then -echo "$as_me:11877: checking whether sigaction needs _POSIX_SOURCE" >&5 +echo "$as_me:12239: checking whether sigaction needs _POSIX_SOURCE" >&5 echo $ECHO_N "checking whether sigaction needs _POSIX_SOURCE... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line 11880 "configure" +#line 12242 "configure" #include "confdefs.h" #include <sys/types.h> @@ -11891,16 +12253,16 @@ struct sigaction act } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:11894: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:12256: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:11897: \$? = $ac_status" >&5 + echo "$as_me:12259: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11900: \"$ac_try\"") >&5 + { (eval echo "$as_me:12262: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11903: \$? = $ac_status" >&5 + echo "$as_me:12265: \$? = $ac_status" >&5 (exit $ac_status); }; }; then sigact_bad=no else @@ -11908,7 +12270,7 @@ else cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF -#line 11911 "configure" +#line 12273 "configure" #include "confdefs.h" #define _POSIX_SOURCE @@ -11923,16 +12285,16 @@ struct sigaction act } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:11926: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:12288: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:11929: \$? = $ac_status" >&5 + echo "$as_me:12291: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:11932: \"$ac_try\"") >&5 + { (eval echo "$as_me:12294: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11935: \$? = $ac_status" >&5 + echo "$as_me:12297: \$? = $ac_status" >&5 (exit $ac_status); }; }; then sigact_bad=yes cat >>confdefs.h <<\EOF @@ -11947,11 +12309,11 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext -echo "$as_me:11950: result: $sigact_bad" >&5 +echo "$as_me:12312: result: $sigact_bad" >&5 echo "${ECHO_T}$sigact_bad" >&6 fi -echo "$as_me:11954: checking if nanosleep really works" >&5 +echo "$as_me:12316: checking if nanosleep really works" >&5 echo $ECHO_N "checking if nanosleep really works... $ECHO_C" >&6 if test "${cf_cv_func_nanosleep+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -11961,7 +12323,7 @@ if test "$cross_compiling" = yes; then cf_cv_func_nanosleep=unknown else cat >conftest.$ac_ext <<_ACEOF -#line 11964 "configure" +#line 12326 "configure" #include "confdefs.h" #include <stdio.h> @@ -11986,15 +12348,15 @@ int main() { _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:11989: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12351: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:11992: \$? = $ac_status" >&5 + echo "$as_me:12354: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:11994: \"$ac_try\"") >&5 + { (eval echo "$as_me:12356: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:11997: \$? = $ac_status" >&5 + echo "$as_me:12359: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_func_nanosleep=yes else @@ -12006,7 +12368,7 @@ fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi -echo "$as_me:12009: result: $cf_cv_func_nanosleep" >&5 +echo "$as_me:12371: result: $cf_cv_func_nanosleep" >&5 echo "${ECHO_T}$cf_cv_func_nanosleep" >&6 test "$cf_cv_func_nanosleep" = "yes" && cat >>confdefs.h <<\EOF @@ -12020,23 +12382,23 @@ unistd.h \ do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:12023: checking for $ac_header" >&5 +echo "$as_me:12385: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 12029 "configure" +#line 12391 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF -if { (eval echo "$as_me:12033: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:12395: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:12039: \$? = $ac_status" >&5 + echo "$as_me:12401: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -12055,7 +12417,7 @@ else fi rm -f conftest.err conftest.$ac_ext fi -echo "$as_me:12058: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:12420: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<EOF @@ -12070,23 +12432,23 @@ if test "$ISC" = yes ; then for ac_header in sys/termio.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:12073: checking for $ac_header" >&5 +echo "$as_me:12435: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 12079 "configure" +#line 12441 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF -if { (eval echo "$as_me:12083: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:12445: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:12089: \$? = $ac_status" >&5 + echo "$as_me:12451: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -12105,7 +12467,7 @@ else fi rm -f conftest.err conftest.$ac_ext fi -echo "$as_me:12108: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:12470: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<EOF @@ -12123,10 +12485,10 @@ if test "$ac_cv_header_termios_h" = yes ; then *) termios_bad=maybe ;; esac if test "$termios_bad" = maybe ; then - echo "$as_me:12126: checking whether termios.h needs _POSIX_SOURCE" >&5 + echo "$as_me:12488: checking whether termios.h needs _POSIX_SOURCE" >&5 echo $ECHO_N "checking whether termios.h needs _POSIX_SOURCE... $ECHO_C" >&6 cat >conftest.$ac_ext <<_ACEOF -#line 12129 "configure" +#line 12491 "configure" #include "confdefs.h" #include <termios.h> int @@ -12138,16 +12500,16 @@ struct termios foo; int x = foo.c_iflag } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:12141: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:12503: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:12144: \$? = $ac_status" >&5 + echo "$as_me:12506: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:12147: \"$ac_try\"") >&5 + { (eval echo "$as_me:12509: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12150: \$? = $ac_status" >&5 + echo "$as_me:12512: \$? = $ac_status" >&5 (exit $ac_status); }; }; then termios_bad=no else @@ -12155,7 +12517,7 @@ else cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF -#line 12158 "configure" +#line 12520 "configure" #include "confdefs.h" #define _POSIX_SOURCE @@ -12169,16 +12531,16 @@ struct termios foo; int x = foo.c_iflag } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:12172: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:12534: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:12175: \$? = $ac_status" >&5 + echo "$as_me:12537: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:12178: \"$ac_try\"") >&5 + { (eval echo "$as_me:12540: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12181: \$? = $ac_status" >&5 + echo "$as_me:12543: \$? = $ac_status" >&5 (exit $ac_status); }; }; then termios_bad=unknown else @@ -12193,19 +12555,19 @@ rm -f conftest.$ac_objext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest.$ac_ext - echo "$as_me:12196: result: $termios_bad" >&5 + echo "$as_me:12558: result: $termios_bad" >&5 echo "${ECHO_T}$termios_bad" >&6 fi fi -echo "$as_me:12201: checking for tcgetattr" >&5 +echo "$as_me:12563: checking for tcgetattr" >&5 echo $ECHO_N "checking for tcgetattr... $ECHO_C" >&6 if test "${cf_cv_have_tcgetattr+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 12208 "configure" +#line 12570 "configure" #include "confdefs.h" #include <sys/types.h> @@ -12233,16 +12595,16 @@ tcgetattr(1, &foo); } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12236: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12598: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12239: \$? = $ac_status" >&5 + echo "$as_me:12601: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12242: \"$ac_try\"") >&5 + { (eval echo "$as_me:12604: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12245: \$? = $ac_status" >&5 + echo "$as_me:12607: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_have_tcgetattr=yes else @@ -12252,20 +12614,20 @@ cf_cv_have_tcgetattr=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:12255: result: $cf_cv_have_tcgetattr" >&5 +echo "$as_me:12617: result: $cf_cv_have_tcgetattr" >&5 echo "${ECHO_T}$cf_cv_have_tcgetattr" >&6 test "$cf_cv_have_tcgetattr" = yes && cat >>confdefs.h <<\EOF #define HAVE_TCGETATTR 1 EOF -echo "$as_me:12261: checking for vsscanf function or workaround" >&5 +echo "$as_me:12623: checking for vsscanf function or workaround" >&5 echo $ECHO_N "checking for vsscanf function or workaround... $ECHO_C" >&6 if test "${cf_cv_func_vsscanf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 12268 "configure" +#line 12630 "configure" #include "confdefs.h" #include <stdarg.h> @@ -12281,16 +12643,16 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12284: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12646: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12287: \$? = $ac_status" >&5 + echo "$as_me:12649: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12290: \"$ac_try\"") >&5 + { (eval echo "$as_me:12652: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12293: \$? = $ac_status" >&5 + echo "$as_me:12655: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_func_vsscanf=vsscanf else @@ -12298,7 +12660,7 @@ else cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF -#line 12301 "configure" +#line 12663 "configure" #include "confdefs.h" #include <stdarg.h> @@ -12320,16 +12682,16 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12323: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12685: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12326: \$? = $ac_status" >&5 + echo "$as_me:12688: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12329: \"$ac_try\"") >&5 + { (eval echo "$as_me:12691: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12332: \$? = $ac_status" >&5 + echo "$as_me:12694: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_func_vsscanf=vfscanf else @@ -12337,7 +12699,7 @@ else cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF -#line 12340 "configure" +#line 12702 "configure" #include "confdefs.h" #include <stdarg.h> @@ -12359,16 +12721,16 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12362: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12724: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12365: \$? = $ac_status" >&5 + echo "$as_me:12727: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12368: \"$ac_try\"") >&5 + { (eval echo "$as_me:12730: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12371: \$? = $ac_status" >&5 + echo "$as_me:12733: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_func_vsscanf=_doscan else @@ -12383,7 +12745,7 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:12386: result: $cf_cv_func_vsscanf" >&5 +echo "$as_me:12748: result: $cf_cv_func_vsscanf" >&5 echo "${ECHO_T}$cf_cv_func_vsscanf" >&6 case $cf_cv_func_vsscanf in #(vi @@ -12401,7 +12763,7 @@ EOF ;; esac -echo "$as_me:12404: checking for working mkstemp" >&5 +echo "$as_me:12766: checking for working mkstemp" >&5 echo $ECHO_N "checking for working mkstemp... $ECHO_C" >&6 if test "${cf_cv_func_mkstemp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -12409,13 +12771,13 @@ else rm -f conftest* if test "$cross_compiling" = yes; then - echo "$as_me:12412: checking for mkstemp" >&5 + echo "$as_me:12774: checking for mkstemp" >&5 echo $ECHO_N "checking for mkstemp... $ECHO_C" >&6 if test "${ac_cv_func_mkstemp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 12418 "configure" +#line 12780 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char mkstemp (); below. */ @@ -12446,16 +12808,16 @@ f = mkstemp; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12449: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12811: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12452: \$? = $ac_status" >&5 + echo "$as_me:12814: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12455: \"$ac_try\"") >&5 + { (eval echo "$as_me:12817: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12458: \$? = $ac_status" >&5 + echo "$as_me:12820: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_mkstemp=yes else @@ -12465,12 +12827,12 @@ ac_cv_func_mkstemp=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:12468: result: $ac_cv_func_mkstemp" >&5 +echo "$as_me:12830: result: $ac_cv_func_mkstemp" >&5 echo "${ECHO_T}$ac_cv_func_mkstemp" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 12473 "configure" +#line 12835 "configure" #include "confdefs.h" #include <sys/types.h> @@ -12508,15 +12870,15 @@ int main() _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:12511: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12873: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12514: \$? = $ac_status" >&5 + echo "$as_me:12876: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:12516: \"$ac_try\"") >&5 + { (eval echo "$as_me:12878: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12519: \$? = $ac_status" >&5 + echo "$as_me:12881: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_func_mkstemp=yes @@ -12531,7 +12893,7 @@ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi -echo "$as_me:12534: result: $cf_cv_func_mkstemp" >&5 +echo "$as_me:12896: result: $cf_cv_func_mkstemp" >&5 echo "${ECHO_T}$cf_cv_func_mkstemp" >&6 if test "$cf_cv_func_mkstemp" = yes ; then cat >>confdefs.h <<\EOF @@ -12549,21 +12911,21 @@ else fi if test "$cross_compiling" = yes ; then - { echo "$as_me:12552: WARNING: cross compiling: assume setvbuf params not reversed" >&5 + { echo "$as_me:12914: WARNING: cross compiling: assume setvbuf params not reversed" >&5 echo "$as_me: WARNING: cross compiling: assume setvbuf params not reversed" >&2;} else - echo "$as_me:12555: checking whether setvbuf arguments are reversed" >&5 + echo "$as_me:12917: checking whether setvbuf arguments are reversed" >&5 echo $ECHO_N "checking whether setvbuf arguments are reversed... $ECHO_C" >&6 if test "${ac_cv_func_setvbuf_reversed+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then - { { echo "$as_me:12561: error: cannot run test program while cross compiling" >&5 + { { echo "$as_me:12923: error: cannot run test program while cross compiling" >&5 echo "$as_me: error: cannot run test program while cross compiling" >&2;} { (exit 1); exit 1; }; } else cat >conftest.$ac_ext <<_ACEOF -#line 12566 "configure" +#line 12928 "configure" #include "confdefs.h" #include <stdio.h> /* If setvbuf has the reversed format, exit 0. */ @@ -12580,15 +12942,15 @@ main () } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:12583: \"$ac_link\"") >&5 +if { (eval echo "$as_me:12945: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12586: \$? = $ac_status" >&5 + echo "$as_me:12948: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:12588: \"$ac_try\"") >&5 + { (eval echo "$as_me:12950: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12591: \$? = $ac_status" >&5 + echo "$as_me:12953: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_setvbuf_reversed=yes else @@ -12601,7 +12963,7 @@ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi rm -f core core.* *.core fi -echo "$as_me:12604: result: $ac_cv_func_setvbuf_reversed" >&5 +echo "$as_me:12966: result: $ac_cv_func_setvbuf_reversed" >&5 echo "${ECHO_T}$ac_cv_func_setvbuf_reversed" >&6 if test $ac_cv_func_setvbuf_reversed = yes; then @@ -12612,13 +12974,13 @@ EOF fi fi -echo "$as_me:12615: checking return type of signal handlers" >&5 +echo "$as_me:12977: checking return type of signal handlers" >&5 echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6 if test "${ac_cv_type_signal+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 12621 "configure" +#line 12983 "configure" #include "confdefs.h" #include <sys/types.h> #include <signal.h> @@ -12640,16 +13002,16 @@ int i; } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:12643: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:13005: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:12646: \$? = $ac_status" >&5 + echo "$as_me:13008: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:12649: \"$ac_try\"") >&5 + { (eval echo "$as_me:13011: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12652: \$? = $ac_status" >&5 + echo "$as_me:13014: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_type_signal=void else @@ -12659,21 +13021,21 @@ ac_cv_type_signal=int fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:12662: result: $ac_cv_type_signal" >&5 +echo "$as_me:13024: result: $ac_cv_type_signal" >&5 echo "${ECHO_T}$ac_cv_type_signal" >&6 cat >>confdefs.h <<EOF #define RETSIGTYPE $ac_cv_type_signal EOF -echo "$as_me:12669: checking for type sigaction_t" >&5 +echo "$as_me:13031: checking for type sigaction_t" >&5 echo $ECHO_N "checking for type sigaction_t... $ECHO_C" >&6 if test "${cf_cv_type_sigaction+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 12676 "configure" +#line 13038 "configure" #include "confdefs.h" #include <signal.h> @@ -12686,16 +13048,16 @@ sigaction_t x } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:12689: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:13051: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:12692: \$? = $ac_status" >&5 + echo "$as_me:13054: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:12695: \"$ac_try\"") >&5 + { (eval echo "$as_me:13057: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12698: \$? = $ac_status" >&5 + echo "$as_me:13060: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_type_sigaction=yes else @@ -12706,13 +13068,13 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext fi -echo "$as_me:12709: result: $cf_cv_type_sigaction" >&5 +echo "$as_me:13071: result: $cf_cv_type_sigaction" >&5 echo "${ECHO_T}$cf_cv_type_sigaction" >&6 test "$cf_cv_type_sigaction" = yes && cat >>confdefs.h <<\EOF #define HAVE_TYPE_SIGACTION 1 EOF -echo "$as_me:12715: checking declaration of size-change" >&5 +echo "$as_me:13077: checking declaration of size-change" >&5 echo $ECHO_N "checking declaration of size-change... $ECHO_C" >&6 if test "${cf_cv_sizechange+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -12727,7 +13089,7 @@ do CPPFLAGS="$cf_save_CPPFLAGS" test -n "$cf_opts" && CPPFLAGS="$CPPFLAGS -D$cf_opts" cat >conftest.$ac_ext <<_ACEOF -#line 12730 "configure" +#line 13092 "configure" #include "confdefs.h" #include <sys/types.h> #ifdef HAVE_TERMIOS_H @@ -12771,16 +13133,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:12774: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:13136: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:12777: \$? = $ac_status" >&5 + echo "$as_me:13139: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:12780: \"$ac_try\"") >&5 + { (eval echo "$as_me:13142: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12783: \$? = $ac_status" >&5 + echo "$as_me:13145: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_sizechange=yes else @@ -12799,7 +13161,7 @@ rm -f conftest.$ac_objext conftest.$ac_ext done fi -echo "$as_me:12802: result: $cf_cv_sizechange" >&5 +echo "$as_me:13164: result: $cf_cv_sizechange" >&5 echo "${ECHO_T}$cf_cv_sizechange" >&6 if test "$cf_cv_sizechange" != no ; then cat >>confdefs.h <<\EOF @@ -12816,13 +13178,13 @@ EOF esac fi -echo "$as_me:12819: checking for memmove" >&5 +echo "$as_me:13181: checking for memmove" >&5 echo $ECHO_N "checking for memmove... $ECHO_C" >&6 if test "${ac_cv_func_memmove+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 12825 "configure" +#line 13187 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char memmove (); below. */ @@ -12853,16 +13215,16 @@ f = memmove; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12856: \"$ac_link\"") >&5 +if { (eval echo "$as_me:13218: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12859: \$? = $ac_status" >&5 + echo "$as_me:13221: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12862: \"$ac_try\"") >&5 + { (eval echo "$as_me:13224: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12865: \$? = $ac_status" >&5 + echo "$as_me:13227: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_memmove=yes else @@ -12872,19 +13234,19 @@ ac_cv_func_memmove=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:12875: result: $ac_cv_func_memmove" >&5 +echo "$as_me:13237: result: $ac_cv_func_memmove" >&5 echo "${ECHO_T}$ac_cv_func_memmove" >&6 if test $ac_cv_func_memmove = yes; then : else -echo "$as_me:12881: checking for bcopy" >&5 +echo "$as_me:13243: checking for bcopy" >&5 echo $ECHO_N "checking for bcopy... $ECHO_C" >&6 if test "${ac_cv_func_bcopy+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 12887 "configure" +#line 13249 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char bcopy (); below. */ @@ -12915,16 +13277,16 @@ f = bcopy; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:12918: \"$ac_link\"") >&5 +if { (eval echo "$as_me:13280: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12921: \$? = $ac_status" >&5 + echo "$as_me:13283: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:12924: \"$ac_try\"") >&5 + { (eval echo "$as_me:13286: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12927: \$? = $ac_status" >&5 + echo "$as_me:13289: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_bcopy=yes else @@ -12934,11 +13296,11 @@ ac_cv_func_bcopy=no fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi -echo "$as_me:12937: result: $ac_cv_func_bcopy" >&5 +echo "$as_me:13299: result: $ac_cv_func_bcopy" >&5 echo "${ECHO_T}$ac_cv_func_bcopy" >&6 if test $ac_cv_func_bcopy = yes; then - echo "$as_me:12941: checking if bcopy does overlapping moves" >&5 + echo "$as_me:13303: checking if bcopy does overlapping moves" >&5 echo $ECHO_N "checking if bcopy does overlapping moves... $ECHO_C" >&6 if test "${cf_cv_good_bcopy+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -12948,7 +13310,7 @@ else cf_cv_good_bcopy=unknown else cat >conftest.$ac_ext <<_ACEOF -#line 12951 "configure" +#line 13313 "configure" #include "confdefs.h" int main() { @@ -12962,15 +13324,15 @@ int main() { _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:12965: \"$ac_link\"") >&5 +if { (eval echo "$as_me:13327: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:12968: \$? = $ac_status" >&5 + echo "$as_me:13330: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:12970: \"$ac_try\"") >&5 + { (eval echo "$as_me:13332: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:12973: \$? = $ac_status" >&5 + echo "$as_me:13335: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_good_bcopy=yes else @@ -12983,7 +13345,7 @@ rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi -echo "$as_me:12986: result: $cf_cv_good_bcopy" >&5 +echo "$as_me:13348: result: $cf_cv_good_bcopy" >&5 echo "${ECHO_T}$cf_cv_good_bcopy" >&6 else @@ -13004,7 +13366,7 @@ EOF fi -echo "$as_me:13007: checking if poll really works" >&5 +echo "$as_me:13369: checking if poll really works" >&5 echo $ECHO_N "checking if poll really works... $ECHO_C" >&6 if test "${cf_cv_working_poll+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -13014,7 +13376,7 @@ if test "$cross_compiling" = yes; then cf_cv_working_poll=unknown else cat >conftest.$ac_ext <<_ACEOF -#line 13017 "configure" +#line 13379 "configure" #include "confdefs.h" #include <stdio.h> @@ -13035,15 +13397,15 @@ int main() { } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:13038: \"$ac_link\"") >&5 +if { (eval echo "$as_me:13400: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:13041: \$? = $ac_status" >&5 + echo "$as_me:13403: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:13043: \"$ac_try\"") >&5 + { (eval echo "$as_me:13405: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:13046: \$? = $ac_status" >&5 + echo "$as_me:13408: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_working_poll=yes else @@ -13055,7 +13417,7 @@ fi rm -f core core.* *.core conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi -echo "$as_me:13058: result: $cf_cv_working_poll" >&5 +echo "$as_me:13420: result: $cf_cv_working_poll" >&5 echo "${ECHO_T}$cf_cv_working_poll" >&6 test "$cf_cv_working_poll" = "yes" && cat >>confdefs.h <<\EOF #define HAVE_WORKING_POLL 1 @@ -13066,23 +13428,132 @@ if test "$with_hashed_db" != no ; then #define USE_HASHED_DB 1 EOF -echo "$as_me:13069: checking for db.h" >&5 +case $with_hashed_db in #(vi +yes|*able*) #(vi + ;; +*) + if test -d "$with_hashed_db" ; then + +if test -n "$with_hashed_db/include" ; then + for cf_add_incdir in $with_hashed_db/include + do + while test $cf_add_incdir != /usr/include + do + if test -d $cf_add_incdir + then + cf_have_incdir=no + if test -n "$CFLAGS$CPPFLAGS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_incdir in $CFLAGS $CPPFLAGS ; do + if test ".$cf_test_incdir" = ".-I$cf_add_incdir" ; then + cf_have_incdir=yes; break + fi + done + fi + + if test "$cf_have_incdir" = no ; then + if test "$cf_add_incdir" = /usr/local/include ; then + if test "$GCC" = yes + then + cf_save_CPPFLAGS=$CPPFLAGS + CPPFLAGS="$CPPFLAGS -I$cf_add_incdir" + cat >conftest.$ac_ext <<_ACEOF +#line 13461 "configure" +#include "confdefs.h" +#include <stdio.h> +int +main () +{ +printf("Hello") + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:13473: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:13476: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:13479: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:13482: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +cat conftest.$ac_ext >&5 +cf_have_incdir=yes +fi +rm -f conftest.$ac_objext conftest.$ac_ext + CPPFLAGS=$cf_save_CPPFLAGS + fi + fi + fi + + if test "$cf_have_incdir" = no ; then + echo "$as_me:13497: result: adding $cf_add_incdir to include-path" >&5 +echo "${ECHO_T}adding $cf_add_incdir to include-path" >&6 + CPPFLAGS="-I$cf_add_incdir $CPPFLAGS" + + cf_top_incdir=`echo $cf_add_incdir | sed -e 's%/include/.*$%/include%'` + test "$cf_top_incdir" = "$cf_add_incdir" && break + cf_add_incdir="$cf_top_incdir" + else + break + fi + fi + done + done +fi + +if test -n "$with_hashed_db/lib" ; then + for cf_add_libdir in $with_hashed_db/lib + do + if test $cf_add_libdir = /usr/lib ; then + : + elif test -d $cf_add_libdir + then + cf_have_libdir=no + if test -n "$LDFLAGS$LIBS" ; then + # a loop is needed to ensure we can add subdirs of existing dirs + for cf_test_libdir in $LDFLAGS $LIBS ; do + if test ".$cf_test_libdir" = ".-L$cf_add_libdir" ; then + cf_have_libdir=yes; break + fi + done + fi + if test "$cf_have_libdir" = no ; then + echo "$as_me:13529: result: adding $cf_add_libdir to library-path" >&5 +echo "${ECHO_T}adding $cf_add_libdir to library-path" >&6 + LDFLAGS="-L$cf_add_libdir $LDFLAGS" + fi + fi + done +fi + + fi +esac + +echo "$as_me:13540: checking for db.h" >&5 echo $ECHO_N "checking for db.h... $ECHO_C" >&6 if test "${ac_cv_header_db_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 13075 "configure" +#line 13546 "configure" #include "confdefs.h" #include <db.h> _ACEOF -if { (eval echo "$as_me:13079: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:13550: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:13085: \$? = $ac_status" >&5 + echo "$as_me:13556: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_c_preproc_warn_flag @@ -13101,11 +13572,11 @@ else fi rm -f conftest.err conftest.$ac_ext fi -echo "$as_me:13104: result: $ac_cv_header_db_h" >&5 +echo "$as_me:13575: result: $ac_cv_header_db_h" >&5 echo "${ECHO_T}$ac_cv_header_db_h" >&6 if test $ac_cv_header_db_h = yes; then -echo "$as_me:13108: checking for version of db" >&5 +echo "$as_me:13579: checking for version of db" >&5 echo $ECHO_N "checking for version of db... $ECHO_C" >&6 if test "${cf_cv_hashed_db_version+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -13113,13 +13584,13 @@ else cf_cv_hashed_db_version=unknown -for cf_db_version in 1 2 3 4 +for cf_db_version in 1 2 3 4 5 do -echo "(line 13119) testing checking for db version $cf_db_version ..." 1>&5 +echo "${as_me-configure}:13590: testing checking for db version $cf_db_version ..." 1>&5 cat >conftest.$ac_ext <<_ACEOF -#line 13122 "configure" +#line 13593 "configure" #include "confdefs.h" $ac_includes_default @@ -13149,16 +13620,16 @@ DBT *foo = 0 } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:13152: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:13623: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:13155: \$? = $ac_status" >&5 + echo "$as_me:13626: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13158: \"$ac_try\"") >&5 + { (eval echo "$as_me:13629: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:13161: \$? = $ac_status" >&5 + echo "$as_me:13632: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_hashed_db_version=$cf_db_version @@ -13172,33 +13643,33 @@ rm -f conftest.$ac_objext conftest.$ac_ext done fi -echo "$as_me:13175: result: $cf_cv_hashed_db_version" >&5 +echo "$as_me:13646: result: $cf_cv_hashed_db_version" >&5 echo "${ECHO_T}$cf_cv_hashed_db_version" >&6 if test "$cf_cv_hashed_db_version" = unknown ; then - { { echo "$as_me:13179: error: Cannot determine version of db" >&5 + { { echo "$as_me:13650: error: Cannot determine version of db" >&5 echo "$as_me: error: Cannot determine version of db" >&2;} { (exit 1); exit 1; }; } else -echo "$as_me:13184: checking for db libraries" >&5 +echo "$as_me:13655: checking for db libraries" >&5 echo $ECHO_N "checking for db libraries... $ECHO_C" >&6 if test "${cf_cv_hashed_db_libs+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cf_cv_hashed_db_libs=unknown -for cf_db_libs in db$cf_cv_hashed_db_version db '' +for cf_db_libs in db$cf_cv_hashed_db_version db-$cf_cv_hashed_db_version db '' do cf_save_libs="$LIBS" if test -n "$cf_db_libs"; then LIBS="-l$cf_db_libs $LIBS" fi -echo "(line 13198) testing checking for library "$cf_db_libs" ..." 1>&5 +echo "${as_me-configure}:13669: testing checking for library "$cf_db_libs" ..." 1>&5 cat >conftest.$ac_ext <<_ACEOF -#line 13201 "configure" +#line 13672 "configure" #include "confdefs.h" $ac_includes_default @@ -13253,16 +13724,16 @@ main () } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:13256: \"$ac_link\"") >&5 +if { (eval echo "$as_me:13727: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:13259: \$? = $ac_status" >&5 + echo "$as_me:13730: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:13262: \"$ac_try\"") >&5 + { (eval echo "$as_me:13733: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:13265: \$? = $ac_status" >&5 + echo "$as_me:13736: \$? = $ac_status" >&5 (exit $ac_status); }; }; then if test -n "$cf_db_libs" ; then @@ -13282,11 +13753,11 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext done fi -echo "$as_me:13285: result: $cf_cv_hashed_db_libs" >&5 +echo "$as_me:13756: result: $cf_cv_hashed_db_libs" >&5 echo "${ECHO_T}$cf_cv_hashed_db_libs" >&6 if test "$cf_cv_hashed_db_libs" = unknown ; then - { { echo "$as_me:13289: error: Cannot determine library for db" >&5 + { { echo "$as_me:13760: error: Cannot determine library for db" >&5 echo "$as_me: error: Cannot determine library for db" >&2;} { (exit 1); exit 1; }; } elif test "$cf_cv_hashed_db_libs" != default ; then @@ -13296,7 +13767,7 @@ fi else - { { echo "$as_me:13299: error: Cannot find db.h" >&5 + { { echo "$as_me:13770: error: Cannot find db.h" >&5 echo "$as_me: error: Cannot find db.h" >&2;} { (exit 1); exit 1; }; } @@ -13311,7 +13782,7 @@ fi # Just in case, check if the C compiler has a bool type. -echo "$as_me:13314: checking if we should include stdbool.h" >&5 +echo "$as_me:13785: checking if we should include stdbool.h" >&5 echo $ECHO_N "checking if we should include stdbool.h... $ECHO_C" >&6 if test "${cf_cv_header_stdbool_h+set}" = set; then @@ -13319,7 +13790,7 @@ if test "${cf_cv_header_stdbool_h+set}" = set; then else cat >conftest.$ac_ext <<_ACEOF -#line 13322 "configure" +#line 13793 "configure" #include "confdefs.h" int @@ -13331,23 +13802,23 @@ bool foo = false } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:13334: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:13805: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:13337: \$? = $ac_status" >&5 + echo "$as_me:13808: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13340: \"$ac_try\"") >&5 + { (eval echo "$as_me:13811: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:13343: \$? = $ac_status" >&5 + echo "$as_me:13814: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_header_stdbool_h=0 else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF -#line 13350 "configure" +#line 13821 "configure" #include "confdefs.h" #ifndef __BEOS__ @@ -13363,16 +13834,16 @@ bool foo = false } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:13366: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:13837: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:13369: \$? = $ac_status" >&5 + echo "$as_me:13840: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13372: \"$ac_try\"") >&5 + { (eval echo "$as_me:13843: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:13375: \$? = $ac_status" >&5 + echo "$as_me:13846: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_header_stdbool_h=1 else @@ -13386,13 +13857,13 @@ rm -f conftest.$ac_objext conftest.$ac_ext fi if test "$cf_cv_header_stdbool_h" = 1 -then echo "$as_me:13389: result: yes" >&5 +then echo "$as_me:13860: result: yes" >&5 echo "${ECHO_T}yes" >&6 -else echo "$as_me:13391: result: no" >&5 +else echo "$as_me:13862: result: no" >&5 echo "${ECHO_T}no" >&6 fi -echo "$as_me:13395: checking for builtin bool type" >&5 +echo "$as_me:13866: checking for builtin bool type" >&5 echo $ECHO_N "checking for builtin bool type... $ECHO_C" >&6 if test "${cf_cv_cc_bool_type+set}" = set; then @@ -13400,7 +13871,7 @@ if test "${cf_cv_cc_bool_type+set}" = set; then else cat >conftest.$ac_ext <<_ACEOF -#line 13403 "configure" +#line 13874 "configure" #include "confdefs.h" #include <stdio.h> @@ -13415,16 +13886,16 @@ bool x = false } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:13418: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:13889: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:13421: \$? = $ac_status" >&5 + echo "$as_me:13892: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13424: \"$ac_try\"") >&5 + { (eval echo "$as_me:13895: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:13427: \$? = $ac_status" >&5 + echo "$as_me:13898: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_cc_bool_type=1 else @@ -13437,9 +13908,9 @@ rm -f conftest.$ac_objext conftest.$ac_ext fi if test "$cf_cv_cc_bool_type" = 1 -then echo "$as_me:13440: result: yes" >&5 +then echo "$as_me:13911: result: yes" >&5 echo "${ECHO_T}yes" >&6 -else echo "$as_me:13442: result: no" >&5 +else echo "$as_me:13913: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -13461,7 +13932,7 @@ os2*) #(vi cf_stdcpp_libname=stdc++ ;; esac -echo "$as_me:13464: checking for library $cf_stdcpp_libname" >&5 +echo "$as_me:13935: checking for library $cf_stdcpp_libname" >&5 echo $ECHO_N "checking for library $cf_stdcpp_libname... $ECHO_C" >&6 if test "${cf_cv_libstdcpp+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -13470,7 +13941,7 @@ else cf_save="$LIBS" LIBS="$LIBS -l$cf_stdcpp_libname" cat >conftest.$ac_ext <<_ACEOF -#line 13473 "configure" +#line 13944 "configure" #include "confdefs.h" #include <strstream.h> @@ -13486,16 +13957,16 @@ strstreambuf foo(buf, sizeof(buf)) } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:13489: \"$ac_link\"") >&5 +if { (eval echo "$as_me:13960: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:13492: \$? = $ac_status" >&5 + echo "$as_me:13963: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:13495: \"$ac_try\"") >&5 + { (eval echo "$as_me:13966: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:13498: \$? = $ac_status" >&5 + echo "$as_me:13969: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_libstdcpp=yes else @@ -13507,12 +13978,12 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS="$cf_save" fi -echo "$as_me:13510: result: $cf_cv_libstdcpp" >&5 +echo "$as_me:13981: result: $cf_cv_libstdcpp" >&5 echo "${ECHO_T}$cf_cv_libstdcpp" >&6 test "$cf_cv_libstdcpp" = yes && CXXLIBS="$CXXLIBS -l$cf_stdcpp_libname" fi - echo "$as_me:13515: checking whether $CXX understands -c and -o together" >&5 + echo "$as_me:13986: checking whether $CXX understands -c and -o together" >&5 echo $ECHO_N "checking whether $CXX understands -c and -o together... $ECHO_C" >&6 if test "${cf_cv_prog_CXX_c_o+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -13528,15 +13999,15 @@ CF_EOF # We do the test twice because some compilers refuse to overwrite an # existing .o file with -o, though they will create one. ac_try='$CXX -c conftest.$ac_ext -o conftest2.$ac_objext >&5' -if { (eval echo "$as_me:13531: \"$ac_try\"") >&5 +if { (eval echo "$as_me:14002: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:13534: \$? = $ac_status" >&5 + echo "$as_me:14005: \$? = $ac_status" >&5 (exit $ac_status); } && - test -f conftest2.$ac_objext && { (eval echo "$as_me:13536: \"$ac_try\"") >&5 + test -f conftest2.$ac_objext && { (eval echo "$as_me:14007: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:13539: \$? = $ac_status" >&5 + echo "$as_me:14010: \$? = $ac_status" >&5 (exit $ac_status); }; then eval cf_cv_prog_CXX_c_o=yes @@ -13547,10 +14018,10 @@ rm -f conftest* fi if test $cf_cv_prog_CXX_c_o = yes; then - echo "$as_me:13550: result: yes" >&5 + echo "$as_me:14021: result: yes" >&5 echo "${ECHO_T}yes" >&6 else - echo "$as_me:13553: result: no" >&5 + echo "$as_me:14024: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -13570,12 +14041,12 @@ os2*) #(vi ;; esac if test "$GXX" = yes; then - echo "$as_me:13573: checking for lib$cf_gpp_libname" >&5 + echo "$as_me:14044: checking for lib$cf_gpp_libname" >&5 echo $ECHO_N "checking for lib$cf_gpp_libname... $ECHO_C" >&6 cf_save="$LIBS" LIBS="$LIBS -l$cf_gpp_libname" cat >conftest.$ac_ext <<_ACEOF -#line 13578 "configure" +#line 14049 "configure" #include "confdefs.h" #include <$cf_gpp_libname/builtin.h> @@ -13589,16 +14060,16 @@ two_arg_error_handler_t foo2 = lib_error_handler } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:13592: \"$ac_link\"") >&5 +if { (eval echo "$as_me:14063: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:13595: \$? = $ac_status" >&5 + echo "$as_me:14066: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:13598: \"$ac_try\"") >&5 + { (eval echo "$as_me:14069: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:13601: \$? = $ac_status" >&5 + echo "$as_me:14072: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cxx_library=yes CXXLIBS="$CXXLIBS -l$cf_gpp_libname" @@ -13617,7 +14088,7 @@ else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF -#line 13620 "configure" +#line 14091 "configure" #include "confdefs.h" #include <builtin.h> @@ -13631,16 +14102,16 @@ two_arg_error_handler_t foo2 = lib_error_handler } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:13634: \"$ac_link\"") >&5 +if { (eval echo "$as_me:14105: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:13637: \$? = $ac_status" >&5 + echo "$as_me:14108: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:13640: \"$ac_try\"") >&5 + { (eval echo "$as_me:14111: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:13643: \$? = $ac_status" >&5 + echo "$as_me:14114: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cxx_library=yes CXXLIBS="$CXXLIBS -l$cf_gpp_libname" @@ -13657,7 +14128,7 @@ rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext fi rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext LIBS="$cf_save" - echo "$as_me:13660: result: $cf_cxx_library" >&5 + echo "$as_me:14131: result: $cf_cxx_library" >&5 echo "${ECHO_T}$cf_cxx_library" >&6 fi @@ -13673,7 +14144,7 @@ ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_main_return=return -echo "$as_me:13676: checking how to run the C++ preprocessor" >&5 +echo "$as_me:14147: checking how to run the C++ preprocessor" >&5 echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6 if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then @@ -13690,18 +14161,18 @@ do # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line 13693 "configure" +#line 14164 "configure" #include "confdefs.h" #include <assert.h> Syntax error _ACEOF -if { (eval echo "$as_me:13698: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:14169: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:13704: \$? = $ac_status" >&5 + echo "$as_me:14175: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag @@ -13724,17 +14195,17 @@ rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line 13727 "configure" +#line 14198 "configure" #include "confdefs.h" #include <ac_nonexistent.h> _ACEOF -if { (eval echo "$as_me:13731: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:14202: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:13737: \$? = $ac_status" >&5 + echo "$as_me:14208: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag @@ -13771,7 +14242,7 @@ fi else ac_cv_prog_CXXCPP=$CXXCPP fi -echo "$as_me:13774: result: $CXXCPP" >&5 +echo "$as_me:14245: result: $CXXCPP" >&5 echo "${ECHO_T}$CXXCPP" >&6 ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes @@ -13781,18 +14252,18 @@ do # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF -#line 13784 "configure" +#line 14255 "configure" #include "confdefs.h" #include <assert.h> Syntax error _ACEOF -if { (eval echo "$as_me:13789: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:14260: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:13795: \$? = $ac_status" >&5 + echo "$as_me:14266: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag @@ -13815,17 +14286,17 @@ rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether non-existent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF -#line 13818 "configure" +#line 14289 "configure" #include "confdefs.h" #include <ac_nonexistent.h> _ACEOF -if { (eval echo "$as_me:13822: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:14293: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:13828: \$? = $ac_status" >&5 + echo "$as_me:14299: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag @@ -13853,7 +14324,7 @@ rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else - { { echo "$as_me:13856: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5 + { { echo "$as_me:14327: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&5 echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check" >&2;} { (exit 1); exit 1; }; } fi @@ -13865,26 +14336,26 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_main_return=return -for ac_header in typeinfo +for ac_header in iostream typeinfo do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:13871: checking for $ac_header" >&5 +echo "$as_me:14342: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 if eval "test \"\${$as_ac_Header+set}\" = set"; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF -#line 13877 "configure" +#line 14348 "configure" #include "confdefs.h" #include <$ac_header> _ACEOF -if { (eval echo "$as_me:13881: \"$ac_cpp conftest.$ac_ext\"") >&5 +if { (eval echo "$as_me:14352: \"$ac_cpp conftest.$ac_ext\"") >&5 (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 ac_status=$? egrep -v '^ *\+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 - echo "$as_me:13887: \$? = $ac_status" >&5 + echo "$as_me:14358: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null; then if test -s conftest.err; then ac_cpp_err=$ac_cxx_preproc_warn_flag @@ -13903,7 +14374,7 @@ else fi rm -f conftest.err conftest.$ac_ext fi -echo "$as_me:13906: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "$as_me:14377: result: `eval echo '${'$as_ac_Header'}'`" >&5 echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<EOF @@ -13913,7 +14384,7 @@ EOF fi done -echo "$as_me:13916: checking if we should include stdbool.h" >&5 +echo "$as_me:14387: checking if we should include stdbool.h" >&5 echo $ECHO_N "checking if we should include stdbool.h... $ECHO_C" >&6 if test "${cf_cv_header_stdbool_h+set}" = set; then @@ -13921,7 +14392,7 @@ if test "${cf_cv_header_stdbool_h+set}" = set; then else cat >conftest.$ac_ext <<_ACEOF -#line 13924 "configure" +#line 14395 "configure" #include "confdefs.h" int @@ -13933,23 +14404,23 @@ bool foo = false } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:13936: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:14407: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:13939: \$? = $ac_status" >&5 + echo "$as_me:14410: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13942: \"$ac_try\"") >&5 + { (eval echo "$as_me:14413: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:13945: \$? = $ac_status" >&5 + echo "$as_me:14416: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_header_stdbool_h=0 else echo "$as_me: failed program was:" >&5 cat conftest.$ac_ext >&5 cat >conftest.$ac_ext <<_ACEOF -#line 13952 "configure" +#line 14423 "configure" #include "confdefs.h" #ifndef __BEOS__ @@ -13965,16 +14436,16 @@ bool foo = false } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:13968: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:14439: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:13971: \$? = $ac_status" >&5 + echo "$as_me:14442: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:13974: \"$ac_try\"") >&5 + { (eval echo "$as_me:14445: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:13977: \$? = $ac_status" >&5 + echo "$as_me:14448: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_header_stdbool_h=1 else @@ -13988,13 +14459,13 @@ rm -f conftest.$ac_objext conftest.$ac_ext fi if test "$cf_cv_header_stdbool_h" = 1 -then echo "$as_me:13991: result: yes" >&5 +then echo "$as_me:14462: result: yes" >&5 echo "${ECHO_T}yes" >&6 -else echo "$as_me:13993: result: no" >&5 +else echo "$as_me:14464: result: no" >&5 echo "${ECHO_T}no" >&6 fi -echo "$as_me:13997: checking for builtin bool type" >&5 +echo "$as_me:14468: checking for builtin bool type" >&5 echo $ECHO_N "checking for builtin bool type... $ECHO_C" >&6 if test "${cf_cv_builtin_bool+set}" = set; then @@ -14002,7 +14473,7 @@ if test "${cf_cv_builtin_bool+set}" = set; then else cat >conftest.$ac_ext <<_ACEOF -#line 14005 "configure" +#line 14476 "configure" #include "confdefs.h" #include <stdio.h> @@ -14017,16 +14488,16 @@ bool x = false } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:14020: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:14491: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:14023: \$? = $ac_status" >&5 + echo "$as_me:14494: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:14026: \"$ac_try\"") >&5 + { (eval echo "$as_me:14497: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:14029: \$? = $ac_status" >&5 + echo "$as_me:14500: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_builtin_bool=1 else @@ -14039,13 +14510,13 @@ rm -f conftest.$ac_objext conftest.$ac_ext fi if test "$cf_cv_builtin_bool" = 1 -then echo "$as_me:14042: result: yes" >&5 +then echo "$as_me:14513: result: yes" >&5 echo "${ECHO_T}yes" >&6 -else echo "$as_me:14044: result: no" >&5 +else echo "$as_me:14515: result: no" >&5 echo "${ECHO_T}no" >&6 fi -echo "$as_me:14048: checking for size of bool" >&5 +echo "$as_me:14519: checking for size of bool" >&5 echo $ECHO_N "checking for size of bool... $ECHO_C" >&6 if test "${cf_cv_type_of_bool+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -14056,7 +14527,7 @@ else cf_cv_type_of_bool=unknown else cat >conftest.$ac_ext <<_ACEOF -#line 14059 "configure" +#line 14530 "configure" #include "confdefs.h" #include <stdlib.h> @@ -14098,15 +14569,15 @@ main() _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:14101: \"$ac_link\"") >&5 +if { (eval echo "$as_me:14572: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:14104: \$? = $ac_status" >&5 + echo "$as_me:14575: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:14106: \"$ac_try\"") >&5 + { (eval echo "$as_me:14577: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:14109: \$? = $ac_status" >&5 + echo "$as_me:14580: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_type_of_bool=`cat cf_test.out` if test -z "$cf_cv_type_of_bool"; then @@ -14124,18 +14595,18 @@ fi fi rm -f cf_test.out -echo "$as_me:14127: result: $cf_cv_type_of_bool" >&5 +echo "$as_me:14598: result: $cf_cv_type_of_bool" >&5 echo "${ECHO_T}$cf_cv_type_of_bool" >&6 if test "$cf_cv_type_of_bool" = unknown ; then case .$NCURSES_BOOL in #(vi .auto|.) NCURSES_BOOL=unsigned;; esac - { echo "$as_me:14133: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5 + { echo "$as_me:14604: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5 echo "$as_me: WARNING: Assuming $NCURSES_BOOL for type of bool" >&2;} cf_cv_type_of_bool=$NCURSES_BOOL fi -echo "$as_me:14138: checking for special defines needed for etip.h" >&5 +echo "$as_me:14609: checking for special defines needed for etip.h" >&5 echo $ECHO_N "checking for special defines needed for etip.h... $ECHO_C" >&6 cf_save_CXXFLAGS="$CXXFLAGS" cf_result="none" @@ -14147,7 +14618,7 @@ do test -n "$cf_math" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_math}" test -n "$cf_excp" && CXXFLAGS="$CXXFLAGS -DETIP_NEEDS_${cf_excp}" cat >conftest.$ac_ext <<_ACEOF -#line 14150 "configure" +#line 14621 "configure" #include "confdefs.h" #include <etip.h.in> @@ -14161,16 +14632,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:14164: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:14635: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:14167: \$? = $ac_status" >&5 + echo "$as_me:14638: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:14170: \"$ac_try\"") >&5 + { (eval echo "$as_me:14641: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:14173: \$? = $ac_status" >&5 + echo "$as_me:14644: \$? = $ac_status" >&5 (exit $ac_status); }; }; then test -n "$cf_math" && cat >>confdefs.h <<EOF @@ -14191,12 +14662,12 @@ fi rm -f conftest.$ac_objext conftest.$ac_ext done done -echo "$as_me:14194: result: $cf_result" >&5 +echo "$as_me:14665: result: $cf_result" >&5 echo "${ECHO_T}$cf_result" >&6 CXXFLAGS="$cf_save_CXXFLAGS" if test -n "$CXX"; then -echo "$as_me:14199: checking if $CXX accepts parameter initialization" >&5 +echo "$as_me:14670: checking if $CXX accepts parameter initialization" >&5 echo $ECHO_N "checking if $CXX accepts parameter initialization... $ECHO_C" >&6 if test "${cf_cv_cpp_param_init+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -14213,7 +14684,7 @@ ac_main_return=return cf_cv_cpp_param_init=unknown else cat >conftest.$ac_ext <<_ACEOF -#line 14216 "configure" +#line 14687 "configure" #include "confdefs.h" class TEST { @@ -14232,15 +14703,15 @@ void main() { } _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:14235: \"$ac_link\"") >&5 +if { (eval echo "$as_me:14706: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:14238: \$? = $ac_status" >&5 + echo "$as_me:14709: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:14240: \"$ac_try\"") >&5 + { (eval echo "$as_me:14711: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:14243: \$? = $ac_status" >&5 + echo "$as_me:14714: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_cpp_param_init=yes else @@ -14259,7 +14730,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_main_return=return fi -echo "$as_me:14262: result: $cf_cv_cpp_param_init" >&5 +echo "$as_me:14733: result: $cf_cv_cpp_param_init" >&5 echo "${ECHO_T}$cf_cv_cpp_param_init" >&6 fi test "$cf_cv_cpp_param_init" = yes && cat >>confdefs.h <<\EOF @@ -14268,7 +14739,7 @@ EOF if test -n "$CXX"; then -echo "$as_me:14271: checking if $CXX accepts static_cast" >&5 +echo "$as_me:14742: checking if $CXX accepts static_cast" >&5 echo $ECHO_N "checking if $CXX accepts static_cast... $ECHO_C" >&6 if test "${cf_cv_cpp_static_cast+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -14282,7 +14753,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_main_return=return cat >conftest.$ac_ext <<_ACEOF -#line 14285 "configure" +#line 14756 "configure" #include "confdefs.h" class NCursesPanel @@ -14326,16 +14797,16 @@ main () } _ACEOF rm -f conftest.$ac_objext -if { (eval echo "$as_me:14329: \"$ac_compile\"") >&5 +if { (eval echo "$as_me:14800: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? - echo "$as_me:14332: \$? = $ac_status" >&5 + echo "$as_me:14803: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='test -s conftest.$ac_objext' - { (eval echo "$as_me:14335: \"$ac_try\"") >&5 + { (eval echo "$as_me:14806: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:14338: \$? = $ac_status" >&5 + echo "$as_me:14809: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_cpp_static_cast=yes else @@ -14353,7 +14824,7 @@ ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_main_return=return fi -echo "$as_me:14356: result: $cf_cv_cpp_static_cast" >&5 +echo "$as_me:14827: result: $cf_cv_cpp_static_cast" >&5 echo "${ECHO_T}$cf_cv_cpp_static_cast" >&6 fi @@ -14362,189 +14833,6 @@ test "$cf_cv_cpp_static_cast" = yes && cat >>confdefs.h <<\EOF #define CPP_HAS_STATIC_CAST 1 EOF -if test -n "$CXX"; then - -ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -ac_main_return=return - -for ac_header in strstream.h -do -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` -echo "$as_me:14377: checking for $ac_header" >&5 -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 -if eval "test \"\${$as_ac_Header+set}\" = set"; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat >conftest.$ac_ext <<_ACEOF -#line 14383 "configure" -#include "confdefs.h" -#include <$ac_header> -_ACEOF -if { (eval echo "$as_me:14387: \"$ac_cpp conftest.$ac_ext\"") >&5 - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 - ac_status=$? - egrep -v '^ *\+' conftest.er1 >conftest.err - rm -f conftest.er1 - cat conftest.err >&5 - echo "$as_me:14393: \$? = $ac_status" >&5 - (exit $ac_status); } >/dev/null; then - if test -s conftest.err; then - ac_cpp_err=$ac_cxx_preproc_warn_flag - else - ac_cpp_err= - fi -else - ac_cpp_err=yes -fi -if test -z "$ac_cpp_err"; then - eval "$as_ac_Header=yes" -else - echo "$as_me: failed program was:" >&5 - cat conftest.$ac_ext >&5 - eval "$as_ac_Header=no" -fi -rm -f conftest.err conftest.$ac_ext -fi -echo "$as_me:14412: result: `eval echo '${'$as_ac_Header'}'`" >&5 -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 -if test `eval echo '${'$as_ac_Header'}'` = yes; then - cat >>confdefs.h <<EOF -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 -EOF - -fi -done - -echo "$as_me:14422: checking if $CXX supports vscan function" >&5 -echo $ECHO_N "checking if $CXX supports vscan function... $ECHO_C" >&6 -if test "${cf_cv_cpp_vscan_func+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - - for cf_vscan_func in strstream strstream_cast stdio - do - case $cf_vscan_func in #(vi - stdio) cf_vscan_defs=USE_STDIO_VSCAN ;; #(vi - strstream) cf_vscan_defs=USE_STRSTREAM_VSCAN ;; - strstream_cast) cf_vscan_defs=USE_STRSTREAM_VSCAN_CAST ;; - esac - cat >conftest.$ac_ext <<_ACEOF -#line 14436 "configure" -#include "confdefs.h" - -#include <stdio.h> -#include <stdarg.h> -#define $cf_vscan_defs 1 -#if defined(USE_STDIO_VSCAN) -#elif defined(HAVE_STRSTREAM_H) && defined(USE_STRSTREAM_VSCAN) -#include <strstream.h> -#endif - -int scanw(const char* fmt, ...) -{ - int result = -1; - char buf[BUFSIZ]; - - va_list args; - va_start(args, fmt); -#if defined(USE_STDIO_VSCAN) - if (::vsscanf(buf, fmt, args) != -1) - result = 0; -#elif defined(USE_STRSTREAM_VSCAN) - strstreambuf ss(buf, sizeof(buf)); - if (ss.vscan(fmt, args) != -1) - result = 0; -#elif defined(USE_STRSTREAM_VSCAN_CAST) - strstreambuf ss(buf, sizeof(buf)); - if (ss.vscan(fmt, (_IO_va_list)args) != -1) - result = 0; -#else -#error case $cf_vscan_func failed -#endif - va_end(args); - return result; -} - -int -main () -{ -int tmp, foo = scanw("%d", &tmp) - ; - return 0; -} -_ACEOF -rm -f conftest.$ac_objext conftest$ac_exeext -if { (eval echo "$as_me:14481: \"$ac_link\"") >&5 - (eval $ac_link) 2>&5 - ac_status=$? - echo "$as_me:14484: \$? = $ac_status" >&5 - (exit $ac_status); } && - { ac_try='test -s conftest$ac_exeext' - { (eval echo "$as_me:14487: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:14490: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - cf_cv_cpp_vscan_func=$cf_vscan_func; break -else - echo "$as_me: failed program was:" >&5 -cat conftest.$ac_ext >&5 -cf_cv_cpp_vscan_func=no -fi -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext - test "$cf_cv_cpp_vscan_func" != no && break - done - -fi -echo "$as_me:14503: result: $cf_cv_cpp_vscan_func" >&5 -echo "${ECHO_T}$cf_cv_cpp_vscan_func" >&6 - -ac_ext=cc -ac_cpp='$CXXCPP $CPPFLAGS' -ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_cxx_compiler_gnu -ac_main_return=return - -fi - -case $cf_cv_cpp_vscan_func in #(vi -stdio) #(vi - cat >>confdefs.h <<\EOF -#define CPP_HAS_VSCAN_FUNC 1 -EOF - - cat >>confdefs.h <<\EOF -#define USE_STDIO_VSCAN 1 -EOF - - ;; -strstream) - cat >>confdefs.h <<\EOF -#define CPP_HAS_VSCAN_FUNC 1 -EOF - - cat >>confdefs.h <<\EOF -#define USE_STRSTREAM_VSCAN 1 -EOF - - ;; -strstream_cast) - cat >>confdefs.h <<\EOF -#define CPP_HAS_VSCAN_FUNC 1 -EOF - - cat >>confdefs.h <<\EOF -#define USE_STRSTREAM_VSCAN_CAST 1 -EOF - - ;; -esac - CXX_AR='$(AR)' CXX_AR_OPTS='$(AR_OPTS)' case $cf_cv_system_name in #(vi @@ -14584,7 +14872,7 @@ else else if test "$cf_cv_header_stdbool_h" = 1 ; then -echo "$as_me:14587: checking for size of bool" >&5 +echo "$as_me:14875: checking for size of bool" >&5 echo $ECHO_N "checking for size of bool... $ECHO_C" >&6 if test "${cf_cv_type_of_bool+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -14595,7 +14883,7 @@ else cf_cv_type_of_bool=unknown else cat >conftest.$ac_ext <<_ACEOF -#line 14598 "configure" +#line 14886 "configure" #include "confdefs.h" #include <stdlib.h> @@ -14637,15 +14925,15 @@ main() _ACEOF rm -f conftest$ac_exeext -if { (eval echo "$as_me:14640: \"$ac_link\"") >&5 +if { (eval echo "$as_me:14928: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? - echo "$as_me:14643: \$? = $ac_status" >&5 + echo "$as_me:14931: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' - { (eval echo "$as_me:14645: \"$ac_try\"") >&5 + { (eval echo "$as_me:14933: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$? - echo "$as_me:14648: \$? = $ac_status" >&5 + echo "$as_me:14936: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cf_cv_type_of_bool=`cat cf_test.out` if test -z "$cf_cv_type_of_bool"; then @@ -14663,25 +14951,25 @@ fi fi rm -f cf_test.out -echo "$as_me:14666: result: $cf_cv_type_of_bool" >&5 +echo "$as_me:14954: result: $cf_cv_type_of_bool" >&5 echo "${ECHO_T}$cf_cv_type_of_bool" >&6 if test "$cf_cv_type_of_bool" = unknown ; then case .$NCURSES_BOOL in #(vi .auto|.) NCURSES_BOOL=unsigned;; esac - { echo "$as_me:14672: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5 + { echo "$as_me:14960: WARNING: Assuming $NCURSES_BOOL for type of bool" >&5 echo "$as_me: WARNING: Assuming $NCURSES_BOOL for type of bool" >&2;} cf_cv_type_of_bool=$NCURSES_BOOL fi else - echo "$as_me:14678: checking for fallback type of bool" >&5 + echo "$as_me:14966: checking for fallback type of bool" >&5 echo $ECHO_N "checking for fallback type of bool... $ECHO_C" >&6 case "$host_cpu" in #(vi i?86) cf_cv_type_of_bool=char ;; #(vi *) cf_cv_type_of_bool=int ;; esac - echo "$as_me:14684: result: $cf_cv_type_of_bool" >&5 + echo "$as_me:14972: result: $cf_cv_type_of_bool" >&5 echo "${ECHO_T}$cf_cv_type_of_bool" >&6 fi fi @@ -14707,11 +14995,20 @@ else fi if test -f "${srcdir}/Ada95/Makefile.in" ; then + +if test "$cf_with_ada" != "no" ; then + if test "$with_libtool" != "no"; then + { echo "$as_me:15001: WARNING: libtool does not support Ada - disabling feature" >&5 +echo "$as_me: WARNING: libtool does not support Ada - disabling feature" >&2;} + cf_with_ada=no + fi +fi + if test "$cf_with_ada" != "no" ; then cf_ada_make=gnatmake # Extract the first word of "$cf_ada_make", so it can be a program name with args. set dummy $cf_ada_make; ac_word=$2 -echo "$as_me:14714: checking for $ac_word" >&5 +echo "$as_me:15011: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_gnat_exists+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -14726,7 +15023,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_gnat_exists="yes" -echo "$as_me:14729: found $ac_dir/$ac_word" >&5 +echo "$as_me:15026: found $ac_dir/$ac_word" >&5 break done @@ -14735,10 +15032,10 @@ fi fi gnat_exists=$ac_cv_prog_gnat_exists if test -n "$gnat_exists"; then - echo "$as_me:14738: result: $gnat_exists" >&5 + echo "$as_me:15035: result: $gnat_exists" >&5 echo "${ECHO_T}$gnat_exists" >&6 else - echo "$as_me:14741: result: no" >&5 + echo "$as_me:15038: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -14746,11 +15043,11 @@ if test "$ac_cv_prog_gnat_exists" = no; then cf_ada_make= else -echo "$as_me:14749: checking for gnat version" >&5 +echo "$as_me:15046: checking for gnat version" >&5 echo $ECHO_N "checking for gnat version... $ECHO_C" >&6 cf_gnat_version=`${cf_ada_make-gnatmake} -v 2>&1 | grep '[0-9].[0-9][0-9]*' |\ sed -e '2,$d' -e 's/[^0-9 \.]//g' -e 's/^[ ]*//' -e 's/ .*//'` -echo "$as_me:14753: result: $cf_gnat_version" >&5 +echo "$as_me:15050: result: $cf_gnat_version" >&5 echo "${ECHO_T}$cf_gnat_version" >&6 case $cf_gnat_version in @@ -14773,7 +15070,7 @@ esac # Extract the first word of "m4", so it can be a program name with args. set dummy m4; ac_word=$2 -echo "$as_me:14776: checking for $ac_word" >&5 +echo "$as_me:15073: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 if test "${ac_cv_prog_M4_exists+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -14788,7 +15085,7 @@ for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. $as_executable_p "$ac_dir/$ac_word" || continue ac_cv_prog_M4_exists="yes" -echo "$as_me:14791: found $ac_dir/$ac_word" >&5 +echo "$as_me:15088: found $ac_dir/$ac_word" >&5 break done @@ -14797,10 +15094,10 @@ fi fi M4_exists=$ac_cv_prog_M4_exists if test -n "$M4_exists"; then - echo "$as_me:14800: result: $M4_exists" >&5 + echo "$as_me:15097: result: $M4_exists" >&5 echo "${ECHO_T}$M4_exists" >&6 else - echo "$as_me:14803: result: no" >&5 + echo "$as_me:15100: result: no" >&5 echo "${ECHO_T}no" >&6 fi @@ -14809,7 +15106,7 @@ fi echo Ada95 binding required program m4 not found. Ada95 binding disabled. fi if test "$cf_cv_prog_gnat_correct" = yes; then - echo "$as_me:14812: checking if GNAT works" >&5 + echo "$as_me:15109: checking if GNAT works" >&5 echo $ECHO_N "checking if GNAT works... $ECHO_C" >&6 rm -f conftest* @@ -14837,14 +15134,14 @@ else fi rm -f conftest* - echo "$as_me:14840: result: $cf_cv_prog_gnat_correct" >&5 + echo "$as_me:15137: result: $cf_cv_prog_gnat_correct" >&5 echo "${ECHO_T}$cf_cv_prog_gnat_correct" >&6 fi fi if test "$cf_cv_prog_gnat_correct" = yes; then ADAFLAGS="-O3 -gnatpn $ADAFLAGS" - echo "$as_me:14847: checking if GNAT pragma Unreferenced works" >&5 + echo "$as_me:15144: checking if GNAT pragma Unreferenced works" >&5 echo $ECHO_N "checking if GNAT pragma Unreferenced works... $ECHO_C" >&6 rm -f conftest* @@ -14871,7 +15168,7 @@ else fi rm -f conftest* - echo "$as_me:14874: result: $cf_cv_pragma_unreferenced" >&5 + echo "$as_me:15171: result: $cf_cv_pragma_unreferenced" >&5 echo "${ECHO_T}$cf_cv_pragma_unreferenced" >&6 # if the pragma is supported, use it (needed in the Trace code). @@ -14897,7 +15194,8 @@ if test "${with_ada_include+set}" = set; then else withval="${ADA_INCLUDE-$prefix/lib/ada/adainclude}" -fi; +fi; if test -n "$prefix/lib/ada/adainclude" ; then + if test "x$prefix" != xNONE; then cf_path_syntax="$prefix" else @@ -14923,12 +15221,13 @@ case ".$withval" in #(vi withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%` ;; *) - { { echo "$as_me:14926: error: expected a pathname, not \"$withval\"" >&5 + { { echo "$as_me:15224: error: expected a pathname, not \"$withval\"" >&5 echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;} { (exit 1); exit 1; }; } ;; esac +fi ADA_INCLUDE="$withval" # Check whether --with-ada-objects or --without-ada-objects was given. @@ -14937,7 +15236,8 @@ if test "${with_ada_objects+set}" = set; then else withval="${ADA_OBJECTS-$prefix/lib/ada/adalib}" -fi; +fi; if test -n "$prefix/lib/ada/adalib" ; then + if test "x$prefix" != xNONE; then cf_path_syntax="$prefix" else @@ -14963,34 +15263,57 @@ case ".$withval" in #(vi withval=`echo $withval | sed -e s%NONE%$cf_path_syntax%` ;; *) - { { echo "$as_me:14966: error: expected a pathname, not \"$withval\"" >&5 + { { echo "$as_me:15266: error: expected a pathname, not \"$withval\"" >&5 echo "$as_me: error: expected a pathname, not \"$withval\"" >&2;} { (exit 1); exit 1; }; } ;; esac +fi ADA_OBJECTS="$withval" fi fi +else + cf_with_ada=no fi -### Construct the library-subsets, if any, from this set of keywords: -### none, base, ext_funcs, ext_tinfo, termlib, widechar (see CF_LIB_RULES). -echo "$as_me:14980: checking for library subsets" >&5 +### Construct the ncurses library-subsets, if any, from this set of keywords: +### none, base, ext_funcs, ext_tinfo, ticlib, termlib, widechar +### +### ticlib modules may be a separate library, otherwise contained in termlib. +### termlib modules may be a separate library, otherwise contained in ncurses. +### +### The of "+" or " " between the tokens controls the way the script +### chooses to split module lists into libraries. +### +### (see CF_LIB_RULES). +echo "$as_me:15291: checking for library subsets" >&5 echo $ECHO_N "checking for library subsets... $ECHO_C" >&6 +LIB_SUBSETS= + +if test "$cf_with_progs" = yes || test "$with_ticlib" != no || test "$with_termcap" != no; then + LIB_SUBSETS="${LIB_SUBSETS}ticlib" + if test "$with_ticlib" != no ; then + LIB_SUBSETS="${LIB_SUBSETS} " + else + LIB_SUBSETS="${LIB_SUBSETS}+" + fi +fi + +LIB_SUBSETS="${LIB_SUBSETS}termlib" +test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo" if test "$with_termlib" != no ; then - LIB_SUBSETS="termlib" - test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo" LIB_SUBSETS="${LIB_SUBSETS} " else - LIB_SUBSETS="termlib+" - test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}ext_tinfo+" + LIB_SUBSETS="${LIB_SUBSETS}+" fi + LIB_SUBSETS="${LIB_SUBSETS}base" test "$with_widec" = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar" test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs" -echo "$as_me:14993: result: $LIB_SUBSETS" >&5 + +echo "$as_me:15316: result: $LIB_SUBSETS" >&5 echo "${ECHO_T}$LIB_SUBSETS" >&6 ### Construct the list of include-directories to be generated @@ -15028,7 +15351,7 @@ elif test "$includedir" != "/usr/include"; then fi ### Build up pieces for makefile rules -echo "$as_me:15031: checking default library suffix" >&5 +echo "$as_me:15354: checking default library suffix" >&5 echo $ECHO_N "checking default library suffix... $ECHO_C" >&6 case $DFT_LWR_MODEL in @@ -15039,10 +15362,10 @@ echo $ECHO_N "checking default library suffix... $ECHO_C" >&6 shared) DFT_ARG_SUFFIX='' ;; esac test -n "$LIB_SUFFIX" && DFT_ARG_SUFFIX="${LIB_SUFFIX}${DFT_ARG_SUFFIX}" -echo "$as_me:15042: result: $DFT_ARG_SUFFIX" >&5 +echo "$as_me:15365: result: $DFT_ARG_SUFFIX" >&5 echo "${ECHO_T}$DFT_ARG_SUFFIX" >&6 -echo "$as_me:15045: checking default library-dependency suffix" >&5 +echo "$as_me:15368: checking default library-dependency suffix" >&5 echo $ECHO_N "checking default library-dependency suffix... $ECHO_C" >&6 case $DFT_LWR_MODEL in @@ -15064,17 +15387,19 @@ echo $ECHO_N "checking default library-dependency suffix... $ECHO_C" >&6 esac esac test -n "$LIB_SUFFIX" && DFT_DEP_SUFFIX="${LIB_SUFFIX}${DFT_DEP_SUFFIX}" +DFT_LIB_SUFFIX=$DFT_DEP_SUFFIX if test $DFT_LWR_MODEL = shared ; then case $cf_cv_system_name in #(vi cygwin*) DFT_DEP_SUFFIX=".dll.a" + DFT_LIB_SUFFIX=".dll" ;; esac fi -echo "$as_me:15074: result: $DFT_DEP_SUFFIX" >&5 +echo "$as_me:15399: result: $DFT_DEP_SUFFIX" >&5 echo "${ECHO_T}$DFT_DEP_SUFFIX" >&6 -echo "$as_me:15077: checking default object directory" >&5 +echo "$as_me:15402: checking default object directory" >&5 echo $ECHO_N "checking default object directory... $ECHO_C" >&6 case $DFT_LWR_MODEL in @@ -15090,12 +15415,12 @@ echo $ECHO_N "checking default object directory... $ECHO_C" >&6 DFT_OBJ_SUBDIR='obj_s' ;; esac esac -echo "$as_me:15093: result: $DFT_OBJ_SUBDIR" >&5 +echo "$as_me:15418: result: $DFT_OBJ_SUBDIR" >&5 echo "${ECHO_T}$DFT_OBJ_SUBDIR" >&6 # libtool thinks it can make c++ shared libraries (perhaps only g++) if test "$cf_with_cxx" = yes ; then -echo "$as_me:15098: checking c++ library-dependency suffix" >&5 +echo "$as_me:15423: checking c++ library-dependency suffix" >&5 echo $ECHO_N "checking c++ library-dependency suffix... $ECHO_C" >&6 if test "$with_libtool" != "no"; then CXX_LIB_SUFFIX=$DFT_DEP_SUFFIX @@ -15121,21 +15446,60 @@ else esac test -n "$LIB_SUFFIX" && CXX_LIB_SUFFIX="${LIB_SUFFIX}${CXX_LIB_SUFFIX}" fi -echo "$as_me:15124: result: $CXX_LIB_SUFFIX" >&5 +echo "$as_me:15449: result: $CXX_LIB_SUFFIX" >&5 echo "${ECHO_T}$CXX_LIB_SUFFIX" >&6 fi +# do not want -ldl in build except as needed for -lncurses dependency +if test "$with_dlsym" = yes ; then +if test $DFT_LWR_MODEL = shared || \ + test $DFT_LWR_MODEL = libtool ; then + +# remove dl library from $LIBS +LIBS=`echo "$LIBS" | sed -e 's/-ldl[ ]//g' -e 's/-ldl$//'` + +fi +fi ### Set up low-level terminfo dependencies for makefiles. -TINFO_LIST="$SHLIB_LIST" + +# TICS_LIST and TINFO_LIST are needed to build libtic.so and libterm.so, but +# do not need libdl +TICS_LIST= +if test "$with_dlsym" = yes ; then + +# remove dl library from $SHLIB_LIST +TINFO_LIST=`echo "$SHLIB_LIST" | sed -e 's/-ldl[ ]//g' -e 's/-ldl$//'` + +fi + +if test "$with_ticlib" != no ; then + + if test "$with_ticlib" != yes ; then + TICS_NAME=$with_ticlib + TICS_ARG_SUFFIX="${with_ticlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" + TICS_DEP_SUFFIX="${with_ticlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" + TICS_LIB_SUFFIX="${with_ticlib}" + else + TICS_ARG_SUFFIX="${TICS_NAME}${DFT_ARG_SUFFIX}" + TICS_DEP_SUFFIX="${TICS_NAME}${DFT_DEP_SUFFIX}" + TICS_LIB_SUFFIX="${TICS_NAME}${LIB_SUFFIX}" + fi + TICS_ARGS="-L${LIB_DIR} -l${TICS_LIB_SUFFIX}" +else + TICS_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}" +fi + if test "$with_termlib" != no ; then if test "$with_termlib" != yes ; then TINFO_NAME=$with_termlib + TINFO_SUFFIX="`echo ${DFT_LIB_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" TINFO_ARG_SUFFIX="${with_termlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" TINFO_DEP_SUFFIX="${with_termlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" TINFO_LIB_SUFFIX="${with_termlib}" else + TINFO_SUFFIX=${DFT_LIB_SUFFIX} TINFO_ARG_SUFFIX="${TINFO_NAME}${DFT_ARG_SUFFIX}" TINFO_DEP_SUFFIX="${TINFO_NAME}${DFT_DEP_SUFFIX}" TINFO_LIB_SUFFIX="${TINFO_NAME}${LIB_SUFFIX}" @@ -15150,22 +15514,81 @@ if test "$with_termlib" != no ; then else TEST_ARGS="-l${TINFO_ARG_SUFFIX}" TEST_ARG2="-l${TINFO_ARG_SUFFIX}" + TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}" TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS" SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}" fi else + # the next lines are needed for linking libtic over libncurses + TINFO_NAME=${LIB_NAME} + TINFO_SUFFIX=${DFT_LIB_SUFFIX} + TINFO_ARG_SUFFIX=${LIB_NAME}${DFT_ARG_SUFFIX} + TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}" + TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}" fi +if test "$DFT_LWR_MODEL" = shared ; then + case $cf_cv_system_name in #(vi + cygwin*) + # "lib" files have ".dll.a" suffix, "cyg" files have ".dll" + TINFO_SUFFIX=.dll + ;; + esac +fi + +if test "$with_dlsym" = yes ; then + +# remove dl library from $TICS_LIST +TICS_LIST=`echo "$TICS_LIST" | sed -e 's/-ldl[ ]//g' -e 's/-ldl$//'` + +fi + # needed for Ada95 TINFO_ARGS2=`echo "$TINFO_ARGS" | sed -e 's,-L\.\./,-L../../,'` -echo "$as_me:15163: checking where we will install curses.h" >&5 +case $DFT_LWR_MODEL in +normal|debug|profile) + +if test "$GCC" = yes ; then + LDFLAGS_STATIC=-static + LDFLAGS_SHARED=-dynamic +else + case $cf_cv_system_name in #( + aix[45]*) #( from ld manpage + LDFLAGS_STATIC=-bstatic + LDFLAGS_SHARED=-bdynamic + ;; + hpux*) #( from ld manpage for hpux10.20, hpux11.11 + # We could also use just "archive" and "shared". + LDFLAGS_STATIC=-Wl,-a,archive_shared + LDFLAGS_SHARED=-Wl,-a,shared_archive + ;; + irix*) #( from ld manpage IRIX64 + LDFLAGS_STATIC=-Bstatic + LDFLAGS_SHARED=-Bdynamic + ;; + osf[45]*) #( from ld manpage osf4.0d, osf5.1 + # alternative "-oldstyle_liblookup" (not in cc manpage) + LDFLAGS_STATIC=-noso + LDFLAGS_SHARED=-so_archive + ;; + solaris2*) + LDFLAGS_STATIC=-Bstatic + LDFLAGS_SHARED=-Bdynamic + ;; + esac +fi + + ;; +esac + +echo "$as_me:15586: checking where we will install curses.h" >&5 echo $ECHO_N "checking where we will install curses.h... $ECHO_C" >&6 test "$with_overwrite" = no && \ test "x$includedir" = 'x${prefix}/include' && \ includedir='${prefix}/include/ncurses'${LIB_SUFFIX} -echo "$as_me:15168: result: $includedir" >&5 +echo "$as_me:15591: result: $includedir" >&5 echo "${ECHO_T}$includedir" >&6 ### Resolve a conflict between normal and wide-curses by forcing applications @@ -15173,11 +15596,14 @@ echo "${ECHO_T}$includedir" >&6 if test "$with_overwrite" != no ; then if test "$NCURSES_LIBUTF8" = 1 ; then NCURSES_LIBUTF8='defined(HAVE_LIBUTF8_H)' - { echo "$as_me:15176: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&5 + { echo "$as_me:15599: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&5 echo "$as_me: WARNING: Wide-character applications must define HAVE_LIBUTF8_H to include curses.h" >&2;} fi fi +# used to separate tack out of the tree +NCURSES_TREE= + ### predefined stuff for the test programs cat >>confdefs.h <<\EOF #define HAVE_SLK_COLOR 1 @@ -15186,7 +15612,7 @@ EOF ### Construct the list of subdirectories for which we'll customize makefiles ### with the appropriate compile-rules. -echo "$as_me:15189: checking for src modules" >&5 +echo "$as_me:15615: checking for src modules" >&5 echo $ECHO_N "checking for src modules... $ECHO_C" >&6 # dependencies and linker-arguments for test-programs @@ -15249,7 +15675,7 @@ EOF fi fi done -echo "$as_me:15252: result: $cf_cv_src_modules" >&5 +echo "$as_me:15678: result: $cf_cv_src_modules" >&5 echo "${ECHO_T}$cf_cv_src_modules" >&6 TEST_ARGS="-L${LIB_DIR} $TEST_ARGS" @@ -15284,6 +15710,10 @@ if test -n "$ADA_SUBDIRS"; then fi +if test "$cf_with_ada" != "no" && test "$cf_cv_prog_gnat_correct" != "no"; then + SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses-config" +fi + DIRS_TO_MAKE="lib" for cf_item in $cf_list_models do @@ -15391,6 +15821,79 @@ if test -n "$cf_new_extra_cppflags" ; then EXTRA_CPPFLAGS="$cf_new_extra_cppflags $EXTRA_CPPFLAGS" fi +### If we're building with rpath, try to link non-standard libs that way too. +if test "$DFT_LWR_MODEL" = "shared"; then + +echo "$as_me:15827: checking for updated LDFLAGS" >&5 +echo $ECHO_N "checking for updated LDFLAGS... $ECHO_C" >&6 +if test -n "$LDFLAGS" ; then +echo "$as_me:15830: result: maybe" >&5 +echo "${ECHO_T}maybe" >&6 +test -n "$verbose" && echo " ...checking LDFLAGS $LDFLAGS" 1>&6 + +echo "${as_me-configure}:15834: testing ...checking LDFLAGS $LDFLAGS ..." 1>&5 + +test -n "$verbose" && echo " ...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS" 1>&6 + +echo "${as_me-configure}:15838: testing ...checking EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5 + +case "$EXTRA_LDFLAGS" in #(vi +-Wl,-rpath,*) #(vi + cf_rpath_hack="-Wl,-rpath," + ;; +-R\ *) + cf_rpath_hack="-R " + ;; +-R*) + cf_rpath_hack="-R" + ;; +*) + cf_rpath_hack= + ;; +esac +if test -n "$cf_rpath_hack" ; then + cf_rpath_dst= + for cf_rpath_src in $LDFLAGS + do + test -n "$verbose" && echo " Filtering $cf_rpath_src" 1>&6 + +echo "${as_me-configure}:15860: testing Filtering $cf_rpath_src ..." 1>&5 + + case $cf_rpath_src in #(vi + -L*) #(vi + if test "$cf_rpath_hack" = "-R " ; then + cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e 's%-L%-R %'` + else + cf_rpath_tmp=`echo "$cf_rpath_src" |sed -e s%-L%$cf_rpath_hack%` + fi + test -n "$verbose" && echo " ...Filter $cf_rpath_tmp" 1>&6 + +echo "${as_me-configure}:15871: testing ...Filter $cf_rpath_tmp ..." 1>&5 + + EXTRA_LDFLAGS="$cf_rpath_tmp $EXTRA_LDFLAGS" + ;; + *) + cf_rpath_dst="$cf_rpath_dst $cf_rpath_src" + ;; + esac + done + LDFLAGS=$cf_rpath_dst + test -n "$verbose" && echo " ...checked LDFLAGS $LDFLAGS" 1>&6 + +echo "${as_me-configure}:15883: testing ...checked LDFLAGS $LDFLAGS ..." 1>&5 + + test -n "$verbose" && echo " ...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS" 1>&6 + +echo "${as_me-configure}:15887: testing ...checked EXTRA_LDFLAGS $EXTRA_LDFLAGS ..." 1>&5 + +fi +else +echo "$as_me:15891: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi + ### Define substitutions for header files to avoid name-pollution if test "$cf_cv_have_tcgetattr" = yes ; then @@ -15495,7 +15998,7 @@ DEFS=-DHAVE_CONFIG_H : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ echo "$as_me:15498: creating $CONFIG_STATUS" >&5 +{ echo "$as_me:16001: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL @@ -15671,7 +16174,7 @@ cat >>$CONFIG_STATUS <<\EOF echo "$ac_cs_version"; exit 0 ;; --he | --h) # Conflict between --help and --header - { { echo "$as_me:15674: error: ambiguous option: $1 + { { echo "$as_me:16177: error: ambiguous option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2;} @@ -15690,7 +16193,7 @@ Try \`$0 --help' for more information." >&2;} ac_need_defaults=false;; # This is an error. - -*) { { echo "$as_me:15693: error: unrecognized option: $1 + -*) { { echo "$as_me:16196: error: unrecognized option: $1 Try \`$0 --help' for more information." >&5 echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2;} @@ -15747,13 +16250,19 @@ TERMINFO="$TERMINFO" TINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX" TINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX" TINFO_NAME="$TINFO_NAME" +TINFO_SUFFIX="$TINFO_SUFFIX" +TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX" +TICS_LIB_SUFFIX="$TICS_LIB_SUFFIX" +TICS_NAME="$TICS_NAME" WITH_CURSES_H="$with_curses_h" WITH_ECHO="$with_echo" WITH_OVERWRITE="$with_overwrite" cf_LIST_MODELS="$cf_list_models" cf_cv_abi_version="$cf_cv_abi_version" +cf_cv_do_relink="$cf_cv_do_relink" cf_cv_do_symlinks="$cf_cv_do_symlinks" cf_cv_enable_lp64="$cf_cv_enable_lp64" +cf_cv_enable_opaque="$cf_cv_enable_opaque" cf_cv_prog_CC_c_o=$cf_cv_prog_CC_c_o cf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o cf_cv_rel_version="$cf_cv_rel_version" @@ -15780,7 +16289,7 @@ do "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; "include/ncurses_cfg.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/ncurses_cfg.h:include/ncurses_cfg.hin" ;; - *) { { echo "$as_me:15783: error: invalid argument: $ac_config_target" >&5 + *) { { echo "$as_me:16292: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac @@ -15928,6 +16437,7 @@ s,@BUILD_OBJEXT@,$BUILD_OBJEXT,;t t s,@cf_list_models@,$cf_list_models,;t t s,@LIBTOOL@,$LIBTOOL,;t t s,@LIBTOOL_CXX@,$LIBTOOL_CXX,;t t +s,@LIBTOOL_OPTS@,$LIBTOOL_OPTS,;t t s,@LIB_CREATE@,$LIB_CREATE,;t t s,@LIB_OBJECT@,$LIB_OBJECT,;t t s,@LIB_SUFFIX@,$LIB_SUFFIX,;t t @@ -15939,6 +16449,7 @@ s,@LIB_INSTALL@,$LIB_INSTALL,;t t s,@LIB_UNINSTALL@,$LIB_UNINSTALL,;t t s,@DFT_LWR_MODEL@,$DFT_LWR_MODEL,;t t s,@DFT_UPR_MODEL@,$DFT_UPR_MODEL,;t t +s,@TICS_NAME@,$TICS_NAME,;t t s,@TINFO_NAME@,$TINFO_NAME,;t t s,@LIB_NAME@,$LIB_NAME,;t t s,@LIB_PREFIX@,$LIB_PREFIX,;t t @@ -15961,6 +16472,7 @@ s,@WHICH_XTERM@,$WHICH_XTERM,;t t s,@TERMINFO_DIRS@,$TERMINFO_DIRS,;t t s,@TERMINFO@,$TERMINFO,;t t s,@MAKE_TERMINFO@,$MAKE_TERMINFO,;t t +s,@USE_BIG_STRINGS@,$USE_BIG_STRINGS,;t t s,@TERMPATH@,$TERMPATH,;t t s,@BROKEN_LINKER@,$BROKEN_LINKER,;t t s,@NCURSES_CH_T@,$NCURSES_CH_T,;t t @@ -15983,6 +16495,10 @@ s,@NCURSES_SBOOL@,$NCURSES_SBOOL,;t t s,@NCURSES_XNAMES@,$NCURSES_XNAMES,;t t s,@NCURSES_EXT_COLORS@,$NCURSES_EXT_COLORS,;t t s,@NCURSES_MOUSE_VERSION@,$NCURSES_MOUSE_VERSION,;t t +s,@cf_cv_enable_reentrant@,$cf_cv_enable_reentrant,;t t +s,@cf_cv_enable_opaque@,$cf_cv_enable_opaque,;t t +s,@NCURSES_OPAQUE@,$NCURSES_OPAQUE,;t t +s,@NCURSES_SIZE_T@,$NCURSES_SIZE_T,;t t s,@ECHO_LINK@,$ECHO_LINK,;t t s,@EXTRA_CFLAGS@,$EXTRA_CFLAGS,;t t s,@EXTRA_CXXFLAGS@,$EXTRA_CXXFLAGS,;t t @@ -16015,14 +16531,22 @@ s,@DFT_ARG_SUFFIX@,$DFT_ARG_SUFFIX,;t t s,@DFT_DEP_SUFFIX@,$DFT_DEP_SUFFIX,;t t s,@DFT_OBJ_SUBDIR@,$DFT_OBJ_SUBDIR,;t t s,@CXX_LIB_SUFFIX@,$CXX_LIB_SUFFIX,;t t +s,@TICS_ARG_SUFFIX@,$TICS_ARG_SUFFIX,;t t +s,@TICS_DEP_SUFFIX@,$TICS_DEP_SUFFIX,;t t +s,@TICS_LIB_SUFFIX@,$TICS_LIB_SUFFIX,;t t +s,@TICS_ARGS@,$TICS_ARGS,;t t s,@TINFO_ARG_SUFFIX@,$TINFO_ARG_SUFFIX,;t t s,@TINFO_DEP_SUFFIX@,$TINFO_DEP_SUFFIX,;t t s,@TINFO_LIB_SUFFIX@,$TINFO_LIB_SUFFIX,;t t s,@TINFO_ARGS@,$TINFO_ARGS,;t t s,@TINFO_ARGS2@,$TINFO_ARGS2,;t t +s,@LDFLAGS_STATIC@,$LDFLAGS_STATIC,;t t +s,@LDFLAGS_SHARED@,$LDFLAGS_SHARED,;t t s,@WITH_OVERWRITE@,$WITH_OVERWRITE,;t t +s,@TICS_LIST@,$TICS_LIST,;t t s,@TINFO_LIST@,$TINFO_LIST,;t t s,@SHLIB_LIST@,$SHLIB_LIST,;t t +s,@NCURSES_TREE@,$NCURSES_TREE,;t t s,@TEST_ARGS@,$TEST_ARGS,;t t s,@TEST_DEPS@,$TEST_DEPS,;t t s,@TEST_ARG2@,$TEST_ARG2,;t t @@ -16146,7 +16670,7 @@ done; } esac if test x"$ac_file" != x-; then - { echo "$as_me:16149: creating $ac_file" >&5 + { echo "$as_me:16673: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} rm -f "$ac_file" fi @@ -16164,7 +16688,7 @@ echo "$as_me: creating $ac_file" >&6;} -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:16167: error: cannot find input file: $f" >&5 + test -f "$f" || { { echo "$as_me:16691: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; @@ -16177,7 +16701,7 @@ echo "$as_me: error: cannot find input file: $f" >&2;} echo $srcdir/$f else # /dev/null tree - { { echo "$as_me:16180: error: cannot find input file: $f" >&5 + { { echo "$as_me:16704: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; @@ -16243,7 +16767,7 @@ for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue * ) ac_file_in=$ac_file.in ;; esac - test x"$ac_file" != x- && { echo "$as_me:16246: creating $ac_file" >&5 + test x"$ac_file" != x- && { echo "$as_me:16770: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} # First look for the input files in the build tree, otherwise in the @@ -16254,7 +16778,7 @@ echo "$as_me: creating $ac_file" >&6;} -) echo $tmp/stdin ;; [\\/$]*) # Absolute (can't be DOS-style, as IFS=:) - test -f "$f" || { { echo "$as_me:16257: error: cannot find input file: $f" >&5 + test -f "$f" || { { echo "$as_me:16781: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } echo $f;; @@ -16267,7 +16791,7 @@ echo "$as_me: error: cannot find input file: $f" >&2;} echo $srcdir/$f else # /dev/null tree - { { echo "$as_me:16270: error: cannot find input file: $f" >&5 + { { echo "$as_me:16794: error: cannot find input file: $f" >&5 echo "$as_me: error: cannot find input file: $f" >&2;} { (exit 1); exit 1; }; } fi;; @@ -16325,7 +16849,7 @@ cat >>$CONFIG_STATUS <<\EOF rm -f $tmp/in if test x"$ac_file" != x-; then if cmp -s $ac_file $tmp/config.h 2>/dev/null; then - { echo "$as_me:16328: $ac_file is unchanged" >&5 + { echo "$as_me:16852: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ @@ -16400,7 +16924,6 @@ do continue elif test -f $srcdir/$cf_dir/modules; then - IMPORT_LIB= SHARED_LIB= LIBS_TO_MAKE= for cf_item in $cf_LIST_MODELS @@ -16467,9 +16990,7 @@ do # use autodetected ${cf_prefix} for import lib and static lib, but # use 'cyg' prefix for shared lib. if test $cf_cv_shlib_version = cygdll ; then - SHARED_LIB="cyg${cf_dir}\${ABI_VERSION}.dll" - IMPORT_LIB="${cf_prefix}${cf_dir}.dll.a" - LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/\${SHARED_LIB} ../lib/\${IMPORT_LIB}" + LIBS_TO_MAKE="$LIBS_TO_MAKE ../lib/cyg${cf_dir}\${ABI_VERSION}.dll" continue fi fi @@ -16478,17 +16999,34 @@ do if test $cf_dir = ncurses ; then cf_subsets="$LIB_SUBSETS" - cf_termlib=`echo "$cf_subsets" |sed -e 's/ .*$//'` - if test "$cf_termlib" != "$cf_subsets" ; then - cf_item=`echo $LIBS_TO_MAKE |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g` - LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE" - fi + cf_r_parts="$cf_subsets" + + while test -n "$cf_r_parts" + do + cf_l_parts=`echo "$cf_r_parts" |sed -e 's/ .*$//'` + cf_r_parts=`echo "$cf_r_parts" |sed -e 's/^[^ ]* //'` + if test "$cf_l_parts" != "$cf_r_parts" ; then + case $cf_l_parts in #(vi + *termlib*) #(vi + cf_item=`echo $LIBS_TO_MAKE |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g` + ;; + *ticlib*) + cf_item=`echo $LIBS_TO_MAKE |sed -e s%${LIB_NAME}${LIB_SUFFIX}%${TICS_LIB_SUFFIX}%g` + ;; + *) + break + ;; + esac + LIBS_TO_MAKE="$cf_item $LIBS_TO_MAKE" + else + break + fi + done else cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'` fi sed -e "s%@LIBS_TO_MAKE@%$LIBS_TO_MAKE%" \ - -e "s%@IMPORT_LIB@%$IMPORT_LIB%" \ -e "s%@SHARED_LIB@%$SHARED_LIB%" \ $cf_dir/Makefile >$cf_dir/Makefile.out mv $cf_dir/Makefile.out $cf_dir/Makefile @@ -16546,13 +17084,20 @@ cf_ITEM=`echo "$cf_item" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQ case $cf_subset in *base*) ;; - termlib*) + *termlib*) cf_libname=$TINFO_LIB_SUFFIX if test -n "${DFT_ARG_SUFFIX}" ; then # undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"` fi - ;; + ;; + ticlib*) + cf_libname=$TICS_LIB_SUFFIX + if test -n "${DFT_ARG_SUFFIX}" ; then + # undo $LIB_SUFFIX add-on in CF_LIB_SUFFIX + cf_suffix=`echo $cf_suffix |sed -e "s%^${LIB_SUFFIX}%%"` + fi + ;; esac fi @@ -16593,8 +17138,11 @@ cf_ITEM=`echo "$cf_item" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQ prefix=$cf_prefix \ suffix=$cf_suffix \ subset=$cf_subset \ + TermlibRoot=$TINFO_NAME \ + TermlibSuffix=$TINFO_SUFFIX \ ShlibVer=$cf_cv_shlib_version \ ShlibVerInfix=$cf_cv_shlib_version_infix \ + ReLink=${cf_cv_do_relink-no} \ DoLinks=$cf_cv_do_symlinks \ rmSoLocs=$cf_cv_rm_so_locs \ ldconfig="$LDCONFIG" \ @@ -16681,8 +17229,8 @@ done cat >> Makefile <<CF_EOF -install.data \\ -uninstall.data :: +install.libs uninstall.libs \\ +install.data uninstall.data :: $MAKE_TERMINFO cd misc && \${MAKE} \${CF_MFLAGS} \$@ install.man \\ @@ -16691,7 +17239,7 @@ uninstall.man :: distclean :: rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h - rm -f headers.sh headers.sed + rm -f headers.sh headers.sed mk_shared_lib.sh rm -rf \${DIRS_TO_MAKE} CF_EOF @@ -16795,41 +17343,10 @@ do fi if test -f $srcdir/$cf_dir/headers; then - cat >>$cf_dir/Makefile <<CF_EOF -\${DESTDIR}\${includedir} : - sh \${srcdir}/../mkinstalldirs \$@ - -install \\ -install.libs \\ -install.includes :: \${AUTO_SRC} \${DESTDIR}\${includedir} \\ -CF_EOF - j="" - for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"` - do - test -n "$j" && echo " $j \\" >>$cf_dir/Makefile - j=$i - done - - echo " $j" >>$cf_dir/Makefile - - for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"` - do - echo " @ (cd \${DESTDIR}\${includedir} && rm -f `basename $i`) ; ../headers.sh \${INSTALL_DATA} \${DESTDIR}\${includedir} \${srcdir} $i" >>$cf_dir/Makefile - test $i = curses.h && test $WITH_CURSES_H = yes && echo " @ (cd \${DESTDIR}\${includedir} && rm -f ncurses.h && \${LN_S} curses.h ncurses.h)" >>$cf_dir/Makefile - done - - cat >>$cf_dir/Makefile <<CF_EOF - -uninstall \\ -uninstall.libs \\ -uninstall.includes :: -CF_EOF - for i in `cat $srcdir/$cf_dir/headers |fgrep -v "#"` - do - i=`basename $i` - echo " -@ (cd \${DESTDIR}\${includedir} && rm -f $i)" >>$cf_dir/Makefile - test $i = curses.h && echo " -@ (cd \${DESTDIR}\${includedir} && rm -f ncurses.h)" >>$cf_dir/Makefile - done + $AWK -f $srcdir/mk-hdr.awk \ + subset="$LIB_SUBSETS" \ + compat="$WITH_CURSES_H" \ + $srcdir/$cf_dir/headers >>$cf_dir/Makefile fi if test -f $srcdir/$cf_dir/modules; then diff --git a/contrib/ncurses/configure.in b/contrib/ncurses/configure.in index 34b5c0a..50892dd 100644 --- a/contrib/ncurses/configure.in +++ b/contrib/ncurses/configure.in @@ -1,5 +1,5 @@ dnl*************************************************************************** -dnl Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * +dnl Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. * dnl * dnl Permission is hereby granted, free of charge, to any person obtaining a * dnl copy of this software and associated documentation files (the * @@ -28,14 +28,14 @@ dnl*************************************************************************** dnl dnl Author: Thomas E. Dickey 1995-on dnl -dnl $Id: configure.in,v 1.383 2006/12/17 01:26:06 tom Exp $ +dnl $Id: configure.in,v 1.429 2007/11/24 22:42:43 tom Exp $ dnl Process this file with autoconf to produce a configure script. dnl dnl See http://invisible-island.net/autoconf/ for additional information. dnl dnl --------------------------------------------------------------------------- AC_PREREQ(2.13.20020210) -AC_REVISION($Revision: 1.383 $) +AC_REVISION($Revision: 1.429 $) AC_INIT(ncurses/base/lib_initscr.c) AC_CONFIG_HEADER(include/ncurses_cfg.h:include/ncurses_cfg.hin) @@ -150,13 +150,28 @@ CF_PROG_INSTALL CF_PROG_LINT AC_PROG_LN_S +AC_SYS_LONG_FILE_NAMES + +AC_MSG_CHECKING(if we should assume mixed-case filenames) +AC_ARG_ENABLE(mixed-case, + [ --enable-mixed-case tic should assume mixed-case filenames], + [enable_mixedcase=$enableval], + [enable_mixedcase=auto]) +AC_MSG_RESULT($enable_mixedcase) +if test "$enable_mixedcase" = "auto" ; then + CF_MIXEDCASE_FILENAMES +else + cf_cv_mixedcase=$enable_mixedcase + if test "$enable_mixedcase" = "yes" ; then + AC_DEFINE(MIXEDCASE_FILENAMES) + fi +fi + +# do this after mixed-case option (tags/TAGS is not as important as tic). AC_PROG_MAKE_SET CF_MAKE_TAGS CF_MAKEFLAGS -AC_SYS_LONG_FILE_NAMES -CF_MIXEDCASE_FILENAMES - dnl These are standard among *NIX systems, but not when cross-compiling AC_CHECK_TOOL(RANLIB, ranlib, ':') AC_CHECK_TOOL(LD, ld, ld) @@ -255,6 +270,9 @@ CF_UPPER(DFT_UPR_MODEL,$DFT_LWR_MODEL)dnl AC_SUBST(DFT_LWR_MODEL)dnl the default model ("normal") AC_SUBST(DFT_UPR_MODEL)dnl the default model ("NORMAL") +TICS_NAME=tic +AC_SUBST(TICS_NAME) + TINFO_NAME=tinfo AC_SUBST(TINFO_NAME) @@ -280,6 +298,13 @@ AC_ARG_WITH(termlib, [with_termlib=no]) AC_MSG_RESULT($with_termlib) +AC_MSG_CHECKING(if you want to build a separate tic library) +AC_ARG_WITH(ticlib, + [ --with-ticlib generate separate tic library], + [with_ticlib=$withval], + [with_ticlib=no]) +AC_MSG_RESULT($with_ticlib) + ### Checks for special libraries, must be done up-front. SHLIB_LIST="" CF_WITH_GPM @@ -304,9 +329,7 @@ if test "$with_gpm" != no ; then SHLIB_LIST="-lgpm $SHLIB_LIST" fi AC_DEFINE(HAVE_LIBGPM) - AC_CHECK_LIB(gpm,Gpm_Wgetch,[ - AC_MSG_WARN(GPM library is already linked with curses - read the FAQ) - ]) + CF_CHECK_GPM_WGETCH fi CF_WITH_SYSMOUSE @@ -336,12 +359,22 @@ esac AC_SUBST(LD_MODEL)dnl the type of link (e.g., -g or -pg) AC_MSG_RESULT($LD_MODEL) +case $DFT_LWR_MODEL in +shared) AC_MSG_CHECKING(if rpath option should be used) AC_ARG_ENABLE(rpath, [ --enable-rpath use rpath option when generating shared libraries], [cf_cv_ld_rpath=$enableval], [cf_cv_ld_rpath=no]) AC_MSG_RESULT($cf_cv_ld_rpath) +AC_MSG_CHECKING(if shared libraries should be relinked during install) +AC_ARG_ENABLE(relink, +[ --disable-relink relink shared libraries during install], +[cf_cv_do_relink=$enableval], +[cf_cv_do_relink=yes]) +AC_MSG_RESULT($cf_cv_do_relink) + ;; +esac CF_SHARED_OPTS if test "$CC_SHARED_OPTS" = "unknown"; then @@ -470,6 +503,19 @@ int main() { AC_MSG_RESULT($with_big_core) test "$with_big_core" = "yes" && AC_DEFINE(HAVE_BIG_CORE) +### ISO C only guarantees 512-char strings, we have tables which load faster +### when constructed using "big" strings. +AC_MSG_CHECKING(if big-strings option selected) +AC_ARG_ENABLE(big-strings, + [ --disable-big-strings assume compiler has only standard-size strings], + [with_big_strings=no], + [with_big_strings=yes]) +AC_MSG_RESULT($with_big_strings) + +USE_BIG_STRINGS=0 +test "$with_big_strings" = "yes" && USE_BIG_STRINGS=1 +AC_SUBST(USE_BIG_STRINGS) + ### use option --enable-termcap to compile in the termcap fallback support AC_MSG_CHECKING(if you want termcap-fallback support) AC_ARG_ENABLE(termcap, @@ -487,6 +533,10 @@ if test "$with_termcap" != "yes" ; then AC_DEFINE(PURE_TERMINFO) else +if test "$with_ticlib" != no ; then + AC_ERROR(Options --with-ticlib and --enable-termcap cannot be combined) +fi + AC_DEFINE(USE_TERMCAP) AC_MSG_CHECKING(for list of termcap files) CF_WITH_PATHLIST(termpath, @@ -683,7 +733,7 @@ AC_SUBST(cf_cv_enable_lp64) CF_LARGEFILE -### use option --disable-tparm-varargs to make tparm() conform to X/Open +### use option --disable-tparm-varargs to make tparm() conform to X/Open AC_MSG_CHECKING(if you want tparm not to use X/Open fixed-parameter list) AC_ARG_ENABLE(tparm-varargs, [ --disable-tparm-varargs compile tparm() without varargs interface], @@ -802,7 +852,7 @@ else fi AC_MSG_CHECKING(if you want to use signed Boolean array in term.h) AC_ARG_ENABLE(signed-char, - [ --enable-signed-char compile with SIGWINCH handler], + [ --enable-signed-char compile using signed Boolean's in term.h], [with_signed_char=$enableval], [with_signed_char=no]) AC_MSG_RESULT($with_signed_char) @@ -895,7 +945,7 @@ AC_MSG_RESULT($with_ext_colors) NCURSES_EXT_COLORS=0 if test "$with_ext_colors" = yes ; then if test "$with_widec" != yes ; then - AC_MSG_WARN(This option applies only to wide-character library) + AC_MSG_ERROR(This option applies only to wide-character library) else # cannot be ABI 5 since it changes sizeof(cchar_t) CF_NCURSES_ABI_6 @@ -919,6 +969,33 @@ if test "$with_ext_mouse" = yes ; then fi AC_SUBST(NCURSES_MOUSE_VERSION) +# Reentrant code has to be opaque; there's little advantage to making ncurses +# opaque outside of that, so there is no --enable-opaque option. +AC_MSG_CHECKING(if you want experimental reentrant code) +AC_ARG_ENABLE(reentrant, + [ --enable-reentrant compile with experimental reentrant code], + [with_reentrant=$enableval], + [with_reentrant=no]) +AC_MSG_RESULT($with_reentrant) +if test "$with_reentrant" = yes ; then + cf_cv_enable_reentrant=1 + cf_cv_enable_opaque="NCURSES_INTERNALS" + NCURSES_OPAQUE=1 + NCURSES_SIZE_T=int + LIB_SUFFIX="t${LIB_SUFFIX}" + AC_DEFINE(USE_REENTRANT) + CF_NCURSES_ABI_6 +else + cf_cv_enable_reentrant=0 + cf_cv_enable_opaque="NCURSES_OPAQUE" + NCURSES_OPAQUE=0 + NCURSES_SIZE_T=short +fi +AC_SUBST(cf_cv_enable_reentrant) +AC_SUBST(cf_cv_enable_opaque) +AC_SUBST(NCURSES_OPAQUE) +AC_SUBST(NCURSES_SIZE_T) + AC_MSG_CHECKING(if you want experimental safe-sprintf code) AC_ARG_ENABLE(safe-sprintf, [ --enable-safe-sprintf compile with experimental safe-sprintf code], @@ -961,6 +1038,7 @@ if test "$with_echo" = yes; then else ECHO_LINK='@ echo linking $@ ... ;' test -n "$LIBTOOL" && LIBTOOL="$LIBTOOL --silent" + test -n "$LIBTOOL_CXX" && LIBTOOL_CXX="$LIBTOOL_CXX --silent" fi AC_MSG_RESULT($with_echo) AC_SUBST(ECHO_LINK) @@ -972,9 +1050,9 @@ AC_ARG_ENABLE(warnings, [with_warnings=$enableval]) AC_MSG_RESULT($with_warnings) -if test -n "$with_warnings"; then +if test "x$with_warnings" = "xyes"; then ADAFLAGS="$ADAFLAGS -gnatg" - CF_GCC_WARNINGS + CF_GCC_WARNINGS(Wdeclaration-after-statement Wextra Wno-unknown-pragmas Wswitch-enum) if test "$cf_with_cxx" = yes ; then CF_GXX_WARNINGS(Wno-unused) fi @@ -1088,26 +1166,21 @@ CF_SYS_TIME_SELECT ### checks for compiler characteristics AC_LANG_C AC_C_CONST -AC_C_INLINE - -NCURSES_INLINE= -if test "$ac_cv_c_inline" != no ; then - AC_DEFINE(CC_HAS_INLINE_FUNCS) - NCURSES_INLINE=inline -fi -AC_SUBST(NCURSES_INLINE) +CF_C_INLINE(NCURSES_INLINE,1200) +CF_SIG_ATOMIC_T if test $NCURSES_CHTYPE = auto ; then CF_TYPEOF_CHTYPE else cf_cv_typeof_chtype=$NCURSES_CHTYPE fi +test "$cf_cv_typeof_chtype" = unsigned && cf_cv_typeof_chtype="" AC_SUBST(cf_cv_typeof_chtype) CF_UNSIGNED_LITERALS cf_cv_1UL="1" -test "$cf_cv_unsigned_literals" = yes && cf_cv_1UL="${cf_cv_1UL}U" -test "$cf_cv_typeof_chtype" = long && cf_cv_1UL="${cf_cv_1UL}L" +test ".$cf_cv_unsigned_literals" = .yes && cf_cv_1UL="${cf_cv_1UL}U" +test ".$cf_cv_typeof_chtype" = .long && cf_cv_1UL="${cf_cv_1UL}L" AC_SUBST(cf_cv_1UL) if test $NCURSES_MMASK_T = auto ; then @@ -1115,6 +1188,7 @@ if test $NCURSES_MMASK_T = auto ; then else cf_cv_typeof_mmask_t=$NCURSES_MMASK_T fi +test "$cf_cv_typeof_mmask_t" = unsigned && cf_cv_typeof_mmask_t="" AC_SUBST(cf_cv_typeof_mmask_t) ### Checks for external-data @@ -1170,7 +1244,7 @@ CF_FUNC_POLL if test "$with_hashed_db" != no ; then AC_DEFINE(USE_HASHED_DB) - CF_HASHED_DB + CF_HASHED_DB($with_hashed_db) fi dnl We'll do our own -g libraries, unless the user's overridden via $CFLAGS @@ -1200,14 +1274,13 @@ if test -n "$CXX" ; then ;; esac - AC_CHECK_HEADERS(typeinfo) + AC_CHECK_HEADERS(iostream typeinfo) CF_BOOL_DECL CF_BOOL_SIZE CF_ETIP_DEFINES CF_CPP_PARAM_INIT CF_CPP_STATIC_CAST - CF_CPP_VSCAN_FUNC CXX_AR='$(AR)' CXX_AR_OPTS='$(AR_OPTS)' @@ -1284,9 +1357,22 @@ AC_SUBST(USE_CXX_BOOL) CF_HELP_MESSAGE(Ada95 Binding Options:) +dnl If the Ada95 source-tree is present, add that to the build unless it will +dnl not work, or was not requested. +if test -f "${srcdir}/Ada95/Makefile.in" ; then + +dnl libtool does not know anything about GNAT, though a change made in 1998 +dnl provided for it "someday". Disable the ada subtree if we are using +dnl libtool -TD 20070714 +if test "$cf_with_ada" != "no" ; then + if test "$with_libtool" != "no"; then + AC_MSG_WARN(libtool does not support Ada - disabling feature) + cf_with_ada=no + fi +fi + dnl Check for availability of GNU Ada Translator (GNAT). dnl At the moment we support no other Ada95 compiler. -if test -f "${srcdir}/Ada95/Makefile.in" ; then if test "$cf_with_ada" != "no" ; then cf_ada_make=gnatmake AC_CHECK_PROG(gnat_exists, $cf_ada_make, yes, no) @@ -1369,22 +1455,44 @@ end conftest;],[cf_cv_pragma_unreferenced=yes],[cf_cv_pragma_unreferenced=no]) fi fi +else + cf_with_ada=no fi -### Construct the library-subsets, if any, from this set of keywords: -### none, base, ext_funcs, ext_tinfo, termlib, widechar (see CF_LIB_RULES). +### Construct the ncurses library-subsets, if any, from this set of keywords: +### none, base, ext_funcs, ext_tinfo, ticlib, termlib, widechar +### +### ticlib modules may be a separate library, otherwise contained in termlib. +### termlib modules may be a separate library, otherwise contained in ncurses. +### +### The of "+" or " " between the tokens controls the way the script +### chooses to split module lists into libraries. +### +### (see CF_LIB_RULES). AC_MSG_CHECKING(for library subsets) +LIB_SUBSETS= + +if test "$cf_with_progs" = yes || test "$with_ticlib" != no || test "$with_termcap" != no; then + LIB_SUBSETS="${LIB_SUBSETS}ticlib" + if test "$with_ticlib" != no ; then + LIB_SUBSETS="${LIB_SUBSETS} " + else + LIB_SUBSETS="${LIB_SUBSETS}+" + fi +fi + +LIB_SUBSETS="${LIB_SUBSETS}termlib" +test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo" if test "$with_termlib" != no ; then - LIB_SUBSETS="termlib" - test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_tinfo" LIB_SUBSETS="${LIB_SUBSETS} " else - LIB_SUBSETS="termlib+" - test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}ext_tinfo+" + LIB_SUBSETS="${LIB_SUBSETS}+" fi + LIB_SUBSETS="${LIB_SUBSETS}base" test "$with_widec" = yes && LIB_SUBSETS="${LIB_SUBSETS}+widechar" test "$with_ext_funcs" = yes && LIB_SUBSETS="${LIB_SUBSETS}+ext_funcs" + AC_MSG_RESULT($LIB_SUBSETS) ### Construct the list of include-directories to be generated @@ -1399,10 +1507,12 @@ AC_MSG_RESULT($DFT_ARG_SUFFIX) AC_MSG_CHECKING(default library-dependency suffix) CF_LIB_SUFFIX($DFT_LWR_MODEL,DFT_DEP_SUFFIX)dnl +DFT_LIB_SUFFIX=$DFT_DEP_SUFFIX if test $DFT_LWR_MODEL = shared ; then case $cf_cv_system_name in #(vi cygwin*) DFT_DEP_SUFFIX=".dll.a" + DFT_LIB_SUFFIX=".dll" ;; esac fi @@ -1426,16 +1536,53 @@ AC_MSG_RESULT($CXX_LIB_SUFFIX) AC_SUBST(CXX_LIB_SUFFIX) fi +# do not want -ldl in build except as needed for -lncurses dependency +if test "$with_dlsym" = yes ; then +if test $DFT_LWR_MODEL = shared || \ + test $DFT_LWR_MODEL = libtool ; then + CF_REMOVE_LIB(LIBS,$LIBS,dl) +fi +fi ### Set up low-level terminfo dependencies for makefiles. -TINFO_LIST="$SHLIB_LIST" + +# TICS_LIST and TINFO_LIST are needed to build libtic.so and libterm.so, but +# do not need libdl +TICS_LIST= +if test "$with_dlsym" = yes ; then + CF_REMOVE_LIB(TINFO_LIST,$SHLIB_LIST,dl) +fi + +if test "$with_ticlib" != no ; then + + if test "$with_ticlib" != yes ; then + TICS_NAME=$with_ticlib + TICS_ARG_SUFFIX="${with_ticlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" + TICS_DEP_SUFFIX="${with_ticlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" + TICS_LIB_SUFFIX="${with_ticlib}" + else + TICS_ARG_SUFFIX="${TICS_NAME}${DFT_ARG_SUFFIX}" + TICS_DEP_SUFFIX="${TICS_NAME}${DFT_DEP_SUFFIX}" + TICS_LIB_SUFFIX="${TICS_NAME}${LIB_SUFFIX}" + fi + TICS_ARGS="-L${LIB_DIR} -l${TICS_LIB_SUFFIX}" +else + TICS_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}" +fi +AC_SUBST(TICS_ARG_SUFFIX) +AC_SUBST(TICS_DEP_SUFFIX) +AC_SUBST(TICS_LIB_SUFFIX) +AC_SUBST(TICS_ARGS) + if test "$with_termlib" != no ; then if test "$with_termlib" != yes ; then TINFO_NAME=$with_termlib + TINFO_SUFFIX="`echo ${DFT_LIB_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" TINFO_ARG_SUFFIX="${with_termlib}`echo ${DFT_ARG_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" TINFO_DEP_SUFFIX="${with_termlib}`echo ${DFT_DEP_SUFFIX}|sed -e "s/^${LIB_SUFFIX}//"`" TINFO_LIB_SUFFIX="${with_termlib}" else + TINFO_SUFFIX=${DFT_LIB_SUFFIX} TINFO_ARG_SUFFIX="${TINFO_NAME}${DFT_ARG_SUFFIX}" TINFO_DEP_SUFFIX="${TINFO_NAME}${DFT_DEP_SUFFIX}" TINFO_LIB_SUFFIX="${TINFO_NAME}${LIB_SUFFIX}" @@ -1450,21 +1597,48 @@ if test "$with_termlib" != no ; then else TEST_ARGS="-l${TINFO_ARG_SUFFIX}" TEST_ARG2="-l${TINFO_ARG_SUFFIX}" + TICS_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}" TINFO_ARGS="-L${LIB_DIR} $TEST_ARGS" SHLIB_LIST="$SHLIB_LIST -l${TINFO_LIB_SUFFIX}" fi else + # the next lines are needed for linking libtic over libncurses + TINFO_NAME=${LIB_NAME} + TINFO_SUFFIX=${DFT_LIB_SUFFIX} + TINFO_ARG_SUFFIX=${LIB_NAME}${DFT_ARG_SUFFIX} + TICS_LIST="$SHLIB_LIST -l${LIB_NAME}${DFT_ARG_SUFFIX}" + TINFO_ARGS="-L${LIB_DIR} -l${LIB_NAME}${DFT_ARG_SUFFIX}" fi + +if test "$DFT_LWR_MODEL" = shared ; then + case $cf_cv_system_name in #(vi + cygwin*) + # "lib" files have ".dll.a" suffix, "cyg" files have ".dll" + TINFO_SUFFIX=.dll + ;; + esac +fi + AC_SUBST(TINFO_ARG_SUFFIX) AC_SUBST(TINFO_DEP_SUFFIX) AC_SUBST(TINFO_LIB_SUFFIX) AC_SUBST(TINFO_ARGS) +if test "$with_dlsym" = yes ; then + CF_REMOVE_LIB(TICS_LIST,$TICS_LIST,dl) +fi + # needed for Ada95 TINFO_ARGS2=`echo "$TINFO_ARGS" | sed -e 's,-L\.\./,-L../../,'` AC_SUBST(TINFO_ARGS2) +case $DFT_LWR_MODEL in +normal|debug|profile) + CF_LDFLAGS_STATIC + ;; +esac + AC_MSG_CHECKING(where we will install curses.h) test "$with_overwrite" = no && \ test "x$includedir" = 'x${prefix}/include' && \ @@ -1481,9 +1655,14 @@ fi fi AC_SUBST(WITH_OVERWRITE) +AC_SUBST(TICS_LIST) AC_SUBST(TINFO_LIST) AC_SUBST(SHLIB_LIST) +# used to separate tack out of the tree +NCURSES_TREE= +AC_SUBST(NCURSES_TREE) + ### predefined stuff for the test programs AC_DEFINE(HAVE_SLK_COLOR) @@ -1491,6 +1670,11 @@ AC_DEFINE(HAVE_SLK_COLOR) ### with the appropriate compile-rules. CF_SRC_MODULES($modules_to_build) + +if test "$cf_with_ada" != "no" && test "$cf_cv_prog_gnat_correct" != "no"; then + SUB_MAKEFILES="$SUB_MAKEFILES Ada95/gen/adacurses-config" +fi + CF_DIRS_TO_MAKE AC_DEFINE_UNQUOTED(NCURSES_PATHSEP,'$PATHSEP') @@ -1500,6 +1684,11 @@ AC_DEFINE_UNQUOTED(NCURSES_VERSION_STRING, "${NCURSES_MAJOR}.${NCURSES_MINOR}.${ ### Now that we're done running tests, add the compiler-warnings, if any CF_ADD_CFLAGS($EXTRA_CFLAGS) +### If we're building with rpath, try to link non-standard libs that way too. +if test "$DFT_LWR_MODEL" = "shared"; then + CF_RPATH_HACK +fi + ### Define substitutions for header files to avoid name-pollution CF_SUBST_IF(["$cf_cv_have_tcgetattr" = yes], HAVE_TCGETATTR, 1, 0) CF_SUBST_IF(["$ac_cv_header_termio_h" = yes], HAVE_TERMIO_H, 1, 0) @@ -1540,13 +1729,19 @@ TERMINFO="$TERMINFO" TINFO_ARG_SUFFIX="$TINFO_ARG_SUFFIX" TINFO_LIB_SUFFIX="$TINFO_LIB_SUFFIX" TINFO_NAME="$TINFO_NAME" +TINFO_SUFFIX="$TINFO_SUFFIX" +TICS_ARG_SUFFIX="$TICS_ARG_SUFFIX" +TICS_LIB_SUFFIX="$TICS_LIB_SUFFIX" +TICS_NAME="$TICS_NAME" WITH_CURSES_H="$with_curses_h" WITH_ECHO="$with_echo" WITH_OVERWRITE="$with_overwrite" cf_LIST_MODELS="$cf_list_models" cf_cv_abi_version="$cf_cv_abi_version" +cf_cv_do_relink="$cf_cv_do_relink" cf_cv_do_symlinks="$cf_cv_do_symlinks" cf_cv_enable_lp64="$cf_cv_enable_lp64" +cf_cv_enable_opaque="$cf_cv_enable_opaque" cf_cv_prog_CC_c_o=$cf_cv_prog_CC_c_o cf_cv_prog_CXX_c_o=$cf_cv_prog_CXX_c_o cf_cv_rel_version="$cf_cv_rel_version" diff --git a/contrib/ncurses/dist.mk b/contrib/ncurses/dist.mk index 49d8ac4..a29dd36 100644 --- a/contrib/ncurses/dist.mk +++ b/contrib/ncurses/dist.mk @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. # +# Copyright (c) 1998-2006,2007 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"), # @@ -25,7 +25,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: dist.mk,v 1.567 2006/12/17 19:58:35 tom Exp $ +# $Id: dist.mk,v 1.620 2007/12/22 20:41:31 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 = 6 -NCURSES_PATCH = 20061217 +NCURSES_PATCH = 20071222 # We don't append the patch to the version, since this only applies to releases VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR) @@ -106,6 +106,7 @@ manhtml: fi ;\ done # change some things to make weblint happy: + @cat man_alias.sed >> subst.tmp @echo 's/<B>/<STRONG>/g' >> subst.tmp @echo 's/<\/B>/<\/STRONG>/g' >> subst.tmp @echo 's/<I>/<EM>/g' >> subst.tmp diff --git a/contrib/ncurses/doc/hackguide.doc b/contrib/ncurses/doc/hackguide.doc index ddd7521..8e0ba5c 100644 --- a/contrib/ncurses/doc/hackguide.doc +++ b/contrib/ncurses/doc/hackguide.doc @@ -261,7 +261,7 @@ Library Overview lib_tracedmp.c lib_tracemse.c trace_buf.c It is rather unlikely you will ever need to change these, unless you - want to introduce a new debug trace level for some reasoon. + want to introduce a new debug trace level for some reason. There is another group of files that do direct I/O via tputs(), computations on the terminal capabilities, or queries to the OS diff --git a/contrib/ncurses/doc/html/ncurses-intro.html b/contrib/ncurses/doc/html/ncurses-intro.html index e62ead7..451e7ab 100644 --- a/contrib/ncurses/doc/html/ncurses-intro.html +++ b/contrib/ncurses/doc/html/ncurses-intro.html @@ -1,8 +1,8 @@ <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN"> <!-- - $Id: ncurses-intro.html,v 1.41 2005/12/24 15:47:05 tom Exp $ + $Id: ncurses-intro.html,v 1.43 2007/03/03 19:31:50 tom Exp $ **************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -914,15 +914,14 @@ Here is some sample code for shellout: <H3><A NAME="xterm">Using NCURSES under XTERM</A></H3> -A resize operation in X sends SIGWINCH to the application running under xterm. -The <CODE>ncurses</CODE> library provides an experimental signal -handler, but in general does not catch this signal, because it cannot -know how you want the screen re-painted. You will usually have to write the -SIGWINCH handler yourself. Ncurses can give you some help. <P> +A resize operation in X sends <CODE>SIGWINCH</CODE> to the application running +under xterm. -The easiest way to code your SIGWINCH handler is to have it do an -<CODE>endwin</CODE>, followed by an <CODE>refresh</CODE> and a screen repaint you code -yourself. The <CODE>refresh</CODE> will pick up the new screen size from the +The easiest way to handle <CODE>SIGWINCH</CODE> +is to do an <CODE>endwin</CODE>, +followed by an <CODE>refresh</CODE> and a screen repaint you code +yourself. +The <CODE>refresh</CODE> will pick up the new screen size from the xterm's environment. <P> That is the standard way, of course (it even works with some vendor's curses @@ -934,8 +933,17 @@ not resize subwindows which must be shrunk. are limited to the new screen dimensions, and pads <CODE>stdscr</CODE> with blanks if the screen is larger. <P> -Finally, ncurses can be configured to provide its own SIGWINCH handler, -based on <CODE>resizeterm</CODE>. +The <CODE>ncurses</CODE> library provides a SIGWINCH signal handler, +which pushes a <CODE>KEY_RESIZE</CODE> via the wgetch() calls. +When <CODE>ncurses</CODE> returns that code, +it calls <code>resizeterm</CODE> +to update the size of the standard screen's window, repainting that +(filling with blanks or truncating as needed). +It also resizes other windows, +but its effect may be less satisfactory because it cannot +know how you want the screen re-painted. +You will usually have to write special-purpose code to handle +<CODE>KEY_RESIZE</CODE> yourself. <H3><A NAME="screens">Handling Multiple Terminal Screens</A></H3> @@ -2184,7 +2192,7 @@ These requests treat the list as cyclic; that is, <CODE>REQ_NEXT_PAGE</CODE> from the last page goes to the first, and <CODE>REQ_PREV_PAGE</CODE> from the first page goes to the last. -<H3><A NAME="#ffield">Inter-Field Navigation Requests</A></H3> +<H3><A NAME="ffield">Inter-Field Navigation Requests</A></H3> These requests handle navigation between fields on the same page. @@ -2238,7 +2246,7 @@ of B and C to the right of B. A <CODE>REQ_MOVE_RIGHT</CODE> from A will go to B only if A, B, and C <EM>all</EM> share the same first line; otherwise it will skip over B to C. -<H3><A NAME="#fifield">Intra-Field Navigation Requests</A></H3> +<H3><A NAME="fifield">Intra-Field Navigation Requests</A></H3> These requests drive movement of the edit cursor within the currently selected field. diff --git a/contrib/ncurses/doc/ncurses-intro.doc b/contrib/ncurses/doc/ncurses-intro.doc index 3e607e6..85179d1 100644 --- a/contrib/ncurses/doc/ncurses-intro.doc +++ b/contrib/ncurses/doc/ncurses-intro.doc @@ -174,7 +174,7 @@ Scope of This Document The ncurses package was originated by Pavel Curtis. The original maintainer of this package is Zeyd Ben-Halim <zmbenhal@netcom.com>. Eric S. Raymond <esr@snark.thyrsus.com> wrote many of the new features - in versions after 1.8.1 and wrote most of this introduction. Jürgen + in versions after 1.8.1 and wrote most of this introduction. Juergen Pfeifer wrote all of the menu and forms code as well as the Ada95 binding. Ongoing work is being done by Thomas Dickey (maintainer). Contact the current maintainers at bug-ncurses@gnu.org. @@ -798,15 +798,9 @@ Hints, Tips, and Tricks Using NCURSES under XTERM A resize operation in X sends SIGWINCH to the application running - under xterm. The ncurses library provides an experimental signal - handler, but in general does not catch this signal, because it cannot - know how you want the screen re-painted. You will usually have to - write the SIGWINCH handler yourself. Ncurses can give you some help. - - The easiest way to code your SIGWINCH handler is to have it do an - endwin, followed by an refresh and a screen repaint you code yourself. - The refresh will pick up the new screen size from the xterm's - environment. + under xterm. The easiest way to handle SIGWINCH is to do an endwin, + followed by an refresh and a screen repaint you code yourself. The + refresh will pick up the new screen size from the xterm's environment. That is the standard way, of course (it even works with some vendor's curses implementations). Its drawback is that it clears the screen to @@ -816,8 +810,13 @@ Hints, Tips, and Tricks limited to the new screen dimensions, and pads stdscr with blanks if the screen is larger. - Finally, ncurses can be configured to provide its own SIGWINCH - handler, based on resizeterm. + The ncurses library provides a SIGWINCH signal handler, which pushes a + KEY_RESIZE via the wgetch() calls. When ncurses returns that code, it + calls resizeterm to update the size of the standard screen's window, + repainting that (filling with blanks or truncating as needed). It also + resizes other windows, but its effect may be less satisfactory because + it cannot know how you want the screen re-painted. You will usually + have to write special-purpose code to handle KEY_RESIZE yourself. Handling Multiple Terminal Screens @@ -889,11 +888,11 @@ Compatibility with Older Versions To understand why this is a problem, remember that screen updates are calculated between two representations of the entire display. The documentation says that when you refresh a window, it is first copied - to the virtual screen, and then changes are calculated to update - the physical screen (and applied to the terminal). But "copied to" is - not very specific, and subtle differences in how copying works can - produce different behaviors in the case where two overlapping windows - are each being refreshed at unpredictable intervals. + to the virtual screen, and then changes are calculated to update the + physical screen (and applied to the terminal). But "copied to" is not + very specific, and subtle differences in how copying works can produce + different behaviors in the case where two overlapping windows are each + being refreshed at unpredictable intervals. What happens to the overlapping region depends on what wnoutrefresh() does with its argument -- what portions of the argument window it diff --git a/contrib/ncurses/form/Makefile.in b/contrib/ncurses/form/Makefile.in index 682f0a4..2bf31e1 100644 --- a/contrib/ncurses/form/Makefile.in +++ b/contrib/ncurses/form/Makefile.in @@ -1,6 +1,6 @@ -# $Id: Makefile.in,v 1.42 2006/10/14 20:40:36 tom Exp $ +# $Id: Makefile.in,v 1.47 2007/04/28 14:56:11 tom Exp $ ############################################################################## -# Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. # +# Copyright (c) 1998-2006,2007 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"), # @@ -27,7 +27,7 @@ # authorization. # ############################################################################## # -# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997 +# Author: Thomas E. Dickey 1996-on # # Makefile for form source code. # @@ -91,7 +91,7 @@ CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) -LINK = $(LIBTOOL_LINK) $(CC) +LINK = $(LIBTOOL_LINK) LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ SHLIB_DIRS = -L../lib @@ -106,8 +106,6 @@ ABI_VERSION = @cf_cv_abi_version@ RANLIB = @LIB_PREP@ -IMPORT_LIB = @IMPORT_LIB@ -SHARED_LIB = @SHARED_LIB@ LIBRARIES = @LIBS_TO_MAKE@ LINT = @LINT@ @@ -126,7 +124,7 @@ sources : $(AUTO_SRC) $(DESTDIR)$(bindir) \ $(DESTDIR)$(libdir) : - sh $(srcdir)/../mkinstalldirs $@ + sh $(srcdir)/../mkdirs.sh $@ # make copies to simplify include-paths while still keeping form's include # file in this directory. diff --git a/contrib/ncurses/form/fld_def.c b/contrib/ncurses/form/fld_def.c index dc02379..3559ba6 100644 --- a/contrib/ncurses/form/fld_def.c +++ b/contrib/ncurses/form/fld_def.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2005,2007 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 * @@ -32,7 +32,7 @@ #include "form.priv.h" -MODULE_ID("$Id: fld_def.c,v 1.33 2005/04/16 17:31:17 tom Exp $") +MODULE_ID("$Id: fld_def.c,v 1.36 2007/10/13 19:29:58 tom Exp $") /* this can't be readonly */ static FIELD default_field = @@ -93,7 +93,7 @@ _nc_Make_Argument(const FIELDTYPE *typ, va_list *ap, int *err) assert(err != 0 && ap != (va_list *)0); if ((typ->status & _LINKED_TYPE) != 0) { - p = (TypeArgument *)malloc(sizeof(TypeArgument)); + p = typeMalloc(TypeArgument, 1); if (p != 0) { @@ -141,7 +141,7 @@ _nc_Copy_Argument(const FIELDTYPE *typ, const TypeArgument *argp, int *err) assert(err != 0 && argp != 0); if ((typ->status & _LINKED_TYPE) != 0) { - p = (TypeArgument *)malloc(sizeof(TypeArgument)); + p = typeMalloc(TypeArgument, 1); if (p != 0) { @@ -289,8 +289,9 @@ new_field(int rows, int cols, int frow, int fcol, int nrow, int nbuf) nrow >= 0 && nbuf >= 0 && ((err = E_SYSTEM_ERROR) != 0) && /* trick: this resets the default error */ - (New_Field = (FIELD *)malloc(sizeof(FIELD))) != 0) + (New_Field = typeMalloc(FIELD, 1)) != 0) { + T((T_CREATE("field %p"), New_Field)); *New_Field = default_field; New_Field->rows = rows; New_Field->cols = cols; @@ -304,7 +305,7 @@ new_field(int rows, int cols, int frow, int fcol, int nrow, int nbuf) #if USE_WIDEC_SUPPORT New_Field->working = newpad(1, Buffer_Length(New_Field) + 1); - New_Field->expanded = (char **)calloc(1 + (unsigned)rows, sizeof(char *)); + New_Field->expanded = typeCalloc(char *, 1 + (unsigned)nbuf); #endif if (_nc_Copy_Type(New_Field, &default_field)) diff --git a/contrib/ncurses/form/fld_dup.c b/contrib/ncurses/form/fld_dup.c index 2ffcd36..bbc38a3 100644 --- a/contrib/ncurses/form/fld_dup.c +++ b/contrib/ncurses/form/fld_dup.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * + * Copyright (c) 1998-2004,2007 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 * @@ -32,7 +32,7 @@ #include "form.priv.h" -MODULE_ID("$Id: fld_dup.c,v 1.10 2004/12/25 22:24:10 tom Exp $") +MODULE_ID("$Id: fld_dup.c,v 1.12 2007/10/13 19:30:21 tom Exp $") /*--------------------------------------------------------------------------- | Facility : libnform @@ -56,8 +56,9 @@ dup_field(FIELD *field, int frow, int fcol) T((T_CALLED("dup_field(%p,%d,%d)"), field, frow, fcol)); if (field && (frow >= 0) && (fcol >= 0) && ((err = E_SYSTEM_ERROR) != 0) && /* trick : this resets the default error */ - (New_Field = (FIELD *)malloc(sizeof(FIELD)))) + (New_Field = typeMalloc(FIELD, 1))) { + T((T_CREATE("field %p"), New_Field)); *New_Field = *_nc_Default_Field; New_Field->frow = frow; New_Field->fcol = fcol; diff --git a/contrib/ncurses/form/fld_ftlink.c b/contrib/ncurses/form/fld_ftlink.c index ce6014d..4ed2219 100644 --- a/contrib/ncurses/form/fld_ftlink.c +++ b/contrib/ncurses/form/fld_ftlink.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * + * Copyright (c) 1998-2004,2007 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 * @@ -32,7 +32,7 @@ #include "form.priv.h" -MODULE_ID("$Id: fld_ftlink.c,v 1.11 2004/12/25 22:24:10 tom Exp $") +MODULE_ID("$Id: fld_ftlink.c,v 1.13 2007/10/13 19:30:35 tom Exp $") /*--------------------------------------------------------------------------- | Facility : libnform @@ -56,10 +56,11 @@ link_fieldtype(FIELDTYPE *type1, FIELDTYPE *type2) T((T_CALLED("link_fieldtype(%p,%p)"), type1, type2)); if (type1 && type2) { - nftyp = (FIELDTYPE *)malloc(sizeof(FIELDTYPE)); + nftyp = typeMalloc(FIELDTYPE, 1); if (nftyp) { + T((T_CREATE("fieldtype %p"), nftyp)); *nftyp = *_nc_Default_FieldType; nftyp->status |= _LINKED_TYPE; if ((type1->status & _HAS_ARGS) || (type2->status & _HAS_ARGS)) diff --git a/contrib/ncurses/form/fld_link.c b/contrib/ncurses/form/fld_link.c index f151664..0aac7db 100644 --- a/contrib/ncurses/form/fld_link.c +++ b/contrib/ncurses/form/fld_link.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * + * Copyright (c) 1998-2004,2007 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 * @@ -32,7 +32,7 @@ #include "form.priv.h" -MODULE_ID("$Id: fld_link.c,v 1.9 2004/12/25 22:24:10 tom Exp $") +MODULE_ID("$Id: fld_link.c,v 1.11 2007/10/13 19:30:43 tom Exp $") /*--------------------------------------------------------------------------- | Facility : libnform @@ -57,8 +57,9 @@ link_field(FIELD *field, int frow, int fcol) T((T_CALLED("link_field(%p,%d,%d)"), field, frow, fcol)); if (field && (frow >= 0) && (fcol >= 0) && ((err = E_SYSTEM_ERROR) != 0) && /* trick: this resets the default error */ - (New_Field = (FIELD *)malloc(sizeof(FIELD)))) + (New_Field = typeMalloc(FIELD, 1))) { + T((T_CREATE("field %p"), New_Field)); *New_Field = *_nc_Default_Field; New_Field->frow = frow; New_Field->fcol = fcol; diff --git a/contrib/ncurses/form/fld_newftyp.c b/contrib/ncurses/form/fld_newftyp.c index 235cd5f..c2984b1 100644 --- a/contrib/ncurses/form/fld_newftyp.c +++ b/contrib/ncurses/form/fld_newftyp.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2003,2004 Free Software Foundation, Inc. * + * Copyright (c) 1998-2004,2007 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 * @@ -32,7 +32,7 @@ #include "form.priv.h" -MODULE_ID("$Id: fld_newftyp.c,v 1.13 2004/12/25 22:24:10 tom Exp $") +MODULE_ID("$Id: fld_newftyp.c,v 1.15 2007/10/13 19:30:55 tom Exp $") static FIELDTYPE const default_fieldtype = { @@ -76,10 +76,11 @@ new_fieldtype(bool (*const field_check) (FIELD *, const void *), T((T_CALLED("new_fieldtype(%p,%p)"), field_check, char_check)); if ((field_check) || (char_check)) { - nftyp = (FIELDTYPE *)malloc(sizeof(FIELDTYPE)); + nftyp = typeMalloc(FIELDTYPE, 1); if (nftyp) { + T((T_CREATE("fieldtype %p"), nftyp)); *nftyp = default_fieldtype; nftyp->fcheck = field_check; nftyp->ccheck = char_check; diff --git a/contrib/ncurses/form/frm_def.c b/contrib/ncurses/form/frm_def.c index d15237e..c2044a3 100644 --- a/contrib/ncurses/form/frm_def.c +++ b/contrib/ncurses/form/frm_def.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -32,7 +32,7 @@ #include "form.priv.h" -MODULE_ID("$Id: frm_def.c,v 1.20 2006/11/04 16:57:15 tom Exp $") +MODULE_ID("$Id: frm_def.c,v 1.22 2007/10/13 19:31:17 tom Exp $") /* this can't be readonly */ static FORM default_form = @@ -186,8 +186,9 @@ Connect_Fields(FORM *form, FIELD **fields) RETURN(E_BAD_ARGUMENT); /* allocate page structures */ - if ((pg = (_PAGE *) malloc(page_nr * sizeof(_PAGE))) != (_PAGE *) 0) + if ((pg = typeMalloc(_PAGE, page_nr)) != (_PAGE *) 0) { + T((T_CREATE("_PAGE %p"), pg)); form->page = pg; } else @@ -290,11 +291,12 @@ new_form(FIELD **fields) { int err = E_SYSTEM_ERROR; - FORM *form = (FORM *)malloc(sizeof(FORM)); + FORM *form = typeMalloc(FORM, 1); T((T_CALLED("new_form(%p)"), fields)); if (form) { + T((T_CREATE("form %p"), form)); *form = *_nc_Default_Form; if ((err = Associate_Fields(form, fields)) != E_OK) { diff --git a/contrib/ncurses/form/frm_driver.c b/contrib/ncurses/form/frm_driver.c index 354bace..25928c5 100644 --- a/contrib/ncurses/form/frm_driver.c +++ b/contrib/ncurses/form/frm_driver.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -32,7 +32,7 @@ #include "form.priv.h" -MODULE_ID("$Id: frm_driver.c,v 1.76 2006/11/04 18:45:35 tom Exp $") +MODULE_ID("$Id: frm_driver.c,v 1.85 2007/11/24 21:32:53 tom Exp $") /*---------------------------------------------------------------------------- This is the core module of the form library. It contains the majority @@ -262,7 +262,19 @@ wins_wchnstr(WINDOW *w, cchar_t *s, int n) static int fix_wchnstr(WINDOW *w, cchar_t *s, int n) { + int x; + win_wchnstr(w, s, n); + /* + * This function is used to extract the text only from the window. + * Strip attributes and color from the string so they will not be added + * back when copying the string to the window. + */ + for (x = 0; x < n; ++x) + { + RemAttr(s[x], A_ATTRIBUTES); + SetPair(s[x], 0); + } return n; } @@ -651,6 +663,7 @@ Field_Grown(FIELD *field, int amount) result = TRUE; /* allow sharing of recovery on failure */ + T((T_CREATE("fieldcell %p"), newbuf)); field->buf = newbuf; for (i = 0; i <= field->nbuf; i++) { @@ -724,6 +737,34 @@ Field_Grown(FIELD *field, int amount) return (result); } +#ifdef NCURSES_MOUSE_VERSION +/*--------------------------------------------------------------------------- +| Facility : libnform +| Function : int Field_encloses(FIELD *field, int ry, int rx) +| +| Description : Check if the given coordinates lie within the given field. +| +| Return Values : E_OK - success +| E_BAD_ARGUMENT - invalid form pointer +| E_SYSTEM_ERROR - form has no current field or +| field-window ++--------------------------------------------------------------------------*/ +static int +Field_encloses(FIELD *field, int ry, int rx) +{ + T((T_CALLED("Field_encloses(%p)"), field)); + if (field != 0 + && field->frow <= ry + && (field->frow + field->rows) > ry + && field->fcol <= rx + && (field->fcol + field->cols) > rx) + { + RETURN(E_OK); + } + RETURN(E_INVALID_FIELD); +} +#endif + /*--------------------------------------------------------------------------- | Facility : libnform | Function : int _nc_Position_Form_Cursor(FORM * form) @@ -4149,6 +4190,83 @@ form_driver(FORM *form, int c) res = (BI->cmd) (form); } } +#ifdef NCURSES_MOUSE_VERSION + else if (KEY_MOUSE == c) + { + MEVENT event; + WINDOW *win = form->win ? form->win : stdscr; + WINDOW *sub = form->sub ? form->sub : win; + + getmouse(&event); + if ((event.bstate & (BUTTON1_CLICKED | + BUTTON1_DOUBLE_CLICKED | + BUTTON1_TRIPLE_CLICKED)) + && wenclose(win, event.y, event.x)) + { /* we react only if the click was in the userwin, that means + * inside the form display area or at the decoration window. + */ + int ry = event.y, rx = event.x; /* screen coordinates */ + + res = E_REQUEST_DENIED; + if (mouse_trafo(&ry, &rx, FALSE)) + { /* rx, ry are now "curses" coordinates */ + if (ry < sub->_begy) + { /* we clicked above the display region; this is + * interpreted as "scroll up" request + */ + if (event.bstate & BUTTON1_CLICKED) + res = form_driver(form, REQ_PREV_FIELD); + else if (event.bstate & BUTTON1_DOUBLE_CLICKED) + res = form_driver(form, REQ_PREV_PAGE); + else if (event.bstate & BUTTON1_TRIPLE_CLICKED) + res = form_driver(form, REQ_FIRST_FIELD); + } + else if (ry > sub->_begy + sub->_maxy) + { /* we clicked below the display region; this is + * interpreted as "scroll down" request + */ + if (event.bstate & BUTTON1_CLICKED) + res = form_driver(form, REQ_NEXT_FIELD); + else if (event.bstate & BUTTON1_DOUBLE_CLICKED) + res = form_driver(form, REQ_NEXT_PAGE); + else if (event.bstate & BUTTON1_TRIPLE_CLICKED) + res = form_driver(form, REQ_LAST_FIELD); + } + else if (wenclose(sub, event.y, event.x)) + { /* Inside the area we try to find the hit item */ + int i; + + ry = event.y; + rx = event.x; + if (wmouse_trafo(sub, &ry, &rx, FALSE)) + { + int min_field = form->page[form->curpage].pmin; + int max_field = form->page[form->curpage].pmax; + + for (i = min_field; i <= max_field; ++i) + { + FIELD *field = form->field[i]; + + if (Field_Is_Selectable(field) + && Field_encloses(field, ry, rx) == E_OK) + { + res = _nc_Set_Current_Field(form, field); + if (res == E_OK) + res = _nc_Position_Form_Cursor(form); + if (res == E_OK + && (event.bstate & BUTTON1_DOUBLE_CLICKED)) + res = E_UNKNOWN_COMMAND; + break; + } + } + } + } + } + } + else + res = E_REQUEST_DENIED; + } +#endif /* NCURSES_MOUSE_VERSION */ else if (!(c & (~(int)MAX_REGULAR_CHARACTER))) { /* @@ -4261,7 +4379,7 @@ set_field_buffer(FIELD *field, int buffer, const char *value) wclear(field->working); mvwaddstr(field->working, 0, 0, value); - if ((widevalue = (FIELD_CELL *)calloc(len, sizeof(FIELD_CELL))) == 0) + if ((widevalue = typeCalloc(FIELD_CELL, len + 1)) == 0) { RETURN(E_SYSTEM_ERROR); } @@ -4341,10 +4459,7 @@ field_buffer(const FIELD *field, int buffer) init_mb(state); next = _nc_wcrtomb(0, data[n].chars[0], &state); if (!isEILSEQ(next)) - { - if (next != 0) - need += next; - } + need += next; } } @@ -4358,7 +4473,7 @@ field_buffer(const FIELD *field, int buffer) { wclear(field->working); mvwadd_wchnstr(field->working, 0, 0, data, size); - mvwinnstr(field->working, 0, 0, result, (int)need + 1); + mvwinnstr(field->working, 0, 0, result, (int)need); } #else result = Address_Of_Nth_Buffer(field, buffer); diff --git a/contrib/ncurses/form/fty_alnum.c b/contrib/ncurses/form/fty_alnum.c index c2d056b..59dd273 100644 --- a/contrib/ncurses/form/fty_alnum.c +++ b/contrib/ncurses/form/fty_alnum.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -34,7 +34,7 @@ #include "form.priv.h" -MODULE_ID("$Id: fty_alnum.c,v 1.19 2006/04/22 21:33:05 tom Exp $") +MODULE_ID("$Id: fty_alnum.c,v 1.21 2007/10/13 19:31:52 tom Exp $") #define thisARG alnumARG @@ -55,10 +55,13 @@ thisARG; static void * Make_This_Type(va_list *ap) { - thisARG *argp = (thisARG *) malloc(sizeof(thisARG)); + thisARG *argp = typeMalloc(thisARG, 1); if (argp) - argp->width = va_arg(*ap, int); + { + T((T_CREATE("thisARG %p"), argp)); + argp->width = va_arg(*ap, int); + } return ((void *)argp); } @@ -75,10 +78,13 @@ static void * Copy_This_Type(const void *argp) { const thisARG *ap = (const thisARG *)argp; - thisARG *result = (thisARG *) malloc(sizeof(thisARG)); + thisARG *result = typeMalloc(thisARG, 1); if (result) - *result = *ap; + { + T((T_CREATE("thisARG %p"), result)); + *result = *ap; + } return ((void *)result); } diff --git a/contrib/ncurses/form/fty_alpha.c b/contrib/ncurses/form/fty_alpha.c index bd7e000..bd49544 100644 --- a/contrib/ncurses/form/fty_alpha.c +++ b/contrib/ncurses/form/fty_alpha.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -34,7 +34,7 @@ #include "form.priv.h" -MODULE_ID("$Id: fty_alpha.c,v 1.21 2006/04/22 21:33:05 tom Exp $") +MODULE_ID("$Id: fty_alpha.c,v 1.23 2007/10/13 19:32:09 tom Exp $") #define thisARG alphaARG @@ -55,10 +55,13 @@ thisARG; static void * Make_This_Type(va_list *ap) { - thisARG *argp = (thisARG *) malloc(sizeof(thisARG)); + thisARG *argp = typeMalloc(thisARG, 1); if (argp) - argp->width = va_arg(*ap, int); + { + T((T_CREATE("thisARG %p"), argp)); + argp->width = va_arg(*ap, int); + } return ((void *)argp); } @@ -75,10 +78,13 @@ static void * Copy_This_Type(const void *argp) { const thisARG *ap = (const thisARG *)argp; - thisARG *result = (thisARG *) malloc(sizeof(thisARG)); + thisARG *result = typeMalloc(thisARG, 1); if (result) - *result = *ap; + { + T((T_CREATE("thisARG %p"), result)); + *result = *ap; + } return ((void *)result); } diff --git a/contrib/ncurses/form/fty_enum.c b/contrib/ncurses/form/fty_enum.c index 054cc4d..c96a080 100644 --- a/contrib/ncurses/form/fty_enum.c +++ b/contrib/ncurses/form/fty_enum.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -34,7 +34,7 @@ #include "form.priv.h" -MODULE_ID("$Id: fty_enum.c,v 1.20 2006/04/22 21:33:05 tom Exp $") +MODULE_ID("$Id: fty_enum.c,v 1.22 2007/10/13 19:32:26 tom Exp $") typedef struct { @@ -56,7 +56,7 @@ enumARG; static void * Make_Enum_Type(va_list *ap) { - enumARG *argp = (enumARG *)malloc(sizeof(enumARG)); + enumARG *argp = typeMalloc(enumARG, 1); if (argp) { @@ -64,6 +64,7 @@ Make_Enum_Type(va_list *ap) char **kp = (char **)0; int ccase, cunique; + T((T_CREATE("enumARG %p"), argp)); argp->kwds = va_arg(*ap, char **); ccase = va_arg(*ap, int); cunique = va_arg(*ap, int); @@ -96,10 +97,13 @@ Copy_Enum_Type(const void *argp) { const enumARG *ap = (const enumARG *)argp; - result = (enumARG *)malloc(sizeof(enumARG)); + result = typeMalloc(enumARG, 1); if (result) - *result = *ap; + { + T((T_CREATE("enumARG %p"), result)); + *result = *ap; + } } return (void *)result; } diff --git a/contrib/ncurses/form/fty_int.c b/contrib/ncurses/form/fty_int.c index 13fef62..8a5367f 100644 --- a/contrib/ncurses/form/fty_int.c +++ b/contrib/ncurses/form/fty_int.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -34,7 +34,7 @@ #include "form.priv.h" -MODULE_ID("$Id: fty_int.c,v 1.20 2006/04/22 21:33:05 tom Exp $") +MODULE_ID("$Id: fty_int.c,v 1.22 2007/10/13 19:32:40 tom Exp $") #if USE_WIDEC_SUPPORT #define isDigit(c) (iswdigit((wint_t)(c)) || isdigit(UChar(c))) @@ -63,10 +63,11 @@ thisARG; static void * Make_This_Type(va_list *ap) { - thisARG *argp = (thisARG *) malloc(sizeof(thisARG)); + thisARG *argp = typeMalloc(thisARG, 1); if (argp) { + T((T_CREATE("thisARG %p"), argp)); argp->precision = va_arg(*ap, int); argp->low = va_arg(*ap, long); argp->high = va_arg(*ap, long); @@ -90,9 +91,12 @@ Copy_This_Type(const void *argp) if (argp) { - result = (thisARG *) malloc(sizeof(thisARG)); + result = typeMalloc(thisARG, 1); if (result) - *result = *ap; + { + T((T_CREATE("thisARG %p"), result)); + *result = *ap; + } } return (void *)result; } diff --git a/contrib/ncurses/form/fty_num.c b/contrib/ncurses/form/fty_num.c index cd09dfb..e74e8e3 100644 --- a/contrib/ncurses/form/fty_num.c +++ b/contrib/ncurses/form/fty_num.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -34,7 +34,7 @@ #include "form.priv.h" -MODULE_ID("$Id: fty_num.c,v 1.23 2006/04/22 21:33:05 tom Exp $") +MODULE_ID("$Id: fty_num.c,v 1.25 2007/10/13 19:32:54 tom Exp $") #if HAVE_LOCALE_H #include <locale.h> @@ -74,10 +74,11 @@ thisARG; static void * Make_This_Type(va_list *ap) { - thisARG *argn = (thisARG *) malloc(sizeof(thisARG)); + thisARG *argn = typeMalloc(thisARG, 1); if (argn) { + T((T_CREATE("thisARG %p"), argn)); argn->precision = va_arg(*ap, int); argn->low = va_arg(*ap, double); argn->high = va_arg(*ap, double); @@ -107,9 +108,12 @@ Copy_This_Type(const void *argp) if (argp) { - result = (thisARG *) malloc(sizeof(thisARG)); + result = typeMalloc(thisARG, 1); if (result) - *result = *ap; + { + T((T_CREATE("thisARG %p"), result)); + *result = *ap; + } } return (void *)result; } diff --git a/contrib/ncurses/form/fty_regex.c b/contrib/ncurses/form/fty_regex.c index 087ff11..247779f 100644 --- a/contrib/ncurses/form/fty_regex.c +++ b/contrib/ncurses/form/fty_regex.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -34,7 +34,7 @@ #include "form.priv.h" -MODULE_ID("$Id: fty_regex.c,v 1.19 2006/04/22 21:33:05 tom Exp $") +MODULE_ID("$Id: fty_regex.c,v 1.21 2007/10/13 19:33:50 tom Exp $") #if HAVE_REGEX_H_FUNCS /* We prefer POSIX regex */ #include <regex.h> @@ -105,15 +105,17 @@ Make_RegularExpression_Type(va_list *ap) char *rx = va_arg(*ap, char *); RegExp_Arg *preg; - preg = (RegExp_Arg *)malloc(sizeof(RegExp_Arg)); + preg = typeMalloc(RegExp_Arg, 1); if (preg) { - if (((preg->pRegExp = (regex_t *) malloc(sizeof(regex_t))) != 0) + T((T_CREATE("RegExp_Arg %p"), preg)); + if (((preg->pRegExp = typeMalloc(regex_t, 1)) != 0) && !regcomp(preg->pRegExp, rx, (REG_EXTENDED | REG_NOSUB | REG_NEWLINE))) { - preg->refCount = (unsigned long *)malloc(sizeof(unsigned long)); + T((T_CREATE("regex_t %p"), preg->pRegExp)); + preg->refCount = typeMalloc(unsigned long, 1); *(preg->refCount) = 1; } @@ -130,20 +132,21 @@ Make_RegularExpression_Type(va_list *ap) char *rx = va_arg(*ap, char *); RegExp_Arg *pArg; - pArg = (RegExp_Arg *)malloc(sizeof(RegExp_Arg)); + pArg = typeMalloc(RegExp_Arg, 1); if (pArg) { int blen = RX_INCREMENT; + T((T_CREATE("RegExp_Arg %p"), pArg)); pArg->compiled_expression = NULL; - pArg->refCount = (unsigned long *)malloc(sizeof(unsigned long)); + pArg->refCount = typeMalloc(unsigned long, 1); *(pArg->refCount) = 1; do { - char *buf = (char *)malloc(blen); + char *buf = typeMalloc(char, blen); if (buf) { diff --git a/contrib/ncurses/form/headers b/contrib/ncurses/form/headers index f2267c8..56d72f0 100644 --- a/contrib/ncurses/form/headers +++ b/contrib/ncurses/form/headers @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 1998 Free Software Foundation, Inc. # +# Copyright (c) 1998,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"), # @@ -29,3 +29,4 @@ # Author: Thomas E. Dickey <dickey@clark.net> 1996 # $(srcdir)/form.h +# vile:makemode diff --git a/contrib/ncurses/form/modules b/contrib/ncurses/form/modules index a11dade..89f9f9f 100644 --- a/contrib/ncurses/form/modules +++ b/contrib/ncurses/form/modules @@ -1,6 +1,6 @@ -# $Id: modules,v 1.14 2004/12/25 23:29:22 tom Exp $ +# $Id: modules,v 1.15 2006/12/24 00:52:58 tom Exp $ ############################################################################## -# Copyright (c) 1998,2004 Free Software Foundation, Inc. # +# Copyright (c) 1998-2004,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"), # @@ -27,7 +27,7 @@ # authorization. # ############################################################################## # -# Author: Thomas E. Dickey +# Author: Thomas E. Dickey 1995-on # @ base @@ -72,3 +72,5 @@ fty_int lib $(srcdir) $(FORM_PRIV_H) fty_ipv4 lib $(srcdir) $(FORM_PRIV_H) fty_num lib $(srcdir) $(FORM_PRIV_H) fty_regex lib $(srcdir) $(FORM_PRIV_H) + +# vile:makemode diff --git a/contrib/ncurses/include/MKterm.h.awk.in b/contrib/ncurses/include/MKterm.h.awk.in index ee22f01..6f0fca3 100644 --- a/contrib/ncurses/include/MKterm.h.awk.in +++ b/contrib/ncurses/include/MKterm.h.awk.in @@ -1,6 +1,7 @@ +# vile:awkmode BEGIN { print "/****************************************************************************" - print " * Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. *" + print " * Copyright (c) 1998-2006,2007 Free Software Foundation, Inc. *" print " * *" print " * Permission is hereby granted, free of charge, to any person obtaining a *" print " * copy of this software and associated documentation files (the *" @@ -33,7 +34,7 @@ BEGIN { print "/* and: Thomas E. Dickey 1995-on */" print "/****************************************************************************/" print "" - print "/* $Id: MKterm.h.awk.in,v 1.47 2006/11/26 01:18:23 tom Exp $ */" + print "/* $Id: MKterm.h.awk.in,v 1.49 2007/08/18 11:44:26 tom Exp $ */" print "" print "/*" print "** term.h -- Definition of struct term" @@ -229,26 +230,26 @@ END { print "" print "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;" print "" - print "#if BROKEN_LINKER" - print "#define boolnames _nc_boolnames()" - print "#define boolcodes _nc_boolcodes()" - print "#define boolfnames _nc_boolfnames()" - print "#define numnames _nc_numnames()" - print "#define numcodes _nc_numcodes()" - print "#define numfnames _nc_numfnames()" - print "#define strnames _nc_strnames()" - print "#define strcodes _nc_strcodes()" - print "#define strfnames _nc_strfnames()" + print "#if @BROKEN_LINKER@ || @cf_cv_enable_reentrant@" + print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames);" + print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);" + print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames);" + print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numnames);" + print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numcodes);" + print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numfnames);" + print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strnames);" + print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);" + print "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);" print "" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolnames (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolcodes (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_boolfnames (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numnames (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numcodes (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_numfnames (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strnames (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strcodes (void);" - print "extern NCURSES_EXPORT(NCURSES_CONST char * const *) _nc_strfnames (void);" + print "#define boolnames NCURSES_PUBLIC_VAR(boolnames())" + print "#define boolcodes NCURSES_PUBLIC_VAR(boolcodes())" + print "#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())" + print "#define numnames NCURSES_PUBLIC_VAR(numnames())" + print "#define numcodes NCURSES_PUBLIC_VAR(numcodes())" + print "#define numfnames NCURSES_PUBLIC_VAR(numfnames())" + print "#define strnames NCURSES_PUBLIC_VAR(strnames())" + print "#define strcodes NCURSES_PUBLIC_VAR(strcodes())" + print "#define strfnames NCURSES_PUBLIC_VAR(strfnames())" print "" print "#else" print "" @@ -291,10 +292,10 @@ END { print "extern NCURSES_EXPORT(int) tigetnum (NCURSES_CONST char *);" print "" print "#if @NCURSES_TPARM_VARARGS@ /* NCURSES_TPARM_VARARGS */" - print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* implemented */" + print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* special */" print "#else" - print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* implemented */" - print "extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* implemented */" + print "extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* special */" + print "extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */" print "#endif" print "" print "#endif /* __NCURSES_H */" diff --git a/contrib/ncurses/include/curses.h.in b/contrib/ncurses/include/curses.h.in index 6e517f7..fef5176 100644 --- a/contrib/ncurses/include/curses.h.in +++ b/contrib/ncurses/include/curses.h.in @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -32,7 +32,7 @@ * and: Thomas E. Dickey 1996-on * ****************************************************************************/ -/* $Id: curses.h.in,v 1.167 2006/11/26 01:14:54 tom Exp $ */ +/* $Id: curses.h.in,v 1.181 2007/11/18 00:32:03 tom Exp $ */ #ifndef __NCURSES_H #define __NCURSES_H @@ -103,10 +103,17 @@ #define NCURSES_COLOR_T short /* + * Definition used to make WINDOW and similar structs opaque. + */ +#ifndef @cf_cv_enable_opaque@ +#define NCURSES_OPAQUE @NCURSES_OPAQUE@ +#endif + +/* * The internal type used for window dimensions. */ #undef NCURSES_SIZE_T -#define NCURSES_SIZE_T short +#define NCURSES_SIZE_T @NCURSES_SIZE_T@ /* * Control whether tparm() supports varargs or fixed-parameter list. @@ -137,7 +144,7 @@ typedef unsigned @cf_cv_typeof_mmask_t@ mmask_t; #include <stddef.h> /* we want wchar_t */ #endif /* _XOPEN_SOURCE_EXTENDED */ -/* XSI and SVr4 specify that curses implements 'bool'. However, C++ may also +/* X/Open and SVr4 specify that curses implements 'bool'. However, C++ may also * implement it. If so, we must use the C++ compiler's type to avoid conflict * with other interfaces. * @@ -184,7 +191,7 @@ extern "C" { #endif /* - * XSI attributes. In the ncurses implementation, they are identical to the + * X/Open attributes. In the ncurses implementation, they are identical to the * A_ attributes. */ #define WA_ATTRIBUTES A_ATTRIBUTES @@ -206,9 +213,6 @@ extern "C" { #define WA_VERTICAL A_VERTICAL /* colors */ -extern NCURSES_EXPORT_VAR(int) COLORS; -extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS; - #define COLOR_BLACK 0 #define COLOR_RED 1 #define COLOR_GREEN 2 @@ -220,8 +224,8 @@ extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS; /* line graphics */ -#if @BROKEN_LINKER@ -extern NCURSES_EXPORT_VAR(chtype*) _nc_acs_map(void); +#if @BROKEN_LINKER@ || @cf_cv_enable_reentrant@ +NCURSES_WRAPPED_VAR(chtype*, acs_map); #define acs_map (_nc_acs_map()) #else extern NCURSES_EXPORT_VAR(chtype) acs_map[]; @@ -346,6 +350,8 @@ typedef struct attr_t attr; wchar_t chars[CCHARW_MAX]; #if @NCURSES_EXT_COLORS@ +#undef NCURSES_EXT_COLORS +#define NCURSES_EXT_COLORS @NCURSES_PATCH@ int ext_color; /* color pair, must be more than 16-bits */ #endif } @@ -353,6 +359,7 @@ cchar_t; #endif /* _XOPEN_SOURCE_EXTENDED */ +#if !NCURSES_OPAQUE struct ldat; struct _win_st @@ -409,41 +416,7 @@ struct _win_st #endif #endif }; - -extern NCURSES_EXPORT_VAR(WINDOW *) stdscr; -extern NCURSES_EXPORT_VAR(WINDOW *) curscr; -extern NCURSES_EXPORT_VAR(WINDOW *) newscr; - -extern NCURSES_EXPORT_VAR(int) LINES; -extern NCURSES_EXPORT_VAR(int) COLS; -extern NCURSES_EXPORT_VAR(int) TABSIZE; - -/* - * This global was an undocumented feature under AIX curses. - */ -extern NCURSES_EXPORT_VAR(int) ESCDELAY; /* ESC expire time in milliseconds */ - -/* - * These functions are extensions - not in XSI Curses. - */ -#if @NCURSES_EXT_FUNCS@ -extern NCURSES_EXPORT(bool) is_term_resized (int, int); -extern NCURSES_EXPORT(char *) keybound (int, int); -extern NCURSES_EXPORT(const char *) curses_version (void); -extern NCURSES_EXPORT(int) assume_default_colors (int, int); -extern NCURSES_EXPORT(int) define_key (const char *, int); -extern NCURSES_EXPORT(int) key_defined (const char *); -extern NCURSES_EXPORT(int) keyok (int, bool); -extern NCURSES_EXPORT(int) resize_term (int, int); -extern NCURSES_EXPORT(int) resizeterm (int, int); -extern NCURSES_EXPORT(int) use_default_colors (void); -extern NCURSES_EXPORT(int) use_extended_names (bool); -extern NCURSES_EXPORT(int) use_legacy_coding (int); -extern NCURSES_EXPORT(int) wresize (WINDOW *, int, int); -extern NCURSES_EXPORT(void) nofilter(void); -#else -#define curses_version() NCURSES_VERSION -#endif +#endif /* NCURSES_OPAQUE */ /* * This is an extension to support events... @@ -537,7 +510,7 @@ extern NCURSES_EXPORT(int) wgetnstr_events(WINDOW *,char *,int,_nc_eventlist *); #endif /* - * Function prototypes. This is the complete XSI Curses list of required + * Function prototypes. This is the complete X/Open Curses list of required * functions. Those marked `generated' will have sources generated from the * macro definitions later in this file, in order to satisfy XPG4.2 * requirements. @@ -741,7 +714,7 @@ extern NCURSES_EXPORT(int) standout (void); /* generated */ extern NCURSES_EXPORT(int) standend (void); /* generated */ extern NCURSES_EXPORT(int) start_color (void); /* implemented */ extern NCURSES_EXPORT(WINDOW *) subpad (WINDOW *, int, int, int, int); /* implemented */ -extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *,int,int,int,int); /* implemented */ +extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *, int, int, int, int); /* implemented */ extern NCURSES_EXPORT(int) syncok (WINDOW *, bool); /* implemented */ extern NCURSES_EXPORT(chtype) termattrs (void); /* implemented */ extern NCURSES_EXPORT(char *) termname (void); /* implemented */ @@ -825,17 +798,16 @@ extern NCURSES_EXPORT(char *) tigetstr (NCURSES_CONST char *); /* implemented * extern NCURSES_EXPORT(int) putp (const char *); /* implemented */ #if NCURSES_TPARM_VARARGS -extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* implemented */ +extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, ...); /* special */ #else -extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* implemented */ -extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* implemented */ +extern NCURSES_EXPORT(char *) tparm (NCURSES_CONST char *, long,long,long,long,long,long,long,long,long); /* special */ +extern NCURSES_EXPORT(char *) tparm_varargs (NCURSES_CONST char *, ...); /* special */ #endif -extern NCURSES_EXPORT_VAR(char) ttytype[]; /* needed for backward compatibility */ - /* * These functions are not in X/Open, but we use them in macro definitions: */ +extern NCURSES_EXPORT(int) getattrs (const WINDOW *); /* generated */ extern NCURSES_EXPORT(int) getcurx (const WINDOW *); /* generated */ extern NCURSES_EXPORT(int) getcury (const WINDOW *); /* generated */ extern NCURSES_EXPORT(int) getbegx (const WINDOW *); /* generated */ @@ -846,12 +818,58 @@ extern NCURSES_EXPORT(int) getparx (const WINDOW *); /* generated */ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */ /* - * vid_attr() was implemented originally based on a draft of XSI curses. + * vid_attr() was implemented originally based on a draft of X/Open curses. */ #ifndef _XOPEN_SOURCE_EXTENDED #define vid_attr(a,pair,opts) vidattr(a) #endif +/* + * These functions are extensions - not in X/Open Curses. + */ +#undef NCURSES_EXT_FUNCS +#if @NCURSES_EXT_FUNCS@ +#undef NCURSES_EXT_FUNCS +#define NCURSES_EXT_FUNCS @NCURSES_PATCH@ +typedef int (*NCURSES_CALLBACK)(WINDOW *, void *); +extern NCURSES_EXPORT(bool) is_term_resized (int, int); +extern NCURSES_EXPORT(char *) keybound (int, int); +extern NCURSES_EXPORT(const char *) curses_version (void); +extern NCURSES_EXPORT(int) assume_default_colors (int, int); +extern NCURSES_EXPORT(int) define_key (const char *, int); +extern NCURSES_EXPORT(int) key_defined (const char *); +extern NCURSES_EXPORT(int) keyok (int, bool); +extern NCURSES_EXPORT(int) resize_term (int, int); +extern NCURSES_EXPORT(int) resizeterm (int, int); +extern NCURSES_EXPORT(int) use_default_colors (void); +extern NCURSES_EXPORT(int) use_extended_names (bool); +extern NCURSES_EXPORT(int) use_legacy_coding (int); +extern NCURSES_EXPORT(int) use_screen (SCREEN *, NCURSES_CALLBACK, void *); +extern NCURSES_EXPORT(int) use_window (WINDOW *, NCURSES_CALLBACK, void *); +extern NCURSES_EXPORT(int) wresize (WINDOW *, int, int); +extern NCURSES_EXPORT(void) nofilter(void); + +/* + * These extensions provide access to information stored in the WINDOW even + * when NCURSES_OPAQUE is set: + */ +extern NCURSES_EXPORT(WINDOW *) wgetparent (const WINDOW *); /* generated */ +extern NCURSES_EXPORT(bool) is_cleared (const WINDOW *); /* generated */ +extern NCURSES_EXPORT(bool) is_idcok (const WINDOW *); /* generated */ +extern NCURSES_EXPORT(bool) is_idlok (const WINDOW *); /* generated */ +extern NCURSES_EXPORT(bool) is_immedok (const WINDOW *); /* generated */ +extern NCURSES_EXPORT(bool) is_keypad (const WINDOW *); /* generated */ +extern NCURSES_EXPORT(bool) is_leaveok (const WINDOW *); /* generated */ +extern NCURSES_EXPORT(bool) is_nodelay (const WINDOW *); /* generated */ +extern NCURSES_EXPORT(bool) is_notimeout (const WINDOW *); /* generated */ +extern NCURSES_EXPORT(bool) is_scrollok (const WINDOW *); /* generated */ +extern NCURSES_EXPORT(bool) is_syncok (const WINDOW *); /* generated */ +extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* generated */ + +#else +#define curses_version() NCURSES_VERSION +#endif + /* attributes */ #define NCURSES_ATTR_SHIFT 8 @@ -892,11 +910,18 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */ #define getmaxyx(win,y,x) (y = getmaxy(win), x = getmaxx(win)) #define getparyx(win,y,x) (y = getpary(win), x = getparx(win)) -#define getsyx(y,x) do { if(newscr->_leaveok) (y)=(x)=-1; \ - else getyx(newscr,(y),(x)); \ +#define getsyx(y,x) do { if (is_leaveok(newscr)) \ + (y) = (x) = -1; \ + else \ + getyx(newscr,(y), (x)); \ } while(0) -#define setsyx(y,x) do { if((y)==-1 && (x)==-1) newscr->_leaveok=TRUE; \ - else {newscr->_leaveok=FALSE;wmove(newscr,(y),(x));} \ + +#define setsyx(y,x) do { if ((y) == -1 && (x) == -1) \ + leaveok(newscr, TRUE); \ + else { \ + leaveok(newscr, FALSE); \ + wmove(newscr, (y), (x)); \ + } \ } while(0) #ifndef NCURSES_NOMACROS @@ -918,15 +943,17 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */ #define gettmode() /* It seems older SYSV curses versions define these */ -#define getattrs(win) ((win)?(win)->_attrs:A_NORMAL) -#define getcurx(win) ((win)?(win)->_curx:ERR) -#define getcury(win) ((win)?(win)->_cury:ERR) -#define getbegx(win) ((win)?(win)->_begx:ERR) -#define getbegy(win) ((win)?(win)->_begy:ERR) -#define getmaxx(win) ((win)?((win)->_maxx + 1):ERR) -#define getmaxy(win) ((win)?((win)->_maxy + 1):ERR) -#define getparx(win) ((win)?(win)->_parx:ERR) -#define getpary(win) ((win)?(win)->_pary:ERR) +#if !NCURSES_OPAQUE +#define getattrs(win) ((win) ? (win)->_attrs : A_NORMAL) +#define getcurx(win) ((win) ? (win)->_curx : ERR) +#define getcury(win) ((win) ? (win)->_cury : ERR) +#define getbegx(win) ((win) ? (win)->_begx : ERR) +#define getbegy(win) ((win) ? (win)->_begy : ERR) +#define getmaxx(win) ((win) ? ((win)->_maxx + 1) : ERR) +#define getmaxy(win) ((win) ? ((win)->_maxy + 1) : ERR) +#define getparx(win) ((win) ? (win)->_parx : ERR) +#define getpary(win) ((win) ? (win)->_pary : ERR) +#endif /* NCURSES_OPAQUE */ #define wstandout(win) (wattrset(win,A_STANDOUT)) #define wstandend(win) (wattrset(win,A_NORMAL)) @@ -934,12 +961,14 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */ #define wattron(win,at) wattr_on(win, NCURSES_CAST(attr_t, at), NULL) #define wattroff(win,at) wattr_off(win, NCURSES_CAST(attr_t, at), NULL) +#if !NCURSES_OPAQUE #if defined(_XOPEN_SOURCE_EXTENDED) && @NCURSES_EXT_COLORS@ #define wattrset(win,at) ((win)->_color = PAIR_NUMBER(at), \ (win)->_attrs = (at)) #else #define wattrset(win,at) ((win)->_attrs = (at)) #endif +#endif /* NCURSES_OPAQUE */ #define scroll(win) wscrl(win,1) @@ -956,7 +985,10 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */ #define winchstr(w, s) winchnstr(w, s, -1) #define winsstr(w, s) winsnstr(w, s, -1) +#if !NCURSES_OPAQUE #define redrawwin(win) wredrawln(win, 0, (win)->_maxy+1) +#endif /* NCURSES_OPAQUE */ + #define waddstr(win,str) waddnstr(win,str,-1) #define waddchstr(win,str) waddchnstr(win,str,-1) @@ -1064,11 +1096,14 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */ /* * Some wide-character functions can be implemented without the extensions. */ +#if !NCURSES_OPAQUE #define getbkgd(win) ((win)->_bkgd) +#endif /* NCURSES_OPAQUE */ #define slk_attr_off(a,v) ((v) ? ERR : slk_attroff(a)) #define slk_attr_on(a,v) ((v) ? ERR : slk_attron(a)) +#if !NCURSES_OPAQUE #if defined(_XOPEN_SOURCE_EXTENDED) && @NCURSES_EXT_COLORS@ #define wattr_set(win,a,p,opts) ((win)->_attrs = ((a) & ~A_COLOR), \ (win)->_color = (p), \ @@ -1082,9 +1117,10 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */ (void)((p) != 0 && (*(p) = PAIR_NUMBER((win)->_attrs))), \ OK) #endif +#endif /* NCURSES_OPAQUE */ /* - * XSI curses deprecates SVr4 vwprintw/vwscanw, which are supposed to use + * X/Open curses deprecates SVr4 vwprintw/vwscanw, which are supposed to use * varargs.h. It adds new calls vw_printw/vw_scanw, which are supposed to * use POSIX stdarg.h. The ncurses versions of vwprintw/vwscanw already * use stdarg.h, so... @@ -1100,9 +1136,76 @@ extern NCURSES_EXPORT(int) getpary (const WINDOW *); /* generated */ NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list); #endif +/* + * These macros are extensions - not in X/Open Curses. + */ +#if @NCURSES_EXT_FUNCS@ +#if !NCURSES_OPAQUE +#define is_cleared(win) ((win)->_clear) +#define is_idcok(win) ((win)->_idcok) +#define is_idlok(win) ((win)->_idlok) +#define is_immedok(win) ((win)->_immed) +#define is_keypad(win) ((win)->_use_keypad) +#define is_leaveok(win) ((win)->_leaveok) +#define is_nodelay(win) ((win)->_delay == 0) +#define is_notimeout(win) ((win)->_notimeout) +#define is_scrollok(win) ((win)->_scroll) +#define is_syncok(win) ((win)->_sync) +#define wgetparent(win) ((win) ? (win)->_parent : 0) +#define wgetscrreg(win,t,b) ((win) ? (*(t) = (win)->_regtop, *(b) = (win)->_regbottom, OK) : ERR) +#endif +#endif + #endif /* NCURSES_NOMACROS */ /* + * Public variables. + * + * Notes: + * a. ESCDELAY was an undocumented feature under AIX curses. + * It gives the ESC expire time in milliseconds. + * b. ttytype is needed for backward compatibility + */ +#if @cf_cv_enable_reentrant@ + +NCURSES_WRAPPED_VAR(WINDOW *, curscr); +NCURSES_WRAPPED_VAR(WINDOW *, newscr); +NCURSES_WRAPPED_VAR(WINDOW *, stdscr); +NCURSES_WRAPPED_VAR(char *, ttytype); +NCURSES_WRAPPED_VAR(int, COLORS); +NCURSES_WRAPPED_VAR(int, COLOR_PAIRS); +NCURSES_WRAPPED_VAR(int, COLS); +NCURSES_WRAPPED_VAR(int, ESCDELAY); +NCURSES_WRAPPED_VAR(int, LINES); +NCURSES_WRAPPED_VAR(int, TABSIZE); + +#define curscr NCURSES_PUBLIC_VAR(curscr()) +#define newscr NCURSES_PUBLIC_VAR(newscr()) +#define stdscr NCURSES_PUBLIC_VAR(stdscr()) +#define ttytype NCURSES_PUBLIC_VAR(ttytype()) +#define COLORS NCURSES_PUBLIC_VAR(COLORS()) +#define COLOR_PAIRS NCURSES_PUBLIC_VAR(COLOR_PAIRS()) +#define COLS NCURSES_PUBLIC_VAR(COLS()) +#define ESCDELAY NCURSES_PUBLIC_VAR(ESCDELAY()) +#define LINES NCURSES_PUBLIC_VAR(LINES()) +#define TABSIZE NCURSES_PUBLIC_VAR(TABSIZE()) + +#else + +extern NCURSES_EXPORT_VAR(WINDOW *) curscr; +extern NCURSES_EXPORT_VAR(WINDOW *) newscr; +extern NCURSES_EXPORT_VAR(WINDOW *) stdscr; +extern NCURSES_EXPORT_VAR(char) ttytype[]; +extern NCURSES_EXPORT_VAR(int) COLORS; +extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS; +extern NCURSES_EXPORT_VAR(int) COLS; +extern NCURSES_EXPORT_VAR(int) ESCDELAY; +extern NCURSES_EXPORT_VAR(int) LINES; +extern NCURSES_EXPORT_VAR(int) TABSIZE; + +#endif + +/* * Pseudo-character tokens outside ASCII range. The curses wgetch() function * will return any given one of these only if the corresponding k- capability * is defined in your terminal's terminfo entry. diff --git a/contrib/ncurses/include/curses.tail b/contrib/ncurses/include/curses.tail index d9f8a3d..dd38ed4 100644 --- a/contrib/ncurses/include/curses.tail +++ b/contrib/ncurses/include/curses.tail @@ -1,8 +1,9 @@ +/* $Id: curses.tail,v 1.15 2007/03/10 17:51:24 tom Exp $ */ /* + * vile:cmode: * This file is part of ncurses, designed to be appended after curses.h.in * (see that file for the relevant copyright). */ -/* $Id: curses.tail,v 1.14 2006/05/27 16:28:29 tom Exp $ */ /* mouse interface */ diff --git a/contrib/ncurses/include/curses.wide b/contrib/ncurses/include/curses.wide index 896ecd2..0c799e4 100644 --- a/contrib/ncurses/include/curses.wide +++ b/contrib/ncurses/include/curses.wide @@ -1,11 +1,11 @@ +/* $Id: curses.wide,v 1.34 2007/03/10 17:52:23 tom Exp $ */ /* + * vile:cmode: * This file is part of ncurses, designed to be appended after curses.h.in * (see that file for the relevant copyright). */ #ifdef _XOPEN_SOURCE_EXTENDED -/* $Id: curses.wide,v 1.32 2006/05/27 19:44:23 tom Exp $ */ - extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs; #define NCURSES_WACS(c) (&_nc_wacs[(unsigned char)c]) @@ -197,10 +197,13 @@ extern NCURSES_EXPORT(int) wvline_set (WINDOW *, const cchar_t *, int); /* imple #define wadd_wchstr(win,str) wadd_wchnstr(win,str,-1) #define waddwstr(win,wstr) waddnwstr(win,wstr,-1) #define wget_wstr(w,t) wgetn_wstr(w,t,-1) -#define wgetbkgrnd(win,wch) (*wch = win->_bkgrnd, OK) #define win_wchstr(w,c) win_wchnstr(w,c,-1) #define wins_wstr(w,t) wins_nwstr(w,t,-1) +#if !NCURSES_OPAQUE +#define wgetbkgrnd(win,wch) (*wch = win->_bkgrnd, OK) +#endif + #define mvadd_wch(y,x,c) mvwadd_wch(stdscr,y,x,c) #define mvadd_wchnstr(y,x,s,n) mvwadd_wchnstr(stdscr,y,x,s,n) #define mvadd_wchstr(y,x,s) mvwadd_wchstr(stdscr,y,x,s) diff --git a/contrib/ncurses/include/headers b/contrib/ncurses/include/headers index da3738d..a24bd90 100644 --- a/contrib/ncurses/include/headers +++ b/contrib/ncurses/include/headers @@ -1,5 +1,6 @@ +# $Id: headers,v 1.9 2007/01/20 19:57:04 Miroslav.Lichvar Exp $ ############################################################################## -# Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. # +# Copyright (c) 1998-2006,2007 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"), # @@ -26,10 +27,16 @@ # authorization. # ############################################################################## # -# Author: Thomas E. Dickey <dickey@clark.net> 1996 +# Author: Thomas E. Dickey 1996-on # term.h curses.h unctrl.h termcap.h $(srcdir)/ncurses_dll.h +@ ticlib +$(srcdir)/tic.h +$(srcdir)/term_entry.h +$(srcdir)/nc_tparm.h + +# vile:makemode diff --git a/contrib/ncurses/include/nc_alloc.h b/contrib/ncurses/include/nc_alloc.h index ad51408..9b5751d 100644 --- a/contrib/ncurses/include/nc_alloc.h +++ b/contrib/ncurses/include/nc_alloc.h @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2005,2007 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 <dickey@clark.net> 1996,1997 * ****************************************************************************/ -/* $Id: nc_alloc.h,v 1.13 2005/01/16 00:27:35 tom Exp $ */ +/* $Id: nc_alloc.h,v 1.15 2007/02/03 18:40:23 tom Exp $ */ #ifndef NC_ALLOC_included #define NC_ALLOC_included 1 @@ -67,8 +67,11 @@ extern "C" { #define HAVE_NC_FREEALL 1 struct termtype; extern NCURSES_EXPORT(void) _nc_free_and_exit(int) GCC_NORETURN; +extern NCURSES_EXPORT(void) _nc_free_tinfo(int) GCC_NORETURN; +extern NCURSES_EXPORT(void) _nc_free_tic(int) GCC_NORETURN; extern NCURSES_EXPORT(void) _nc_free_tparm(void); extern NCURSES_EXPORT(void) _nc_leaks_dump_entry(void); +extern NCURSES_EXPORT(void) _nc_leaks_tic(void); #define ExitProgram(code) _nc_free_and_exit(code) #endif @@ -87,6 +90,9 @@ extern NCURSES_EXPORT(void *) _nc_doalloc(void *, size_t); extern NCURSES_EXPORT(char *) _nc_strdup(const char *); #endif +/* entries.c */ +extern NCURSES_EXPORT(void) _nc_leaks_tinfo(void); + #define typeMalloc(type,elts) (type *)malloc((elts)*sizeof(type)) #define typeCalloc(type,elts) (type *)calloc((elts),sizeof(type)) #define typeRealloc(type,elts,ptr) (type *)_nc_doalloc(ptr, (elts)*sizeof(type)) diff --git a/contrib/ncurses/include/ncurses_defs b/contrib/ncurses/include/ncurses_defs index bba0661..cc6b9fe 100644 --- a/contrib/ncurses/include/ncurses_defs +++ b/contrib/ncurses/include/ncurses_defs @@ -1,6 +1,6 @@ -# $Id: ncurses_defs,v 1.30 2006/08/05 19:27:02 tom Exp $ +# $Id: ncurses_defs,v 1.35 2007/10/06 21:18:16 tom Exp $ ############################################################################## -# Copyright (c) 2000-2005,2006 Free Software Foundation, Inc. # +# Copyright (c) 2000-2006,2007 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"), # @@ -33,10 +33,8 @@ BROKEN_LINKER BSD_TPUTS -CC_HAS_INLINE_FUNCS CC_HAS_PROTOS CPP_HAS_PARAM_INIT -CPP_HAS_VSCAN_FUNC CURSES_ACS_ARRAY acs_map CURSES_WACS_ARRAY _nc_wacs DECL_ERRNO @@ -68,6 +66,7 @@ HAVE_GPM_H HAVE_GPP_BUILTIN_H HAVE_GXX_BUILTIN_H HAVE_HAS_KEY +HAVE_IOSTREAM HAVE_ISASCII HAVE_ISSETUGID HAVE_LANGINFO_CODESET @@ -159,6 +158,7 @@ HAVE_WORKING_POLL HAVE_WRESIZE HAVE__DOSCAN MIXEDCASE_FILENAMES +NCURSES_CHAR_EQ NCURSES_EXPANDED NCURSES_EXT_COLORS NCURSES_EXT_FUNCS @@ -189,12 +189,10 @@ USE_LINKS USE_MY_MEMMOVE USE_OK_BCOPY USE_RCS_IDS +USE_REENTRANT USE_SAFE_SPRINTF USE_SCROLL_HINTS USE_SIGWINCH -USE_STDIO_VSCAN -USE_STRSTREAM_VSCAN -USE_STRSTREAM_VSCAN_CAST USE_SYMLINKS USE_SYSMOUSE USE_TERMCAP diff --git a/contrib/ncurses/include/ncurses_dll.h b/contrib/ncurses/include/ncurses_dll.h index c47e5ec..e24feee 100644 --- a/contrib/ncurses/include/ncurses_dll.h +++ b/contrib/ncurses/include/ncurses_dll.h @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -25,7 +25,7 @@ * sale, use or other dealings in this Software without prior written * * authorization. * ****************************************************************************/ -/* $Id: ncurses_dll.h,v 1.5 2006/04/22 22:07:51 tom Exp $ */ +/* $Id: ncurses_dll.h,v 1.6 2007/03/10 19:21:49 tom Exp $ */ #ifndef NCURSES_DLL_H_incl #define NCURSES_DLL_H_incl 1 @@ -76,4 +76,11 @@ # define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type #endif +/* + * For reentrant code, we map the various global variables into SCREEN by + * using functions to access them. + */ +#define NCURSES_PUBLIC_VAR(name) _nc_##name +#define NCURSES_WRAPPED_VAR(type,name) extern type NCURSES_PUBLIC_VAR(name)(void) + #endif /* NCURSES_DLL_H_incl */ diff --git a/contrib/ncurses/include/tic.h b/contrib/ncurses/include/tic.h index 7d9e9d5..4e10399 100644 --- a/contrib/ncurses/include/tic.h +++ b/contrib/ncurses/include/tic.h @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -33,7 +33,7 @@ ****************************************************************************/ /* - * $Id: tic.h,v 1.55 2006/08/19 14:17:49 tom Exp $ + * $Id: tic.h,v 1.62 2007/08/11 16:12:43 tom Exp $ * tic.h - Global variables and structures for the terminfo * compiler. */ @@ -164,16 +164,6 @@ struct token extern NCURSES_EXPORT_VAR(struct token) _nc_curr_token; /* - * List of keynames with their corresponding code. - */ -struct kn { - const char *name; - int code; -}; - -extern NCURSES_EXPORT_VAR(const struct kn) _nc_key_names[]; - - /* * Offsets to string capabilities, with the corresponding functionkey * codes. */ @@ -185,11 +175,11 @@ struct tinfo_fkeys { #if BROKEN_LINKER #define _nc_tinfo_fkeys _nc_tinfo_fkeysf() -extern NCURSES_EXPORT(struct tinfo_fkeys *) _nc_tinfo_fkeysf (void); +extern NCURSES_EXPORT(const struct tinfo_fkeys *) _nc_tinfo_fkeysf (void); #else -extern NCURSES_EXPORT_VAR(struct tinfo_fkeys) _nc_tinfo_fkeys[]; +extern NCURSES_EXPORT_VAR(const struct tinfo_fkeys) _nc_tinfo_fkeys[]; #endif @@ -214,14 +204,9 @@ struct alias const char *source; }; -extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_info_hash_table[]; -extern NCURSES_EXPORT_VAR(const struct name_table_entry * const) _nc_cap_hash_table[]; - -extern NCURSES_EXPORT_VAR(const struct alias) _nc_capalias_table[]; -extern NCURSES_EXPORT_VAR(const struct alias) _nc_infoalias_table[]; - extern NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool); -extern NCURSES_EXPORT(const struct name_table_entry * const *) _nc_get_hash_table (bool); +extern NCURSES_EXPORT(const short *) _nc_get_hash_table (bool); +extern NCURSES_EXPORT(const struct alias *) _nc_get_alias_table (bool); #define NOTFOUND ((struct name_table_entry *) 0) @@ -259,7 +244,7 @@ extern NCURSES_EXPORT(char *) _nc_rootname (char *); /* comp_hash.c: name lookup */ extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_entry - (const char *, const struct name_table_entry *const *); + (const char *, const short *); extern NCURSES_EXPORT(struct name_table_entry const *) _nc_find_type_entry (const char *, int, const struct name_table_entry *); diff --git a/contrib/ncurses/install-sh b/contrib/ncurses/install-sh index 9f59f0b..462fa9c 100755 --- a/contrib/ncurses/install-sh +++ b/contrib/ncurses/install-sh @@ -1,19 +1,37 @@ #! /bin/sh # # install - install a program, script, or datafile -# This comes from X11R5 (mit/util/scripts/install.sh). # -# Copyright 1991 by the Massachusetts Institute of Technology +# This originates from X11R5 (mit/util/scripts/install.sh), which was +# later released in X11R6 (xc/config/util/install.sh) with the +# following copyright and license. # -# Permission to use, copy, modify, distribute, and sell this software and its -# documentation for any purpose is hereby granted without fee, provided that -# the above copyright notice appear in all copies and that both that -# copyright notice and this permission notice appear in supporting -# documentation, and that the name of M.I.T. not be used in advertising or -# publicity pertaining to distribution of the software without specific, -# written prior permission. M.I.T. makes no representations about the -# suitability of this software for any purpose. It is provided "as is" -# without express or implied warranty. +# Copyright (C) 1994 X Consortium +# +# 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, 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 +# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN +# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- +# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +# +# Except as contained in this notice, the name of the X Consortium shall not +# be used in advertising or otherwise to promote the sale, use or other deal- +# ings in this Software without prior written authorization from the X Consor- +# tium. +# +# +# FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it @@ -56,7 +74,7 @@ dir_arg="" while [ x"$1" != x ]; do case $1 in - -c) instcmd="$cpprog" + -c) instcmd=$cpprog shift continue;; @@ -79,7 +97,7 @@ while [ x"$1" != x ]; do shift continue;; - -s) stripcmd="$stripprog" + -s) stripcmd=$stripprog shift continue;; @@ -106,7 +124,7 @@ done if [ x"$src" = x ] then - echo "install: no input file specified" + echo "$0: no input file specified" >&2 exit 1 else : @@ -116,7 +134,7 @@ if [ x"$dir_arg" != x ]; then dst=$src src="" - if [ -d $dst ]; then + if [ -d "$dst" ]; then instcmd=: chmodcmd="" else @@ -128,17 +146,17 @@ else # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. - if [ -f $src -o -d $src ] + if [ -f "$src" ] || [ -d "$src" ] then : else - echo "install: $src does not exist" + echo "$0: $src does not exist" >&2 exit 1 fi if [ x"$dst" = x ] then - echo "install: no destination specified" + echo "$0: no destination specified" >&2 exit 1 else : @@ -147,16 +165,16 @@ else # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic - if [ -d $dst ] + if [ -d "$dst" ] then - dst="$dst"/`basename $src` + dst=$dst/`basename "$src"` else : fi fi ## this sed command emulates the dirname command -dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` +dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script @@ -165,48 +183,48 @@ dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` if [ ! -d "$dstdir" ]; then defaultIFS=' ' -IFS="${IFS-${defaultIFS}}" +IFS="${IFS-$defaultIFS}" -oIFS="${IFS}" +oIFS=$IFS # Some sh's can't handle IFS=/ for some reason. IFS='%' -set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` -IFS="${oIFS}" +set - `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'` +IFS=$oIFS pathcomp='' while [ $# -ne 0 ] ; do - pathcomp="${pathcomp}${1}" + pathcomp=$pathcomp$1 shift - if [ ! -d "${pathcomp}" ] ; + if [ ! -d "$pathcomp" ] ; then - $mkdirprog "${pathcomp}" + $mkdirprog "$pathcomp" else : fi - pathcomp="${pathcomp}/" + pathcomp=$pathcomp/ done fi if [ x"$dir_arg" != x ] then - $doit $instcmd $dst && + $doit $instcmd "$dst" && - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else : ; fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else : ; fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else : ; fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else : ; fi + if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dst"; else : ; fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dst"; else : ; fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dst"; else : ; fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dst"; else : ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then - dstfile=`basename $dst` + dstfile=`basename "$dst"` else - dstfile=`basename $dst $transformbasename | + dstfile=`basename "$dst" $transformbasename | sed $transformarg`$transformbasename fi @@ -214,20 +232,24 @@ else if [ x"$dstfile" = x ] then - dstfile=`basename $dst` + dstfile=`basename "$dst"` else : fi -# Make a temp file name in the proper directory. +# Make a couple of temp file names in the proper directory. dsttmp=$dstdir/#inst.$$# + rmtmp=$dstdir/#rm.$$# -# Move or copy the file name to the temp name +# Trap to clean up temp files at exit. - $doit $instcmd $src $dsttmp && + trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0 + trap '(exit $?); exit' 1 2 13 15 - trap "rm -f ${dsttmp}" 0 && +# Move or copy the file name to the temp name + + $doit $instcmd "$src" "$dsttmp" && # and set any options; do chmod last to preserve setuid bits @@ -235,17 +257,38 @@ else # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. - if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else :;fi && - if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else :;fi && - if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else :;fi && - if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else :;fi && + if [ x"$chowncmd" != x ]; then $doit $chowncmd "$dsttmp"; else :;fi && + if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd "$dsttmp"; else :;fi && + if [ x"$stripcmd" != x ]; then $doit $stripcmd "$dsttmp"; else :;fi && + if [ x"$chmodcmd" != x ]; then $doit $chmodcmd "$dsttmp"; else :;fi && + +# Now remove or move aside any old file at destination location. We try this +# two ways since rm can't unlink itself on some systems and the destination +# file might be busy for other reasons. In this case, the final cleanup +# might fail but the new file should still install successfully. + +{ + if [ -f "$dstdir/$dstfile" ] + then + $doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null || + $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null || + { + echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2 + (exit 1); exit + } + else + : + fi +} && # Now rename the file to the real destination. - $doit $rmcmd -f $dstdir/$dstfile && - $doit $mvcmd $dsttmp $dstdir/$dstfile + $doit $mvcmd "$dsttmp" "$dstdir/$dstfile" fi && +# The final little trick to "correctly" pass the exit status to the exit trap. -exit 0 +{ + (exit 0); exit +} diff --git a/contrib/ncurses/man/Makefile.in b/contrib/ncurses/man/Makefile.in index 8a24d84..c04f7c9 100644 --- a/contrib/ncurses/man/Makefile.in +++ b/contrib/ncurses/man/Makefile.in @@ -1,6 +1,6 @@ -# $Id: Makefile.in,v 1.39 2005/07/16 17:26:45 tom Exp $ +# $Id: Makefile.in,v 1.41 2007/03/31 15:54:06 tom Exp $ ############################################################################## -# Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. # +# Copyright (c) 1998-2006,2007 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"), # @@ -52,7 +52,7 @@ depend : tags : $(DESTDIR)$(mandir) : - sh $(srcdir)/../mkinstalldirs $@ + sh $(srcdir)/../mkdirs.sh $@ EDITARGS = $(DESTDIR)$(mandir) $(srcdir) terminfo.5 $(srcdir)/*.[0-9]* @@ -77,4 +77,4 @@ clean: mostlyclean sh $(srcdir)/make_sed.sh @MANPAGE_RENAMES@ >../edit_man.sed distclean realclean: clean - rm -f Makefile ../edit_man.* + rm -f Makefile ../edit_man.* ../man_alias.* diff --git a/contrib/ncurses/man/captoinfo.1m b/contrib/ncurses/man/captoinfo.1m index 1bb6dec..de57a27 100644 --- a/contrib/ncurses/man/captoinfo.1m +++ b/contrib/ncurses/man/captoinfo.1m @@ -1,6 +1,6 @@ '\" t .\"*************************************************************************** -.\" Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -27,16 +27,16 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: captoinfo.1m,v 1.20 2006/05/13 15:14:01 tom Exp $ -.TH captoinfo 1M "" +.\" $Id: captoinfo.1m,v 1.22 2007/06/02 20:40:07 tom Exp $ +.TH @CAPTOINFO@ 1M "" .ds n 5 .ds d @TERMINFO@ .SH NAME -\fBcaptoinfo\fR - convert a \fItermcap\fR description into a \fIterminfo\fR description +\fB@CAPTOINFO@\fR - convert a \fItermcap\fR description into a \fIterminfo\fR description .SH SYNOPSIS -\fBcaptoinfo\fR [\fB-v\fR\fIn\fR \fIwidth\fR] [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR] \fIfile\fR . . . +\fB@CAPTOINFO@\fR [\fB-v\fR\fIn\fR \fIwidth\fR] [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR] \fIfile\fR . . . .SH DESCRIPTION -\fBcaptoinfo\fR looks in \fIfile\fR for \fBtermcap\fR descriptions. For each +\fB@CAPTOINFO@\fR looks in \fIfile\fR for \fBtermcap\fR descriptions. For each one found, an equivalent \fBterminfo\fR description is written to standard output. Termcap \fBtc\fR capabilities are translated directly to terminfo \fBuse\fR capabilities. @@ -67,7 +67,7 @@ Compiled terminal description database. .SH TRANSLATIONS FROM NONSTANDARD CAPABILITIES .PP Some obsolete nonstandard capabilities will automatically be translated -into standard (SVr4/XSI Curses) terminfo capabilities by \fBcaptoinfo\fR. +into standard (SVr4/XSI Curses) terminfo capabilities by \fB@CAPTOINFO@\fR. Whenever one of these automatic translations is done, the program will issue an notification to stderr, inviting the user to check that it has not mistakenly translated a completely unknown and random @@ -145,7 +145,7 @@ GG acs magic cookie count .TE .PP If the single-line capabilities occur in an entry, they will automatically -be composed into an \fBacsc\fR string. The double-line capabilities and +be composed into an \fIacsc\fR string. The double-line capabilities and \fBGG\fR are discarded with a warning message. .PP IBM's AIX has a terminfo facility descended from SVr1 terminfo but incompatible @@ -164,17 +164,17 @@ font2 s2ds font3 s3ds .TE .PP -Additionally, the AIX \fBbox1\fR capability will be automatically translated to -an \fBacsc\fR string. +Additionally, the AIX \fIbox1\fR capability will be automatically translated to +an \fIacsc\fR string. .PP Hewlett-Packard's terminfo library supports two nonstandard terminfo -capabilities \fBmeml\fR (memory lock) and \fBmemu\fR (memory unlock). +capabilities \fImeml\fR (memory lock) and \fImemu\fR (memory unlock). These will be discarded with a warning message. .SH NOTES -This utility is actually a link to \fItic\fR(1M), running in \fI-I\fR mode. -You can use other \fItic\fR options such as \fB-f\fR and \fB-x\fR. +This utility is actually a link to \fB@TIC@\fR(1M), running in \fI-I\fR mode. +You can use other \fB@TIC@\fR options such as \fB-f\fR and \fB-x\fR. .PP -The trace option isn't identical to SVr4's. Under SVr4, instead of following +The trace option is not identical to SVr4's. Under SVr4, instead of following the \fB-v\fR with a trace level n, you repeat it n times. .SH SEE ALSO \fB@INFOCMP@\fR(1M), diff --git a/contrib/ncurses/man/clear.1 b/contrib/ncurses/man/clear.1 index 41c4cad..31d0f93 100644 --- a/contrib/ncurses/man/clear.1 +++ b/contrib/ncurses/man/clear.1 @@ -26,20 +26,20 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: clear.1,v 1.5 2006/07/01 21:55:09 tom Exp $ -.TH clear 1 "" +.\" $Id: clear.1,v 1.6 2006/12/24 18:07:53 tom Exp $ +.TH @CLEAR@ 1 "" .ds n 5 .SH NAME -\fBclear\fR - clear the terminal screen +\fB@CLEAR@\fR - clear the terminal screen .SH SYNOPSIS -\fBclear\fR +\fB@CLEAR@\fR .br .SH DESCRIPTION -\fBclear\fR clears your screen if this is possible. It looks in the +\fB@CLEAR@\fR clears your screen if this is possible. It looks in the environment for the terminal type and then in the \fBterminfo\fR database to figure out how to clear the screen. .PP -\fBclear\fR ignores any command-line parameters that may be present. +\fB@CLEAR@\fR ignores any command-line parameters that may be present. .SH SEE ALSO \fB@TPUT@\fR(1), \fBterminfo\fR(\*n) .PP diff --git a/contrib/ncurses/man/curs_add_wch.3x b/contrib/ncurses/man/curs_add_wch.3x index 91228d4..51ac1a4 100644 --- a/contrib/ncurses/man/curs_add_wch.3x +++ b/contrib/ncurses/man/curs_add_wch.3x @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_add_wch.3x,v 1.5 2006/12/02 17:02:35 tom Exp $ +.\" $Id: curs_add_wch.3x,v 1.6 2006/12/24 15:22:22 tom Exp $ .TH curs_add_wch 3X "" .SH NAME \fBadd_wch\fP, @@ -82,7 +82,7 @@ and the rendition specified by \fIwch\fP is ignored. - If the character part of \fIwch\fP is a tab, newline, backspace or other control character, -the window is updated and the cursor moves as if \fBaddch\fR(3X) were called. +the window is updated and the cursor moves as if \fBaddch\fR were called. .PP The \fBecho_wchar\fP function is functionally equivalent to a call to @@ -122,7 +122,7 @@ Those are not currently implemented in \fBncurses\fP. .PP \fBcurses\fR(3X), \fBcurs_addch\fR(3X), -\fBcurs_attr_get\fR(3X), +\fBcurs_attr\fR(3X), \fBcurs_clear\fR(3X), \fBcurs_outopts\fR(3X), \fBcurs_refresh\fR(3X), diff --git a/contrib/ncurses/man/curs_addch.3x b/contrib/ncurses/man/curs_addch.3x index d8b645d..73918b8 100644 --- a/contrib/ncurses/man/curs_addch.3x +++ b/contrib/ncurses/man/curs_addch.3x @@ -1,6 +1,6 @@ '\" t .\"*************************************************************************** -.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -27,7 +27,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_addch.3x,v 1.25 2006/12/02 17:02:22 tom Exp $ +.\" $Id: curs_addch.3x,v 1.27 2007/06/02 20:40:07 tom Exp $ .TH curs_addch 3X "" .SH NAME \fBaddch\fR, \fBwaddch\fR, \fBmvaddch\fR, \fBmvwaddch\fR, @@ -87,7 +87,7 @@ their equivalents. .SS Line Graphics The following variables may be used to add line drawing characters to the screen with routines of the \fBaddch\fR family. The default character listed -below is used if the \fBacsc\fR capability doesn't define a terminal-specific +below is used if the \fBacsc\fR capability does not define a terminal-specific replacement for it. The names are taken from VT100 nomenclature. .PP @@ -168,7 +168,7 @@ This is true of other implementations, but is not documented. \fBcurs_inch\fR(3X), \fBcurs_outopts\fR(3X), \fBcurs_refresh\fR(3X), -\fBputc\fR(3S). +\fBputc\fR(3). .PP Comparable functions in the wide-character (ncursesw) library are described in diff --git a/contrib/ncurses/man/curs_attr.3x b/contrib/ncurses/man/curs_attr.3x index 31c5397..cf58aff 100644 --- a/contrib/ncurses/man/curs_attr.3x +++ b/contrib/ncurses/man/curs_attr.3x @@ -1,6 +1,6 @@ '\" t .\"*************************************************************************** -.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -27,7 +27,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_attr.3x,v 1.30 2006/07/15 18:39:05 tom Exp $ +.\" $Id: curs_attr.3x,v 1.31 2007/03/17 20:30:33 tom Exp $ .TH curs_attr 3X "" .na .hy 0 @@ -253,6 +253,9 @@ This implementation returns an error if the window pointer is null. The \fBwcolor_set\fP function returns an error if the color pair parameter is outside the range 0..COLOR_PAIRS-1. +This implementation also provides +\fBgetattrs\fR +for compatibility with older versions of curses. .SH SEE ALSO \fBcurses\fR(3X), \fBcurs_addch\fR(3X), diff --git a/contrib/ncurses/man/curs_border.3x b/contrib/ncurses/man/curs_border.3x index 3071d2a..09f9a4c 100644 --- a/contrib/ncurses/man/curs_border.3x +++ b/contrib/ncurses/man/curs_border.3x @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_border.3x,v 1.18 2006/02/25 21:49:19 tom Exp $ +.\" $Id: curs_border.3x,v 1.19 2007/02/24 16:15:38 tom Exp $ .TH curs_border 3X "" .na .hy 0 @@ -64,9 +64,9 @@ .br \fBint wvline(WINDOW *win, chtype ch, int n);\fR .br -\fBmvhline(int y, int x, chtype ch, int n);\fR +\fBint mvhline(int y, int x, chtype ch, int n);\fR .br -\fBmvwhline(WINDOW *, int y, int x, chtype ch, int n);\fR +\fBint mvwhline(WINDOW *, int y, int x, chtype ch, int n);\fR .br \fBint mvvline(int y, int x, chtype ch, int n);\fR .br diff --git a/contrib/ncurses/man/curs_deleteln.3x b/contrib/ncurses/man/curs_deleteln.3x index 2599139..fc7b16a 100644 --- a/contrib/ncurses/man/curs_deleteln.3x +++ b/contrib/ncurses/man/curs_deleteln.3x @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_deleteln.3x,v 1.10 2006/02/25 21:49:19 tom Exp $ +.\" $Id: curs_deleteln.3x,v 1.11 2007/06/02 20:40:07 tom Exp $ .TH curs_deleteln 3X "" .SH NAME \fBdeleteln\fR, @@ -79,7 +79,7 @@ error conditions. Note that all but \fBwinsdelln\fR may be macros. .PP These routines do not require a hardware line delete or insert feature in the -terminal. In fact, they won't use hardware line delete/insert unless +terminal. In fact, they will not use hardware line delete/insert unless \fBidlok(..., TRUE)\fR has been set on the current window. .SH SEE ALSO \fBcurses\fR(3X) diff --git a/contrib/ncurses/man/curs_extend.3x b/contrib/ncurses/man/curs_extend.3x index c053864..3092253 100644 --- a/contrib/ncurses/man/curs_extend.3x +++ b/contrib/ncurses/man/curs_extend.3x @@ -28,7 +28,7 @@ .\" .\" Author: Thomas E. Dickey 1999-on .\" -.\" $Id: curs_extend.3x,v 1.15 2006/02/25 21:04:43 tom Exp $ +.\" $Id: curs_extend.3x,v 1.17 2006/12/24 18:01:48 tom Exp $ .TH curs_extend 3X "" .SH NAME \fBcurses_version\fP, @@ -56,7 +56,7 @@ is able to use user-defined or nonstandard names which may be compiled into the terminfo description, i.e., via the terminfo or termcap interfaces. Normally these names are available for use, since the essential decision -is made by using the \fB-x\fP option of \fItic\fP to compile +is made by using the \fB-x\fP option of \fB@TIC@\fP to compile extended terminal definitions. However you can disable this feature to ensure compatibility with other implementations of curses. @@ -68,11 +68,11 @@ any code depending on them be conditioned using NCURSES_VERSION. \fBcurs_getch\fR(3X), \fBcurs_mouse\fR(3X), \fBcurs_print\fR(3X), +\fBcurs_util\fR(3X), \fBdefault_colors\fR(3X), \fBdefine_key\fR(3X), \fBkeybound\fR(3X), \fBkeyok\fR(3X), -\fBnofilter\fR(3X), \fBresizeterm\fR(3X), \fBwresize\fR(3X). .SH AUTHOR diff --git a/contrib/ncurses/man/curs_getcchar.3x b/contrib/ncurses/man/curs_getcchar.3x index 91b9961..b811a37 100644 --- a/contrib/ncurses/man/curs_getcchar.3x +++ b/contrib/ncurses/man/curs_getcchar.3x @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_getcchar.3x,v 1.8 2006/07/15 22:51:07 wcmbrine Exp $ +.\" $Id: curs_getcchar.3x,v 1.10 2006/12/24 16:00:02 tom Exp $ .TH curs_getcchar 3X "" .SH NAME \fBgetcchar\fP, @@ -132,10 +132,10 @@ Otherwise, it returns \fBERR\fP. .SH SEE ALSO .PP Functions: +\fBcurs_attr\fR(3X), +\fBcurs_color\fR(3X), \fBcurses\fR(3X), -\fBwcwidth\fR(3X), -\fBcurs_attr_get\fR(3X), -\fBcan_change_color\fR(3X). +\fBwcwidth\fR(3). .\"# .\"# The following sets edit modes for GNU EMACS .\"# Local Variables: diff --git a/contrib/ncurses/man/curs_getyx.3x b/contrib/ncurses/man/curs_getyx.3x index 8fe53dc..2581253 100644 --- a/contrib/ncurses/man/curs_getyx.3x +++ b/contrib/ncurses/man/curs_getyx.3x @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_getyx.3x,v 1.13 2006/05/27 20:28:05 tom Exp $ +.\" $Id: curs_getyx.3x,v 1.16 2007/05/12 16:34:49 tom Exp $ .TH curs_getyx 3X "" .SH NAME \fBgetyx\fR, @@ -69,7 +69,7 @@ The \fBgetmaxyx\fR macros are described in the XSI Curses standard, Issue 4. .PP -This implementation also provides +This implementation also provides functions \fBgetbegx\fR, \fBgetbegy\fR, \fBgetcurx\fR, @@ -79,10 +79,25 @@ This implementation also provides \fBgetparx\fR and \fBgetpary\fR for compatibility with older versions of curses. -X/Open does not define a corresponding \fBgetcuryx\fP function, -though that would be needed to make references to the WINDOW structure opaque. +.PP +Although X/Open Curses does not address this, +many implementations provide members of the WINDOW structure +containing values corresponding to these macros. +For best portability, do not rely on using the data in WINDOW, +since some implementations make WINDOW opaque (do not allow +direct use of its members). +.PP +Besides the problem of opaque structures, +the data stored in like-named members may not have like-values in +different implementations. +For example, the WINDOW._maxx and WINDOW._maxy values in ncurses +have (at least since release 1.8.1) differed by one from some +other implementations. +The difference is hidden by means of the macro \fBgetmaxyx\fP. .SH SEE ALSO -\fBcurses\fR(3X) +\fBcurses\fR(3X), +\fBcurs_legacy\fR(3X), +\fBcurs_opaque\fR(3X) .\"# .\"# The following sets edit modes for GNU EMACS .\"# Local Variables: diff --git a/contrib/ncurses/man/curs_insstr.3x b/contrib/ncurses/man/curs_insstr.3x index 6a5d312..1536ea2 100644 --- a/contrib/ncurses/man/curs_insstr.3x +++ b/contrib/ncurses/man/curs_insstr.3x @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_insstr.3x,v 1.17 2006/02/25 21:49:19 tom Exp $ +.\" $Id: curs_insstr.3x,v 1.18 2006/12/24 14:59:30 tom Exp $ .TH curs_insstr 3X "" .SH NAME \fBinsstr\fR, @@ -90,7 +90,7 @@ This is probably an error, since it makes this group of functions inconsistent. Also, no implementation of curses documents this inconsistency. .SH SEE ALSO \fBcurses\fR(3X), -\fBunctrl\fR(3X), +\fBcurs_util\fR(3X), \fBcurs_clear\fR(3X), \fBcurs_inch\fR(3X). .\"# diff --git a/contrib/ncurses/man/curs_legacy.3x b/contrib/ncurses/man/curs_legacy.3x new file mode 100644 index 0000000..251ae49 --- /dev/null +++ b/contrib/ncurses/man/curs_legacy.3x @@ -0,0 +1,93 @@ +.\"*************************************************************************** +.\" Copyright (c) 2007 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: curs_legacy.3x,v 1.1 2007/04/07 23:54:29 tom Exp $ +.TH curs_legacy 3X "" +.SH NAME +\fBgetbegx\fR, +\fBgetbegy\fR, +\fBgetcurx\fR, +\fBgetcury\fR, +\fBgetmaxx\fR, +\fBgetmaxy\fR, +\fBgetparx\fR, +\fBgetpary\fR - get \fBcurses\fR cursor and window coordinates +.SH SYNOPSIS +\fB#include <curses.h>\fR +.sp +\fBint getbegx(WINDOW *win);\fR +.br +\fBint getbegy(WINDOW *win);\fR +.br +\fBint getcurx(WINDOW *win);\fR +.br +\fBint getcury(WINDOW *win);\fR +.br +\fBint getmaxx(WINDOW *win);\fR +.br +\fBint getmaxy(WINDOW *win);\fR +.br +\fBint getparx(WINDOW *win);\fR +.br +\fBint getpary(WINDOW *win);\fR +.br +.SH DESCRIPTION +The \fBgetbegy\fR and \fBgetbegx\fR functions return the same +data as \fBgetbegyx\fR. +.PP +The \fBgetcury\fR and \fBgetcurx\fR functions return the same +data as \fBgetyx\fR. +.PP +The \fBgetmaxy\fR and \fBgetmaxx\fR functions return the same +data as \fBgetmaxyx\fR. +.PP +The \fBgetpary\fR and \fBgetparx\fR functions return the same +data as \fBgetparyx\fR. +.SH RETURN VALUE +These functions return an integer, +or ERR if the window parameter is null. +.SH NOTES +All of these interfaces are provided as macros and functions. +The macros are suppressed (and only the functions provided) +when \fBNCURSES_OPAQUE\fR is defined. +The standard forms such as \fBgetyx\fP must be implemented as macros, +and (in this implementation) are defined in terms of the functions +described here, +to avoid reliance on internal details of the WINDOW structure. +.SH PORTABILITY +These functions were supported on Version 7, BSD or System V implementations. +.SH SEE ALSO +\fBcurses\fR(3X), +\fBcurs_getyx\fR(3X), +\fBcurs_opaque\fR(3X) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/contrib/ncurses/man/curs_mouse.3x b/contrib/ncurses/man/curs_mouse.3x index 865fab1..23f9f9c 100644 --- a/contrib/ncurses/man/curs_mouse.3x +++ b/contrib/ncurses/man/curs_mouse.3x @@ -1,6 +1,6 @@ '\" t .\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * +.\" 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 * @@ -27,7 +27,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_mouse.3x,v 1.28 2005/05/15 16:18:19 tom Exp $ +.\" $Id: curs_mouse.3x,v 1.30 2006/12/30 23:43:34 tom Exp $ .TH curs_mouse 3X "" .na .hy 0 @@ -158,22 +158,23 @@ if it is and FALSE otherwise. It is useful for determining what subset of the screen windows enclose the location of a mouse event. .PP -The \fBwmouse_trafo\fR function transforms a given pair of coordinates from -stdscr-relative coordinates to screen-relative coordinates or vice versa. +The \fBwmouse_trafo\fR function transforms a given pair of coordinates +from stdscr-relative coordinates +to coordinates relative to the given window or vice versa. Please remember, that stdscr-relative coordinates are not always identical -to screen-relative coordinates due to the mechanism to reserve lines on top -or bottom of the screen for other purposes (ripoff() call, see also slk_... -functions). +to window-relative coordinates due to the mechanism to reserve lines on top +or bottom of the screen for other purposes +(see the \fBripoffline()\fP and \fBslk_init\fR calls, for example). If the parameter \fBto_screen\fR is \fBTRUE\fR, the pointers -\fBpY, pX\fR must reference the coordinates of a location inside the window -\fBwin\fR. -They are converted to screen-relative coordinates and returned +\fBpY, pX\fR must reference the coordinates of a location +inside the window \fBwin\fR. +They are converted to window-relative coordinates and returned through the pointers. If the conversion was successful, the function returns \fBTRUE\fR. If one of the parameters was NULL or the location is not inside the window, \fBFALSE\fR is returned. If \fBto_screen\fR is -\fBFALSE\fR, the pointers \fBpY, pX\fR must reference screen-relative +\fBFALSE\fR, the pointers \fBpY, pX\fR must reference window-relative coordinates. They are converted to stdscr-relative coordinates if the window \fBwin\fR encloses this point. @@ -184,6 +185,10 @@ Please notice, that the referenced coordinates are only replaced by the converted coordinates if the transformation was successful. .PP +The \fBmouse_trafo\fR function performs the same translation +as \fBwmouse_trafo\fR, +using stdscr for \fBwin\fR. +.PP The \fBmouseinterval\fR function sets the maximum time (in thousands of a second) that can elapse between press and release events for them to be recognized as a click. @@ -259,7 +264,7 @@ OS/2 EMX .RE If you are using an unsupported configuration, mouse events will not be visible to -\fBncurses\fR(3X) (and the \fBwmousemask\fR function will always +\fBncurses\fR(3X) (and the \fBmousemask\fR function will always return \fB0\fR). .PP If the terminfo entry contains a \fBXM\fR string, @@ -276,14 +281,17 @@ for use with touch screens (which may be pressure-sensitive) or with 3D-mice/trackballs/power gloves. .SH BUGS Mouse events under xterm will not in fact be ignored during cooked mode, -if they have been enabled by \fBwmousemask\fR. +if they have been enabled by \fBmousemask\fR. Instead, the xterm mouse report sequence will appear in the string read. .PP Mouse events under xterm will not be detected correctly in a window with its keypad bit off, since they are interpreted as a variety of function key. -Your terminfo description must have \fBkmous\fR set to "\\E[M" (the beginning -of the response from xterm for mouse clicks). +Your terminfo description should have \fBkmous\fR set to "\\E[M" +(the beginning of the response from xterm for mouse clicks). +Other values for \fBkmous\fR are permitted, +but under the same assumption, +i.e., it is the beginning of the response. .PP Because there are no standard terminal responses that would serve to identify terminals which support the xterm mouse protocol, \fBncurses\fR assumes that @@ -291,7 +299,9 @@ if your $TERM environment variable contains "xterm", or \fBkmous\fR is defined in the terminal description, then the terminal may send mouse events. .SH SEE ALSO -\fBcurses\fR(3X). +\fBcurses\fR(3X), +\fBcurs_kernel\fR(3X), +\fBcurs_slk\fR(3X). .\"# .\"# The following sets edit modes for GNU EMACS .\"# Local Variables: diff --git a/contrib/ncurses/man/curs_opaque.3x b/contrib/ncurses/man/curs_opaque.3x new file mode 100644 index 0000000..6c9cfaa --- /dev/null +++ b/contrib/ncurses/man/curs_opaque.3x @@ -0,0 +1,133 @@ +.\"*************************************************************************** +.\" Copyright (c) 2007 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: curs_opaque.3x,v 1.6 2007/09/08 18:49:13 tom Exp $ +.TH curs_opaque 3X "" +.na +.hy 0 +.SH NAME +\fBis_cleared\fR, +\fBis_idlok\fR, +\fBis_idcok\fR, +\fBis_immedok\fR, +\fBis_keypad\fR, +\fBis_leaveok\fR, +\fBis_nodelay\fR, +\fBis_timeout\fR, +\fBis_scrollok\fR, +\fBis_syncok\fR - \fBcurses\fR window properties +.ad +.hy +.SH SYNOPSIS +\fB#include <curses.h>\fR +.sp +\fBbool is_cleared(const WINDOW *win);\fR +.br +\fBbool is_idcok(const WINDOW *win);\fR +.br +\fBbool is_idlok(const WINDOW *win);\fR +.br +\fBbool is_immedok(const WINDOW *win);\fR +.br +\fBbool is_keypad(const WINDOW *win);\fR +.br +\fBbool is_leaveok(const WINDOW *win);\fR +.br +\fBbool is_nodelay(const WINDOW *win);\fR +.br +\fBbool is_notimeout(const WINDOW *win);\fR +.br +\fBbool is_scrollok(const WINDOW *win);\fR +.br +\fBbool is_syncok(const WINDOW *win);\fR +.br +\fBWINDOW * wgetparent(const WINDOW *win);\fR +.br +\fBint wgetscrreg(const WINDOW *win, int *top, int *bottom);\fR +.br +.SH DESCRIPTION +This implementation provides functions which return properties +set in the WINDOW structure, allowing it to be ``opaque'' if +the symbol \fBNCURSES_OPAQUE\fR is defined: +.TP 5 +\fBis_cleared\fR +returns the value set in \fBclearok\fR +.TP 5 +\fBis_idcok\fR +returns the value set in \fBidcok\fR +.TP 5 +\fBis_idlok\fR +returns the value set in \fBidlok\fR +.TP 5 +\fBis_immedok\fR +returns the value set in \fBimmedok\fR +.TP 5 +\fBis_keypad\fR +returns the value set in \fBkeypad\fR +.TP 5 +\fBis_leaveok\fR +returns the value set in \fBleaveok\fR +.TP 5 +\fBis_nodelay\fR +returns the value set in \fBnodelay\fR +.TP 5 +\fBis_notimeout\fR +returns the value set in \fBnotimeout\fR +.TP 5 +\fBis_scrollok\fR +returns the value set in \fBscrollok\fR +.TP 5 +\fBis_syncok\fR +returns the value set in \fBsyncok\fR +.TP 5 +\fBwgetparent\fR +returns the parent WINDOW pointer for subwindows, +or NULL for windows having no parent. +.TP 5 +\fBwgetscrreg\fR +returns the top and bottom rows for the scrolling margin as set in \fBwsetscrreg\fP. +.SH RETURN VALUE +These functions all return TRUE or FALSE, except as noted. +.SH NOTES +Both a macro and a function are provided for each name. +.SH PORTABILITY +These routines are specific to ncurses. +They were not supported on Version 7, BSD or System V implementations. +It is recommended that any code depending on ncurses extensions +be conditioned using NCURSES_VERSION. +.SH SEE ALSO +\fBcurses\fR(3X), +\fBcurs_inopts\fR(3X), +\fBcurs_outopts\fR(3X), +\fBcurs_window\fR(3X) +.\"# +.\"# The following sets edit modes for GNU EMACS +.\"# Local Variables: +.\"# mode:nroff +.\"# fill-column:79 +.\"# End: diff --git a/contrib/ncurses/man/curs_outopts.3x b/contrib/ncurses/man/curs_outopts.3x index 5b986bb..3fd437a 100644 --- a/contrib/ncurses/man/curs_outopts.3x +++ b/contrib/ncurses/man/curs_outopts.3x @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2005,2007 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 * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_outopts.3x,v 1.20 2005/05/15 16:18:32 tom Exp $ +.\" $Id: curs_outopts.3x,v 1.21 2007/06/02 20:40:07 tom Exp $ .TH curs_outopts 3X "" .na .hy 0 @@ -91,7 +91,7 @@ This option should be enabled only if the application needs insert/delete line, for example, for a screen editor. It is disabled by default because insert/delete line tends to be visually annoying -when used in applications where it isn't really needed. +when used in applications where it is not really needed. If insert/delete line cannot be used, \fBcurses\fR redraws the changed portions of all lines. .PP diff --git a/contrib/ncurses/man/curs_printw.3x b/contrib/ncurses/man/curs_printw.3x index 7c1a41b..ead0f18 100644 --- a/contrib/ncurses/man/curs_printw.3x +++ b/contrib/ncurses/man/curs_printw.3x @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_printw.3x,v 1.16 2006/02/25 21:49:19 tom Exp $ +.\" $Id: curs_printw.3x,v 1.17 2006/12/24 16:05:17 tom Exp $ .TH curs_printw 3X "" .na .hy 0 @@ -55,12 +55,12 @@ .br .SH DESCRIPTION The \fBprintw\fR, \fBwprintw\fR, \fBmvprintw\fR and \fBmvwprintw\fR -routines are analogous to \fBprintf\fR [see \fBprintf\fR(3S)]. In +routines are analogous to \fBprintf\fR [see \fBprintf\fR(3)]. In effect, the string that would be output by \fBprintf\fR is output instead as though \fBwaddstr\fR were used on the given window. .PP The \fBvwprintw\fR and \fBwv_printw\fR routines are analogous -to \fBvprintf\fR [see \fBprintf\fR(3S)] +to \fBvprintf\fR [see \fBprintf\fR(3)] and perform a \fBwprintw\fR using a variable argument list. The third argument is a \fBva_list\fR, a pointer to a list of arguments, as defined in \fB<stdarg.h>\fR. @@ -85,7 +85,7 @@ cannot be used in the same file as \fB<stdarg.h>\fR. This implementation uses \fB<stdarg.h>\fR for both, because that header is included in \fB<curses.h\fR>. .SH SEE ALSO -\fBcurses\fR(3X), \fBprintf\fR(3S), \fBvprintf(3S)\fR +\fBcurses\fR(3X), \fBprintf\fR(3), \fBvprintf(3)\fR .\"# .\"# The following sets edit modes for GNU EMACS .\"# Local Variables: diff --git a/contrib/ncurses/man/curs_scanw.3x b/contrib/ncurses/man/curs_scanw.3x index 9f25b57..71ba9ee 100644 --- a/contrib/ncurses/man/curs_scanw.3x +++ b/contrib/ncurses/man/curs_scanw.3x @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_scanw.3x,v 1.13 2006/02/25 21:42:22 tom Exp $ +.\" $Id: curs_scanw.3x,v 1.14 2006/12/24 16:05:49 tom Exp $ .TH curs_scanw 3X "" .SH NAME \fBscanw\fR, @@ -50,7 +50,7 @@ \fBint vwscanw(WINDOW *win, char *fmt, va_list varglist);\fR .SH DESCRIPTION The \fBscanw\fR, \fBwscanw\fR and \fBmvscanw\fR routines are analogous to -\fBscanf\fR [see \fBscanf\fR(3S)]. The effect of these routines is as though +\fBscanf\fR [see \fBscanf\fR(3)]. The effect of these routines is as though \fBwgetstr\fR were called on the window, and the resulting line used as input for \fBsscanf\fR(3). Fields which do not map to a variable in the \fIfmt\fR field are lost. @@ -88,7 +88,7 @@ since the OK value (zero) is likely to be misleading. One possible way to get useful results would be to use a "%n" conversion at the end of the format string to ensure that something was processed. .SH SEE ALSO -\fBcurses\fR(3X), \fBcurs_getstr\fR(3X), \fBcurs_printw\fR(3X), \fBscanf\fR(3S) +\fBcurses\fR(3X), \fBcurs_getstr\fR(3X), \fBcurs_printw\fR(3X), \fBscanf\fR(3) .\"# .\"# The following sets edit modes for GNU EMACS .\"# Local Variables: diff --git a/contrib/ncurses/man/curs_scr_dump.3x b/contrib/ncurses/man/curs_scr_dump.3x index d432c0d..7884f6a 100644 --- a/contrib/ncurses/man/curs_scr_dump.3x +++ b/contrib/ncurses/man/curs_scr_dump.3x @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_scr_dump.3x,v 1.6 2006/02/25 21:49:19 tom Exp $ +.\" $Id: curs_scr_dump.3x,v 1.7 2006/12/24 16:05:49 tom Exp $ .TH curs_scr_dump 3X "" .na .hy 0 @@ -93,7 +93,7 @@ considered invalid "if the time-stamp of the tty is old" but do not define "old". .SH SEE ALSO \fBcurses\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_refresh\fR(3X), -\fBcurs_util\fR(3X), \fBsystem\fR(3S) +\fBcurs_util\fR(3X), \fBsystem\fR(3) .\"# .\"# The following sets edit modes for GNU EMACS .\"# Local Variables: diff --git a/contrib/ncurses/man/curs_slk.3x b/contrib/ncurses/man/curs_slk.3x index b946ff2..6361268 100644 --- a/contrib/ncurses/man/curs_slk.3x +++ b/contrib/ncurses/man/curs_slk.3x @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_slk.3x,v 1.15 2006/02/25 21:49:19 tom Exp $ +.\" $Id: curs_slk.3x,v 1.16 2007/06/02 20:40:07 tom Exp $ .TH curs_slk 3X "" .na .hy 0 @@ -95,7 +95,7 @@ labels of up to eight characters each. In addition to this, the ncurses implementation supports a mode where it simulates 12 labels of up to five characters each. This is most common for todays PC like enduser devices. Please note that ncurses simulates this mode by taking over up to two lines at -the bottom of the screen, it doesn't try to use any hardware support for this +the bottom of the screen, it does not try to use any hardware support for this mode. .PP The \fBslk_init\fR routine must be called before \fBinitscr\fR or \fBnewterm\fR diff --git a/contrib/ncurses/man/curs_termattrs.3x b/contrib/ncurses/man/curs_termattrs.3x index 48ff21c..1e07307 100644 --- a/contrib/ncurses/man/curs_termattrs.3x +++ b/contrib/ncurses/man/curs_termattrs.3x @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2003,2007 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 * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_termattrs.3x,v 1.9 2003/12/27 18:37:47 tom Exp $ +.\" $Id: curs_termattrs.3x,v 1.10 2007/06/02 20:40:07 tom Exp $ .TH curs_termattrs 3X "" .SH NAME \fBbaudrate\fR, @@ -101,7 +101,7 @@ overwritten by each call to \fBnewterm\fR and is not restored by \fBnewterm\fR if \fBlongname\fR is going to be used with multiple terminals. .PP -If a given terminal doesn't support a video attribute that an +If a given terminal does not support a video attribute that an application program is trying to use, \fBcurses\fR may substitute a different video attribute for it. The \fBtermattrs\fR and \fBterm_attrs\fR functions diff --git a/contrib/ncurses/man/curs_termcap.3x b/contrib/ncurses/man/curs_termcap.3x index e8072dc..93ac2fb 100644 --- a/contrib/ncurses/man/curs_termcap.3x +++ b/contrib/ncurses/man/curs_termcap.3x @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_termcap.3x,v 1.20 2006/02/25 21:50:01 tom Exp $ +.\" $Id: curs_termcap.3x,v 1.22 2007/06/02 20:40:07 tom Exp $ .TH curs_termcap 3X "" .ds n 5 .SH NAME @@ -122,7 +122,7 @@ Routines that return pointers return \fBNULL\fR on error. .SH BUGS If you call \fBtgetstr\fR to fetch \fBca\fR or any other parameterized string, be aware that it will be returned in terminfo notation, not the older and -not-quite-compatible termcap notation. This won't cause problems if all +not-quite-compatible termcap notation. This will not cause problems if all you do with it is call \fBtgoto\fR or \fBtparm\fR, which both expand terminfo-style strings as terminfo. (The \fBtgoto\fR function, if configured to support termcap, will check @@ -158,7 +158,7 @@ e.g., not distinguishing between input and output. In particular, some applications are reported to declare and/or modify \fBospeed\fR. .SH SEE ALSO -\fBcurses\fR(3X), \fBterminfo\fR(\*n), \fBputc\fR(3S). +\fBcurses\fR(3X), \fBterminfo\fR(\*n), \fBputc\fR(3). .\"# .\"# The following sets edit modes for GNU EMACS .\"# Local Variables: diff --git a/contrib/ncurses/man/curs_terminfo.3x b/contrib/ncurses/man/curs_terminfo.3x index 435ac35..5af0b8f 100644 --- a/contrib/ncurses/man/curs_terminfo.3x +++ b/contrib/ncurses/man/curs_terminfo.3x @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1999-2005,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1999-2006,2007 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 * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_terminfo.3x,v 1.24 2006/11/04 21:50:03 tom Exp $ +.\" $Id: curs_terminfo.3x,v 1.28 2007/05/26 20:09:06 tom Exp $ .TH curs_terminfo 3X "" .ds n 5 .na @@ -64,7 +64,7 @@ .br \fBint del_curterm(TERMINAL *\fR\fIoterm\fR\fB);\fR .br -\fBint restartterm(const char *\fR\fIterm\fR\fB, int \fR\fIfildes\fR\fB, int *\fR\fIerrret\fR\fB);\fR +\fBint restartterm(char *\fR\fIterm\fR\fB, int \fR\fIfildes\fR\fB, int *\fR\fIerrret\fR\fB);\fR .br \fBchar *tparm(char *\fR\fIstr\fR\fB, ...);\fR .br @@ -99,16 +99,22 @@ recommended. Initially, \fBsetupterm\fR should be called. Note that \fBsetupterm\fR is automatically called by \fBinitscr\fR and \fBnewterm\fR. This defines the set of terminal-dependent variables -[listed in \fBterminfo\fR(\*n)]. The \fBterminfo\fR variables +[listed in \fBterminfo\fR(\*n)]. +The \fBterminfo\fR variables \fBlines\fR and \fBcolumns\fR are initialized by \fBsetupterm\fR as -follows: If \fBuse_env(FALSE)\fR has been called, values for +follows: +.RS +.PP +If \fBuse_env(FALSE)\fR has been called, values for \fBlines\fR and \fBcolumns\fR specified in \fBterminfo\fR are used. +.PP Otherwise, if the environment variables \fBLINES\fR and \fBCOLUMNS\fR exist, their values are used. If these environment variables do not exist and the program is running in a window, the current window size is used. Otherwise, if the environment variables do not exist, the values for \fBlines\fR and \fBcolumns\fR specified in the \fBterminfo\fR database are used. +.RE .PP The header files \fBcurses.h\fR and \fBterm.h\fR should be included (in this order) to get the definitions for these strings, numbers, and flags. @@ -183,7 +189,8 @@ except that it is called after restoring memory to a previous state (for example, when reloading a game saved as a core image dump). It assumes that the windows and the input and output options are the same as when memory was saved, but the terminal type and baud rate may be different. Accordingly, -it saves various tty state bits, does a setupterm, and then restores the bits. +it saves various tty state bits, calls \fBsetupterm\fP, +and then restores the bits. .PP The \fBtparm\fR routine instantiates the string \fIstr\fR with parameters \fIpi\fR. A pointer is returned to the result of \fIstr\fR @@ -288,6 +295,9 @@ The function \fBsetterm\fR is not described in the XSI Curses standard and must be considered non-portable. All other functions are as described in the XSI curses standard. .PP +\fBsetupterm\fP copies the terminal name to the array \fBttytype\fP. +This is not part of X/Open Curses, but is assumed by some applications. +.PP In System V Release 4, \fBset_curterm\fR has an \fBint\fR return type and returns \fBOK\fR or \fBERR\fR. We have chosen to implement the XSI Curses semantics. @@ -309,7 +319,7 @@ the SCREEN data allocated in either \fBinitscr\fR or \fBnewterm\fR. So though it is documented as a terminfo function, \fBmvcur\fR is really a curses function which is not well specified. .PP -XSI states that the old location must be given. +XSI states that the old location must be given for \fBmvcur\fP. This implementation allows the caller to use -1's for the old ordinates. In that case, the old location is unknown. .PP @@ -317,7 +327,7 @@ Extended terminal capability names, e.g., as defined by \fBtic\ -x\fP, are not stored in the arrays described in this section. .SH SEE ALSO \fBcurses\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_kernel\fR(3X), \fBcurs_termcap\fR(3X), -\fBputc\fR(3S), \fBterminfo\fR(\*n) +\fBputc\fR(3), \fBterminfo\fR(\*n) .\"# .\"# The following sets edit modes for GNU EMACS .\"# Local Variables: diff --git a/contrib/ncurses/man/curs_trace.3x b/contrib/ncurses/man/curs_trace.3x index 560302c..ca74952 100644 --- a/contrib/ncurses/man/curs_trace.3x +++ b/contrib/ncurses/man/curs_trace.3x @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 2000-2002,2005 Free Software Foundation, Inc. * +.\" Copyright (c) 2000-2005,2007 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 * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_trace.3x,v 1.7 2005/05/15 17:02:54 tom Exp $ +.\" $Id: curs_trace.3x,v 1.8 2007/02/24 17:33:49 tom Exp $ .TH curs_trace 3X "" .na .hy 0 @@ -56,7 +56,7 @@ .br \fBchar *_nc_tracebits(void);\fR .br -\fBchar *_tracechar(const unsigned char ch);\fR +\fBchar *_tracechar(int);\fR .br \fBchar *_tracechtype(chtype ch);\fR .br diff --git a/contrib/ncurses/man/curs_util.3x b/contrib/ncurses/man/curs_util.3x index e78f999..4c8929a 100644 --- a/contrib/ncurses/man/curs_util.3x +++ b/contrib/ncurses/man/curs_util.3x @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: curs_util.3x,v 1.21 2006/08/26 14:17:48 tom Exp $ +.\" $Id: curs_util.3x,v 1.25 2007/05/26 21:44:42 tom Exp $ .TH curs_util 3X "" .na .hy 0 @@ -49,7 +49,7 @@ .sp \fBchar *unctrl(chtype c);\fR .br -\fBchar *wunctrl(cchar_t *c);\fR +\fBwchar_t *wunctrl(cchar_t *c);\fR .br \fBchar *keyname(int c);\fR .br @@ -146,6 +146,29 @@ returns an error if the associated \fBfwrite\fP calls return an error. The XSI Curses standard, Issue 4 describes these functions. It states that \fBunctrl\fR and \fBwunctrl\fR will return a null pointer if unsuccessful, but does not define any error conditions. +This implementation checks for three cases: +.RS +.TP 5 +- +the parameter is a 7-bit US-ASCII code. +This is the case that X/Open Curses documented. +.TP 5 +- +the parameter is in the range 128-159, i.e., a C1 control code. +If \fBuse_legacy_coding\fP has been called with a \fB2\fP parameter, +\fBunctrl\fP returns the parameter, i.e., a one-character string with +the parameter as the first character. +Otherwise, it returns ``~@'', ``~A'', etc., analogous to ``^@'', ``^A'', C0 controls. +.IP +X/Open Curses does not document whether \fBunctrl\fP can be called before +initializing curses. +This implementation permits that, +and returns the ``~@'', etc., values in that case. +.TP 5 +- +parameter values outside the 0 to 255 range. +\fBunctrl\fP returns a null pointer. +.RE .PP The SVr4 documentation describes the action of \fBfilter\fR only in the vaguest terms. The description here is adapted from the XSI Curses standard (which @@ -157,13 +180,24 @@ showing C1 controls from the upper-128 codes with a `~' prefix rather than `^'. Other implementations have different conventions. For example, they may show both sets of control characters with `^', and strip the parameter to 7 bits. -Or they may ignore C1 controls and treat all of the upper-1280 codes as +Or they may ignore C1 controls and treat all of the upper-128 codes as printable. This implementation uses 8 bits but does not modify the string to reflect locale. The \fBuse_legacy_coding\fP function allows the caller to change the output of \fBunctrl\fP. .PP +Likewise, the \fBmeta\fP function allows the caller to change the +output of \fBkeyname\fP, i.e., +it determines whether to use the `M-' prefix +for ``meta'' keys (codes in the range 128 to 255). +Both \fBuse_legacy_coding\fP and \fBmeta\fP succeed only after +curses is initialized. +X/Open Curses does not document the treatment of codes 128 to 159. +When treating them as ``meta'' keys +(or if \fBkeyname\fP is called before initializing curses), +this implementation returns strings ``M-^@'', ``M-^A'', etc. +.PP The \fBkeyname\fP function may return the names of user-defined string capabilities which are defined in the terminfo entry via the \fB-x\fP option of \fBtic\fP. @@ -178,11 +212,12 @@ It was not supported on Version 7, BSD or System V implementations. It is recommended that any code depending on ncurses extensions be conditioned using NCURSES_VERSION. .SH SEE ALSO -\fBuse_legacy_coding\fR(3), +\fBlegacy_coding\fR(3X), \fBcurses\fR(3X), \fBcurs_initscr\fR(3X), \fBcurs_kernel\fR(3X), -\fBcurs_scr_dump\fR(3X). +\fBcurs_scr_dump\fR(3X), +\fBlegacy_coding\fR(3X). .\"# .\"# The following sets edit modes for GNU EMACS .\"# Local Variables: diff --git a/contrib/ncurses/man/default_colors.3x b/contrib/ncurses/man/default_colors.3x index ce313e2..32518ba 100644 --- a/contrib/ncurses/man/default_colors.3x +++ b/contrib/ncurses/man/default_colors.3x @@ -28,7 +28,7 @@ .\" .\" Author: Thomas E. Dickey 1997,1999,2000,2005 .\" -.\" $Id: default_colors.3x,v 1.19 2006/02/25 21:49:19 tom Exp $ +.\" $Id: default_colors.3x,v 1.20 2006/12/24 15:02:53 tom Exp $ .TH default_colors 3X "" .SH NAME \fBuse_default_colors\fR, @@ -104,9 +104,8 @@ the \fIorig_pair\fP or \fIorig_colors\fP capability. If the \fIinitialize_pair\fP capability is found, this causes an error as well. .SH NOTES -Associated with this extension, the \fBinit_pair\fR(3X) function accepts -negative arguments to specify default foreground or background -colors. +Associated with this extension, the \fBinit_pair\fR function accepts +negative arguments to specify default foreground or background colors. .PP The \fIuse_default_colors()\fP function was added to support \fIded\fP. This is a full-screen application which uses curses to manage only part diff --git a/contrib/ncurses/man/form_driver.3x b/contrib/ncurses/man/form_driver.3x index c88e3be..85b1df8 100644 --- a/contrib/ncurses/man/form_driver.3x +++ b/contrib/ncurses/man/form_driver.3x @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2002,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: form_driver.3x,v 1.12 2006/11/04 18:51:00 tom Exp $ +.\" $Id: form_driver.3x,v 1.15 2007/06/02 22:56:49 tom Exp $ .TH form_driver 3X "" .SH NAME \fBform_driver\fR - command-processing loop of the form system @@ -38,7 +38,7 @@ int form_driver(FORM *form, int c); .SH DESCRIPTION Once a form has been posted (displayed), you should funnel input events to it through \fBform_driver\fR. This routine has two major input cases; either -the input is a form navigation request or it's a printable ASCII character. +the input is a form navigation request or it is a printable ASCII character. The form driver requests are as follows: .TP 5 REQ_NEXT_PAGE @@ -221,6 +221,57 @@ Display previous field choice. If the second argument is a printable ASCII character, the driver places it in the current position in the current field. If it is one of the forms requests listed above, that request is executed. +.SS MOUSE HANDLING +.PP +If the second argument is the KEY_MOUSE special key, the associated +mouse event is translated into one of the above pre-defined requests. +Currently only clicks in the user window (e.g. inside the form display +area or the decoration window) are handled. +.PP +If you click above the display region of the form: +.RS +.TP +a REQ_PREV_FIELD is generated for a single click, +.TP +a REQ_PREV_PAGE is generated for a double-click and +.TP +a REQ_FIRST_FIELD is generated for a triple-click. +.RE +.PP +If you click below the display region of the form: +.RS +.TP +a REQ_NEXT_FIELD is generated for a single click, +.TP +a REQ_NEXT_PAGE is generated for a double-click and +.TP +a REQ_LAST_FIELD is generated for a triple-click. +.RE +.PP +If you click at an field inside the display area of the form: +.RS +.TP 3 +- +the form cursor is positioned to that field. +.TP 3 +- +If you double-click a field, +the form cursor is positioned to that field +and \fBE_UNKNOWN_COMMAND\fR is returned. +This return value makes sense, +because a double click usually means that an field-specific action should +be returned. +It is exactly the purpose of this return value to signal that an +application specific command should be executed. +.TP 3 +- +If a translation +into a request was done, \fBform_driver\fR returns the result of this request. +.RE +.PP +If you clicked outside the user window or the mouse event couldn't be translated +into a form request an \fBE_REQUEST_DENIED\fR is returned. +.SS APPLICATION-DEFINED COMMANDS .PP If the second argument is neither printable ASCII nor one of the above pre-defined form requests, the driver assumes it is an application-specific diff --git a/contrib/ncurses/man/form_field_new.3x b/contrib/ncurses/man/form_field_new.3x index 168349e..6095de1 100644 --- a/contrib/ncurses/man/form_field_new.3x +++ b/contrib/ncurses/man/form_field_new.3x @@ -1,6 +1,6 @@ '\" t .\"*************************************************************************** -.\" Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -27,7 +27,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: form_field_new.3x,v 1.14 2006/11/04 17:12:00 tom Exp $ +.\" $Id: form_field_new.3x,v 1.16 2007/06/02 20:40:07 tom Exp $ .TH form_field_new 3X "" .SH NAME \fBform_field_new\fR - create and destroy form fields @@ -93,8 +93,8 @@ These routines emulate the System V forms library. They were not supported on Version 7 or BSD versions. .PP It may be unwise to count on the set of attributes copied by -\fBdup_field\fR(3X) being portable; the System V forms library documents are -not very explicit about what gets copied and what doesn't. +\fBdup_field\fR being portable; the System V forms library documents are +not very explicit about what gets copied and what does not. .SH AUTHORS Juergen Pfeifer. Manual pages and adaptation for new curses by Eric S. Raymond. diff --git a/contrib/ncurses/man/form_field_opts.3x b/contrib/ncurses/man/form_field_opts.3x index 87449f2..d505279 100644 --- a/contrib/ncurses/man/form_field_opts.3x +++ b/contrib/ncurses/man/form_field_opts.3x @@ -1,6 +1,6 @@ '\" t .\"*************************************************************************** -.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -27,20 +27,20 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: form_field_opts.3x,v 1.12 2006/11/04 17:12:00 tom Exp $ +.\" $Id: form_field_opts.3x,v 1.13 2007/02/24 17:34:27 tom Exp $ .TH form_field_opts 3X "" .SH NAME \fBform_field_opts\fR - set and get field options .SH SYNOPSIS \fB#include <form.h>\fR .br -int set_field_opts(FIELD *field, OPTIONS opts); +int set_field_opts(FIELD *field, Field_Options opts); .br -int field_opts_on(FIELD *field, OPTIONS opts); +int field_opts_on(FIELD *field, Field_Options opts); .br -int field_opts_off(FIELD *field, OPTIONS opts); +int field_opts_off(FIELD *field, Field_Options opts); .br -OPTIONS field_opts(const FIELD *field); +Field_Options field_opts(const FIELD *field); .br .SH DESCRIPTION The function \fBset_field_opts\fR sets all the given field's option bits (field diff --git a/contrib/ncurses/man/form_field_validation.3x b/contrib/ncurses/man/form_field_validation.3x index 175268b..2da52ef 100644 --- a/contrib/ncurses/man/form_field_validation.3x +++ b/contrib/ncurses/man/form_field_validation.3x @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: form_field_validation.3x,v 1.15 2006/11/04 17:14:19 tom Exp $ +.\" $Id: form_field_validation.3x,v 1.16 2006/12/24 16:08:08 tom Exp $ .TH form_field_validation 3X "" .SH NAME \fBform_field_validation\fR - data type validation for fields @@ -99,7 +99,7 @@ For details of the precision handling see \fBprintf's\fR man-page. TYPE_REGEXP Regular expression data. Requires a regular expression \fB(char *)\fR third argument; the data is valid if the regular expression matches it. Regular expressions -are in the format of \fBregcomp\fR(3X) and \fBregexec\fR(3X). Please notice +are in the format of \fBregcomp\fR and \fBregexec\fR. Please notice that the regular expression must match the whole field. If you have for example an eight character wide field, a regular expression "^[0-9]*$" always means that you have to fill all eight positions with digits. If you want to diff --git a/contrib/ncurses/man/form_hook.3x b/contrib/ncurses/man/form_hook.3x index 82b62c3..cd47a24 100644 --- a/contrib/ncurses/man/form_hook.3x +++ b/contrib/ncurses/man/form_hook.3x @@ -1,6 +1,6 @@ '\" t .\"*************************************************************************** -.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -27,28 +27,28 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: form_hook.3x,v 1.8 2006/11/04 17:12:00 tom Exp $ +.\" $Id: form_hook.3x,v 1.9 2007/02/24 17:34:18 tom Exp $ .TH form_hook 3X "" .SH NAME \fBform_hook\fR - set hooks for automatic invocation by applications .SH SYNOPSIS \fB#include <form.h>\fR .br -int set_field_init(FORM *form, void (*func)(FORM *)); +int set_field_init(FORM *form, Form_Hook func); .br -void (*)(FORM *) field_init(const FORM *form); +Form_Hook field_init(const FORM *form); .br -int set_field_term(FORM *form, void (*func)(FORM *)); +int set_field_term(FORM *form, Form_Hook func); .br -void (*)(FORM *) field_term(const FORM *form); +Form_Hook field_term(const FORM *form); .br -int set_form_init(FORM *form, void (*func)(FORM *)); +int set_form_init(FORM *form, Form_Hook func); .br -void (*)(FORM *) form_init(const FORM *form); +Form_Hook form_init(const FORM *form); .br -int set_form_term(FORM *form, void (*func)(FORM *)); +int set_form_term(FORM *form, Form_Hook func); .br -void (*)(FORM *) form_term(const FORM *form); +Form_Hook form_term(const FORM *form); .br .SH DESCRIPTION These functions make it possible to set hook functions to be called at various diff --git a/contrib/ncurses/man/form_opts.3x b/contrib/ncurses/man/form_opts.3x index 4bf5b1e..0caaae7 100644 --- a/contrib/ncurses/man/form_opts.3x +++ b/contrib/ncurses/man/form_opts.3x @@ -1,6 +1,6 @@ '\" t .\"*************************************************************************** -.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -27,20 +27,20 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: form_opts.3x,v 1.8 2006/11/04 17:12:00 tom Exp $ +.\" $Id: form_opts.3x,v 1.9 2007/02/24 17:34:36 tom Exp $ .TH form_opts 3X "" .SH NAME \fBform_opts\fR - set and get form options .SH SYNOPSIS \fB#include <form.h>\fR .br -int set_form_opts(FORM *form, OPTIONS opts); +int set_form_opts(FORM *form, Field_Options opts); .br -int form_opts_on(FORM *form, OPTIONS opts); +int form_opts_on(FORM *form, Field_Options opts); .br -int form_opts_off(FORM *form, OPTIONS opts); +int form_opts_off(FORM *form, Field_Options opts); .br -OPTIONS form_opts(const FORM *form); +Field_Options form_opts(const FORM *form); .br .SH DESCRIPTION The function \fBset_form_opts\fR sets all the given form's option bits (form diff --git a/contrib/ncurses/man/infocmp.1m b/contrib/ncurses/man/infocmp.1m index a7feb44..b1a88e7 100644 --- a/contrib/ncurses/man/infocmp.1m +++ b/contrib/ncurses/man/infocmp.1m @@ -27,14 +27,14 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: infocmp.1m,v 1.43 2006/05/13 15:14:01 tom Exp $ -.TH infocmp 1M "" +.\" $Id: infocmp.1m,v 1.44 2006/12/24 18:16:31 tom Exp $ +.TH @INFOCMP@ 1M "" .ds n 5 .ds d @TERMINFO@ .SH NAME -\fBinfocmp\fR - compare or print out \fIterminfo\fR descriptions +\fB@INFOCMP@\fR - compare or print out \fIterminfo\fR descriptions .SH SYNOPSIS -\fBinfocmp\fR [\fB-\ +\fB@INFOCMP@\fR [\fB-\ 1\ C\ E\ @@ -66,7 +66,7 @@ x\ .br [\fItermname\fR...] .SH DESCRIPTION -\fBinfocmp\fR can be used to compare a binary \fBterminfo\fR entry with other +\fB@INFOCMP@\fR can be used to compare a binary \fBterminfo\fR entry with other terminfo entries, rewrite a \fBterminfo\fR description to take advantage of the \fBuse=\fR terminfo field, or print out a \fBterminfo\fR description from the binary file (\fBterm\fR) in a variety of formats. In all cases, the boolean @@ -77,7 +77,7 @@ If no options are specified and zero or one \fItermnames\fR are specified, the \fB-I\fR option will be assumed. If more than one \fItermname\fR is specified, the \fB-d\fR option will be assumed. .SS Comparison Options [-d] [-c] [-n] -\fBinfocmp\fR compares the \fBterminfo\fR description of the first terminal +\fB@INFOCMP@\fR compares the \fBterminfo\fR description of the first terminal \fItermname\fR with each of the descriptions given by the entries for the other terminal's \fItermnames\fR. If a capability is defined for only one of the terminals, the value returned will depend on the type of the capability: @@ -114,7 +114,7 @@ used for the terminal name. .PP The source produced by the \fB-C\fR option may be used directly as a \fBtermcap\fR entry, but not all parameterized strings can be changed to -the \fBtermcap\fR format. \fBinfocmp\fR will attempt to convert most of the +the \fBtermcap\fR format. \fB@INFOCMP@\fR will attempt to convert most of the parameterized information, and anything not converted will be plainly marked in the output and commented out. These should be edited by hand. .PP @@ -162,7 +162,7 @@ analyzing the differences between the first \fItermname\fR and the other other terminals. In this manner, it is possible to retrofit generic terminfo entries into a terminal's description. Or, if two similar terminals exist, but were coded at different times or by different people so that each description -is a full description, using \fBinfocmp\fR will show what can be done to change +is a full description, using \fB@INFOCMP@\fR will show what can be done to change one description to be relative to the other. .PP A capability will get printed with an at-sign (@) if it no longer exists in the @@ -176,18 +176,18 @@ The order of the other \fItermname\fR entries is significant. Since the terminfo compiler \fBtic\fR does a left-to-right scan of the capabilities, specifying two \fBuse=\fR entries that contain differing entries for the same capabilities will produce different results depending on the order that the -entries are given in. \fBinfocmp\fR will flag any such inconsistencies between +entries are given in. \fB@INFOCMP@\fR will flag any such inconsistencies between the other \fItermname\fR entries as they are found. .PP Alternatively, specifying a capability \fIafter\fR a \fBuse=\fR entry that contains that capability will cause the second specification to be ignored. -Using \fBinfocmp\fR to recreate a description can be a useful check to make +Using \fB@INFOCMP@\fR to recreate a description can be a useful check to make sure that everything was specified correctly in the original source description. .PP Another error that does not cause incorrect compiled files, but will slow down the compilation time, is specifying extra \fBuse=\fR fields that are -superfluous. \fBinfocmp\fR will flag any other \fItermname use=\fR fields that +superfluous. \fB@INFOCMP@\fR will flag any other \fItermname use=\fR fields that were not needed. .SS Changing Databases [-A \fIdirectory\fR] [-B \fIdirectory\fR] The location of the compiled \fBterminfo\fR database is taken from the @@ -208,7 +208,7 @@ the fields will be printed several to a line to a maximum width of 60 characters. .TP \fB-a\fR -tells \fBinfocmp\fP to retain commented-out capabilities rather than discarding +tells \fB@INFOCMP@\fP to retain commented-out capabilities rather than discarding them. Capabilities are commented by prefixing them with a period. .TP 5 \fB-E\fR @@ -367,9 +367,9 @@ Normally when translating from terminfo to termcap, untranslatable capabilities are commented-out. .TP 5 \fB-U\fR -tells \fBinfocmp\fP to not post-process the data after parsing the source file. +tells \fB@INFOCMP@\fP to not post-process the data after parsing the source file. This feature helps when comparing the actual contents of two source files, -since it excludes the inferences that \fBinfocmp\fP makes to fill in missing +since it excludes the inferences that \fB@INFOCMP@\fP makes to fill in missing data. .TP 5 \fB-V\fR @@ -413,7 +413,7 @@ The \fB-r\fR option's notion of `termcap' capabilities is System V Release 4's. Actual BSD curses versions will have a more restricted set. To see only the 4.4BSD set, use \fB-r\fR \fB-RBSD\fR. .SH BUGS -The \fB-F\fR option of \fBinfocmp\fR(1M) should be a \fBtoe\fR(1M) mode. +The \fB-F\fR option of \fB@INFOCMP@\fR(1M) should be a \fB@TOE@\fR(1M) mode. .SH SEE ALSO \fB@CAPTOINFO@\fR(1M), \fB@INFOTOCAP@\fR(1M), diff --git a/contrib/ncurses/man/infotocap.1m b/contrib/ncurses/man/infotocap.1m index 1d20ef0..19160b4 100644 --- a/contrib/ncurses/man/infotocap.1m +++ b/contrib/ncurses/man/infotocap.1m @@ -27,16 +27,16 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: infotocap.1m,v 1.6 2006/05/13 15:35:45 tom Exp $ -.TH infotocap 1M "" +.\" $Id: infotocap.1m,v 1.8 2006/12/24 20:13:56 tom Exp $ +.TH @INFOTOCAP@ 1M "" .ds n 5 .ds d @TERMINFO@ .SH NAME -\fBinfotocap\fR - convert a \fIterminfo\fR description into a \fItermcap\fR description +\fB@INFOTOCAP@\fR - convert a \fIterminfo\fR description into a \fItermcap\fR description .SH SYNOPSIS -\fBinfotocap\fR [\fB-v\fR\fIn\fR \fIwidth\fR] [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR] \fIfile\fR . . . +\fB@INFOTOCAP@\fR [\fB-v\fR\fIn\fR \fIwidth\fR] [\fB-V\fR] [\fB-1\fR] [\fB-w\fR \fIwidth\fR] \fIfile\fR . . . .SH DESCRIPTION -\fBinfotocap\fR looks in \fIfile\fR for \fBterminfo\fR descriptions. For each +\fB@INFOTOCAP@\fR looks in \fIfile\fR for \fBterminfo\fR descriptions. For each one found, an equivalent \fBtermcap\fR description is written to standard output. Terminfo \fBuse\fR capabilities are translated directly to termcap \fBtc\fR capabilities. @@ -59,12 +59,12 @@ change the output to \fIwidth\fR characters. \*d Compiled terminal description database. .SH NOTES -This utility is actually a link to \fItic\fR(1M), running in \fI-C\fR mode. -You can use other \fItic\fR options such as \fB-f\fR and \fB-x\fR. +This utility is actually a link to \fI@TIC@\fR, running in \fI-C\fR mode. +You can use other \fI@TIC@\fR options such as \fB-f\fR and \fB-x\fR. .SH SEE ALSO \fBcurses\fR(3X), -\fBtic\fR(1M), -\fBinfocmp\fR(1M), +\fB@TIC@\fR(1M), +\fB@INFOCMP@\fR(1M), \fBterminfo\fR(\*n) .PP This describes \fBncurses\fR diff --git a/contrib/ncurses/man/legacy_coding.3x b/contrib/ncurses/man/legacy_coding.3x index b8b0561..42c49fe 100644 --- a/contrib/ncurses/man/legacy_coding.3x +++ b/contrib/ncurses/man/legacy_coding.3x @@ -28,7 +28,7 @@ .\" .\" Author: Thomas E. Dickey .\" -.\" $Id: legacy_coding.3x,v 1.2 2006/02/25 21:50:01 tom Exp $ +.\" $Id: legacy_coding.3x,v 1.3 2006/12/24 15:12:55 tom Exp $ .TH legacy_coding 3X "" .SH NAME \fBuse_legacy_coding\fR \- use terminal's default colors @@ -50,7 +50,7 @@ The \fIlevel\fP parameter controls the result: .TP 5 0 the library functions normally, -rendering nonprinting characters as described in \fBunctrl\fP(3X). +rendering nonprinting characters as described in \fBunctrl\fP. .TP 1 the library ignores \fBisprintf\fP for codes in the range 160-255. diff --git a/contrib/ncurses/man/man_db.renames b/contrib/ncurses/man/man_db.renames index 8e968ac..a84ae80 100644 --- a/contrib/ncurses/man/man_db.renames +++ b/contrib/ncurses/man/man_db.renames @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. # +# Copyright (c) 1998-2006,2007 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"), # @@ -25,7 +25,7 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: man_db.renames,v 0.36 2006/05/13 23:47:25 tom Exp $ +# $Id: man_db.renames,v 0.39 2007/04/07 23:06:31 tom Exp $ # Manual-page renamings for the man_db program # # Files: @@ -67,8 +67,10 @@ curs_insstr.3x insstr.3ncurses curs_instr.3x instr.3ncurses curs_inwstr.3x inwstr.3ncurses curs_kernel.3x kernel.3ncurses +curs_legacy.3x legacy.3ncurses curs_mouse.3x mouse.3ncurses curs_move.3x move.3ncurses +curs_opaque.3x opaque.3ncurses curs_outopts.3x outopts.3ncurses curs_overlay.3x overlay.3ncurses curs_pad.3x pad.3ncurses @@ -159,12 +161,15 @@ tset.1 tset.1 vprintf.3s vprintf.3 wresize.3x wresize.3ncurses # -# Other cross-references: -addch.3x addch.3ncurses -can_change_color.3x can_change_color.3ncurses -curs_attr_get.3x attr_get.3ncurses -dup_field.3x dup_field.3ncurses -init_pair.3x init_pair.3ncurses -# # Other: tack.1m tack.1 +# +getty.1 getty.8 +scanf.3 scanf.3 +ttys.5 ttys.4 +termio.7 termios.3 +system.3 system.3 +regcomp.3x regcomp.3 +regexec.3x regexec.3 +# +# vile:cfgmode diff --git a/contrib/ncurses/man/menu_driver.3x b/contrib/ncurses/man/menu_driver.3x index a256141..bf7d8770 100644 --- a/contrib/ncurses/man/menu_driver.3x +++ b/contrib/ncurses/man/menu_driver.3x @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: menu_driver.3x,v 1.12 2006/11/04 17:13:50 tom Exp $ +.\" $Id: menu_driver.3x,v 1.14 2007/06/02 22:50:09 tom Exp $ .TH menu_driver 3X "" .SH NAME \fBmenu_driver\fR - command-processing loop of the menu system @@ -38,7 +38,7 @@ int menu_driver(MENU *menu, int c); .SH DESCRIPTION Once a menu has been posted (displayed), you should funnel input events to it through \fBmenu_driver\fR. This routine has three major input cases; either -the input is a menu navigation request, it's a printable ASCII character or it +the input is a menu navigation request, it is a printable ASCII character or it is the KEY_MOUSE special key associated with an mouse event. The menu driver requests are as follows: .TP 5 @@ -100,25 +100,56 @@ the new pattern. If there is no such match, \fBmenu_driver\fR returns .PP If the second argument is one of the above pre-defined requests, the corresponding action is performed. +.SS MOUSE HANDLING .PP If the second argument is the KEY_MOUSE special key, the associated mouse event is translated into one of the above pre-defined requests. Currently only clicks in the user window (e.g. inside the menu display -area or the decoration window) are handled. If you click above the -display region of the menu, a REQ_SCR_ULINE is generated, if you -doubleclick a REQ_SCR_UPAGE is generated and if you tripleclick a -REQ_FIRST_ITEM is generated. If you click below the display region of -the menu, a REQ_SCR_DLINE is generated, if you doubleclick a REQ_SCR_DPAGE -is generated and if you tripleclick a REQ_LAST_ITEM is generated. If you -click at an item inside the display area of the menu, the menu cursor -is positioned to that item. If you double-click at an item a REQ_TOGGLE_ITEM -is generated and \fBE_UNKNOWN_COMMAND\fR is returned. This return value makes -sense, because a double click usually means that an item-specific action should -be returned. It's exactly the purpose of this return value to signal that an -application specific command should be executed. If a translation +area or the decoration window) are handled. +.PP +If you click above the display region of the menu: +.RS +.TP +a REQ_SCR_ULINE is generated for a single click, +.TP +a REQ_SCR_UPAGE is generated for a double-click and +.TP +a REQ_FIRST_ITEM is generated for a triple-click. +.RE +.PP +If you click below the display region of the menu: +.RS +.TP +a REQ_SCR_DLINE is generated for a single click, +.TP +a REQ_SCR_DPAGE is generated for a double-click and +.TP +a REQ_LAST_ITEM is generated for a triple-click. +.RE +.PP +If you click at an item inside the display area of the menu: +.RS +.TP 3 +- +the menu cursor is positioned to that item. +.TP 3 +- +If you double-click an item a REQ_TOGGLE_ITEM +is generated and \fBE_UNKNOWN_COMMAND\fR is returned. +This return value makes sense, +because a double click usually means that an item-specific action should +be returned. +It is exactly the purpose of this return value to signal that an +application specific command should be executed. +.TP 3 +- +If a translation into a request was done, \fBmenu_driver\fR returns the result of this request. +.RE +.PP If you clicked outside the user window or the mouse event couldn't be translated into a menu request an \fBE_REQUEST_DENIED\fR is returned. +.SS APPLICATION-DEFINED COMMANDS .PP If the second argument is neither printable ASCII nor one of the above pre-defined menu requests or KEY_MOUSE, the drive assumes it is an application-specific diff --git a/contrib/ncurses/man/menu_hook.3x b/contrib/ncurses/man/menu_hook.3x index 8405523..204e1ec 100644 --- a/contrib/ncurses/man/menu_hook.3x +++ b/contrib/ncurses/man/menu_hook.3x @@ -1,6 +1,6 @@ '\" t .\"*************************************************************************** -.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -27,28 +27,28 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: menu_hook.3x,v 1.8 2006/11/04 17:12:00 tom Exp $ +.\" $Id: menu_hook.3x,v 1.9 2007/02/24 17:34:08 tom Exp $ .TH menu_hook 3X "" .SH NAME \fBmenu_hook\fR - set hooks for automatic invocation by applications .SH SYNOPSIS \fB#include <menu.h>\fR .br -int set_item_init(MENU *menu, void (*func)(MENU *)); +int set_item_init(MENU *menu, Menu_Hook func); .br -void (*)(MENU *) item_init(const MENU *menu); +Menu_Hook item_init(const MENU *menu); .br -int set_item_term(MENU *menu, void (*func)(MENU *)); +int set_item_term(MENU *menu, Menu_Hook func); .br -void (*)(MENU *) item_term(const MENU *menu); +Menu_Hook item_term(const MENU *menu); .br -int set_menu_init(MENU *menu, void (*func)(MENU *)); +int set_menu_init(MENU *menu, Menu_Hook func); .br -void (*)(MENU *) menu_init(const MENU *menu); +Menu_Hook menu_init(const MENU *menu); .br -int set_menu_term(MENU *menu, void (*func)(MENU *)); +int set_menu_term(MENU *menu, Menu_Hook func); .br -void (*)(MENU *) menu_term(const MENU *menu); +Menu_Hook menu_term(const MENU *menu); .br .SH DESCRIPTION These functions make it possible to set hook functions to be called at various diff --git a/contrib/ncurses/man/menu_opts.3x b/contrib/ncurses/man/menu_opts.3x index 890b2c2..dc927c4 100644 --- a/contrib/ncurses/man/menu_opts.3x +++ b/contrib/ncurses/man/menu_opts.3x @@ -1,6 +1,6 @@ '\" t .\"*************************************************************************** -.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -27,20 +27,20 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: menu_opts.3x,v 1.9 2006/11/04 17:12:00 tom Exp $ +.\" $Id: menu_opts.3x,v 1.10 2007/02/24 17:33:59 tom Exp $ .TH menu_opts 3X "" .SH NAME \fBmenu_opts\fR - set and get menu options .SH SYNOPSIS \fB#include <menu.h>\fR .br -int set_menu_opts(MENU *menu, OPTIONS opts); +int set_menu_opts(MENU *menu, Menu_Options opts); .br -int menu_opts_on(MENU *menu, OPTIONS opts); +int menu_opts_on(MENU *menu, Menu_Options opts); .br -int menu_opts_off(MENU *menu, OPTIONS opts); +int menu_opts_off(MENU *menu, Menu_Options opts); .br -OPTIONS menu_opts(const MENU *menu); +Menu_Options menu_opts(const MENU *menu); .br .SH DESCRIPTION The function \fBset_menu_opts\fR sets all the given menu's option bits (menu diff --git a/contrib/ncurses/man/mitem_opts.3x b/contrib/ncurses/man/mitem_opts.3x index 2a4a876..2459dab 100644 --- a/contrib/ncurses/man/mitem_opts.3x +++ b/contrib/ncurses/man/mitem_opts.3x @@ -1,6 +1,6 @@ '\" t .\"*************************************************************************** -.\" Copyright (c) 1998,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -27,20 +27,20 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: mitem_opts.3x,v 1.8 2006/11/04 17:12:00 tom Exp $ +.\" $Id: mitem_opts.3x,v 1.9 2007/02/24 17:33:32 tom Exp $ .TH mitem_opts 3X "" .SH NAME \fBmitem_opts\fR - set and get menu item options .SH SYNOPSIS \fB#include <menu.h>\fR .br -int set_item_opts(ITEM *item, OPTIONS opts); +int set_item_opts(ITEM *item, Item_Options opts); .br -int item_opts_on(ITEM *item, OPTIONS opts); +int item_opts_on(ITEM *item, Item_Options opts); .br -int item_opts_off(ITEM *item, OPTIONS opts); +int item_opts_off(ITEM *item, Item_Options opts); .br -OPTIONS item_opts(const ITEM *item); +Item_Options item_opts(const ITEM *item); .br .SH DESCRIPTION The function \fBset_item_opts\fR sets all the given item's option bits (menu diff --git a/contrib/ncurses/man/ncurses.3x b/contrib/ncurses/man/ncurses.3x index 19678da..ac3d049 100644 --- a/contrib/ncurses/man/ncurses.3x +++ b/contrib/ncurses/man/ncurses.3x @@ -1,6 +1,6 @@ '\" t .\"*************************************************************************** -.\" Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -27,7 +27,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: ncurses.3x,v 1.81 2006/12/02 19:23:11 tom Exp $ +.\" $Id: ncurses.3x,v 1.89 2007/09/01 18:57:29 tom Exp $ .hy 0 .TH ncurses 3X "" .ds n 5 @@ -39,19 +39,27 @@ .br .SH DESCRIPTION The \fBncurses\fR library routines give the user a terminal-independent method -of updating character screens with reasonable optimization. This -implementation is ``new curses'' (ncurses) and is the approved replacement for +of updating character screens with reasonable optimization. +This implementation is ``new curses'' (ncurses) and +is the approved replacement for 4.4BSD classic curses, which has been discontinued. This describes \fBncurses\fR version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@). .PP -The \fBncurses\fR routines emulate the \fBcurses\fR(3X) library of System V -Release 4 UNIX, and the XPG4 curses standard (XSI curses) but the \fBncurses\fR -library is freely redistributable in source form. Differences from the SVr4 +The \fBncurses\fR library emulates the \fBcurses\fR(3X) library of +System V Release 4 UNIX, +and XPG4 (X/Open Portability Guide) curses (also known as XSI curses). +XSI stands for X/Open System Interfaces Extension. +The \fBncurses\fR library is freely redistributable in source form. +Differences from the SVr4 curses are summarized under the \fBEXTENSIONS\fP and \fBPORTABILITY\fP sections below and described in detail in the respective \fBEXTENSIONS\fP, \fBPORTABILITY\fP and \fBBUGS\fP sections of individual man pages. .PP +The \fBncurses\fR library also provides many useful extensions, +i.e., features which cannot be implemented by a simple add-on library +but which require access to the internals of the library. +.PP A program using these routines must be linked with the \fB-lncurses\fR option, or (if it has been generated) with the debugging library \fB-lncurses_g\fR. (Your system integrator may also have installed these libraries under @@ -68,8 +76,9 @@ and access to low-level terminal-manipulation routines. .PP To initialize the routines, the routine \fBinitscr\fR or \fBnewterm\fR must be called before any of the other routines that deal with windows -and screens are used. The routine \fBendwin\fR must be called before -exiting. To get character-at-a-time input without echoing (most +and screens are used. +The routine \fBendwin\fR must be called before exiting. +To get character-at-a-time input without echoing (most interactive, screen oriented programs want this), the following sequence should be used: .sp @@ -82,60 +91,72 @@ Most programs would additionally use the sequence: \fBkeypad(stdscr, TRUE);\fR .sp Before a \fBcurses\fR program is run, the tab stops of the terminal -should be set and its initialization strings, if defined, must be -output. This can be done by executing the \fBtput init\fR command +should be set and its initialization strings, if defined, must be output. +This can be done by executing the \fBtput init\fR command after the shell environment variable \fBTERM\fR has been exported. \fBtset(1)\fR is usually responsible for doing this. [See \fBterminfo\fR(\*n) for further details.] .PP The \fBncurses\fR library permits manipulation of data structures, called \fIwindows\fR, which can be thought of as two-dimensional -arrays of characters representing all or part of a CRT screen. A -default window called \fBstdscr\fR, which is the size of the terminal -screen, is supplied. Others may be created with \fBnewwin\fR. +arrays of characters representing all or part of a CRT screen. +A default window called \fBstdscr\fR, which is the size of the terminal +screen, is supplied. +Others may be created with \fBnewwin\fR. .PP Note that \fBcurses\fR does not handle overlapping windows, that's done by -the \fBpanel\fR(3X) library. This means that you can either use +the \fBpanel\fR(3X) library. +This means that you can either use \fBstdscr\fR or divide the screen into tiled windows and not using -\fBstdscr\fR at all. Mixing the two will result in unpredictable, and -undesired, effects. +\fBstdscr\fR at all. +Mixing the two will result in unpredictable, and undesired, effects. .PP Windows are referred to by variables declared as \fBWINDOW *\fR. These data structures are manipulated with routines described here and -elsewhere in the \fBncurses\fR manual pages. Among those, the most basic -routines are \fBmove\fR and \fBaddch\fR. More general versions of +elsewhere in the \fBncurses\fR manual pages. +Among those, the most basic +routines are \fBmove\fR and \fBaddch\fR. +More general versions of these routines are included with names beginning with \fBw\fR, -allowing the user to specify a window. The routines not beginning +allowing the user to specify a window. +The routines not beginning with \fBw\fR affect \fBstdscr\fR. .PP After using routines to manipulate a window, \fBrefresh\fR is called, telling \fBcurses\fR to make the user's CRT screen look like -\fBstdscr\fR. The characters in a window are actually of type +\fBstdscr\fR. +The characters in a window are actually of type \fBchtype\fR, (character and attribute data) so that other information about the character may also be stored with each character. .PP -Special windows called \fIpads\fR may also be manipulated. These are windows +Special windows called \fIpads\fR may also be manipulated. +These are windows which are not constrained to the size of the screen and whose contents need not -be completely displayed. See \fBcurs_pad\fR(3X) for more information. +be completely displayed. +See \fBcurs_pad\fR(3X) for more information. .PP In addition to drawing characters on the screen, video attributes and colors may be supported, causing the characters to show up in such modes as underlined, in reverse video, or in color on terminals that support such -display enhancements. Line drawing characters may be specified to be output. +display enhancements. +Line drawing characters may be specified to be output. On input, \fBcurses\fR is also able to translate arrow and function keys that -transmit escape sequences into single values. The video attributes, line +transmit escape sequences into single values. +The video attributes, line drawing characters, and input values use names, defined in \fB<curses.h>\fR, such as \fBA_REVERSE\fR, \fBACS_HLINE\fR, and \fBKEY_LEFT\fR. .PP If the environment variables \fBLINES\fR and \fBCOLUMNS\fR are set, or if the program is executing in a window environment, line and column information in -the environment will override information read by \fIterminfo\fR. This would -effect a program running in an AT&T 630 layer, for example, where the size of a +the environment will override information read by \fIterminfo\fR. +This would affect a program running in an AT&T 630 layer, +for example, where the size of a screen is changeable (see \fBENVIRONMENT\fR). .PP If the environment variable \fBTERMINFO\fR is defined, any program using \fBcurses\fR checks for a local terminal definition before checking in the -standard place. For example, if \fBTERM\fR is set to \fBatt4424\fR, then the +standard place. +For example, if \fBTERM\fR is set to \fBatt4424\fR, then the compiled terminal definition is found in .sp \fB\*d/a/att4424\fR. @@ -155,43 +176,100 @@ permission in \fB\*d\fR is not available. .PP The integer variables \fBLINES\fR and \fBCOLS\fR are defined in \fB<curses.h>\fR and will be filled in by \fBinitscr\fR with the size of the -screen. The constants \fBTRUE\fR and \fBFALSE\fR have the values \fB1\fR and +screen. +The constants \fBTRUE\fR and \fBFALSE\fR have the values \fB1\fR and \fB0\fR, respectively. .PP The \fBcurses\fR routines also define the \fBWINDOW *\fR variable \fBcurscr\fR which is used for certain low-level operations like clearing and redrawing a -screen containing garbage. The \fBcurscr\fR can be used in only a few -routines. -. +screen containing garbage. +The \fBcurscr\fR can be used in only a few routines. +.\" .SS Routine and Argument Names -Many \fBcurses\fR routines have two or more versions. The routines prefixed -with \fBw\fR require a window argument. The routines prefixed with \fBp\fR -require a pad argument. Those without a prefix generally use \fBstdscr\fR. +Many \fBcurses\fR routines have two or more versions. +The routines prefixed with \fBw\fR require a window argument. +The routines prefixed with \fBp\fR require a pad argument. +Those without a prefix generally use \fBstdscr\fR. .PP The routines prefixed with \fBmv\fR require a \fIy\fR and \fIx\fR -coordinate to move to before performing the appropriate action. The -\fBmv\fR routines imply a call to \fBmove\fR before the call to the -other routine. The coordinate \fIy\fR always refers to the row (of -the window), and \fIx\fR always refers to the column. The upper -left-hand corner is always (0,0), not (1,1). +coordinate to move to before performing the appropriate action. +The \fBmv\fR routines imply a call to \fBmove\fR before the call to the +other routine. +The coordinate \fIy\fR always refers to the row (of +the window), and \fIx\fR always refers to the column. +The upper left-hand corner is always (0,0), not (1,1). .PP The routines prefixed with \fBmvw\fR take both a window argument and -\fIx\fR and \fIy\fR coordinates. The window argument is always -specified before the coordinates. +\fIx\fR and \fIy\fR coordinates. +The window argument is always specified before the coordinates. .PP In each case, \fIwin\fR is the window affected, and \fIpad\fR is the pad affected; \fIwin\fR and \fIpad\fR are always pointers to type \fBWINDOW\fR. .PP Option setting routines require a Boolean flag \fIbf\fR with the value -\fBTRUE\fR or \fBFALSE\fR; \fIbf\fR is always of type \fBbool\fR. The -variables \fIch\fR and \fIattrs\fR below are always of type -\fBchtype\fR. The types \fBWINDOW\fR, \fBSCREEN\fR, \fBbool\fR, and -\fBchtype\fR are defined in \fB<curses.h>\fR. The type \fBTERMINAL\fR -is defined in \fB<term.h>\fR. All other arguments are integers. +\fBTRUE\fR or \fBFALSE\fR; \fIbf\fR is always of type \fBbool\fR. +Most of the data types used in the library routines, +such as \fBWINDOW\fR, \fBSCREEN\fR, \fBbool\fR, and \fBchtype\fR +are defined in \fB<curses.h>\fR. +Types used for the terminfo routines such as +\fBTERMINAL\fR are defined in \fB<term.h>\fR. +.PP +This manual page describes functions which may appear in any configuration +of the library. +There are two common configurations of the library: +.RS +.TP 5 +ncurses +the "normal" library, which handles 8-bit characters. +The normal (8-bit) library stores characters combined with attributes +in \fBchtype\fP data. +.IP +Attributes alone (no corresponding character) may be stored in \fBchtype\fP +or the equivalent \fBattr_t\fP data. +In either case, the data is stored in something like an integer. +.IP +Each cell (row and column) in a \fBWINDOW\fP is stored as a \fBchtype\fP. +.TP 5 +ncursesw +the so-called "wide" library, which handles multibyte characters +(See the section on \fBALTERNATE CONFIGURATIONS\fP). +The "wide" library includes all of the calls from the "normal" library. +It adds about one third more calls using data types which store +multibyte characters: +.RS +.TP 5 +.B cchar_t +corresponds to \fBchtype\fP. +However it is a structure, because more data is stored than can fit into +an integer. +The characters are large enough to require a full integer value - and there +may be more than one character per cell. +The video attributes and color are stored in separate fields of the structure. +.IP +Each cell (row and column) in a \fBWINDOW\fP is stored as a \fBcchar_t\fP. +.TP 5 +.B wchar_t +stores a "wide" character. +Like \fBchtype\fP, this may be an integer. +.TP 5 +.B wint_t +stores a \fBwchar_t\fP or \fBWEOF\fP - not the same, though both may have +the same size. +.RE +.IP +The "wide" library provides new functions which are analogous to +functions in the "normal" library. +There is a naming convention which relates many of the normal/wide variants: +a "_w" is inserted into the name. +For example, \fBwaddch\fP becomes \fBwadd_wch\fP. +.RE +.PP +.\" .SS Routine Name Index The following table lists each \fBcurses\fR routine and the name of -the manual page on which it is described. Routines flagged with `*' +the manual page on which it is described. +Routines flagged with `*' are ncurses-specific, not described by XPG4 or present in SVr4. .PP .TS @@ -275,15 +353,24 @@ flash/\fBcurs_beep\fR(3X) flushinp/\fBcurs_util\fR(3X) get_wch/\fBcurs_get_wch\fR(3X) get_wstr/\fBcurs_get_wstr\fR(3X) +getattrs/\fBcurs_attr\fR(3X) +getbegx/\fBcurs_legacy\fR(3X)* +getbegy/\fBcurs_legacy\fR(3X)* getbegyx/\fBcurs_getyx\fR(3X) getbkgd/\fBcurs_bkgd\fR(3X) getbkgrnd/\fBcurs_bkgrnd\fR(3X) getcchar/\fBcurs_getcchar\fR(3X) getch/\fBcurs_getch\fR(3X) +getcurx/\fBcurs_legacy\fR(3X)* +getcury/\fBcurs_legacy\fR(3X)* +getmaxx/\fBcurs_legacy\fR(3X)* +getmaxy/\fBcurs_legacy\fR(3X)* getmaxyx/\fBcurs_getyx\fR(3X) getmouse/\fBcurs_mouse\fR(3X)* getn_wstr/\fBcurs_get_wstr\fR(3X) getnstr/\fBcurs_getstr\fR(3X) +getparx/\fBcurs_legacy\fR(3X)* +getpary/\fBcurs_legacy\fR(3X)* getparyx/\fBcurs_getyx\fR(3X) getstr/\fBcurs_getstr\fR(3X) getsyx/\fBcurs_kernel\fR(3X) @@ -321,7 +408,18 @@ insstr/\fBcurs_insstr\fR(3X) instr/\fBcurs_instr\fR(3X) intrflush/\fBcurs_inopts\fR(3X) inwstr/\fBcurs_inwstr\fR(3X) +is_cleared/\fBcurs_opaque\fR(3X)* +is_idcok/\fBcurs_opaque\fR(3X)* +is_idlok/\fBcurs_opaque\fR(3X)* +is_immedok/\fBcurs_opaque\fR(3X)* +is_keypad/\fBcurs_opaque\fR(3X)* +is_leaveok/\fBcurs_opaque\fR(3X)* is_linetouched/\fBcurs_touch\fR(3X) +is_nodelay/\fBcurs_opaque\fR(3X)* +is_notimeout/\fBcurs_opaque\fR(3X)* +is_scrollok/\fBcurs_opaque\fR(3X)* +is_syncok/\fBcurs_opaque\fR(3X)* +is_term_resized/\fBresizeterm\fR(3X)* is_wintouched/\fBcurs_touch\fR(3X) isendwin/\fBcurs_initscr\fR(3X) key_defined/\fBkey_defined\fR(3X)* @@ -431,6 +529,7 @@ nl/\fBcurs_outopts\fR(3X) nocbreak/\fBcurs_inopts\fR(3X) nodelay/\fBcurs_inopts\fR(3X) noecho/\fBcurs_inopts\fR(3X) +nofilter/\fBcurs_util\fR(3X)* nonl/\fBcurs_outopts\fR(3X) noqiflush/\fBcurs_inopts\fR(3X) noraw/\fBcurs_inopts\fR(3X) @@ -519,6 +618,7 @@ untouchwin/\fBcurs_touch\fR(3X) use_default_colors/\fBdefault_colors\fR(3X)* use_env/\fBcurs_util\fR(3X) use_extended_names/\fBcurs_extend\fR(3X)* +use_legacy_coding/\fBlegacy_coding\fR(3X)* vid_attr/\fBcurs_terminfo\fR(3X) vid_puts/\fBcurs_terminfo\fR(3X) vidattr/\fBcurs_terminfo\fR(3X) @@ -617,16 +717,16 @@ integer value other than \fBERR\fR upon successful completion, unless otherwise noted in the routine descriptions. .PP All macros return the value of the \fBw\fR version, except \fBsetscrreg\fR, -\fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and \fBgetmaxyx\fR. The return -values of \fBsetscrreg\fR, \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and +\fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and \fBgetmaxyx\fR. +The return values of \fBsetscrreg\fR, \fBwsetscrreg\fR, \fBgetyx\fR, \fBgetbegyx\fR, and \fBgetmaxyx\fR are undefined (i.e., these should not be used as the right-hand side of assignment statements). .PP Routines that return pointers return \fBNULL\fR on error. .SH ENVIRONMENT The following environment symbols are useful for customizing the -runtime behavior of the \fBncurses\fR library. The most important -ones have been already discussed in detail. +runtime behavior of the \fBncurses\fR library. +The most important ones have been already discussed in detail. .TP 5 BAUDRATE The debugging library checks this environment symbol when the application @@ -722,7 +822,7 @@ If it is not specified, \fBncurses\fR uses 132. NCURSES_ASSUMED_COLORS Override the compiled-in assumption that the terminal's default colors are white-on-black -(see \fBassume_default_colors\fR(3X)). +(see \fBdefault_colors\fR(3X)). You may set the foreground and background color values with this environment variable by proving a 2-element list: foreground,background. For example, to tell ncurses to not assume anything @@ -739,7 +839,7 @@ You can also adjust your \fBstty\fP settings to avoid the problem. .TP 5 NCURSES_NO_MAGIC_COOKIES Some terminals use a magic-cookie feature which requires special handling -to make highlighting and other video attributes display properly. +to make highlighting and other video attributes display properly. You can suppress the highlighting entirely for these terminals by setting this environment variable. .TP 5 @@ -761,18 +861,21 @@ is for your program to do this by pausing after operations that the terminal does slowly, such as clearing the display. .IP As a result, many terminal descriptions (including the vt100) -have delay times embedded. You may wish to use these descriptions, +have delay times embedded. +You may wish to use these descriptions, but not want to pay the performance penalty. .IP Set the NCURSES_NO_PADDING symbol to disable all but mandatory -padding. Mandatory padding is used as a part of special control +padding. +Mandatory padding is used as a part of special control sequences such as \fIflash\fR. .TP 5 NCURSES_NO_SETBUF Normally \fBncurses\fR enables buffered output during terminal initialization. This is done (as in SVr4 curses) for performance reasons. For testing purposes, both of \fBncurses\fR and certain applications, -this feature is made optional. Setting the NCURSES_NO_SETBUF variable +this feature is made optional. +Setting the NCURSES_NO_SETBUF variable disables output buffering, leaving the output in the original (usually line buffered) mode. .TP 5 @@ -944,12 +1047,14 @@ descriptions. .SH EXTENSIONS The \fBncurses\fR library can be compiled with an option (\fB-DUSE_GETCAP\fR) that falls back to the old-style /etc/termcap file if the terminal setup code -cannot find a terminfo entry corresponding to \fBTERM\fR. Use of this feature +cannot find a terminfo entry corresponding to \fBTERM\fR. +Use of this feature is not recommended, as it essentially includes an entire termcap compiler in the \fBncurses\fR startup code, at significant cost in core and startup cycles. .PP The \fBncurses\fR library includes facilities for capturing mouse events on -certain terminals (including xterm). See the \fBcurs_mouse\fR(3X) +certain terminals (including xterm). +See the \fBcurs_mouse\fR(3X) manual page for details. .PP The \fBncurses\fR library includes facilities for responding to window @@ -974,38 +1079,48 @@ control over color contrasts. See the \fBdefault_colors\fR(3X) manual page for details. .PP The \fBncurses\fR library includes a function for directing application output -to a printer attached to the terminal device. See the \fBcurs_print\fR(3X) -manual page for details. +to a printer attached to the terminal device. +See the \fBcurs_print\fR(3X) manual page for details. .SH PORTABILITY -The \fBncurses\fR library is intended to be BASE-level conformant with the XSI -Curses standard. The EXTENDED XSI Curses functionality +The \fBncurses\fR library is intended to be BASE-level conformant with XSI +Curses. +The EXTENDED XSI Curses functionality (including color support) is supported. .PP A small number of local differences (that is, individual differences between the XSI Curses and \fBncurses\fR calls) are described in \fBPORTABILITY\fR sections of the library man pages. .PP -The routine \fBhas_key\fR is not part of XPG4, nor is it present in SVr4. See -the \fBcurs_getch\fR(3X) manual page for details. +This implementation also contains several extensions: +.RS 5 +.PP +The routine \fBhas_key\fR is not part of XPG4, nor is it present in SVr4. +See the \fBcurs_getch\fR(3X) manual page for details. .PP -The routine \fBslk_attr\fR is not part of XPG4, nor is it present in SVr4. See -the \fBcurs_slk\fR(3X) manual page for details. +The routine \fBslk_attr\fR is not part of XPG4, nor is it present in SVr4. +See the \fBcurs_slk\fR(3X) manual page for details. .PP The routines \fBgetmouse\fR, \fBmousemask\fR, \fBungetmouse\fR, \fBmouseinterval\fR, and \fBwenclose\fR relating to mouse interfacing are not -part of XPG4, nor are they present in SVr4. See the \fBcurs_mouse\fR(3X) -manual page for details. +part of XPG4, nor are they present in SVr4. +See the \fBcurs_mouse\fR(3X) manual page for details. .PP -The routine \fBmcprint\fR was not present in any previous curses -implementation. See the \fBcurs_print\fR(3X) manual page for details. +The routine \fBmcprint\fR was not present in any previous curses implementation. +See the \fBcurs_print\fR(3X) manual page for details. .PP -The routine \fBwresize\fR is not part of XPG4, nor is it present in SVr4. See -the \fBwresize\fR(3X) manual page for details. +The routine \fBwresize\fR is not part of XPG4, nor is it present in SVr4. +See the \fBwresize\fR(3X) manual page for details. +.PP +The WINDOW structure's internal details can be hidden from application +programs. +See \fBcurs_opaque\fR(3X) for the discussion of \fBis_scrollok\fR, etc. +.RE .PP In historic curses versions, delays embedded in the capabilities \fBcr\fR, \fBind\fR, \fBcub1\fR, \fBff\fR and \fBtab\fR activated corresponding delay -bits in the UNIX tty driver. In this implementation, all padding is done by -NUL sends. This method is slightly more expensive, but narrows the interface +bits in the UNIX tty driver. +In this implementation, all padding is done by sending NUL bytes. +This method is slightly more expensive, but narrows the interface to the UNIX kernel significantly and increases the package's portability correspondingly. .SH NOTES @@ -1013,8 +1128,8 @@ The header file \fB<curses.h>\fR automatically includes the header files \fB<stdio.h>\fR and \fB<unctrl.h>\fR. .PP If standard output from a \fBncurses\fR program is re-directed to something -which is not a tty, screen updates will be directed to standard error. This -was an undocumented feature of AT&T System V Release 3 curses. +which is not a tty, screen updates will be directed to standard error. +This was an undocumented feature of AT&T System V Release 3 curses. .SH AUTHORS Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. Based on pcurses by Pavel Curtis. diff --git a/contrib/ncurses/man/panel.3x b/contrib/ncurses/man/panel.3x index 2896f01..719a9e6 100644 --- a/contrib/ncurses/man/panel.3x +++ b/contrib/ncurses/man/panel.3x @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: panel.3x,v 1.12 2006/05/13 15:35:45 tom Exp $ +.\" $Id: panel.3x,v 1.14 2007/05/12 20:45:20 tom Exp $ .TH panel 3X "" .ds n 5 .ds d @TERMINFO@ @@ -84,13 +84,13 @@ Panel routines are a functional layer added to \fBcurses\fR(3X), make only high-level curses calls, and work anywhere terminfo curses does. .SH FUNCTIONS .TP -\fBnew_panel(win)\fR +.B new_panel(win) allocates a \fBPANEL\fR structure, associates it with \fBwin\fR, places the panel on the top of the stack (causes it to be displayed above any other panel) and returns a pointer to the new panel. .TP -\fBvoid update_panels()\fR +.B update_panels() refreshes the virtual screen to reflect the relations between the panels in the stack, but does not call doupdate() to refresh the physical screen. Use this function and not wrefresh or wnoutrefresh. @@ -98,52 +98,57 @@ update_panels() may be called more than once before a call to doupdate(), but doupdate() is the function responsible for updating the physical screen. .TP -\fBdel_panel(pan)\fR +.B del_panel(pan) removes the given panel from the stack and deallocates the \fBPANEL\fR structure (but not its associated window). .TP -\fBhide_panel(pan)\fR +.B hide_panel(pan) removes the given panel from the panel stack and thus hides it from view. The \fBPANEL\fR structure is not lost, merely removed from the stack. .TP -\fBshow_panel(pan)\fR +.B panel_hidden(pan) +returns TRUE if the panel is in the panel stack, +FALSE if it is not. +If the panel is a null pointer, return ERR. +.TP +.B show_panel(pan) makes a hidden panel visible by placing it on top of the panels in the panel stack. See COMPATIBILITY below. .TP -\fBtop_panel(pan)\fR +.B top_panel(pan) puts the given visible panel on top of all panels in the stack. See COMPATIBILITY below. .TP -\fBbottom_panel(pan)\fR +.B bottom_panel(pan) puts panel at the bottom of all panels. .TP -\fBmove_panel(pan,starty,startx)\fR +.B move_panel(pan,starty,startx) moves the given panel window so that its upper-left corner is at \fBstarty\fR, \fBstartx\fR. It does not change the position of the panel in the stack. Be sure to use this function, not \fBmvwin()\fR, to move a panel window. .TP -\fBreplace_panel(pan,window)\fR +.B replace_panel(pan,window) replaces the current window of panel with \fBwindow\fR (useful, for example if you want to resize a panel; if you're using \fBncurses\fR, you can call \fBreplace_panel\fR on the output of \fBwresize\fR(3X)). It does not change the position of the panel in the stack. .TP -\fBpanel_above(pan)\fR +.B panel_above(pan) returns a pointer to the panel above pan. If the panel argument is \fB(PANEL *)0\fR, it returns a pointer to the bottom panel in the stack. .TP -\fBpanel_below(pan)\fR +.B panel_below(pan) returns a pointer to the panel just below pan. If the panel argument is \fB(PANEL *)0\fR, it returns a pointer to the top panel in the stack. .TP -\fBset_panel_userptr(pan,ptr)\fR +.B set_panel_userptr(pan,ptr) sets the panel's user pointer. .TP -\fBpanel_userptr(pan)\fR +.B panel_userptr(pan) returns the user pointer for a given panel. .TP -\fBpanel_window(pan)\fR +.B panel_window(pan) returns a pointer to the window of the given panel. .SH DIAGNOSTICS Each routine that returns a pointer returns \fBNULL\fR if an error diff --git a/contrib/ncurses/man/term.5 b/contrib/ncurses/man/term.5 index cd7e79a..19af62a 100644 --- a/contrib/ncurses/man/term.5 +++ b/contrib/ncurses/man/term.5 @@ -26,8 +26,8 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: term.5,v 1.17 2006/12/03 01:08:16 tom Exp $ -.TH TERM 5 +.\" $Id: term.5,v 1.19 2006/12/24 18:12:38 tom Exp $ +.TH term 5 .ds n 5 .ds d @TERMINFO@ .SH NAME @@ -74,7 +74,7 @@ An 8 or more bit byte is assumed, but no assumptions about byte ordering or sign extension are made. .PP The compiled file is created with the -.I tic +.B @TIC@ program, and read by the routine .IR setupterm . The file is divided into six parts: diff --git a/contrib/ncurses/man/term.7 b/contrib/ncurses/man/term.7 index 0a77cf6..7eda6fb 100644 --- a/contrib/ncurses/man/term.7 +++ b/contrib/ncurses/man/term.7 @@ -1,5 +1,5 @@ .\"*************************************************************************** -.\" Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. * +.\" Copyright (c) 1998-2006,2007 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 * @@ -26,8 +26,8 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: term.7,v 1.15 2006/02/25 21:47:06 tom Exp $ -.TH TERM 7 +.\" $Id: term.7,v 1.18 2007/06/02 20:40:07 tom Exp $ +.TH term 7 .ds n 5 .ds d @TERMINFO@ .SH NAME @@ -66,14 +66,14 @@ which you wish to override the system default type for your line. Terminal type descriptions are stored as files of capability data underneath \*d. To browse a list of all terminal names recognized by the system, do .sp - toe | more + @TOE@ | more .sp from your shell. These capability files are in a binary format optimized for retrieval speed (unlike the old text-based \fBtermcap\fR format they replace); -to examine an entry, you must use the \fBinfocmp\fR(1) command. Invoke it as -follows: +to examine an entry, you must use the \fB@INFOCMP@\fR(1M) command. +Invoke it as follows: .sp - infocmp \fIentry-name\fR + @INFOCMP@ \fIentry-name\fR .sp where \fIentry-name\fR is the name of the type you wish to examine (and the name of its capability file the subdirectory of \*d named for its first @@ -119,7 +119,7 @@ i.e. \fBlinux\fR, \fBbsdos\fR, \fBfreebsd\fR, \fBnetbsd\fR. It should multi-platform environment! If a model number follows, it should indicate either the OS release level or the console driver release level. .PP -The root name for a terminal emulator (assuming it doesn't fit one of the +The root name for a terminal emulator (assuming it does not fit one of the standard ANSI or vt100 types) should be the program name or a readily recognizable abbreviation of it (i.e. \fBversaterm\fR, \fBctrm\fR). .PP diff --git a/contrib/ncurses/man/terminfo.head b/contrib/ncurses/man/terminfo.head index 28006d3..7455675 100644 --- a/contrib/ncurses/man/terminfo.head +++ b/contrib/ncurses/man/terminfo.head @@ -26,8 +26,8 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: terminfo.head,v 1.13 2006/05/13 15:35:45 tom Exp $ -.TH TERMINFO 5 "" "" "File Formats" +.\" $Id: terminfo.head,v 1.16 2007/03/04 00:09:46 tom Exp $ +.TH terminfo 5 "" "" "File Formats" .ds n 5 .ds d @TERMINFO@ .SH NAME @@ -51,7 +51,7 @@ version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@). Entries in .I terminfo consist of a sequence of `,' separated fields (embedded commas may be -escaped with a backslash or notated as \e054). +escaped with a backslash or notated as \\054). White space after the `,' separator is ignored. The first entry for each terminal gives the names which are known for the terminal, separated by `|' characters. @@ -62,14 +62,14 @@ All names but the last should be in lower case and contain no blanks; the last name may well contain upper case and blanks for readability. .PP Lines beginning with a `#' in the first column are treated as comments. -While comment lines are legal at any point, the output of \fIcaptoinfo\fP -and \fIinfotocap\fP (aliases for \fItic\fP) +While comment lines are legal at any point, the output of \fB@CAPTOINFO@\fP +and \fB@INFOTOCAP@\fP (aliases for \fB@TIC@\fP) will move comments so they occur only between entries. .PP Newlines and leading tabs may be used for formatting entries for readability. These are removed from parsed entries. -The \fIinfocmp\ -f\fP option relies on this to format if-then-else expressions: -the result can be read by \fItic\fP. +The \fB@INFOCMP@\ -f\fP option relies on this to format if-then-else expressions: +the result can be read by \fB@TIC@\fP. .PP Terminal names (except for the last, verbose entry) should be chosen using the following conventions. diff --git a/contrib/ncurses/man/terminfo.tail b/contrib/ncurses/man/terminfo.tail index fa9a90d..60d0b70 100644 --- a/contrib/ncurses/man/terminfo.tail +++ b/contrib/ncurses/man/terminfo.tail @@ -1,11 +1,11 @@ -.\" $Id: terminfo.tail,v 1.44 2006/04/01 22:47:01 tom Exp $ +.\" $Id: terminfo.tail,v 1.48 2007/06/02 20:30:40 tom Exp $ .\" Beginning of terminfo.tail file .\" This file is part of ncurses. .\" See "terminfo.head" for copyright. .ps +1 -.. +. .SS A Sample Entry -.. +. The following entry, describing an ANSI-standard terminal, is representative of what a \fBterminfo\fR entry for a modern terminal typically looks like. .PP @@ -297,7 +297,7 @@ while the Lear Siegler \s-1ADM-3\s0 is described as Cursor addressing and other strings requiring parameters in the terminal are described by a parameterized string capability, with -.IR printf (3S) +.IR printf (3) like escapes \fB%x\fR in it. For example, to address the cursor, the .B cup @@ -395,7 +395,7 @@ It is possible to form else-if's a la Algol 68: .IP where c\di\u are conditions, b\di\u are bodies. .IP -Use the \fB-f\fP option of \fBtic\fP or \fBinfocmp\fP to see +Use the \fB-f\fP option of \fBtic\fP or \fB@INFOCMP@\fP to see the structure of if-the-else's. Some strings, e.g., \fBsgr\fP can be very complicated when written on one line. @@ -993,7 +993,7 @@ with the rest of the terminfo description. They are normally sent to the terminal, by the .I init option of the -.IR tput +.IR @TPUT@ program, each time the user logs in. They will be printed in the following order: .RS @@ -1578,7 +1578,7 @@ and the application has only allocated a 1k buffer, * and the termcap library (like the one in BSD/OS 1.1 and GNU) reads the whole entry into the buffer, no matter what its length, to see -if it's the entry it wants, +if it is the entry it wants, .TP 5 * and \fBtgetent()\fP is searching for a terminal type that either is the @@ -1599,19 +1599,19 @@ here but will return incorrect data for the terminal. .PP The "after tc expansion" length will have a similar effect to the above, but only for people who actually set TERM to that terminal -type, since \fBtgetent()\fP only does "tc" expansion once it's found the +type, since \fBtgetent()\fP only does "tc" expansion once it is found the terminal type it was looking for, not while searching. .PP In summary, a termcap entry that is longer than 1023 bytes can cause, on various combinations of termcap libraries and applications, a core dump, warnings, or incorrect operation. -If it's too long even before +If it is too long even before "tc" expansion, it will have this effect even for users of some other terminal types and users whose TERM variable does not have a termcap entry. .PP When in -C (translate to termcap) mode, the \fBncurses\fR implementation of -\fBtic\fR(1) issues warning messages when the pre-tc length of a termcap +\fB@TIC@\fR(1M) issues warning messages when the pre-tc length of a termcap translation is too long. The -c (check) option also checks resolved (after tc expansion) lengths. @@ -1688,7 +1688,7 @@ files containing terminal descriptions \fB@TIC@\fR(1M), \fB@INFOCMP@\fR(1M), \fBcurses\fR(3X), -\fBprintf\fR(3S), +\fBprintf\fR(3), \fBterm\fR(\*n). .SH AUTHORS Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey. diff --git a/contrib/ncurses/man/tic.1m b/contrib/ncurses/man/tic.1m index f13e0fd..343ec32 100644 --- a/contrib/ncurses/man/tic.1m +++ b/contrib/ncurses/man/tic.1m @@ -26,8 +26,8 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: tic.1m,v 1.43 2006/05/13 15:14:01 tom Exp $ -.TH tic 1M "" +.\" $Id: tic.1m,v 1.44 2006/12/24 17:59:11 tom Exp $ +.TH @TIC@ 1M "" .ds n 5 .ds d @TERMINFO@ .SH NAME @@ -92,7 +92,7 @@ Otherwise these are ignored. .TP \fB-C\fR Force source translation to termcap format. Note: this differs from the \fB-C\fR -option of \fIinfocmp\fR(1M) in that it does not merely translate capability +option of \fB@INFOCMP@\fR(1M) in that it does not merely translate capability names, but also translates terminfo strings to termcap format. Capabilities that are not translatable are left in the entry under their terminfo names but commented out with two preceding dots. diff --git a/contrib/ncurses/man/toe.1m b/contrib/ncurses/man/toe.1m index 1419674..36cc3d0 100644 --- a/contrib/ncurses/man/toe.1m +++ b/contrib/ncurses/man/toe.1m @@ -26,8 +26,8 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: toe.1m,v 1.18 2006/05/13 15:14:01 tom Exp $ -.TH toe 1M "" +.\" $Id: toe.1m,v 1.20 2006/12/24 17:20:37 tom Exp $ +.TH @TOE@ 1M "" .ds n 5 .ds d @TERMINFO@ .SH NAME @@ -67,7 +67,7 @@ followed by a newline. specifies that (verbose) output be written to standard error, showing \fBtoe\fR's progress. The optional parameter \fIn\fR is a number from 1 to 10, -interpreted as for \fBtic\fR(1). +interpreted as for \fB@TIC@\fR(1M). .TP \fB-V\fR reports the version of ncurses which was used in this program, and exits. diff --git a/contrib/ncurses/man/tput.1 b/contrib/ncurses/man/tput.1 index 4de0b73..bada0b1 100644 --- a/contrib/ncurses/man/tput.1 +++ b/contrib/ncurses/man/tput.1 @@ -27,27 +27,27 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: tput.1,v 1.25 2006/05/13 15:14:01 tom Exp $ -.TH tput 1 "" +.\" $Id: tput.1,v 1.27 2006/12/24 18:11:31 tom Exp $ +.TH @TPUT@ 1 "" .ds d @TERMINFO@ .ds n 1 .SH NAME -\fBtput\fR, \fBreset\fR - initialize a terminal or query terminfo database +\fB@TPUT@\fR, \fBreset\fR - initialize a terminal or query terminfo database .SH SYNOPSIS -\fBtput\fR [\fB-T\fR\fItype\fR] \fIcapname\fR [\fIparms\fR ... ] +\fB@TPUT@\fR [\fB-T\fR\fItype\fR] \fIcapname\fR [\fIparms\fR ... ] .br -\fBtput\fR [\fB-T\fR\fItype\fR] \fBinit\fR +\fB@TPUT@\fR [\fB-T\fR\fItype\fR] \fBinit\fR .br -\fBtput\fR [\fB-T\fR\fItype\fR] \fBreset\fR +\fB@TPUT@\fR [\fB-T\fR\fItype\fR] \fBreset\fR .br -\fBtput\fR [\fB-T\fR\fItype\fR] \fBlongname\fR +\fB@TPUT@\fR [\fB-T\fR\fItype\fR] \fBlongname\fR .br -\fBtput -S\fR \fB<<\fR +\fB@TPUT@ -S\fR \fB<<\fR .br -\fBtput -V\fR +\fB@TPUT@ -V\fR .br .SH DESCRIPTION -The \fBtput\fR utility uses the \fBterminfo\fR database to make the +The \fB@TPUT@\fR utility uses the \fBterminfo\fR database to make the values of terminal-dependent capabilities and information available to the shell (see \fBsh\fR(1)), to initialize or reset the terminal, or return the long name of the requested terminal type. @@ -55,15 +55,15 @@ The result depends upon the capability's type: .RS .TP 5 string -\fBtput\fR writes the string to the standard output. +\fB@TPUT@\fR writes the string to the standard output. No trailing newline is supplied. .TP integer -\fBtput\fR writes the decimal value to the standard output, +\fB@TPUT@\fR writes the decimal value to the standard output, with a trailing newline. .TP boolean -\fBtput\fR simply sets the exit code +\fB@TPUT@\fR simply sets the exit code (\fB0\fR for TRUE if the terminal has the capability, \fB1\fR for FALSE if it does not), and writes nothing to the standard output. @@ -74,7 +74,7 @@ the application should test the exit code (e.g., \fB$?\fR, see \fBsh\fR(1)) to be sure it is \fB0\fR. (See the \fBEXIT CODES\fR and \fBDIAGNOSTICS\fR sections.) For a complete list of capabilities -and the \fIcapname\fR associated with each, see \fBterminfo\fR(\*n). +and the \fIcapname\fR associated with each, see \fBterminfo\fR(5). .TP \fB-T\fR\fItype\fR indicates the \fItype\fR of terminal. Normally this option is @@ -94,21 +94,21 @@ If the capability is a string that takes parameters, the arguments .IP Most parameters are numbers. Only a few terminfo capabilities require string parameters; -\fBtput\fR uses a table to decide which to pass as strings. -Normally \fBtput\fR uses \fBtparm\fR (3X) to perform the substitution. +\fB@TPUT@\fR uses a table to decide which to pass as strings. +Normally \fB@TPUT@\fR uses \fBtparm\fR (3X) to perform the substitution. If no parameters are given for the capability, -\fBtput\fR writes the string without performing the substitution. +\fB@TPUT@\fR writes the string without performing the substitution. .TP \fB-S\fR -allows more than one capability per invocation of \fBtput\fR. The -capabilities must be passed to \fBtput\fR from the standard input +allows more than one capability per invocation of \fB@TPUT@\fR. The +capabilities must be passed to \fB@TPUT@\fR from the standard input instead of from the command line (see example). Only one \fIcapname\fR is allowed per line. The \fB-S\fR option changes the meaning of the \fB0\fR and \fB1\fR boolean and string exit codes (see the EXIT CODES section). .IP -Again, \fBtput\fR uses a table and the presence of parameters in its input +Again, \fB@TPUT@\fR uses a table and the presence of parameters in its input to decide whether to use \fBtparm\fR (3X), and how to interpret the parameters. .TP @@ -157,58 +157,58 @@ of the terminal will be put out. The long name is the last name in the first line of the terminal's description in the \fBterminfo\fR database [see \fBterm\fR(5)]. .PP -If \fBtput\fR is invoked by a link named \fBreset\fR, this has the -same effect as \fBtput reset\fR. +If \fB@TPUT@\fR is invoked by a link named \fBreset\fR, this has the +same effect as \fB@TPUT@ reset\fR. See \fBtset\fR for comparison, which has similar behavior. .SH EXAMPLES .TP 5 -\fBtput init\fR +\fB@TPUT@ init\fR Initialize the terminal according to the type of terminal in the environmental variable \fBTERM\fR. This command should be included in everyone's .profile after the environmental variable \fBTERM\fR has been exported, as illustrated on the \fBprofile\fR(5) manual page. .TP 5 -\fBtput -T5620 reset\fR +\fB@TPUT@ -T5620 reset\fR Reset an AT&T 5620 terminal, overriding the type of terminal in the environmental variable \fBTERM\fR. .TP 5 -\fBtput cup 0 0\fR +\fB@TPUT@ cup 0 0\fR Send the sequence to move the cursor to row \fB0\fR, column \fB0\fR (the upper left corner of the screen, usually known as the "home" cursor position). .TP 5 -\fBtput clear\fR +\fB@TPUT@ clear\fR Echo the clear-screen sequence for the current terminal. .TP 5 -\fBtput cols\fR +\fB@TPUT@ cols\fR Print the number of columns for the current terminal. .TP 5 -\fBtput -T450 cols\fR +\fB@TPUT@ -T450 cols\fR Print the number of columns for the 450 terminal. .TP 5 -\fBbold=`tput smso` offbold=`tput rmso`\fR +\fBbold=`@TPUT@ smso` offbold=`@TPUT@ rmso`\fR Set the shell variables \fBbold\fR, to begin stand-out mode sequence, and \fBoffbold\fR, to end standout mode sequence, for the current terminal. This might be followed by a prompt: \fBecho "${bold}Please type in your name: ${offbold}\\c"\fR .TP 5 -\fBtput hc\fR +\fB@TPUT@ hc\fR Set exit code to indicate if the current terminal is a hard copy terminal. .TP 5 -\fBtput cup 23 4\fR +\fB@TPUT@ cup 23 4\fR Send the sequence to move the cursor to row 23, column 4. .TP 5 -\fBtput cup\fR +\fB@TPUT@ cup\fR Send the terminfo string for cursor-movement, with no parameters substituted. .TP 5 -\fBtput longname\fR +\fB@TPUT@ longname\fR Print the long name from the \fBterminfo\fR database for the type of terminal specified in the environmental variable \fBTERM\fR. .PP .RS 5 -\fBtput -S <<!\fR +\fB@TPUT@ -S <<!\fR .br \fB> clear\fR .br @@ -220,7 +220,7 @@ variable \fBTERM\fR. .RE .TP 5 \& -This example shows \fBtput\fR processing several capabilities in one invocation. +This example shows \fB@TPUT@\fR processing several capabilities in one invocation. It clears the screen, moves the cursor to position 10, 10 and turns on bold (extra bright) mode. @@ -238,7 +238,7 @@ information, see the "Tabs and Initialization" section of \fBterminfo\fR(5) .SH EXIT CODES If the \fB-S\fR option is used, -\fBtput\fR checks for errors from each line, +\fB@TPUT@\fR checks for errors from each line, and if any errors are found, will set the exit code to 4 plus the number of lines with errors. If no errors are found, the exit code is \fB0\fR. @@ -285,8 +285,8 @@ exit code error message = \fB0\fR T{ (\fIcapname\fR is a numeric variable that is not specified in the -\fBterminfo\fR(\*n) database for this terminal type, e.g. -\fBtput -T450 lines\fR and \fBtput -T2621 xmc\fR) +\fBterminfo\fR(5) database for this terminal type, e.g. +\fB@TPUT@ -T450 lines\fR and \fB@TPUT@ -T2621 xmc\fR) T} \fB1\fR no error message is printed, see the \fBEXIT CODES\fR section. \fB2\fR usage error diff --git a/contrib/ncurses/man/tset.1 b/contrib/ncurses/man/tset.1 index 93e7c38..e023064 100644 --- a/contrib/ncurses/man/tset.1 +++ b/contrib/ncurses/man/tset.1 @@ -26,7 +26,7 @@ .\" authorization. * .\"*************************************************************************** .\" -.\" $Id: tset.1,v 1.18 2006/07/29 11:34:07 tom Exp $ +.\" $Id: tset.1,v 1.19 2006/12/24 15:00:30 tom Exp $ .TH tset 1 "" .SH NAME \fBtset\fR, \fBreset\fR - terminal initialization @@ -272,7 +272,7 @@ terminal capability database csh(1), sh(1), stty(1), -setupterm(3X), +curs_terminfo(3X), tty(4), terminfo(5), ttys(5), diff --git a/contrib/ncurses/menu/Makefile.in b/contrib/ncurses/menu/Makefile.in index 8c3aa62..fc33dc7 100644 --- a/contrib/ncurses/menu/Makefile.in +++ b/contrib/ncurses/menu/Makefile.in @@ -1,6 +1,6 @@ -# $Id: Makefile.in,v 1.43 2006/10/14 20:40:36 tom Exp $ +# $Id: Makefile.in,v 1.48 2007/04/28 14:56:11 tom Exp $ ############################################################################## -# Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. # +# Copyright (c) 1998-2006,2007 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"), # @@ -27,7 +27,7 @@ # authorization. # ############################################################################## # -# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997 +# Author: Thomas E. Dickey 1996-on # # Makefile for menu source code. # @@ -91,7 +91,7 @@ CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) -LINK = $(LIBTOOL_LINK) $(CC) +LINK = $(LIBTOOL_LINK) LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ SHLIB_DIRS = -L../lib @@ -106,8 +106,6 @@ ABI_VERSION = @cf_cv_abi_version@ RANLIB = @LIB_PREP@ -IMPORT_LIB = @IMPORT_LIB@ -SHARED_LIB = @SHARED_LIB@ LIBRARIES = @LIBS_TO_MAKE@ LINT = @LINT@ @@ -128,7 +126,7 @@ sources : $(AUTO_SRC) $(DESTDIR)$(bindir) \ $(DESTDIR)$(libdir) : - sh $(srcdir)/../mkinstalldirs $@ + sh $(srcdir)/../mkdirs.sh $@ # make copies to simplify include-paths while still keeping menu's include # file in this directory. diff --git a/contrib/ncurses/menu/headers b/contrib/ncurses/menu/headers index 3fe0be0..18c20af 100644 --- a/contrib/ncurses/menu/headers +++ b/contrib/ncurses/menu/headers @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 1998 Free Software Foundation, Inc. # +# Copyright (c) 1998,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"), # @@ -30,3 +30,4 @@ # $(srcdir)/eti.h $(srcdir)/menu.h +# vile:makemode diff --git a/contrib/ncurses/menu/menu.h b/contrib/ncurses/menu/menu.h index f0b1f60..84352eb 100644 --- a/contrib/ncurses/menu/menu.h +++ b/contrib/ncurses/menu/menu.h @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * + * Copyright (c) 1998-2003,2007 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 * @@ -30,7 +30,7 @@ * Author: Juergen Pfeifer, 1995,1997 * ****************************************************************************/ -/* $Id: menu.h,v 1.18 2003/11/08 20:48:24 tom Exp $ */ +/* $Id: menu.h,v 1.19 2007/02/24 17:32:13 tom Exp $ */ #ifndef ETI_MENU #define ETI_MENU @@ -217,23 +217,23 @@ extern NCURSES_EXPORT(int) pos_menu_cursor (const MENU *); extern NCURSES_EXPORT(int) post_menu (MENU *); extern NCURSES_EXPORT(int) scale_menu (const MENU *,int *,int *); extern NCURSES_EXPORT(int) set_current_item (MENU *menu,ITEM *item); -extern NCURSES_EXPORT(int) set_item_init (MENU *,void(*)(MENU *)); +extern NCURSES_EXPORT(int) set_item_init (MENU *, Menu_Hook); extern NCURSES_EXPORT(int) set_item_opts (ITEM *,Item_Options); -extern NCURSES_EXPORT(int) set_item_term (MENU *,void(*)(MENU *)); +extern NCURSES_EXPORT(int) set_item_term (MENU *, Menu_Hook); extern NCURSES_EXPORT(int) set_item_userptr (ITEM *, void *); extern NCURSES_EXPORT(int) set_item_value (ITEM *,bool); extern NCURSES_EXPORT(int) set_menu_back (MENU *,chtype); extern NCURSES_EXPORT(int) set_menu_fore (MENU *,chtype); extern NCURSES_EXPORT(int) set_menu_format (MENU *,int,int); extern NCURSES_EXPORT(int) set_menu_grey (MENU *,chtype); -extern NCURSES_EXPORT(int) set_menu_init (MENU *,void(*)(MENU *)); +extern NCURSES_EXPORT(int) set_menu_init (MENU *, Menu_Hook); extern NCURSES_EXPORT(int) set_menu_items (MENU *,ITEM **); extern NCURSES_EXPORT(int) set_menu_mark (MENU *, const char *); extern NCURSES_EXPORT(int) set_menu_opts (MENU *,Menu_Options); extern NCURSES_EXPORT(int) set_menu_pad (MENU *,int); extern NCURSES_EXPORT(int) set_menu_pattern (MENU *,const char *); extern NCURSES_EXPORT(int) set_menu_sub (MENU *,WINDOW *); -extern NCURSES_EXPORT(int) set_menu_term (MENU *,void(*)(MENU *)); +extern NCURSES_EXPORT(int) set_menu_term (MENU *, Menu_Hook); extern NCURSES_EXPORT(int) set_menu_userptr (MENU *,void *); extern NCURSES_EXPORT(int) set_menu_win (MENU *,WINDOW *); extern NCURSES_EXPORT(int) set_top_row (MENU *,int); diff --git a/contrib/ncurses/menu/modules b/contrib/ncurses/menu/modules index c78178a..abc4cf0 100644 --- a/contrib/ncurses/menu/modules +++ b/contrib/ncurses/menu/modules @@ -1,6 +1,6 @@ -# $Id: modules,v 1.16 2004/12/25 22:06:33 tom Exp $ +# $Id: modules,v 1.17 2006/12/24 00:52:39 tom Exp $ ############################################################################## -# Copyright (c) 1998,2004 Free Software Foundation, Inc. # +# Copyright (c) 1998-2004,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"), # @@ -27,7 +27,7 @@ # authorization. # ############################################################################## # -# Author: Thomas E. Dickey <dickey@clark.net> 1996,1997 +# Author: Thomas E. Dickey 1996-on # @ base @@ -59,3 +59,5 @@ m_sub lib $(srcdir) $(MENU_PRIV_H) m_trace lib $(srcdir) $(MENU_PRIV_H) m_userptr lib $(srcdir) $(MENU_PRIV_H) m_win lib $(srcdir) $(MENU_PRIV_H) + +# vile:makemode diff --git a/contrib/ncurses/misc/Makefile.in b/contrib/ncurses/misc/Makefile.in index 95c22ab..4cb39b0 100644 --- a/contrib/ncurses/misc/Makefile.in +++ b/contrib/ncurses/misc/Makefile.in @@ -1,6 +1,6 @@ -# $Id: Makefile.in,v 1.40 2006/10/21 13:28:03 tom Exp $ +# $Id: Makefile.in,v 1.43 2007/03/31 15:54:17 tom Exp $ ############################################################################## -# Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. # +# Copyright (c) 1998-2006,2007 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"), # @@ -76,7 +76,7 @@ depend : sources : -install : install.data install.scripts +install : install.data install.libs install.data : terminfo.tmp \ $(DESTDIR)$(libdir) \ @@ -103,7 +103,7 @@ install.data : terminfo.tmp \ NCURSES_CONFIG = ncurses@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config -install.scripts : ncurses-config +install.libs : $(DESTDIR)$(bindir) ncurses-config $(INSTALL_PROG) ncurses-config $(DESTDIR)$(bindir)/$(NCURSES_CONFIG) terminfo.tmp : run_tic.sed $(source) @@ -115,19 +115,20 @@ run_tic.sed : ticdir=${ticdir} \ $(SHELL) $(srcdir)/gen_edit.sh >$@ +$(DESTDIR)$(bindir) \ $(DESTDIR)$(libdir) \ $(DESTDIR)$(datadir) \ $(DESTDIR)$(tabsetdir) : - $(SHELL) $(top_srcdir)/mkinstalldirs $@ + $(SHELL) $(top_srcdir)/mkdirs.sh $@ -uninstall : uninstall.data uninstall.scripts +uninstall : uninstall.data uninstall.libs uninstall.data : -test -d $(DESTDIR)$(tabsetdir) && rm -rf $(DESTDIR)$(tabsetdir) -test -d $(DESTDIR)$(ticdir) && rm -rf $(DESTDIR)$(ticdir) -test -f $(DESTDIR)$(ticfile) && rm -f $(DESTDIR)$(ticfile) -uninstall.scripts : +uninstall.libs : -rm -f $(DESTDIR)$(bindir)/$(NCURSES_CONFIG) tags : diff --git a/contrib/ncurses/misc/ncurses-config.in b/contrib/ncurses/misc/ncurses-config.in index 1da156c..a349250 100644 --- a/contrib/ncurses/misc/ncurses-config.in +++ b/contrib/ncurses/misc/ncurses-config.in @@ -1,7 +1,7 @@ #!@SHELL@ -# $Id: ncurses-config.in,v 1.11 2006/10/28 20:22:52 tom Exp $ +# $Id: ncurses-config.in,v 1.12 2007/03/17 20:02:19 tom Exp $ ############################################################################## -# Copyright (c) 2006 Free Software Foundation, Inc. # +# Copyright (c) 2006,2007 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"), # @@ -40,6 +40,11 @@ mandir="@mandir@" THIS="ncurses@DFT_ARG_SUFFIX@" +LANG=C; export LANG +LANGUAGE=C; export LANGUAGE +LC_ALL=C; export LC_ALL +LC_CTYPE=C; export LC_CTYPE + test $# = 0 && exec @SHELL@ $0 --error while test $# -gt 0; do diff --git a/contrib/ncurses/misc/shlib b/contrib/ncurses/misc/shlib index 60fd4fc..a3ed810 100755 --- a/contrib/ncurses/misc/shlib +++ b/contrib/ncurses/misc/shlib @@ -29,7 +29,7 @@ # # Author: Thomas E. Dickey <dickey@clark.net> 1996 # -# $Id: shlib,v 1.10 2005/06/25 22:41:17 tom Exp $ +# $Id: shlib,v 1.11 2007/01/13 17:09:52 tom Exp $ # Use this script as a wrapper when running executables linked to shared # libraries on systems that use the $LD_LIBRARY_PATH variable and don't embed # the soname's path within the linked executable (such as IRIX), e.g, @@ -81,6 +81,7 @@ for p in lib ../lib ../../lib ../../../lib do if test -d $p; then q=`cd $p; pwd` + break elif test -f configure && test ! -d ../$p ; then break fi diff --git a/contrib/ncurses/misc/terminfo.src b/contrib/ncurses/misc/terminfo.src index 8574fb5..5fa4373 100644 --- a/contrib/ncurses/misc/terminfo.src +++ b/contrib/ncurses/misc/terminfo.src @@ -6,8 +6,8 @@ # Report bugs and new terminal descriptions to # bug-ncurses@gnu.org # -# $Revision: 1.303 $ -# $Date: 2006/10/07 17:52:03 $ +# $Revision: 1.318 $ +# $Date: 2007/11/03 19:02:01 $ # # 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 @@ -317,6 +317,16 @@ vanilla|dumb tty, OTbs, bel=^G, cr=^M, cud1=^J, ind=^J, +# This is almost the same as "dumb", but with no prespecified width. +# DEL and ^C are hardcoded to act as kill characters. +# ^D acts as a line break (just like newline). +# It also interprets +# \033];xxx\007 +# for compatibility with xterm -TD +9term|Plan9 terminal emulator for X, + am, + OTnl=^J, bel=^G, cud1=^J, + #### ANSI.SYS/ISO 6429/ECMA-48 Capabilities # # See the end-of-file comment for more on these. @@ -2691,8 +2701,9 @@ putty|PuTTY terminal emulator, vt100-putty|Reset PuTTY to pure vt100, rs2=\E<\E["p\Ec\E[?3l\E]R\E[40"p\E[61"p\E[50;1;2"p, use=vt100, +# palette is hardcoded... putty-256color|PuTTY 0.58 with xterm 256-colors, - use=xterm+256color, use=putty, + initc@, use=xterm+256color, use=putty, # One of the keyboard selections is "VT100+". # pterm (the X11 port) uses shifted F1-F10 as F11-F20 @@ -3015,11 +3026,10 @@ xterm-xfree86|xterm terminal emulator (XFree86), xterm-new|modern xterm terminal emulator, npc, indn=\E[%p1%dS, kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, - kIC=\E[2;2~, kLFT=\E[1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, - kRIT=\E[1;2C, kb2=\EOE, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, - kcuf1=\EOC, kcuu1=\EOA, kend=\EOF, kent=\EOM, khome=\EOH, - kich1=\E[2~, kind=\E[1;2B, kmous=\E[M, knp=\E[6~, - kpp=\E[5~, kri=\E[1;2A, rin=\E[%p1%dT, use=xterm+pcfkeys, + kIC=\E[2;2~, kNXT=\E[6;2~, kPRV=\E[5;2~, kb2=\EOE, + kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, + kend=\EOF, kent=\EOM, khome=\EOH, kich1=\E[2~, kmous=\E[M, + knp=\E[6~, kpp=\E[5~, rin=\E[%p1%dT, use=xterm+pcfkeys, use=xterm-basic, # # This fragment describes as much of XFree86 xterm's "pc-style" function @@ -3060,25 +3070,30 @@ xterm+pcfkeys|fragment for PC-style fkeys, # modifyCursorKeys resource. These fragments list the modified cursor-keys # that might apply to xterm+pcfkeys with different values of that resource. xterm+pcc3|fragment with modifyCursorKeys:3, - kDN=\E[>1;2B, kDN5=\E[>1;5B, kDN6=\E[>1;6B, + kLFT=\E[>1;2D, kRIT=\E[>1;2C, kind=\E[>1;2B, + kri=\E[>1;2A, kDN=\E[>1;2B, kDN5=\E[>1;5B, kDN6=\E[>1;6B, kLFT5=\E[>1;5D, kLFT6=\E[>1;6D, kRIT5=\E[>1;5C, kRIT6=\E[>1;6C, kUP=\E[>1;2A, kUP5=\E[>1;5A, kUP6=\E[>1;6A, xterm+pcc2|fragment with modifyCursorKeys:2, + kLFT=\E[1;2D, kRIT=\E[1;2C, kind=\E[1;2B, kri=\E[1;2A, kDN=\E[1;2B, kDN5=\E[1;5B, kDN6=\E[1;6B, kLFT5=\E[1;5D, kLFT6=\E[1;6D, kRIT5=\E[1;5C, kRIT6=\E[1;6C, kUP=\E[1;2A, kUP5=\E[1;5A, kUP6=\E[1;6A, xterm+pcc1|fragment with modifyCursorKeys:1, - kDN=\E[2B, kDN5=\E[5B, kDN6=\E[6B, kLFT5=\E[5D, - kLFT6=\E[6D, kRIT5=\E[5C, kRIT6=\E[6C, kUP=\E[2A, - kUP5=\E[5A, kUP6=\E[6A, + kLFT=\E[2D, kRIT=\E[2C, kind=\E[2B, kri=\E[2A, kDN=\E[2B, + kDN5=\E[5B, kDN6=\E[6B, kLFT5=\E[5D, kLFT6=\E[6D, + kRIT5=\E[5C, kRIT6=\E[6C, kUP=\E[2A, kUP5=\E[5A, + kUP6=\E[6A, xterm+pcc0|fragment with modifyCursorKeys:0, - kDN=\EO2B, kDN5=\EO5B, kDN6=\EO6B, kLFT5=\EO5D, - kLFT6=\EO6D, kRIT5=\EO5C, kRIT6=\EO6C, kUP=\EO2A, - kUP5=\EO5A, kUP6=\EO6A, + kLFT=\EO2D, kRIT=\EO2C, kind=\EO2B, kri=\EO2A, kDN=\EO2B, + kDN5=\EO5B, kDN6=\EO6B, kLFT5=\EO5D, kLFT6=\EO6D, + kRIT5=\EO5C, kRIT6=\EO6C, kUP=\EO2A, kUP5=\EO5A, + kUP6=\EO6A, + # # Here are corresponding fragments from xterm patch #216: # @@ -3101,24 +3116,37 @@ xterm+pcf0|fragment with modifyFunctionKeys:0, kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~, kf61=\EO4P, kf62=\EO4Q, kf63=\EO4R, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, # -xterm+pcf2|fragment with modifyFunctionKeys:0, +xterm+pcf2|fragment with modifyFunctionKeys:2, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, - kf13=\E[2P, kf14=\E[2Q, kf15=\E[2R, kf16=\E[2S, + kf13=\E[1;2P, kf14=\E[1;2Q, kf15=\E[1;2R, kf16=\E[1;2S, kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~, kf2=\EOQ, kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~, - kf23=\E[23;2~, kf24=\E[24;2~, kf25=\E[5P, kf26=\E[5Q, - kf27=\E[5R, kf28=\E[5S, kf29=\E[15;5~, kf3=\EOR, + kf23=\E[23;2~, kf24=\E[24;2~, kf25=\E[1;5P, kf26=\E[1;5Q, + kf27=\E[1;5R, kf28=\E[1;5S, kf29=\E[15;5~, kf3=\EOR, kf30=\E[17;5~, kf31=\E[18;5~, kf32=\E[19;5~, kf33=\E[20;5~, kf34=\E[21;5~, kf35=\E[23;5~, - kf36=\E[24;5~, kf37=\E[6P, kf38=\E[6Q, kf39=\E[6R, - kf4=\EOS, kf40=\E[6S, kf41=\E[15;6~, kf42=\E[17;6~, + kf36=\E[24;5~, kf37=\E[1;6P, kf38=\E[1;6Q, kf39=\E[1;6R, + kf4=\EOS, kf40=\E[1;6S, kf41=\E[15;6~, kf42=\E[17;6~, kf43=\E[18;6~, kf44=\E[19;6~, kf45=\E[20;6~, - kf46=\E[21;6~, kf47=\E[23;6~, kf48=\E[24;6~, kf49=\E[3P, - kf5=\E[15~, kf50=\E[3Q, kf51=\E[3R, kf52=\E[3S, - kf53=\E[15;3~, kf54=\E[17;3~, kf55=\E[18;3~, - kf56=\E[19;3~, kf57=\E[20;3~, kf58=\E[21;3~, - kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~, kf61=\E[4P, - kf62=\E[4Q, kf63=\E[4R, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, + kf46=\E[21;6~, kf47=\E[23;6~, kf48=\E[24;6~, + kf49=\E[1;3P, kf5=\E[15~, kf50=\E[1;3Q, kf51=\E[1;3R, + kf52=\E[1;3S, kf53=\E[15;3~, kf54=\E[17;3~, + kf55=\E[18;3~, kf56=\E[19;3~, kf57=\E[20;3~, + kf58=\E[21;3~, kf59=\E[23;3~, kf6=\E[17~, kf60=\E[24;3~, + kf61=\E[1;4P, kf62=\E[1;4Q, kf63=\E[1;4R, kf7=\E[18~, + kf8=\E[19~, kf9=\E[20~, +# +# Those chunks use the new-style (the xterm oldFunctionKeys resource is false). +# Alternatively, the same scheme with old-style function keys as in xterm-r6 +# is shown here (because that is used in mrxvt and mlterm): +xterm+r6f2|xterm with oldFunctionKeys and modifyFunctionKeys:2, + kf1=\E[11~, kf13=\E[11;2~, kf14=\E[12;2~, kf15=\E[13;2~, + kf16=\E[14;2~, kf2=\E[12~, kf25=\E[11;5~, kf26=\E[12;5~, + kf27=\E[13;5~, kf28=\E[14;5~, kf3=\E[13~, kf37=\E[11;6~, + kf38=\E[12;6~, kf39=\E[13;6~, kf4=\E[14~, kf40=\E[14;6~, + kf49=\E[11;3~, kf50=\E[12;3~, kf51=\E[13;3~, + kf52=\E[14;3~, kf61=\E[11;4~, kf62=\E[12;4~, + kf63=\E[13;4~, use=xterm+pcf2, # # This chunk is used for building the VT220/Sun/PC keyboard variants. xterm-basic|modern xterm terminal emulator - common, @@ -3157,6 +3185,8 @@ xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1, xterm-16color|xterm with 16 colors like aixterm, use=ibm+16color, use=xterm-new, +# This is a compile-time feature of XFree86 xterm beginning with +# patch #111 (1999/7/10) -TD xterm+256color|xterm 256-color feature, ccc, colors#256, pairs#32767, @@ -3165,6 +3195,18 @@ xterm+256color|xterm 256-color feature, setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m, setb@, setf@, +# This is a compile-time feature of XFree86 xterm beginning with +# patch #115 (1999/9/18) -TD +# +# Note that the escape sequences used are the same as for 256-colors - xterm +# has a different table of default color resource values. If built for +# 256-colors, it can still handle an 88-color palette by using the initc +# capability. +# +# At this time (2007/7/14), except for rxvt 2.7.x, none of the other terminals +# which support the xterm+256color feature support the associated initc +# capability. So it is cancelled in the entries which use this and/or the +# xterm+256color block. xterm+88color|xterm 88-color feature, colors#88, pairs#7744, use=xterm+256color, @@ -3444,11 +3486,23 @@ gnome-fc5|GNOME Terminal, rs2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h, use=ansi+enq, use=xterm+pcc0, use=gnome-rh90, +# GNOME Terminal 2.18.1 (2007 snapshot) +# +# For any "recent" version of gnome-terminal, it is futile to attempt to +# support modifiers on cursor- and keypad keys because the program usually +# is hardcoded to set $TERM to "xterm", and on startup, it builds a subset +# 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, + use=xterm+pcc2, use=gnome-fc5, + gnome|GNOME Terminal, - use=gnome-fc5, + use=gnome-2007, +# palette is hardcoded... gnome-256color|GNOME Terminal with xterm 256-colors, - use=xterm+256color, use=gnome, + initc@, use=xterm+256color, use=gnome, # XFCE Terminal 0.2.5.4beta2 # @@ -3551,14 +3605,29 @@ konsole-16color|klone of xterm-16color, konsole|KDE console window, use=konsole-xf4x, -# Based on mlterm 2.9.2's mlterm.ti, with corrections/additions from reading -# the source code and running tack -TD +# palette is hardcoded... +konsole-256color|KDE console window with xterm 256-colors, + initc@, use=xterm+256color, use=konsole, + +# This is mlterm 2.9.3's mlterm.ti, with some additions/corrections -TD # -# This is nominally a vt102 emulator, with features borrowed from rxvt and +# It is nominally a vt102 emulator, with features borrowed from rxvt and # xterm. # -# There are some problems with vttest: -# test of character sets leaves it in line-drawing mode. +# The function keys are numbered based on shift/control/alt modifiers, except +# that the control-modifier itself is used to spawn a new copy of mlterm (the +# "-P" option). So control/F1 to control/F12 may not be usable, depending on +# how it is configured. +# +# kf1 to kf12 \E[11~ to \E[24~ +# shift kf1 to kf12 \E[11;2~ to \E[24;2~ +# alt kf1 to kf12 \E[11;3~ to \E[24;3~ +# shift/alt kf1 to kf12 \E[11;4~ to \E[24;4~ +# control kf1 to kf12 \E[11;5~ to \E[24;5~ (maybe) +# control/shift kf1 to kf12 \E[11;6~ to \E[24;6~ +# control/alt kf1 to kf12 \E[11;7~ to \E[24;7~ +# control/shit/alt kf1 to kf12 \E[11;8~ to \E[24;8~ +# mlterm|multi lingual terminal emulator, am, eslok, km, mc5i, mir, msgr, npc, xenl, colors#8, cols#80, it#8, lines#24, pairs#64, @@ -3574,21 +3643,29 @@ mlterm|multi lingual terminal emulator, ich1=\E[@, il=\E[%p1%dL, il1=\E[L, ind=^J, indn=\E[%p1%dS, is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, kbs=\177, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, - kdch1=\E[3~, kend=\EOF, kent=\EOM, kf1=\E[11~, kf10=\E[21~, - kf11=\E[23~, kf12=\E[24~, kf2=\E[12~, kf3=\E[13~, - kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, - kf9=\E[20~, kfnd=\E[1~, khome=\EOH, kich1=\E[2~, - kmous=\E[M, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, mc0=\E[i, - nel=\EE, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, - rin=\E[%p1%dT, rmacs=\E(B, rmam=\E[?7l, - rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>, - rmso=\E[27m, rmul=\E[24m, + kdch1=\E[3~, kend=\EOF, kent=\EOM, kfnd=\E[1~, khome=\EOH, + kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~, kslt=\E[4~, + mc0=\E[i, nel=\EE, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM, + rin=\E[%p1%dT, rmacs=\E(B, rmam=\E[?7l, rmcup=\E[?1049l, + rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l, sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e\E(B%;, - sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smcup=\E7\E[?47h, + sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smcup=\E[?1049h, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, - tbc=\E[3g, vpa=\E[%i%p1%dd, use=vt100+enq, + tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c, + vpa=\E[%i%p1%dd, use=mlterm+pcfkeys, use=xterm+r6f2, + +# The insert/delete/home/end keys do not respond to modifiers because mlterm +# looks in its termcap to decide which string to send. If it used terminfo +# (when available), it could use the extended names introduced for xterm. +mlterm+pcfkeys|fragment for PC-style fkeys, + kLFT=\EO1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\EO1;2C, + kDN=\EO1;2B, kDN5=\EO1;5B, kDN6=\EO1;6B, kIC5=\E[2;5~, + kIC6=\E[2;6~, kLFT5=\EO1;5D, kLFT6=\EO1;6D, + kNXT5=\E[6;5~, kNXT6=\E[6;6~, kPRV5=\E[5;5~, + kPRV6=\E[5;6~, kRIT5=\EO1;5C, kRIT6=\EO1;6C, kUP=\EO1;2A, + kUP5=\EO1;5A, kUP6=\EO1;6A, # From: Thomas Dickey <dickey@clark.net> 04 Oct 1997 # Updated: Oezguer Kesim <kesim@math.fu-berlin.de> 02 Nov 1997 @@ -3607,7 +3684,7 @@ mlterm|multi lingual terminal emulator, # # rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM. # Since rxvt is not really compatible with xterm, it should be configured as -# "rxvt" (monochrome) and "rxvt-color". +# "rxvt" or "rxvt-color". # # removed dch/dch1 because they are inconsistent with bce/ech -TD # remove km as per tack test -TD @@ -3677,6 +3754,7 @@ rxvt-basic|rxvt terminal base (X Window System), # F18 ESC [ 32 ~ ESC [ 32 $ ESC [ 32 ^ ESC [ 32 @ # F19 ESC [ 33 ~ ESC [ 33 $ ESC [ 33 ^ ESC [ 33 @ # F20 ESC [ 34 ~ ESC [ 34 $ ESC [ 34 ^ ESC [ 34 @ +# # Application # Up ESC [ A ESC [ a ESC O a ESC O A # Down ESC [ B ESC [ b ESC O b ESC O B @@ -3704,10 +3782,18 @@ rxvt-basic|rxvt terminal base (X Window System), # XK_KP_8 8 ESC O x # XK_KP_9 9 ESC O y # +# The source-code for rxvt actually defines mappings for F21-F35, using +# "ESC [ 35 ~" to "ESC [ 49 ~". Keyboards with more than 12 function keys +# are rare, so this entry uses the shift- and control-modifiers as in +# xterm+pcfkeys to define keys past F12. +# +# kIC is normally not used, since rxvt performs a paste for that (shifted +# insert), unless private mode 35 is set. +# # kDN, kDN5, kDN6, etc are extensions based on the names from xterm+pcfkeys -TD # Removed kDN6, etc (control+shift) since rxvt does not implement this -TD rxvt+pcfkeys|fragment for PC-style fkeys, - kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kIC=\E2$, kLFT=\E[d, + kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kIC=\E[2$, kLFT=\E[d, kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kel=\E[8\^, kend=\E[8~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, @@ -3722,7 +3808,10 @@ rxvt+pcfkeys|fragment for PC-style fkeys, kf41=\E[33\^, kf42=\E[34\^, kf43=\E[23@, kf44=\E[24@, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, khome=\E[7~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~, - kslt=\E[4~, kDN=\E[b, kDN5=\EOb, kLFT5=\EOd, kRIT5=\EOc, + kslt=\E[4~, kDC5=\E[3\^, kDC6=\E[3@, kDN=\E[b, kDN5=\EOb, + kEND5=\E[8\^, kEND6=\E[8@, kHOM5=\E[7\^, kHOM6=\E[7@, + kIC5=\E[2\^, kIC6=\E[2@, kLFT5=\EOd, kNXT5=\E[6\^, + kNXT6=\E[6@, kPRV5=\E[5\^, kPRV6=\E[5@, kRIT5=\EOc, kUP=\E[a, kUP5=\EOa, rxvt|rxvt terminal emulator (X Window System), @@ -3747,6 +3836,13 @@ rxvt-cygwin-native|rxvt terminal emulator (native MS Window System port) on cygw rxvt-16color|xterm with 16 colors like aixterm, ncv#32, use=ibm+16color, use=rxvt, +# mrxvt 0.5.3 +# +# mrxvt is based on rxvt 2.7.11, but has by default XTERM_FKEYS defined, which +# makes its function-keys different from other flavors of rxvt -TD +mrxvt|multitabbed rxvt, + use=xterm+pcc2, use=xterm+r6f2, use=rxvt, + # From: Michael Jennings <mej@valinux.com> # # Eterm 0.9.3 @@ -15183,6 +15279,82 @@ ncr7901|ncr 7901 model, sgr0=^O, smso=\E0Q\016, smul=\E0`\016, vpa=\013%p1%{64}%+%c, +# Newbury Data Recording Limited (Newbury Data) +# +# Have been manufacturing and reselling various peripherals for a long time +# They don't make terminals anymore, but are still in business (in 2007). +# Their e-mail address is at ndsales@newburydata.co.uk +# and their post address is: +# +# Newbury Data Recording Ltd, +# Premier Park, Road One, +# Winsford, Cheshire, CW7 3PT +# +# Their technical support is still good, they sent me for free a printed copy +# of the 9500 user manual and I got it just 1 week after I first contacted them +# (in 2005)! + +# NDR 9500 +# Manufactured in the early/mid eighties, behaves almost the same as a +# Televideo 950. Take a 950, change its cabinet for a more 80s-ish one (but +# keep the same keyboard layout), add an optional 25-line mode, replace the DIP +# switches with a menu and remove the "lock line" feature (ESC ! 1 and ESC ! +# 2), here is the NDR 9500. Even the line-lock, albeit disabled, is +# recognized: if you type in "ESC !", the next (third) character is not +# echoed, showing that the terminal was actually waiting for a parameter! +ndr9500|nd9500|Newbury Data 9500, + am, bw, hs, mc5i, mir, msgr, ul, xon, + cols#80, lines#24, wsl#79, + acsc=qKnImAjDwNuLtMvOlBkCxJ, bel=^G, cbt=\EI, civis=\E.0, + clear=\E;, cnorm=\E.1, cr=^M, cub1=^H, cud1=^V, cuf1=^L, + cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW, + dim=\E), dl1=\ER, dsl=\Eh, ed=\EY, el=\ET, + flash=\Eb$<50/>\Ed, fsl=^M, home=^^, ht=^I, hts=\E1, + ich1=\EQ, il1=\EE, ind=^J, is2=\Ew\E'\EDF\El\Er\EO, + kDC=\Er, kDL=\EO, kEOL=\Et, kIC=\Eq, kcbt=\EI, kclr=^Z, + kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, + ked=\EY, kel=\ET, kent=^M, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, + kf12=^A`\r, kf13=^Aa\r, kf14=^Ab\r, kf15=^Ac\r, kf16=^Ad\r, + kf17=^Ae\r, kf18=^Af\r, kf19=^Ag\r, kf2=^AA\r, kf20=^Ah\r, + kf21=^Ai\r, kf22=^Aj\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, + kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, + kich1=\EQ, kil1=\EE, kprt=\EP, mc4=\Ea, mc5=\E`, nel=^_, + pfloc=\E|%{48}%p1%+%c2%p2\031, + pfx=\E|%{48}%p1%+%c1%p2\031, prot=\E), ri=\Ej, + rmacs=\E%%, rmir=\Er, rmso=\E(, rmxon=^N, + sgr=\E%%\E(%?%p1%p5%p8%|%|%t\E)%;%?%p9%t\E$%;, + sgr0=\EG0\E%%\E(, smacs=\E$, smir=\Eq, smso=\E), smxon=^O, + tbc=\E3, tsl=\Eg\Ef\011%p1%{32}%+%c, .kbs=^H, + +ndr9500-nl|NDR 9500 with no status line, + hs@, + wsl@, + dsl@, fsl@, tsl@, use=ndr9500, + +ndr9500-25|NDR 9500 with 25th line enabled, + lines#25, use=ndr9500, + +ndr9500-25-nl|NDR 9500 with 25 lines and no status line, + lines#25, use=ndr9500-nl, + +ndr9500-mc|NDR 9500 with magic cookies (enables underline inverse video invisible and blink), + msgr@, + xmc#1, + blink=\EG2, invis=\EG1, rev=\EG4, rmso=\EG0, rmul=\EG0, + sgr=\E%%\E(%?%p5%p8%|%t\E)%;%?%p9%t\E$%;\EG%{48}%?%p7%t%{1}%+%;%?%p4%t%{2}%+%;%?%p3%p1%|%t%{4}%+%;%?%p2%t%{8}%+%;%c, + sgr0=\EG0\E%%\E(, smso=\EG4, smul=\EG8, use=ndr9500, + +ndr9500-25-mc|NDR 500 with 25 lines and magic cookies, + lines#25, use=ndr9500-mc, + +ndr9500-mc-nl|NDR 9500 with magic cookies and no status line, + hs@, + wsl@, + dsl@, fsl@, tsl@, use=ndr9500-mc, + +ndr9500-25-mc-nl|NDR 9500 with 25 lines and magic cookies and no status line, + lines#25, use=ndr9500-mc-nl, + #### Perkin-Elmer (Owl) # # These are official terminfo entries from within Perkin-Elmer. @@ -18147,19 +18319,19 @@ h19-us|h19us|h19-smul|heathkit w/keypad shifted/underscore cursor, h19|heath|h19-b|heathkit|heath-19|z19|zenith|heathkit h19, OTbs, am, eslok, hs, mir, msgr, cols#80, it#8, lines#24, - acsc=, bel=^G, clear=\EE, cnorm=\Ey4, cr=^M, cub1=^H, cud1=\EB, - cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, - cvvis=\Ex4, dch1=\EN, ed=\EJ, el=\EK, fsl=\Ek\Ey5, home=\EH, - ht=^I, ind=^J, ip=<1.5/>, kbs=^H, kcub1=\ED, kcud1=\EB, - kcuf1=\EC, kcuu1=\EA, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV, - kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, khome=\EH, lf6=blue, - lf7=red, lf8=white, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq, - smacs=\EF, smir=\E@, smso=\Ep, - tsl=\Ej\Ex5\EY8%p1%{32}%+%c\Eo\Eo, + acsc=~\^x`qanbkcjdmelfgg+hai.kwsutvutvozs{, bel=^G, + clear=\EE, cnorm=\Ey4, cr=^M, cub1=^H, cud1=\EB, cuf1=\EC, + cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\Ex4, + dch1=\EN, ed=\EJ, el=\EK, fsl=\Ek\Ey5, home=\EH, ht=^I, ind=^J, + ip=<1.5/>, kbs=^H, kcub1=\ED, kcud1=\EB, kcuf1=\EC, + kcuu1=\EA, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV, kf5=\EW, + kf6=\EP, kf7=\EQ, kf8=\ER, khome=\EH, lf6=blue, lf7=red, + lf8=white, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq, smacs=\EF, + smir=\E@, smso=\Ep, tsl=\Ej\Ex5\EY8%p1%{32}%+%c\Eo\Eo, h19-u|heathkit with underscore cursor, cnorm@, cvvis@, use=h19-b, h19-g|h19g|heathkit w/block cursor, - cnorm=\Ex4, use=h19-b, + cnorm=\Ex4, cvvis@, use=h19-b, alto-h19|altoh19|altoheath|alto-heath|alto emulating heathkit h19, lines#60, dl1=\EM, il1=\EL, use=h19, @@ -18285,14 +18457,15 @@ z100|h100|z110|z-100|h-100|heath/zenith z-100 pc with color monitor, z100bw|h100bw|z110bw|z-100bw|h-100bw|heath/zenith z-100 pc, OTbs, OTpt, mir, msgr, OTkn#10, cols#80, it#8, lines#24, - acsc=, clear=\EE$<5*/>, cnorm=\Ey4, cub1=^H, cud1=\EB, - cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<1*/>, - cuu1=\EA, cvvis=\Ex4, dch1=\EN$<1*/>, dl1=\EM$<5*/>, - ed=\EJ, el=\EK, home=\EH, ht=^I, il1=\EL$<5*/>, kbs=^H, - kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, kf0=\EJ, kf1=\ES, - kf2=\ET, kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, - kf9=\EOI, khome=\EH, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq, - smacs=\EF, smir=\E@, smso=\Ep, + acsc=~\^x`qanbkcjdmelfgg+hai.kwsutvutvozs{, + clear=\EE$<5*/>, cnorm=\Ey4, cub1=^H, cud1=\EB, cuf1=\EC, + cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<1*/>, cuu1=\EA, + cvvis=\Ex4, dch1=\EN$<1*/>, dl1=\EM$<5*/>, ed=\EJ, el=\EK, + home=\EH, ht=^I, il1=\EL$<5*/>, kbs=^H, kcub1=\ED, kcud1=\EB, + kcuf1=\EC, kcuu1=\EA, kf0=\EJ, kf1=\ES, kf2=\ET, kf3=\EU, + kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\EOI, + khome=\EH, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq, smacs=\EF, + smir=\E@, smso=\Ep, p19|h19-b with il1/dl1, dl1=\EM$<2*/>, il1=\EL$<2*/>, use=h19-b, # From: <ucscc!B.fiatlux@ucbvax.berkeley.edu> @@ -20696,6 +20869,99 @@ v3220|LANPAR Vision II model 3220/3221/3222, # * Back off the xterm entry to use r6 as a base. # 9.13.22 (Sat Nov 30 11:51:31 EST 1996): # * Added dec-vt220 at Adrian Garside's request. +# +#-(original-changelog-1996/12/29-to-1998/02/28-by-TD)--------------------------- +# +# 10.1.0 (Sun Dec 29 02:36:31 EST 1996): withdrawn +# * Minor corrections to xterm entries. +# * Replaced EWAN telnet entry. +# * Dropped the reorder script generator. It was a fossil. +# 9.13.23 (Fri Feb 21 16:36:06 EST 1997): +# * Replaced minitel-2 entry. +# * Added MGR, ansi-nt. +# 9.13.24 (Sun Feb 23 20:55:23 EST 1997): +# * Thorsten Lockert added termcap `bs' to a lot of types, working from +# the 4.4BSD Lite2 file. +# +# 10.1.1 (Sat May 3 21:41:27 EDT 1997): +# * Use setaf/setab consistently with SVr4. +# * Remove ech, el1 from cons25w, they do not work in FreeBSD 2.1.5 +# 10.1.2 (Sat May 24 21:10:57 EDT 1997) +# * update xterm-xf86-v32 to match XFree86 3.2A (changes F1-F4) +# * add xterm-16color, for XFree86 3.3 +# 10.1.3 (Sat May 31 12:21:05 EDT 1997) +# * correct typo in emu +# * correct typo in vt102-w (Robert Wuest) +# * make new entry xterm-xf86-v33, restored xterm-xf86-v32. +# 10.1.4 (Sun Jun 15 08:29:05 EDT 1997) +# * remove ech capability from rxvt (it does the wrong thing) +# 10.1.5 (Sat Jun 28 21:34:36 EDT 1997) +# * remove spurious newlines from several entries (hp+color, wy50, +# wy350, wy370-nk, wy99gt-tek, wy370-tek, ibm3161, tek4205, ctrm, +# gs6300) +# 10.1.6 (Sat Jul 5 15:08:16 EDT 1997) +# * correct rmso capability of wy50-mc +# 10.1.7 (Sat Jul 12 20:05:55 EDT 1997) +# * add cbt to xterm-xf86-v32 +# * disentangle some entries from 'xterm', preferring xterm-r6 in case +# 'xterm' is derived from xterm-xf86-v32, which implements ech and +# other capabilities not in xterm-r6. +# * remove alternate character set from kterm entry. +# 10.1.8 (Sat Aug 2 18:43:18 EDT 1997) +# * correct acsc entries for ACS_LANTERN, which is 'i', not 'I'. +# 10.1.9 (Sat Aug 23 17:54:38 EDT 1997) +# * add xterm-8bit entry. +# 10.1.10 (Sat Oct 4 18:17:13 EDT 1997) +# * repair several places where early version of tic replaced \, with \\\, +# * make acsc entries canonical form (sorted, uniq). +# * modify acsc entries for linux, linux-koi8 +# * new rxvt entry, from corrected copy of distribution in rxvt 2.21b +# * add color, mouse support to kterm. +# 10.1.11 (Sat Oct 11 14:57:10 EDT 1997) +# * correct wy120 smxon/tbc capabilities which were stuck together. +# 10.1.12 (Sat Oct 18 17:38:41 EDT 1997) +# * add entry for xterm-xf86-v39t +# 10.1.13 (Sat Nov 8 13:43:33 EST 1997) +# * add u8,u9 to sun-il description +# 10.1.14 (Sat Nov 22 19:59:03 EST 1997) +# * add vt220-js, pilot, rbcomm, datapoint entries from esr's 27-jun-97 +# version. +# * add hds200 description (Walter Skorski) +# * add EMX 0.9b descriptions +# * correct rmso/smso capabilities in wy30-mc and wy50-mc (Daniel Weaver) +# * rename xhpterm back to hpterm. +# 10.1.15 (Sat Nov 29 19:21:59 EST 1997) +# * change initc in linux-c-nc to use 0..1000 range. +# 10.1.16 (Sat Dec 13 19:41:59 EST 1997) +# * remove hpa/vpa from rxvt, which implements them incorrectly. +# * add sgr0 for rxvt. +# * remove bogus smacs/rmacs from EMX descriptions. +# 10.1.17 (Sat Dec 20 17:54:10 EST 1997) +# * revised entry for att7300 +# 10.1.18 (Sat Jan 3 17:58:49 EST 1998) +# * use \0 rather than \200. +# * rename rxvt-color to rxvt to match rxvt 2.4.5 distribution. +# 10.1.19 (Sat Jan 17 14:24:57 EST 1998) +# * change xterm (xterm-xf86-v40), xterm-8bit rs1 to use hard reset. +# * rename xterm-xf86-v39t to xterm-xf86-v40 +# * remove bold/underline from sun console entries since they're not +# implemented. +# 10.1.20 (Sat Jan 24 11:02:51 EST 1998) +# * add beterm entry (Fred Fish) +# * add irix-color/xwsh entry. +# * turn ncv off for linux. +# 10.1.21 (Sat Jan 31 17:39:16 EST 1998) +# * set ncv for FreeBSD console (treat colors with reverse specially). +# * remove sgr string from qnx based on report by Xiaodan Tang +# 10.1.22 (Wed Feb 11 18:40:12 EST 1998) +# * remove spurious commas from descriptions +# * correct xterm-8bit to match XFree86 3.9Ad F1-F4. +# 10.1.23 (Sat Feb 28 17:48:38 EST 1998) +# * add linux-koi8r to replace linux-koi8 (which uses a corrupt acsc, +# apparently based on cp-866). +# +#-(replaced-changelog-1998/02/28-by-ESR)---------------------------------------- +# # 9.13.23 (Fri Feb 21 16:36:06 EST 1997): # * Replaced minitel-2 entry. # * Added MGR, ansi-nt. @@ -20748,6 +21014,8 @@ v3220|LANPAR Vision II model 3220/3221/3222, # * Incorporated att700 from the Boundless Technology FTP site. # * Miscellaneous contact-address and Web-page updates. # +#-(changelog-beginning-ncurses-4.2)--------------------------------------------- +# # 1998/5/9 # * add nxterm and xterm-color terminfo description (request by Cristian # Gafton <gafton@redhat.com>). @@ -21309,6 +21577,36 @@ v3220|LANPAR Vision II model 3220/3221/3222, # * add several GNU Screen variations with 16- and 256-colors, and # status line (Alain Bench). # +# 2007-03-03 +# * add Newbury Data entries (Jean-Charles Billaud). +# +# 2007-06-10 +# * corrected xterm+pcf2 modifiers for F1-F4, match xterm #226 -TD +# +# 2007-07-14 +# * restore section of pre-ncurses-4.2 changelog to fix attribution -TD +# * add konsole-256color entry -TD +# +# 2007-08-18 +# * add 9term entry (request by Juhapekka Tolvanen) -TD +# +# 2007-10-13 +# * correct kIC in rxvt+pcfkeys (prompted by Debian #446444) -TD +# * add shift-control- and control-modified keys for rxvt editing +# keypad -TD +# * update mlterm entry to 2.9.3 -TD +# * add mlterm+pcfkeys -TD +# +# 2007-10-20 +# * move kLFT, kRIT, kind and kri capabilities from xterm-new to +# xterm+pcc0, etc., to make the corresponding building blocks reflect +# xterm's capabilities -TD +# * add mrxvt entry -TD +# * add xterm+r6f2, use in mlterm and mrxvt entries -TD +# +# 2007-11-03 +# * correct acsc strings for h19 and z100 (Benjamin Sittler) +# # The following sets edit modes for GNU EMACS. # Local Variables: # fill-prefix:"\t" diff --git a/contrib/ncurses/mk-1st.awk b/contrib/ncurses/mk-1st.awk index 371042c..e2f54ea 100644 --- a/contrib/ncurses/mk-1st.awk +++ b/contrib/ncurses/mk-1st.awk @@ -1,6 +1,6 @@ -# $Id: mk-1st.awk,v 1.68 2006/10/08 00:14:08 tom Exp $ +# $Id: mk-1st.awk,v 1.78 2007/03/24 22:10:55 tom Exp $ ############################################################################## -# Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. # +# Copyright (c) 1998-2006,2007 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"), # @@ -37,9 +37,12 @@ # model (directory into which we compile, e.g., "obj") # prefix (e.g., "lib", for Unix-style libraries) # suffix (e.g., "_g.a", for debug libraries) -# subset ("none", "base", "base+ext_funcs" or "termlib") +# subset ("none", "base", "base+ext_funcs" or "termlib", etc.) # ShlibVer ("rel", "abi" or "auto", to augment DoLinks variable) # ShlibVerInfix ("yes" or "no", determines location of version #) +# TermlibRoot ("tinfo" or other root for libterm.so) +# TermlibSuffix (".so" or other suffix for libterm.so) +# ReLink ("yes", or "no", flag to rebuild shared libs on install) # DoLinks ("yes", "reverse" or "no", flag to add symbolic links) # rmSoLocs ("yes" or "no", flag to add extra clean target) # ldconfig (path for this tool, if used) @@ -52,6 +55,64 @@ # Mixed-case variable names are ok. # HP/UX requires shared libraries to have executable permissions. # +function is_ticlib() { + return ( subset ~ /^ticlib$/ ); + } +function is_termlib() { + return ( subset ~ /^(ticlib\+)?termlib(\+ext_tinfo)?$/ ); + } +# see lib_name +function lib_name_of(a_name) { + return sprintf("%s%s%s", prefix, a_name, suffix) + } +# see imp_name +function imp_name_of(a_name) { + if (ShlibVerInfix == "cygdll") { + result = sprintf("%s%s%s.a", prefix, a_name, suffix); + } else { + result = ""; + } + return result; + } +# see abi_name +function abi_name_of(a_name) { + if (ShlibVerInfix == "cygdll") { + result = sprintf("%s%s$(ABI_VERSION)%s", "cyg", a_name, suffix); + } else if (ShlibVerInfix == "yes") { + result = sprintf("%s%s.$(ABI_VERSION)%s", prefix, a_name, suffix); + } else { + result = sprintf("%s.$(ABI_VERSION)", lib_name_of(a_name)); + } + return result; + } +# see rel_name +function rel_name_of(a_name) { + if (ShlibVerInfix == "cygdll") { + result = sprintf("%s%s$(REL_VERSION)%s", "cyg", a_name, suffix); + } else if (ShlibVerInfix == "yes") { + result = sprintf("%s%s.$(REL_VERSION)%s", prefix, a_name, suffix); + } else { + result = sprintf("%s.$(REL_VERSION)", lib_name_of(a_name)); + } + return result; + } +# see end_name +function end_name_of(a_name) { + if ( MODEL != "SHARED" ) { + result = lib_name_of(a_name); + } else if ( DoLinks == "reverse") { + result = lib_name_of(a_name); + } else { + if ( ShlibVer == "rel" ) { + result = rel_name_of(a_name); + } else if ( ShlibVer == "abi" || ShlibVer == "cygdll" ) { + result = abi_name_of(a_name); + } else { + result = lib_name_of(a_name); + } + } + return result + } function symlink(src,dst) { if ( src != dst ) { printf "rm -f %s; ", dst @@ -64,19 +125,19 @@ function rmlink(directory, dst) { function removelinks(directory) { rmlink(directory, end_name); if ( DoLinks == "reverse" ) { - if ( ShlibVer == "rel" ) { - rmlink(directory, abi_name); - rmlink(directory, rel_name); - } else if ( ShlibVer == "abi" ) { - rmlink(directory, abi_name); - } + if ( ShlibVer == "rel" ) { + rmlink(directory, abi_name); + rmlink(directory, rel_name); + } else if ( ShlibVer == "abi" ) { + rmlink(directory, abi_name); + } } else { - if ( ShlibVer == "rel" ) { - rmlink(directory, abi_name); - rmlink(directory, lib_name); - } else if ( ShlibVer == "abi" ) { - rmlink(directory, lib_name); - } + if ( ShlibVer == "rel" ) { + rmlink(directory, abi_name); + rmlink(directory, lib_name); + } else if ( ShlibVer == "abi" ) { + rmlink(directory, lib_name); + } } } function make_shlib(objs, shlib_list) { @@ -103,27 +164,53 @@ function sharedlinks(directory) { printf ")\n" } } -function shlib_rule(directory) { - if ( ShlibVer == "cygdll" ) { - dst_libs = sprintf("%s/$(SHARED_LIB) %s/$(IMPORT_LIB)", directory, directory); - } else { - dst_libs = sprintf("%s/%s", directory, end_name); +# termlib may be named explicitly via "--with-termlib=XXX", which overrides +# any suffix. Temporarily override "suffix" to account for this. +function termlib_end_of() { + termlib_save_suffix = suffix; + suffix = TermlibSuffix; + termlib_temp_result = end_name_of(TermlibRoot); + suffix = termlib_save_suffix; + return termlib_temp_result; +} +function shlib_build(directory) { + dst_libs = sprintf("%s/%s", directory, end_name); + printf "%s : \\\n", dst_libs + printf "\t\t%s \\\n", directory + if (subset ~ /^base/ || subset == "ticlib" ) { + save_suffix = suffix + sub(/^[^.]\./,".",suffix) + if (directory != "../lib") { + printf "\t\t%s/%s \\\n", "../lib", termlib_end_of(); + } + printf "\t\t%s/%s \\\n", directory, termlib_end_of(); + suffix = save_suffix } - printf "%s : %s $(%s_OBJS)\n", dst_libs, directory, OBJS + printf "\t\t$(%s_OBJS)\n", OBJS printf "\t@echo linking $@\n" - print "\t-@rm -f %s", dst_libs; - if ( subset == "termlib" || subset == "termlib+ext_tinfo" ) { - make_shlib(OBJS, "TINFO_LIST") + if ( is_ticlib() ) { + make_shlib(OBJS, "TICS_LIST") + } else if ( is_termlib() ) { + make_shlib(OBJS, "TINFO_LIST") } else { - make_shlib(OBJS, "SHLIB_LIST") + make_shlib(OBJS, "SHLIB_LIST") } sharedlinks(directory) } +function shlib_install(directory) { + src_lib1 = sprintf("../lib/%s", end_name); + dst_lib1 = sprintf("%s/%s", directory, end_name); + printf "%s : \\\n", dst_lib1 + printf "\t\t%s \\\n", directory + printf "\t\t%s\n", src_lib1 + printf "\t@echo installing $@\n" + printf "\t$(INSTALL_LIB) %s %s\n", src_lib1, dst_lib1; + sharedlinks(directory) + } function install_dll(directory,filename) { src_name = sprintf("../lib/%s", filename); dst_name = sprintf("$(DESTDIR)%s/%s", directory, filename); printf "\t@echo installing %s as %s\n", src_name, dst_name - printf "\t-@rm -f %s\n", dst_name if ( directory == "$(bindir)" ) { program = "$(INSTALL) -m 755"; } else { @@ -153,6 +240,9 @@ BEGIN { printf "# subset: %s\n", subset printf "# ShlibVer: %s\n", ShlibVer printf "# ShlibVerInfix: %s\n", ShlibVerInfix + printf "# TermlibRoot: %s\n", TermlibRoot + printf "# TermlibSuffix: %s\n", TermlibSuffix + printf "# ReLink: %s\n", ReLink printf "# DoLinks: %s\n", DoLinks printf "# rmSoLocs: %s\n", rmSoLocs printf "# ldconfig: %s\n", ldconfig @@ -163,7 +253,9 @@ BEGIN { } using = 1 } - if ( subset == "termlib" || subset == "termlib+ext_tinfo" ) { + if ( is_ticlib() ) { + OBJS = MODEL "_P" + } else if ( is_termlib() ) { OBJS = MODEL "_T" } else { OBJS = MODEL @@ -205,33 +297,15 @@ END { if ( found == 1 ) { print "" - lib_name = sprintf("%s%s%s", prefix, name, suffix) + lib_name = lib_name_of(name); if ( MODEL == "SHARED" ) { - if (ShlibVerInfix == "cygdll") { - abi_name = sprintf("%s%s$(ABI_VERSION)%s", "cyg", name, suffix); - rel_name = sprintf("%s%s$(REL_VERSION)%s", "cyg", name, suffix); - imp_name = sprintf("%s%s%s.a", prefix, name, suffix); - } else if (ShlibVerInfix == "yes") { - abi_name = sprintf("%s%s.$(ABI_VERSION)%s", prefix, name, suffix); - rel_name = sprintf("%s%s.$(REL_VERSION)%s", prefix, name, suffix); - } else { - abi_name = sprintf("%s.$(ABI_VERSION)", lib_name); - rel_name = sprintf("%s.$(REL_VERSION)", lib_name); - } - if ( DoLinks == "reverse") { - end_name = lib_name; - } else { - if ( ShlibVer == "rel" ) { - end_name = rel_name; - } else if ( ShlibVer == "abi" || ShlibVer == "cygdll" ) { - end_name = abi_name; - } else { - end_name = lib_name; - } - } + abi_name = abi_name_of(name); + rel_name = rel_name_of(name); + imp_name = imp_name_of(name); + end_name = end_name_of(name); - shlib_rule("../lib") + shlib_build("../lib") print "" print "install \\" @@ -249,7 +323,11 @@ END { lib_dir = "$(DESTDIR)$(libdir)"; printf "install.%s :: %s/%s\n", name, lib_dir, end_name print "" - shlib_rule(lib_dir) + if ( ReLink == "yes" ) { + shlib_build(lib_dir) + } else { + shlib_install(lib_dir) + } } if ( overwrite == "yes" && name == "ncurses" ) @@ -393,3 +471,4 @@ END { } } } +# vile:ts=4 sw=4 diff --git a/contrib/ncurses/mk-hdr.awk b/contrib/ncurses/mk-hdr.awk new file mode 100644 index 0000000..9b6bee4 --- /dev/null +++ b/contrib/ncurses/mk-hdr.awk @@ -0,0 +1,107 @@ +# $Id: mk-hdr.awk,v 1.2 2007/03/31 15:48:45 tom Exp $ +############################################################################## +# Copyright (c) 2007 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. # +############################################################################## +# +# Author: Thomas E. Dickey 2007 +# +# Generate install/uninstall rules for header files +# Variables: +# subset ("none", "base", "base+ext_funcs" or "termlib", etc.) +# compat ("yes" or "no", flag to add link to curses.h +# +function basename(path) { + sub(/^.*\//,"",path) + return path; +} +BEGIN { + found = 0 + using = 1 + count = 0 + } + /^@/ { + using = 0 + if (subset == "none") { + using = 1 + } else if (index(subset,$2) > 0) { + using = 1 + } else { + using = 0 + } + } + /^[@#]/ { + next + } + { + if (using && NF != 0) { + if (found == 0) { + print "" + print "# generated by mk-hdr.awk" + printf "# subset: %s\n", subset + printf "# compat: %s\n", compat + print "" + found = 1 + } + data[count] = $1 + count = count + 1 + } + } +END { + if ( count > 0 ) + { + print "${DESTDIR}${includedir} :" + print " sh ${srcdir}/../mkdirs.sh $@" + print "" + print "install \\" + print "install.libs \\" + print "install.includes :: ${AUTO_SRC} ${DESTDIR}${includedir} \\" + + for (i = 0; i < count - 1; ++i) { + printf " %s \\\n", data[i] + } + printf " %s\n", data[count - 1] + + for (i = 0; i < count; ++i) { + printf " @ (cd ${DESTDIR}${includedir} && rm -f %s) ; ../headers.sh ${INSTALL_DATA} ${DESTDIR}${includedir} ${srcdir} %s\n", basename(data[i]), data[i] + if (data[i] == "curses.h" && compat == "yes") { + printf " @ (cd ${DESTDIR}${includedir} && rm -f ncurses.h && ${LN_S} %s ncurses.h)\n", data[i] + } + } + print "" + print "uninstall \\" + print "uninstall.libs \\" + print "uninstall.includes ::" + + for (i = 0; i < count; ++i) { + printf " -@ (cd ${DESTDIR}${includedir} && rm -f %s)\n", basename(data[i]) + if (data[i] == "curses.h" && compat == "yes") { + printf " -@ (cd ${DESTDIR}${includedir} && rm -f ncurses.h)\n" + } + } + } + } +# vile:ts=4 sw=4 diff --git a/contrib/ncurses/mkdirs.sh b/contrib/ncurses/mkdirs.sh new file mode 100644 index 0000000..59fc39c --- /dev/null +++ b/contrib/ncurses/mkdirs.sh @@ -0,0 +1,51 @@ +#! /bin/sh +# $Id: mkdirs.sh,v 1.5 2007/03/25 22:29:46 tom Exp $ +# ----------------------------------------------------------------------------- +# mkinstalldirs --- make directory hierarchy +# Author: Noah Friedman <friedman@prep.ai.mit.edu> +# Created: 1993-05-16 +# Last modified: 1994-03-25 +# Public domain +# ----------------------------------------------------------------------------- + +errstatus=0 +umask 022 + +for file in ${1+"$@"} ; do + set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` + shift + + pathcomp= + for d in ${1+"$@"} ; do + pathcomp="$pathcomp$d" + case "$pathcomp" in + -* ) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" 1>&2 + case "$pathcomp" in + [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]: ) + ;; # DOSISH systems + * ) + mkdir "$pathcomp" + errstatus=$? + if test $errstatus != 0 + then + # may have failed if invoked in a parallel "make -j# install" + if test -d "$pathcomp" + then + errstatus=0 + fi + fi + ;; + esac + fi + + pathcomp="$pathcomp/" + done +done + +exit $errstatus + +# mkinstalldirs ends here diff --git a/contrib/ncurses/ncurses/Makefile.in b/contrib/ncurses/ncurses/Makefile.in index ce35c03..39826e3 100644 --- a/contrib/ncurses/ncurses/Makefile.in +++ b/contrib/ncurses/ncurses/Makefile.in @@ -1,6 +1,6 @@ -# $Id: Makefile.in,v 1.101 2006/10/14 19:08:11 tom Exp $ +# $Id: Makefile.in,v 1.112 2007/09/01 20:45:53 tom Exp $ ############################################################################## -# Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. # +# Copyright (c) 1998-2006,2007 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"), # @@ -112,12 +112,13 @@ CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) -LINK = $(LIBTOOL) $(CC) +LINK = $(LIBTOOL) LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ SHLIB_DIRS = -L../lib SHLIB_LIST = $(SHLIB_DIRS) @SHLIB_LIST@ TINFO_LIST = $(SHLIB_DIRS) @TINFO_LIST@ +TICS_LIST = $(SHLIB_DIRS) @TICS_LIST@ MK_SHARED_LIB = @MK_SHARED_LIB@ @@ -128,8 +129,6 @@ ABI_VERSION = @cf_cv_abi_version@ RANLIB = @LIB_PREP@ -IMPORT_LIB = @IMPORT_LIB@ -SHARED_LIB = @SHARED_LIB@ LIBRARIES = @LIBS_TO_MAKE@ LINT = @LINT@ @@ -138,6 +137,7 @@ LINT_LIBS = -lncurses @LIBS@ FALLBACK_LIST = @FALLBACK_LIST@ +USE_BIG_STRINGS = @USE_BIG_STRINGS@ TERMINFO_CAPS = $(top_srcdir)/include/@TERMINFO_CAPS@ AUTO_SRC = \ @@ -151,11 +151,10 @@ AUTO_SRC = \ ./names.c \ ./unctrl.c \ init_keytry.h \ - keys.list \ - names-stamp + keys.list TEST_DEPS = ../lib/@LIB_PREFIX@ncurses@DFT_DEP_SUFFIX@ -TEST_ARGS = -L../lib -lncurses@DFT_ARG_SUFFIX@ +TEST_ARGS = @LDFLAGS_STATIC@ @TEST_ARGS@ @LDFLAGS_SHARED@ TEST_LDFLAGS = @LD_MODEL@ $(TEST_ARGS) @LIBS@ @LOCAL_LDFLAGS@ @LDFLAGS@ TEST_PROGS = \ @@ -179,7 +178,7 @@ sources: $(AUTO_SRC) $(DESTDIR)$(bindir) \ $(DESTDIR)$(libdir) : - sh $(srcdir)/../mkinstalldirs $@ + sh $(srcdir)/../mkdirs.sh $@ ../lib : ; mkdir $@ @@ -197,7 +196,7 @@ keys.list : $(tinfo)/MKkeys_list.sh make_keys$(BUILD_EXEEXT) : \ $(tinfo)/make_keys.c \ - names-stamp + names.c $(BUILD_CC) -o $@ $(BUILD_CCFLAGS) $(tinfo)/make_keys.c $(BUILD_LDFLAGS) $(BUILD_LIBS) make_hash$(BUILD_EXEEXT) : \ @@ -211,27 +210,21 @@ make_hash$(BUILD_EXEEXT) : \ ./comp_captab.c: \ make_hash$(BUILD_EXEEXT) \ ../include/hashsize.h \ + $(tinfo)/MKcaptab.sh \ $(tinfo)/MKcaptab.awk - sh $(tinfo)/MKcaptab.awk $(AWK) $(srcdir)/../include/@TERMINFO_CAPS@ > $@ + sh $(tinfo)/MKcaptab.sh $(AWK) $(USE_BIG_STRINGS) $(tinfo)/MKcaptab.awk $(srcdir)/../include/@TERMINFO_CAPS@ > $@ ./lib_keyname.c: keys.list $(base)/MKkeyname.awk - $(AWK) -f $(base)/MKkeyname.awk keys.list > $@ + $(AWK) -f $(base)/MKkeyname.awk bigstrings=$(USE_BIG_STRINGS) keys.list > $@ -names-stamp: $(tinfo)/MKnames.awk - $(AWK) -f $(tinfo)/MKnames.awk $(srcdir)/../include/@TERMINFO_CAPS@ - cat namehdr boolnames boolfnames numnames numfnames strnames strfnames nameftr >names.c - cat namehdr boolcodes numcodes strcodes codeftr >codes.c - -rm -f namehdr nameftr codeftr boolnames boolfnames boolcodes numnames numfnames numcodes strnames strfnames strcodes - @echo >$@ +./codes.c: $(tinfo)/MKcodes.awk + $(AWK) -f $(tinfo)/MKcodes.awk bigstrings=$(USE_BIG_STRINGS) $(srcdir)/../include/@TERMINFO_CAPS@ >$@ -./names.c: names-stamp - @echo made $@ - -./codes.c: names-stamp - @echo made $@ +./names.c: $(tinfo)/MKnames.awk + $(AWK) -f $(tinfo)/MKnames.awk bigstrings=$(USE_BIG_STRINGS) $(srcdir)/../include/@TERMINFO_CAPS@ >$@ ./unctrl.c: $(base)/MKunctrl.awk - echo | $(AWK) -f $(base)/MKunctrl.awk >$@ + echo | $(AWK) -f $(base)/MKunctrl.awk bigstrings=$(USE_BIG_STRINGS) >$@ tags: ctags *.[ch] */*.[ch] @@ -267,17 +260,17 @@ test_progs : $(TEST_PROGS) sh $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" implemented <../include/curses.h >$@ captoinfo$x : $(tinfo)/captoinfo.c $(TEST_DEPS) - @ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DMAIN $(tinfo)/captoinfo.c $(TEST_LDFLAGS) + @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DMAIN $(tinfo)/captoinfo.c $(TEST_LDFLAGS) hardscroll$x : $(serial)/hardscroll.c $(TEST_DEPS) - @ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DSCROLLDEBUG $(serial)/hardscroll.c $(TEST_LDFLAGS) + @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DSCROLLDEBUG $(serial)/hardscroll.c $(TEST_LDFLAGS) -hashmap$x : $(serial)/hashmap.c $(TEST_DEPS) - @ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DHASHDEBUG $(serial)/hashmap.c $(TEST_LDFLAGS) +hashmap$x : $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_DEPS) + @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DHASHDEBUG $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_LDFLAGS) lib_mvcur$x : $(serial)/lib_mvcur.c $(TEST_DEPS) \ ../@DFT_OBJ_SUBDIR@/dump_entry$o - @ECHO_LINK@ $(CC) -o $@ $(CFLAGS_DEFAULT) -DNCURSES_TEST -I$(serial)/../../progs $(serial)/lib_mvcur.c ../@DFT_OBJ_SUBDIR@/dump_entry$o $(TEST_LDFLAGS) + @ECHO_LINK@ $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DNCURSES_TEST -I$(serial)/../../progs $(serial)/lib_mvcur.c ../@DFT_OBJ_SUBDIR@/dump_entry$o $(TEST_LDFLAGS) link_test$x : ./link_test.c $(TEST_DEPS) \ ../@DFT_OBJ_SUBDIR@/link_test$o diff --git a/contrib/ncurses/ncurses/base/MKkeyname.awk b/contrib/ncurses/ncurses/base/MKkeyname.awk index 11dcfe5..c1d9475 100644 --- a/contrib/ncurses/ncurses/base/MKkeyname.awk +++ b/contrib/ncurses/ncurses/base/MKkeyname.awk @@ -1,6 +1,6 @@ -# $Id: MKkeyname.awk,v 1.30 2006/05/20 17:35:30 tom Exp $ +# $Id: MKkeyname.awk,v 1.38 2007/08/18 18:41:18 tom Exp $ ############################################################################## -# Copyright (c) 1999-2005,2006 Free Software Foundation, Inc. # +# Copyright (c) 1999-2006,2007 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"), # @@ -33,18 +33,39 @@ BEGIN { print "#include <tic.h>" print "#include <term_entry.h>" print "" - print "const struct kn _nc_key_names[] = {" + first = 1; } /^[^#]/ { - printf "\t{ \"%s\", %s },\n", $1, $1; + if (bigstrings) { + if (first) { + print "struct kn { short offset; int code; };" + print "static const struct kn _nc_key_names[] = {" + } + printf "\t{ %d, %s },\n", offset, $1 + offset += length($1) + 1 + names = names"\n\t\""$1"\\0\"" + } else { + if (first) { + print "struct kn { const char *name; int code; };" + print "static const struct kn _nc_key_names[] = {" + } + printf "\t{ \"%s\", %s },\n", $1, $1; + } + first = 0; } END { - printf "\t{ 0, 0 }};\n" + if (bigstrings) { + printf "\t{ -1, 0 }};\n" + print "" + print "static const char key_names[] = "names";" + } else { + printf "\t{ 0, 0 }};\n" + } print "" print "#define SIZEOF_TABLE 256" - print "static char **keyname_table;" + print "#define MyTable _nc_globals.keyname_table" print "" print "NCURSES_EXPORT(NCURSES_CONST char *) keyname (int c)" print "{" @@ -56,21 +77,30 @@ END { print " if (c == -1) {" print " result = \"-1\";" print " } else {" - print " for (i = 0; _nc_key_names[i].name != 0; i++) {" - print " if (_nc_key_names[i].code == c) {" - print " result = (NCURSES_CONST char *)_nc_key_names[i].name;" - print " break;" - print " }" - print " }" + if (bigstrings) { + print " for (i = 0; _nc_key_names[i].offset != -1; i++) {" + print " if (_nc_key_names[i].code == c) {" + print " result = (NCURSES_CONST char *)key_names + _nc_key_names[i].offset;" + print " break;" + print " }" + print " }" + } else { + print " for (i = 0; _nc_key_names[i].name != 0; i++) {" + print " if (_nc_key_names[i].code == c) {" + print " result = (NCURSES_CONST char *)_nc_key_names[i].name;" + print " break;" + print " }" + print " }" + } print "" print " if (result == 0 && (c >= 0 && c < SIZEOF_TABLE)) {" - print " if (keyname_table == 0)" - print " keyname_table = typeCalloc(char *, SIZEOF_TABLE);" - print " if (keyname_table != 0) {" - print " if (keyname_table[c] == 0) {" + print " if (MyTable == 0)" + print " MyTable = typeCalloc(char *, SIZEOF_TABLE);" + print " if (MyTable != 0) {" + print " if (MyTable[c] == 0) {" print " int cc = c;" print " p = name;" - print " if (cc >= 128) {" + print " if (cc >= 128 && (SP == 0 || SP->_use_meta)) {" print " strcpy(p, \"M-\");" print " p += 2;" print " cc -= 128;" @@ -81,9 +111,9 @@ END { print " strcpy(p, \"^?\");" print " else" print " sprintf(p, \"%c\", cc);" - print " keyname_table[c] = strdup(name);" + print " MyTable[c] = strdup(name);" print " }" - print " result = keyname_table[c];" + print " result = MyTable[c];" print " }" print "#if NCURSES_EXT_FUNCS && NCURSES_XNAMES" print " } else if (result == 0 && cur_term != 0) {" @@ -111,24 +141,15 @@ END { print " return result;" print "}" print "" - print "#if USE_WIDEC_SUPPORT" - print "NCURSES_EXPORT(NCURSES_CONST char *) key_name (wchar_t c)" - print "{" - print " NCURSES_CONST char *result = keyname((int)c);" - print " if (!strncmp(result, \"M-\", 2)) result = 0;" - print " return result;" - print "}" - print "#endif" - print "" print "#if NO_LEAKS" print "void _nc_keyname_leaks(void)" print "{" print " int j;" - print " if (keyname_table != 0) {" + print " if (MyTable != 0) {" print " for (j = 0; j < SIZEOF_TABLE; ++j) {" - print " FreeIfNeeded(keyname_table[j]);" + print " FreeIfNeeded(MyTable[j]);" print " }" - print " FreeAndNull(keyname_table);" + print " FreeAndNull(MyTable);" print " }" print "}" print "#endif /* NO_LEAKS */" diff --git a/contrib/ncurses/ncurses/base/MKlib_gen.sh b/contrib/ncurses/ncurses/base/MKlib_gen.sh index 30c44ff..b5b0714 100755 --- a/contrib/ncurses/ncurses/base/MKlib_gen.sh +++ b/contrib/ncurses/ncurses/base/MKlib_gen.sh @@ -2,10 +2,10 @@ # # MKlib_gen.sh -- generate sources from curses.h macro definitions # -# ($Id: MKlib_gen.sh,v 1.27 2006/07/01 21:25:39 tom Exp $) +# ($Id: MKlib_gen.sh,v 1.29 2007/08/18 13:17:14 tom Exp $) # ############################################################################## -# Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. # +# Copyright (c) 1998-2006,2007 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"), # @@ -62,7 +62,7 @@ if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi if test "${LC_COLLATE+set}" = set; then LC_COLLATE=C; export LC_COLLATE; fi -preprocessor="$1 -I../include" +preprocessor="$1 -DNCURSES_INTERNALS -I../include" AWK="$2" USE="$3" @@ -406,7 +406,11 @@ sed -n -f $ED1 \ | sed -e 's/NCURSES_EXPORT(\(.*\)) \(.*\) (\(.*\))/\1 \2(\3)/' \ | sed -f $ED2 \ | $AWK -f $AW1 using=$USE \ -| sed -e 's/^\([a-z_][a-z_]*[ *]*\)/\1 gen_/' -e 's/ / /g' >>$TMP +| sed \ + -e 's/ [ ]*$//g' \ + -e 's/^\([a-zA-Z_][a-zA-Z_]*[ *]*\)/\1 gen_/' \ + -e 's/gen_$//' \ + -e 's/ / /g' >>$TMP $preprocessor $TMP 2>/dev/null \ | sed \ diff --git a/contrib/ncurses/ncurses/base/MKunctrl.awk b/contrib/ncurses/ncurses/base/MKunctrl.awk index e153fa8..5d187a8 100644 --- a/contrib/ncurses/ncurses/base/MKunctrl.awk +++ b/contrib/ncurses/ncurses/base/MKunctrl.awk @@ -1,6 +1,6 @@ -# $Id: MKunctrl.awk,v 1.11 2005/12/17 22:48:37 tom Exp $ +# $Id: MKunctrl.awk,v 1.14 2007/07/28 21:13:21 tom Exp $ ############################################################################## -# Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. # +# Copyright (c) 1998-2006,2007 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"), # @@ -42,63 +42,111 @@ END { print "NCURSES_EXPORT(NCURSES_CONST char *) unctrl (register chtype ch)" print "{" - printf "static const char* const table[] = {" + blob="" + offset=0 + if (bigstrings) { + printf "static const short unctrl_table[] = {" + } else { + printf "static const char* const unctrl_table[] = {" + } for ( ch = 0; ch < 256; ch++ ) { gap = "," - if ((ch % 8) == 0) + part="" + if ((ch % 8) == 0) { printf "\n " + if (ch != 0) + blob = blob "\"" + blob = blob "\n \"" + } + if (bigstrings) + printf "%4d%s", offset, gap; if (ch < 32) { - printf "\"^\\%03o\"", ch + 64 + part = sprintf ("^\\%03o", ch + 64); + offset = offset + 3; } else if (ch == 127) { - printf "\"^?\"" + part = "^?"; + offset = offset + 3; } else if (ch >= 128 && ch < 160) { - printf "\"~\\%03o\"", ch - 64 + part = sprintf("~\\%03o", ch - 64); + offset = offset + 3; } else { - printf "\"\\%03o\"", ch gap = gap " " + part = sprintf("\\%03o", ch); + offset = offset + 2; } if (ch == 255) gap = "\n" else if (((ch + 1) % 8) != 0) gap = gap " " - printf "%s", gap + if (bigstrings) { + blob = blob part "\\0"; + } else { + printf "\"%s\"%s", part, gap + } } print "};" + blob = blob "\""; print "" print "#if NCURSES_EXT_FUNCS" - printf "static const char* const table2[] = {" + if (bigstrings) { + blob = blob "\n#if NCURSES_EXT_FUNCS" + printf "static const short unctrl_c1[] = {" + } else { + printf "static const char* const unctrl_c1[] = {" + } for ( ch = 128; ch < 160; ch++ ) { gap = "," - if ((ch % 8) == 0) + if ((ch % 8) == 0) { + if (ch != 128) + blob = blob "\"" printf "\n " - if (ch >= 128 && ch < 160) { - printf "\"\\%03o\"", ch - gap = gap " " + blob = blob "\n \"" + } + if (bigstrings) { + printf "%4d%s", offset, gap; + part = sprintf("\\%03o\\0", ch); + blob = blob part + offset = offset + 2; + if (((ch + 1) % 8) != 0) + gap = gap " " + } else { + if (ch >= 128 && ch < 160) { + printf "\"\\%03o\"", ch + gap = gap " " + } + if (ch == 255) + gap = "\n" + else if (((ch + 1) % 8) != 0) + gap = gap " " + printf "%s", gap } - if (ch == 255) - gap = "\n" - else if (((ch + 1) % 8) != 0) - gap = gap " " - printf "%s", gap } print "};" print "#endif /* NCURSES_EXT_FUNCS */" + blob = blob "\"\n#endif /* NCURSES_EXT_FUNCS */\n" print "" + if (bigstrings) { + print "static const char unctrl_blob[] = "blob";" + print "" + stringname = "unctrl_blob + unctrl" + } else { + stringname = "unctrl" + } print "\tint check = ChCharOf(ch);" print "\tconst char *result;" print "" - print "\tif (check >= 0 && check < (int)SIZEOF(table)) {" + print "\tif (check >= 0 && check < (int)SIZEOF(unctrl_table)) {" print "#if NCURSES_EXT_FUNCS" print "\t\tif ((SP != 0)" print "\t\t && (SP->_legacy_coding > 1)" print "\t\t && (check >= 128)" print "\t\t && (check < 160))" - print "\t\t\tresult = table2[check - 128];" + printf "\t\t\tresult = %s_c1[check - 128];\n", stringname; print "\t\telse" print "#endif /* NCURSES_EXT_FUNCS */" - print "\t\t\tresult = table[check];" + printf "\t\t\tresult = %s_table[check];\n", stringname; print "\t} else {" print "\t\tresult = 0;" print "\t}" diff --git a/contrib/ncurses/ncurses/base/define_key.c b/contrib/ncurses/ncurses/base/define_key.c index 3b5299a..3d5815f 100644 --- a/contrib/ncurses/ncurses/base/define_key.c +++ b/contrib/ncurses/ncurses/base/define_key.c @@ -32,7 +32,7 @@ #include <curses.priv.h> -MODULE_ID("$Id: define_key.c,v 1.10 2006/06/17 18:19:48 tom Exp $") +MODULE_ID("$Id: define_key.c,v 1.13 2006/12/30 23:23:31 tom Exp $") NCURSES_EXPORT(int) define_key(const char *str, int keycode) @@ -43,16 +43,21 @@ define_key(const char *str, int keycode) if (SP == 0) { code = ERR; } else if (keycode > 0) { + unsigned ukey = (unsigned) keycode; + if (str != 0) { define_key(str, 0); } else if (has_key(keycode)) { - while (_nc_remove_key(&(SP->_keytry), (unsigned) keycode)) + while (_nc_remove_key(&(SP->_keytry), ukey)) code = OK; } if (str != 0) { if (key_defined(str) == 0) { - (void) _nc_add_to_try(&(SP->_keytry), str, (unsigned) keycode); - code = OK; + if (_nc_add_to_try(&(SP->_keytry), str, ukey) == OK) { + code = OK; + } else { + code = ERR; + } } else { code = ERR; } diff --git a/contrib/ncurses/ncurses/base/key_defined.c b/contrib/ncurses/ncurses/base/key_defined.c index dac1887..759ad82 100644 --- a/contrib/ncurses/ncurses/base/key_defined.c +++ b/contrib/ncurses/ncurses/base/key_defined.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2003 Free Software Foundation, Inc. * + * Copyright (c) 2003,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 * @@ -32,26 +32,27 @@ #include <curses.priv.h> -MODULE_ID("$Id: key_defined.c,v 1.3 2003/05/17 23:12:27 tom Exp $") +MODULE_ID("$Id: key_defined.c,v 1.6 2006/12/30 23:22:55 tom Exp $") static int -find_definition(struct tries *tree, const char *str) +find_definition(TRIES * tree, const char *str) { - struct tries *ptr; - int result = 0; + TRIES *ptr; + int result = OK; if (str != 0 && *str != '\0') { for (ptr = tree; ptr != 0; ptr = ptr->sibling) { if (UChar(*str) == UChar(ptr->ch)) { if (str[1] == '\0' && ptr->child != 0) { - result = -1; - } else if ((result = find_definition(ptr->child, str + 1)) == 0) { + result = ERR; + } else if ((result = find_definition(ptr->child, str + 1)) + == OK) { result = ptr->value; } else if (str[1] == '\0') { - result = -1; + result = ERR; } } - if (result != 0) + if (result != OK) break; } } @@ -60,7 +61,8 @@ find_definition(struct tries *tree, const char *str) /* * Returns the keycode associated with the given string. If none is found, - * return 0. If the string is only a prefix to other strings, return -1. + * return OK. If the string is only a prefix to other strings, return ERR. + * Otherwise, return the keycode's value (neither OK/ERR). */ NCURSES_EXPORT(int) key_defined(const char *str) diff --git a/contrib/ncurses/ncurses/base/keyok.c b/contrib/ncurses/ncurses/base/keyok.c index 4c99506..ad8988c 100644 --- a/contrib/ncurses/ncurses/base/keyok.c +++ b/contrib/ncurses/ncurses/base/keyok.c @@ -27,12 +27,12 @@ ****************************************************************************/ /**************************************************************************** - * Author: Thomas E. Dickey <dickey@clark.net> 1997 * + * Author: Thomas E. Dickey 1997-on * ****************************************************************************/ #include <curses.priv.h> -MODULE_ID("$Id: keyok.c,v 1.6 2006/06/17 18:18:43 tom Exp $") +MODULE_ID("$Id: keyok.c,v 1.7 2006/12/30 16:22:33 tom Exp $") /* * Enable (or disable) ncurses' interpretation of a keycode by adding (or @@ -57,18 +57,20 @@ keyok(int c, bool flag) if (flag) { while ((s = _nc_expand_try(SP->_key_ok, ch, &count, 0)) != 0 && _nc_remove_key(&(SP->_key_ok), ch)) { - _nc_add_to_try(&(SP->_keytry), s, ch); + code = _nc_add_to_try(&(SP->_keytry), s, ch); free(s); - code = OK; count = 0; + if (code != OK) + break; } } else { while ((s = _nc_expand_try(SP->_keytry, ch, &count, 0)) != 0 && _nc_remove_key(&(SP->_keytry), ch)) { - _nc_add_to_try(&(SP->_key_ok), s, ch); + code = _nc_add_to_try(&(SP->_key_ok), s, ch); free(s); - code = OK; count = 0; + if (code != OK) + break; } } } diff --git a/contrib/ncurses/ncurses/base/lib_addstr.c b/contrib/ncurses/ncurses/base/lib_addstr.c index b7a0b40..4e3a040 100644 --- a/contrib/ncurses/ncurses/base/lib_addstr.c +++ b/contrib/ncurses/ncurses/base/lib_addstr.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -44,7 +44,7 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_addstr.c,v 1.46 2006/05/27 19:22:19 tom Exp $") +MODULE_ID("$Id: lib_addstr.c,v 1.48 2007/10/13 19:56:57 tom Exp $") NCURSES_EXPORT(int) waddnstr(WINDOW *win, const char *astr, int n) @@ -80,8 +80,7 @@ waddnstr(WINDOW *win, const char *astr, int n) NCURSES_EXPORT(int) waddchnstr(WINDOW *win, const chtype *astr, int n) { - NCURSES_SIZE_T y = win->_cury; - NCURSES_SIZE_T x = win->_curx; + NCURSES_SIZE_T y, x; int code = OK; int i; struct ldat *line; @@ -91,6 +90,8 @@ waddchnstr(WINDOW *win, const chtype *astr, int n) if (!win) returnCode(ERR); + y = win->_cury; + x = win->_curx; if (n < 0) { const chtype *str; n = 0; @@ -128,8 +129,8 @@ NCURSES_EXPORT(int) wadd_wchnstr(WINDOW *win, const cchar_t *astr, int n) { static const NCURSES_CH_T blank = NewChar(BLANK_TEXT); - NCURSES_SIZE_T y = win->_cury; - NCURSES_SIZE_T x = win->_curx; + NCURSES_SIZE_T y; + NCURSES_SIZE_T x; int code = OK; struct ldat *line; int i, j, start, len, end; @@ -139,6 +140,8 @@ wadd_wchnstr(WINDOW *win, const cchar_t *astr, int n) if (!win) returnCode(ERR); + y = win->_cury; + x = win->_curx; if (n < 0) { n = _nc_wchstrlen(astr); } diff --git a/contrib/ncurses/ncurses/base/lib_color.c b/contrib/ncurses/ncurses/base/lib_color.c index a90ca9d..9cae495 100644 --- a/contrib/ncurses/ncurses/base/lib_color.c +++ b/contrib/ncurses/ncurses/base/lib_color.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -42,21 +42,37 @@ #include <term.h> #include <tic.h> -MODULE_ID("$Id: lib_color.c,v 1.80 2006/11/26 01:33:16 tom Exp $") +MODULE_ID("$Id: lib_color.c,v 1.85 2007/04/07 17:07:28 tom Exp $") /* * These should be screen structure members. They need to be globals for * historical reasons. So we assign them in start_color() and also in * set_term()'s screen-switching logic. */ +#if USE_REENTRANT +NCURSES_EXPORT(int) +NCURSES_PUBLIC_VAR(COLOR_PAIRS) (void) +{ + return SP ? SP->_pair_count : -1; +} +NCURSES_EXPORT(int) +NCURSES_PUBLIC_VAR(COLORS) (void) +{ + return SP ? SP->_color_count : -1; +} +#else NCURSES_EXPORT_VAR(int) COLOR_PAIRS = 0; NCURSES_EXPORT_VAR(int) COLORS = 0; +#endif #define DATA(r,g,b) {r,g,b, 0,0,0, 0} #define TYPE_CALLOC(type,elts) typeCalloc(type, (unsigned)(elts)) +#define MAX_PALETTE 8 + #define OkColorHi(n) (((n) < COLORS) && ((n) < max_colors)) +#define InPalette(n) ((n) >= 0 && (n) < MAX_PALETTE) /* * Given a RGB range of 0..1000, we'll normally set the individual values @@ -162,10 +178,10 @@ init_color_table(void) tp = (hue_lightness_saturation) ? hls_palette : cga_palette; for (n = 0; n < COLORS; n++) { - if (n < 8) { + if (InPalette(n)) { SP->_color_table[n] = tp[n]; } else { - SP->_color_table[n] = tp[n % 8]; + SP->_color_table[n] = tp[n % MAX_PALETTE]; if (hue_lightness_saturation) { SP->_color_table[n].green = 100; } else { @@ -239,8 +255,12 @@ start_color(void) } if (max_pairs > 0 && max_colors > 0) { - COLOR_PAIRS = SP->_pair_count = max_pairs; - COLORS = SP->_color_count = max_colors; + SP->_pair_count = max_pairs; + SP->_color_count = max_colors; +#if !USE_REENTRANT + COLOR_PAIRS = max_pairs; + COLORS = max_colors; +#endif if ((SP->_color_pairs = TYPE_CALLOC(colorpair_t, max_pairs)) != 0) { @@ -365,13 +385,14 @@ init_pair(short pair, short f, short b) if (GET_SCREEN_PAIR(SP) == pair) SET_SCREEN_PAIR(SP, (chtype) (~0)); /* force attribute update */ - if (initialize_pair) { + if (initialize_pair && InPalette(f) && InPalette(b)) { const color_t *tp = hue_lightness_saturation ? hls_palette : cga_palette; - T(("initializing pair: pair = %d, fg=(%d,%d,%d), bg=(%d,%d,%d)", - pair, - tp[f].red, tp[f].green, tp[f].blue, - tp[b].red, tp[b].green, tp[b].blue)); + TR(TRACE_ATTRS, + ("initializing pair: pair = %d, fg=(%d,%d,%d), bg=(%d,%d,%d)", + pair, + tp[f].red, tp[f].green, tp[f].blue, + tp[b].red, tp[b].green, tp[b].blue)); TPUTS_TRACE("initialize_pair"); putp(TPARM_7(initialize_pair, @@ -461,7 +482,8 @@ color_content(short color, short *r, short *g, short *b) if (b) *b = c_b; - T(("...color_content(%d,%d,%d,%d)", color, c_r, c_g, c_b)); + TR(TRACE_ATTRS, ("...color_content(%d,%d,%d,%d)", + color, c_r, c_g, c_b)); result = OK; } returnCode(result); @@ -492,7 +514,7 @@ pair_content(short pair, short *f, short *b) if (b) *b = bg; - T(("...pair_content(%d,%d,%d)", pair, fg, bg)); + TR(TRACE_ATTRS, ("...pair_content(%d,%d,%d)", pair, fg, bg)); result = OK; } returnCode(result); diff --git a/contrib/ncurses/ncurses/base/lib_delwin.c b/contrib/ncurses/ncurses/base/lib_delwin.c index 89d8e7c3..fc68f9d 100644 --- a/contrib/ncurses/ncurses/base/lib_delwin.c +++ b/contrib/ncurses/ncurses/base/lib_delwin.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998,2000,2001 Free Software Foundation, Inc. * + * Copyright (c) 1998-2001,2007 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 * @@ -40,7 +40,7 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_delwin.c,v 1.13 2001/08/26 00:40:20 tom Exp $") +MODULE_ID("$Id: lib_delwin.c,v 1.15 2007/12/22 23:34:26 tom Exp $") static bool cannot_delete(WINDOW *win) @@ -63,16 +63,27 @@ cannot_delete(WINDOW *win) NCURSES_EXPORT(int) delwin(WINDOW *win) { + int result = ERR; + T((T_CALLED("delwin(%p)"), win)); - if (win == 0 - || cannot_delete(win)) - returnCode(ERR); + if (_nc_try_global(windowlist) == 0) { + _nc_lock_window(win); + if (win == 0 + || cannot_delete(win)) { + result = ERR; + _nc_unlock_window(win); + } else { - if (win->_flags & _SUBWIN) - touchwin(win->_parent); - else if (curscr != 0) - touchwin(curscr); + if (win->_flags & _SUBWIN) + touchwin(win->_parent); + else if (curscr != 0) + touchwin(curscr); - returnCode(_nc_freewin(win)); + _nc_unlock_window(win); + result = _nc_freewin(win); + } + _nc_unlock_global(windowlist); + } + returnCode(result); } diff --git a/contrib/ncurses/ncurses/base/lib_freeall.c b/contrib/ncurses/ncurses/base/lib_freeall.c index 27897a9..dbf0483 100644 --- a/contrib/ncurses/ncurses/base/lib_freeall.c +++ b/contrib/ncurses/ncurses/base/lib_freeall.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -27,7 +27,7 @@ ****************************************************************************/ /**************************************************************************** - * Author: Thomas E. Dickey 1996,1997 * + * Author: Thomas E. Dickey 1996-on * ****************************************************************************/ #include <curses.priv.h> @@ -40,7 +40,7 @@ extern int malloc_errfd; /* FIXME */ #endif -MODULE_ID("$Id: lib_freeall.c,v 1.38 2006/12/02 22:36:43 tom Exp $") +MODULE_ID("$Id: lib_freeall.c,v 1.45 2007/12/22 23:29:37 tom Exp $") /* * Free all ncurses data. This is used for testing only (there's no practical @@ -50,18 +50,22 @@ NCURSES_EXPORT(void) _nc_freeall(void) { WINDOWLIST *p, *q; - char *s; static va_list empty_va; T((T_CALLED("_nc_freeall()"))); #if NO_LEAKS - _nc_free_tparm(); - if (_nc_oldnums != 0) { - FreeAndNull(_nc_oldnums); + if (SP != 0) { + if (SP->_oldnum_list != 0) { + FreeAndNull(SP->_oldnum_list); + } } #endif if (SP != 0) { + _nc_lock_global(windowlist); + while (_nc_windows != 0) { + bool deleted = FALSE; + /* Delete only windows that're not a parent */ for (p = _nc_windows; p != 0; p = p->next) { bool found = FALSE; @@ -76,39 +80,38 @@ _nc_freeall(void) } if (!found) { - delwin(&(p->win)); + if (delwin(&(p->win)) != ERR) + deleted = TRUE; break; } } + + /* + * Don't continue to loop if the list is trashed. + */ + if (!deleted) + break; } delscreen(SP); + _nc_unlock_global(windowlist); } -#if NO_LEAKS - _nc_tgetent_leaks(); -#endif - del_curterm(cur_term); - _nc_free_entries(_nc_head); - _nc_get_type(0); - _nc_first_name(0); + if (cur_term != 0) + del_curterm(cur_term); + #if USE_WIDEC_SUPPORT FreeIfNeeded(_nc_wacs); #endif -#if NO_LEAKS - _nc_alloc_entry_leaks(); - _nc_captoinfo_leaks(); - _nc_comp_scan_leaks(); - _nc_keyname_leaks(); - _nc_tic_expand(0, FALSE, 0); -#endif - - if ((s = _nc_home_terminfo()) != 0) - free(s); - (void) _nc_printf_string(0, empty_va); #ifdef TRACE (void) _nc_trace_buf(-1, 0); #endif +#if BROKEN_LINKER || USE_REENTRANT + FreeIfNeeded(_nc_prescreen.real_acs_map); +#endif + + _nc_leaks_tinfo(); + #if HAVE_LIBDBMALLOC malloc_dump(malloc_errfd); #elif HAVE_LIBDMALLOC diff --git a/contrib/ncurses/ncurses/base/lib_getch.c b/contrib/ncurses/ncurses/base/lib_getch.c index 7891edf..64566cc 100644 --- a/contrib/ncurses/ncurses/base/lib_getch.c +++ b/contrib/ncurses/ncurses/base/lib_getch.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -41,12 +41,20 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_getch.c,v 1.75 2006/03/04 20:06:09 tom Exp $") +MODULE_ID("$Id: lib_getch.c,v 1.80 2007/09/29 20:39:34 tom Exp $") #include <fifo_defs.h> +#if USE_REENTRANT +NCURSES_EXPORT(int) +NCURSES_PUBLIC_VAR(ESCDELAY) (void) +{ + return SP ? SP->_ESCDELAY : 1000; +} +#else NCURSES_EXPORT_VAR(int) ESCDELAY = 1000; /* max interval betw. chars in funkeys, in millisecs */ +#endif #ifdef NCURSES_WGETCH_EVENTS #define TWAIT_MASK 7 @@ -104,8 +112,10 @@ fifo_pull(void) h_inc(); #ifdef TRACE - if (_nc_tracing & TRACE_IEVENT) + if (USE_TRACEF(TRACE_IEVENT)) { _nc_fifo_dump(); + _nc_unlock_global(tracef); + } #endif return ch; } @@ -200,8 +210,10 @@ fifo_push(EVENTLIST_0th(_nc_eventlist * evl)) t_inc(); TR(TRACE_IEVENT, ("pushed %s at %d", _tracechar(ch), tail)); #ifdef TRACE - if (_nc_tracing & TRACE_IEVENT) + if (USE_TRACEF(TRACE_IEVENT)) { _nc_fifo_dump(); + _nc_unlock_global(tracef); + } #endif return ch; } @@ -234,15 +246,16 @@ _nc_wgetch(WINDOW *win, T((T_CALLED("_nc_wgetch(%p)"), win)); *result = 0; - if (win == 0 || SP == 0) + if (win == 0 || SP == 0) { returnCode(ERR); + } if (cooked_key_in_fifo()) { if (wgetch_should_refresh(win)) wrefresh(win); *result = fifo_pull(); - returnCode(OK); + returnCode(*result >= KEY_MIN ? KEY_CODE_YES : OK); } #ifdef NCURSES_WGETCH_EVENTS if (evl && (evl->count == 0)) @@ -281,12 +294,10 @@ _nc_wgetch(WINDOW *win, /* Return it first */ if (rc == KEY_EVENT) { *result = rc; - returnCode(OK); - } + } else #endif - - *result = fifo_pull(); - returnCode(OK); + *result = fifo_pull(); + returnCode(*result >= KEY_MIN ? KEY_CODE_YES : OK); } if (win->_use_keypad != SP->_keypad_on) @@ -318,7 +329,7 @@ _nc_wgetch(WINDOW *win, #ifdef NCURSES_WGETCH_EVENTS if (rc & 4) { *result = KEY_EVENT; - returnCode(OK); + returnCode(KEY_CODE_YES); } #endif if (!rc) @@ -384,7 +395,7 @@ _nc_wgetch(WINDOW *win, if (ch == ERR) { #if USE_SIZECHANGE - if (SP->_sig_winch) { + if (_nc_handle_sigwinch(FALSE)) { _nc_update_screensize(); /* resizeterm can push KEY_RESIZE */ if (cooked_key_in_fifo()) { @@ -493,7 +504,7 @@ wgetch(WINDOW *win) static int kgetch(EVENTLIST_0th(_nc_eventlist * evl)) { - struct tries *ptr; + TRIES *ptr; int ch = 0; int timeleft = ESCDELAY; diff --git a/contrib/ncurses/ncurses/base/lib_initscr.c b/contrib/ncurses/ncurses/base/lib_initscr.c index d2ae281..3874473 100644 --- a/contrib/ncurses/ncurses/base/lib_initscr.c +++ b/contrib/ncurses/ncurses/base/lib_initscr.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2005,2007 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 * @@ -45,19 +45,18 @@ #include <sys/termio.h> /* needed for ISC */ #endif -MODULE_ID("$Id: lib_initscr.c,v 1.34 2005/10/22 20:30:38 tom Exp $") +MODULE_ID("$Id: lib_initscr.c,v 1.35 2007/04/21 20:43:02 tom Exp $") NCURSES_EXPORT(WINDOW *) initscr(void) { - static bool initialized = FALSE; NCURSES_CONST char *name; START_TRACE(); T((T_CALLED("initscr()"))); /* Portable applications must not call initscr() more than once */ - if (!initialized) { - initialized = TRUE; + if (!_nc_globals.init_screen) { + _nc_globals.init_screen = TRUE; if ((name = getenv("TERM")) == 0 || *name == '\0') diff --git a/contrib/ncurses/ncurses/base/lib_instr.c b/contrib/ncurses/ncurses/base/lib_instr.c index 809952f..3fb2949 100644 --- a/contrib/ncurses/ncurses/base/lib_instr.c +++ b/contrib/ncurses/ncurses/base/lib_instr.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2005,2007 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 * @@ -41,7 +41,7 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_instr.c,v 1.15 2005/11/20 01:38:03 tom Exp $") +MODULE_ID("$Id: lib_instr.c,v 1.16 2007/07/21 20:18:10 tom Exp $") NCURSES_EXPORT(int) winnstr(WINDOW *win, char *str, int n) @@ -81,7 +81,7 @@ winnstr(WINDOW *win, char *str, int n) n3 = wcstombs(0, wch, 0); if (isEILSEQ(n3) || (n3 == 0)) { ; - } else if ((int) (n3 + i) >= n) { + } else if ((int) (n3 + i) > n) { done = TRUE; } else if ((tmp = typeCalloc(char, n3 + 10)) == 0) { done = TRUE; @@ -102,9 +102,7 @@ winnstr(WINDOW *win, char *str, int n) str[i++] = (char) CharOf(win->_line[row].text[col]); #endif if (++col > win->_maxx) { - col = 0; - if (++row > win->_maxy) - break; + break; } } } diff --git a/contrib/ncurses/ncurses/base/lib_mouse.c b/contrib/ncurses/ncurses/base/lib_mouse.c index f302327..aace7de 100644 --- a/contrib/ncurses/ncurses/base/lib_mouse.c +++ b/contrib/ncurses/ncurses/base/lib_mouse.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -79,7 +79,7 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_mouse.c,v 1.85 2006/11/25 22:30:28 tom Exp $") +MODULE_ID("$Id: lib_mouse.c,v 1.88 2007/09/29 21:50:04 tom Exp $") #include <term.h> #include <tic.h> @@ -403,11 +403,11 @@ enable_gpm_mouse(int enable) } #endif /* USE_GPM_SUPPORT */ +#define xterm_kmous "\033[M" + static void initialize_mousetype(void) { - static const char *xterm_kmous = "\033[M"; - T((T_CALLED("initialize_mousetype()"))); /* Try gpm first, because gpm may be configured to run in xterm */ @@ -565,8 +565,8 @@ initialize_mousetype(void) init_xterm_mouse(); } } else if (strstr(cur_term->type.term_names, "xterm") != 0) { - (void) _nc_add_to_try(&(SP->_keytry), xterm_kmous, KEY_MOUSE); - init_xterm_mouse(); + if (_nc_add_to_try(&(SP->_keytry), xterm_kmous, KEY_MOUSE) == OK) + init_xterm_mouse(); } returnVoid; } @@ -985,12 +985,13 @@ _nc_mouse_parse(int runcount) } #ifdef TRACE - if (_nc_tracing & TRACE_IEVENT) { + if (USE_TRACEF(TRACE_IEVENT)) { _trace_slot("before mouse press/release merge:"); _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d", (long) (runp - SP->_mouse_events), (long) ((eventp - SP->_mouse_events) + (EV_MAX - 1)) % EV_MAX, runcount); + _nc_unlock_global(tracef); } #endif /* TRACE */ @@ -1028,12 +1029,13 @@ _nc_mouse_parse(int runcount) (merge); #ifdef TRACE - if (_nc_tracing & TRACE_IEVENT) { + if (USE_TRACEF(TRACE_IEVENT)) { _trace_slot("before mouse click merge:"); _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d", (long) (runp - SP->_mouse_events), (long) ((eventp - SP->_mouse_events) + (EV_MAX - 1)) % EV_MAX, runcount); + _nc_unlock_global(tracef); } #endif /* TRACE */ @@ -1099,12 +1101,13 @@ _nc_mouse_parse(int runcount) (merge); #ifdef TRACE - if (_nc_tracing & TRACE_IEVENT) { + if (USE_TRACEF(TRACE_IEVENT)) { _trace_slot("before mouse event queue compaction:"); _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d", (long) (runp - SP->_mouse_events), (long) ((eventp - SP->_mouse_events) + (EV_MAX - 1)) % EV_MAX, runcount); + _nc_unlock_global(tracef); } #endif /* TRACE */ @@ -1117,12 +1120,13 @@ _nc_mouse_parse(int runcount) SP->_mouse_eventp = eventp = prev; } #ifdef TRACE - if (_nc_tracing & TRACE_IEVENT) { + if (USE_TRACEF(TRACE_IEVENT)) { _trace_slot("after mouse event queue compaction:"); _tracef("_nc_mouse_parse: run starts at %ld, ends at %ld, count %d", (long) (runp - SP->_mouse_events), (long) ((eventp - SP->_mouse_events) + (EV_MAX - 1)) % EV_MAX, runcount); + _nc_unlock_global(tracef); } for (ep = runp; ep != eventp; ep = NEXT(ep)) if (ep->id != INVALID_EVENT) diff --git a/contrib/ncurses/ncurses/base/lib_newterm.c b/contrib/ncurses/ncurses/base/lib_newterm.c index fe201d6..05cd9b8 100644 --- a/contrib/ncurses/ncurses/base/lib_newterm.c +++ b/contrib/ncurses/ncurses/base/lib_newterm.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -48,7 +48,7 @@ #include <term.h> /* clear_screen, cup & friends, cur_term */ #include <tic.h> -MODULE_ID("$Id: lib_newterm.c,v 1.64 2006/01/14 15:36:24 tom Exp $") +MODULE_ID("$Id: lib_newterm.c,v 1.67 2007/04/21 20:47:32 tom Exp $") #ifndef ONLCR /* Allows compilation under the QNX 4.2 OS */ #define ONLCR 0 @@ -94,14 +94,12 @@ _nc_initscr(void) * aside from possibly delaying a filter() call until some terminals have been * initialized. */ -static bool filter_mode = FALSE; - NCURSES_EXPORT(void) filter(void) { START_TRACE(); T((T_CALLED("filter"))); - filter_mode = TRUE; + _nc_prescreen.filter_mode = TRUE; returnVoid; } @@ -115,7 +113,7 @@ nofilter(void) { START_TRACE(); T((T_CALLED("nofilter"))); - filter_mode = FALSE; + _nc_prescreen.filter_mode = FALSE; returnVoid; } #endif @@ -132,13 +130,6 @@ newterm(NCURSES_CONST char *name, FILE *ofp, FILE *ifp) START_TRACE(); T((T_CALLED("newterm(\"%s\",%p,%p)"), name, ofp, ifp)); - _nc_handle_sigwinch(0); - - /* allow user to set maximum escape delay from the environment */ - if ((value = _nc_getenv_num("ESCDELAY")) >= 0) { - ESCDELAY = value; - } - /* this loads the capability entry, then sets LINES and COLS */ if (setupterm(name, fileno(ofp), &errret) == ERR) { result = 0; @@ -149,7 +140,21 @@ newterm(NCURSES_CONST char *name, FILE *ofp, FILE *ifp) */ current = SP; _nc_set_screen(0); - if (_nc_setupscreen(LINES, COLS, ofp, filter_mode, slk_format) == ERR) { + + /* allow user to set maximum escape delay from the environment */ + if ((value = _nc_getenv_num("ESCDELAY")) >= 0) { +#if USE_REENTRANT + SP->_ESCDELAY = value; +#else + ESCDELAY = value; +#endif + } + + if (_nc_setupscreen(LINES, + COLS, + ofp, + _nc_prescreen.filter_mode, + slk_format) == ERR) { _nc_set_screen(current); result = 0; } else { @@ -211,6 +216,5 @@ newterm(NCURSES_CONST char *name, FILE *ofp, FILE *ifp) result = SP; } } - _nc_handle_sigwinch(1); returnSP(result); } diff --git a/contrib/ncurses/ncurses/base/lib_newwin.c b/contrib/ncurses/ncurses/base/lib_newwin.c index ba51633..b0f4603 100644 --- a/contrib/ncurses/ncurses/base/lib_newwin.c +++ b/contrib/ncurses/ncurses/base/lib_newwin.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -41,7 +41,7 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_newwin.c,v 1.38 2006/10/14 20:31:19 tom Exp $") +MODULE_ID("$Id: lib_newwin.c,v 1.42 2007/12/22 23:20:18 tom Exp $") static WINDOW * remove_window_from_screen(WINDOW *win) @@ -52,16 +52,22 @@ remove_window_from_screen(WINDOW *win) SCREEN *sp = *scan; if (sp->_curscr == win) { sp->_curscr = 0; +#if !USE_REENTRANT if (win == curscr) curscr = 0; +#endif } else if (sp->_stdscr == win) { sp->_stdscr = 0; +#if !USE_REENTRANT if (win == stdscr) stdscr = 0; +#endif } else if (sp->_newscr == win) { sp->_newscr = 0; +#if !USE_REENTRANT if (win == newscr) newscr = 0; +#endif } else { scan = &(*scan)->_next_screen; continue; @@ -79,29 +85,34 @@ _nc_freewin(WINDOW *win) int i; int result = ERR; + T((T_CALLED("_nc_freewin(%p)"), win)); + if (win != 0) { - for (p = _nc_windows, q = 0; p != 0; q = p, p = p->next) { - if (&(p->win) == win) { - remove_window_from_screen(win); - if (q == 0) - _nc_windows = p->next; - else - q->next = p->next; - - if (!(win->_flags & _SUBWIN)) { - for (i = 0; i <= win->_maxy; i++) - FreeIfNeeded(win->_line[i].text); + if (_nc_try_global(windowlist) == 0) { + for (p = _nc_windows, q = 0; p != 0; q = p, p = p->next) { + if (&(p->win) == win) { + remove_window_from_screen(win); + if (q == 0) + _nc_windows = p->next; + else + q->next = p->next; + + if (!(win->_flags & _SUBWIN)) { + for (i = 0; i <= win->_maxy; i++) + FreeIfNeeded(win->_line[i].text); + } + free(win->_line); + free(p); + + result = OK; + T(("...deleted win=%p", win)); + break; } - free(win->_line); - free(p); - - result = OK; - T(("...deleted win=%p", win)); - break; } + _nc_unlock_global(windowlist); } } - return result; + returnCode(result); } NCURSES_EXPORT(WINDOW *) @@ -208,24 +219,35 @@ _nc_makenew(int num_lines, int num_columns, int begy, int begx, int flags) WINDOW *win; bool is_pad = (flags & _ISPAD); - T(("_nc_makenew(%d,%d,%d,%d)", num_lines, num_columns, begy, begx)); + T((T_CALLED("_nc_makenew(%d,%d,%d,%d)"), num_lines, num_columns, begy, begx)); if (SP == 0) - return 0; + returnWin(0); if (!dimension_limit(num_lines) || !dimension_limit(num_columns)) - return 0; + returnWin(0); if ((wp = typeCalloc(WINDOWLIST, 1)) == 0) - return 0; + returnWin(0); + +#ifdef USE_PTHREADS + { + pthread_mutexattr_t recattr; + memset(&recattr, 0, sizeof(recattr)); + pthread_mutexattr_settype(&recattr, PTHREAD_MUTEX_RECURSIVE); + pthread_mutex_init(&(wp->mutex_use_window), &recattr); + } +#endif win = &(wp->win); if ((win->_line = typeCalloc(struct ldat, ((unsigned) num_lines))) == 0) { free(win); - return 0; + returnWin(0); } + _nc_lock_global(windowlist); + win->_curx = 0; win->_cury = 0; win->_maxy = num_lines - 1; @@ -303,5 +325,6 @@ _nc_makenew(int num_lines, int num_columns, int begy, int begx, int flags) T((T_CREATE("window %p"), win)); - return (win); + _nc_unlock_global(windowlist); + returnWin(win); } diff --git a/contrib/ncurses/ncurses/base/lib_overlay.c b/contrib/ncurses/ncurses/base/lib_overlay.c index 9ecc458..22bd2f8 100644 --- a/contrib/ncurses/ncurses/base/lib_overlay.c +++ b/contrib/ncurses/ncurses/base/lib_overlay.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2002,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -40,7 +40,7 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_overlay.c,v 1.22 2006/10/14 20:43:31 tom Exp $") +MODULE_ID("$Id: lib_overlay.c,v 1.23 2007/04/07 17:13:52 tom Exp $") static int overlap(const WINDOW *const s, WINDOW *const d, int const flag) @@ -139,8 +139,8 @@ copywin(const WINDOW *src, WINDOW *dst, { int sx, sy, dx, dy; bool touched; - attr_t bk = AttrOf(dst->_nc_bkgd); - attr_t mask = ~(attr_t) ((bk & A_COLOR) ? A_COLOR : 0); + attr_t bk; + attr_t mask; T((T_CALLED("copywin(%p, %p, %d, %d, %d, %d, %d, %d, %d)"), src, dst, sminrow, smincol, dminrow, dmincol, dmaxrow, dmaxcol, over)); @@ -148,6 +148,9 @@ copywin(const WINDOW *src, WINDOW *dst, if (!src || !dst) returnCode(ERR); + bk = AttrOf(dst->_nc_bkgd); + mask = ~(attr_t) ((bk & A_COLOR) ? A_COLOR : 0); + /* make sure rectangle exists in source */ if ((sminrow + dmaxrow - dminrow) > (src->_maxy + 1) || (smincol + dmaxcol - dmincol) > (src->_maxx + 1)) { diff --git a/contrib/ncurses/ncurses/base/lib_redrawln.c b/contrib/ncurses/ncurses/base/lib_redrawln.c index 548ca97..6b0905f 100644 --- a/contrib/ncurses/ncurses/base/lib_redrawln.c +++ b/contrib/ncurses/ncurses/base/lib_redrawln.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2001,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -39,17 +39,20 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_redrawln.c,v 1.11 2006/11/04 23:08:47 tom Exp $") +MODULE_ID("$Id: lib_redrawln.c,v 1.12 2007/10/13 20:08:56 tom Exp $") NCURSES_EXPORT(int) wredrawln(WINDOW *win, int beg, int num) { int i; int end; - size_t len = (win->_maxx + 1); + size_t len; T((T_CALLED("wredrawln(%p,%d,%d)"), win, beg, num)); + if (win == 0) + returnCode(ERR); + if (beg < 0) beg = 0; @@ -65,6 +68,7 @@ wredrawln(WINDOW *win, int beg, int num) if (end > win->_maxy + 1) end = win->_maxy + 1; + len = (win->_maxx + 1); if (len > (size_t) (curscr->_maxx + 1)) len = (size_t) (curscr->_maxx + 1); len *= sizeof(curscr->_line[0].text[0]); diff --git a/contrib/ncurses/ncurses/base/lib_refresh.c b/contrib/ncurses/ncurses/base/lib_refresh.c index 27649df..2a9cafb 100644 --- a/contrib/ncurses/ncurses/base/lib_refresh.c +++ b/contrib/ncurses/ncurses/base/lib_refresh.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -41,7 +41,7 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_refresh.c,v 1.34 2006/05/27 19:21:19 tom Exp $") +MODULE_ID("$Id: lib_refresh.c,v 1.41 2007/09/29 20:39:34 tom Exp $") NCURSES_EXPORT(int) wrefresh(WINDOW *win) @@ -74,18 +74,20 @@ NCURSES_EXPORT(int) wnoutrefresh(WINDOW *win) { NCURSES_SIZE_T limit_x; - NCURSES_SIZE_T i, j; + NCURSES_SIZE_T src_row, src_col; NCURSES_SIZE_T begx; NCURSES_SIZE_T begy; - NCURSES_SIZE_T m, n; + NCURSES_SIZE_T dst_row, dst_col; #if USE_SCROLL_HINTS bool wide; #endif T((T_CALLED("wnoutrefresh(%p)"), win)); #ifdef TRACE - if (_nc_tracing & TRACE_UPDATE) + if (USE_TRACEF(TRACE_UPDATE)) { _tracedump("...win", win); + _nc_unlock_global(tracef); + } #endif /* TRACE */ /* @@ -132,28 +134,121 @@ wnoutrefresh(WINDOW *win) * so we'll force the issue. */ - /* limit(n) */ + /* limit(dst_col) */ limit_x = win->_maxx; - /* limit(j) */ + /* limit(src_col) */ if (limit_x > newscr->_maxx - begx) limit_x = newscr->_maxx - begx; - for (i = 0, m = begy + win->_yoffset; - i <= win->_maxy && m <= newscr->_maxy; - i++, m++) { - register struct ldat *nline = &newscr->_line[m]; - register struct ldat *oline = &win->_line[i]; + for (src_row = 0, dst_row = begy + win->_yoffset; + src_row <= win->_maxy && dst_row <= newscr->_maxy; + src_row++, dst_row++) { + register struct ldat *nline = &newscr->_line[dst_row]; + register struct ldat *oline = &win->_line[src_row]; if (oline->firstchar != _NOCHANGE) { - int last = oline->lastchar; + int last_src = oline->lastchar; + + if (last_src > limit_x) + last_src = limit_x; + + src_col = oline->firstchar; + dst_col = src_col + begx; + + if_WIDEC({ + register int j; + + /* + * Ensure that we will copy complete multi-column characters + * on the left-boundary. + */ + if (isWidecExt(oline->text[src_col])) { + j = 1 + dst_col - WidecExt(oline->text[src_col]); + if (j < 0) + j = 0; + if (dst_col > j) { + src_col -= (dst_col - j); + dst_col = j; + } + } + + /* + * Ensure that we will copy complete multi-column characters + * on the right-boundary. + */ + j = last_src; + if (WidecExt(oline->text[j])) { + ++j; + while (j <= limit_x) { + if (isWidecBase(oline->text[j])) { + break; + } else { + last_src = j; + } + ++j; + } + } + }); - if (last > limit_x) - last = limit_x; + if_WIDEC({ + static cchar_t blank = BLANK; + int last_dst = begx + ((last_src < win->_maxx) + ? last_src + : win->_maxx); + int fix_left = dst_col; + int fix_right = last_dst; + register int j; - for (j = oline->firstchar, n = j + begx; j <= last; j++, n++) { - if (!CharEq(oline->text[j], nline->text[n])) { - nline->text[n] = oline->text[j]; - CHANGED_CELL(nline, n); + /* + * Check for boundary cases where we may overwrite part of a + * multi-column character. For those, wipe the remainder of + * the character to blanks. + */ + j = dst_col; + if (isWidecExt(nline->text[j])) { + /* + * On the left, we only care about multi-column characters + * that extend into the changed region. + */ + fix_left = 1 + j - WidecExt(nline->text[j]); + if (fix_left < 0) + fix_left = 0; /* only if cell is corrupt */ + } + + j = last_dst; + if (WidecExt(nline->text[j]) != 0) { + /* + * On the right, any multi-column character is a problem, + * unless it happens to be contained in the change, and + * ending at the right boundary of the change. The + * computation for 'fix_left' accounts for the left-side of + * this character. Find the end of the character. + */ + ++j; + while (j <= newscr->_maxx && isWidecExt(nline->text[j])) { + fix_right = j++; + } + } + + /* + * The analysis is simpler if we do the clearing afterwards. + * Do that now. + */ + if (fix_left < dst_col || fix_right > last_dst) { + for (j = fix_left; j <= fix_right; ++j) { + nline->text[j] = blank; + CHANGED_CELL(nline, j); + } + } + }); + + /* + * Copy the changed text. + */ + for (; src_col <= last_src; src_col++, dst_col++) { + if (!CharEq(oline->text[src_col], nline->text[dst_col])) { + nline->text[dst_col] = oline->text[src_col]; + CHANGED_CELL(nline, dst_col); } } @@ -162,13 +257,14 @@ wnoutrefresh(WINDOW *win) if (wide) { int oind = oline->oldindex; - nline->oldindex = (oind == _NEWINDEX) ? _NEWINDEX : begy + oind - + win->_yoffset; + nline->oldindex = ((oind == _NEWINDEX) + ? _NEWINDEX + : (begy + oind + win->_yoffset)); } #endif /* USE_SCROLL_HINTS */ oline->firstchar = oline->lastchar = _NOCHANGE; - if_USE_SCROLL_HINTS(oline->oldindex = i); + if_USE_SCROLL_HINTS(oline->oldindex = src_row); } if (win->_clear) { @@ -183,8 +279,10 @@ wnoutrefresh(WINDOW *win) newscr->_leaveok = win->_leaveok; #ifdef TRACE - if (_nc_tracing & TRACE_UPDATE) + if (USE_TRACEF(TRACE_UPDATE)) { _tracedump("newscr", newscr); + _nc_unlock_global(tracef); + } #endif /* TRACE */ returnCode(OK); } diff --git a/contrib/ncurses/ncurses/base/lib_restart.c b/contrib/ncurses/ncurses/base/lib_restart.c index ca27a0f..858ef65 100644 --- a/contrib/ncurses/ncurses/base/lib_restart.c +++ b/contrib/ncurses/ncurses/base/lib_restart.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2002,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -48,23 +48,22 @@ #include <term.h> /* lines, columns, cur_term */ -MODULE_ID("$Id: lib_restart.c,v 1.6 2006/01/14 15:58:23 tom Exp $") +MODULE_ID("$Id: lib_restart.c,v 1.8 2007/10/13 19:59:47 tom Exp $") NCURSES_EXPORT(int) restartterm(NCURSES_CONST char *termp, int filenum, int *errret) { - int saveecho = SP->_echo; - int savecbreak = SP->_cbreak; - int saveraw = SP->_raw; - int savenl = SP->_nl; int result; T((T_CALLED("restartterm(%s,%d,%p)"), termp, filenum, errret)); - _nc_handle_sigwinch(0); if (setupterm(termp, filenum, errret) != OK) { result = ERR; - } else { + } else if (SP != 0) { + int saveecho = SP->_echo; + int savecbreak = SP->_cbreak; + int saveraw = SP->_raw; + int savenl = SP->_nl; if (saveecho) echo(); @@ -93,7 +92,8 @@ restartterm(NCURSES_CONST char *termp, int filenum, int *errret) #endif result = OK; + } else { + result = ERR; } - _nc_handle_sigwinch(1); returnCode(result); } diff --git a/contrib/ncurses/ncurses/base/lib_screen.c b/contrib/ncurses/ncurses/base/lib_screen.c index 5d67e19..e6aecbd 100644 --- a/contrib/ncurses/ncurses/base/lib_screen.c +++ b/contrib/ncurses/ncurses/base/lib_screen.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2002,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -34,7 +34,7 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_screen.c,v 1.29 2006/05/27 19:21:38 tom Exp $") +MODULE_ID("$Id: lib_screen.c,v 1.30 2007/03/10 23:20:41 tom Exp $") NCURSES_EXPORT(WINDOW *) getwin(FILE *filep) @@ -146,7 +146,10 @@ scr_restore(const char *file) returnCode(ERR); } else { delwin(newscr); - SP->_newscr = newscr = getwin(fp); + SP->_newscr = getwin(fp); +#if !USE_REENTRANT + newscr = SP->_newscr; +#endif (void) fclose(fp); returnCode(OK); } @@ -184,7 +187,10 @@ scr_init(const char *file) returnCode(ERR); } else { delwin(curscr); - SP->_curscr = curscr = getwin(fp); + SP->_curscr = getwin(fp); +#if !USE_REENTRANT + curscr = SP->_curscr; +#endif (void) fclose(fp); returnCode(OK); } @@ -199,7 +205,10 @@ scr_set(const char *file) returnCode(ERR); } else { delwin(newscr); - SP->_newscr = newscr = dupwin(curscr); + SP->_newscr = dupwin(curscr); +#if !USE_REENTRANT + newscr = SP->_newscr; +#endif returnCode(OK); } } diff --git a/contrib/ncurses/ncurses/base/lib_set_term.c b/contrib/ncurses/ncurses/base/lib_set_term.c index bcc42d1..2b1387a 100644 --- a/contrib/ncurses/ncurses/base/lib_set_term.c +++ b/contrib/ncurses/ncurses/base/lib_set_term.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -44,7 +44,7 @@ #include <term.h> /* cur_term */ #include <tic.h> -MODULE_ID("$Id: lib_set_term.c,v 1.91 2006/05/20 14:58:02 tom Exp $") +MODULE_ID("$Id: lib_set_term.c,v 1.100 2007/09/08 21:23:43 tom Exp $") NCURSES_EXPORT(SCREEN *) set_term(SCREEN *screenp) @@ -53,22 +53,28 @@ set_term(SCREEN *screenp) T((T_CALLED("set_term(%p)"), screenp)); + _nc_lock_global(set_SP); + oldSP = SP; _nc_set_screen(screenp); set_curterm(SP->_term); +#if !USE_REENTRANT curscr = SP->_curscr; newscr = SP->_newscr; stdscr = SP->_stdscr; COLORS = SP->_color_count; COLOR_PAIRS = SP->_pair_count; +#endif + + _nc_unlock_global(set_SP); T((T_RETURN("%p"), oldSP)); return (oldSP); } static void -_nc_free_keytry(struct tries *kt) +_nc_free_keytry(TRIES * kt) { if (kt != 0) { _nc_free_keytry(kt->child); @@ -88,6 +94,7 @@ delscreen(SCREEN *sp) T((T_CALLED("delscreen(%p)"), sp)); + _nc_lock_global(set_SP); while (*scan) { if (*scan == sp) { *scan = sp->_next_screen; @@ -152,20 +159,20 @@ delscreen(SCREEN *sp) * multiple references in different screens). */ if (sp == SP) { +#if !USE_REENTRANT curscr = 0; newscr = 0; stdscr = 0; COLORS = 0; COLOR_PAIRS = 0; +#endif _nc_set_screen(0); } + _nc_unlock_global(set_SP); + returnVoid; } -static ripoff_t rippedoff[5]; -static ripoff_t *rsp = rippedoff; -#define N_RIPS SIZEOF(SP->_rippedoff) - static bool no_mouse_event(SCREEN *sp GCC_UNUSED) { @@ -214,17 +221,20 @@ extract_fgbg(char *src, int *result) } #endif +#define ripoff_sp _nc_prescreen.rsp +#define ripoff_stack _nc_prescreen.rippedoff + /* OS-independent screen initializations */ NCURSES_EXPORT(int) -_nc_setupscreen(int slines, - int scolumns, +_nc_setupscreen(int slines GCC_UNUSED, + int scolumns GCC_UNUSED, FILE *output, bool filtered, int slk_format) { int bottom_stolen = 0; - int i; bool support_cookies = USE_XMC_SUPPORT; + ripoff_t *rop; T((T_CALLED("_nc_setupscreen(%d, %d, %p, %d, %d)"), slines, scolumns, output, filtered, slk_format)); @@ -243,12 +253,20 @@ _nc_setupscreen(int slines, if ((SP->_current_attr = typeCalloc(NCURSES_CH_T, 1)) == 0) returnCode(ERR); + /* + * We should always check the screensize, just in case. + */ + _nc_get_screensize(&slines, &scolumns); + SET_LINES(slines); + SET_COLS(scolumns); + T((T_CREATE("screen %s %dx%d"), termname(), LINES, COLS)); + SP->_filtered = filtered; /* implement filter mode */ if (filtered) { - slines = LINES = 1; - + slines = 1; + SET_LINES(slines); clear_screen = 0; cursor_down = parm_down_cursor = 0; cursor_address = 0; @@ -258,18 +276,6 @@ _nc_setupscreen(int slines, cursor_home = carriage_return; T(("filter screensize %dx%d", LINES, COLS)); } - - /* If we must simulate soft labels, grab off the line to be used. - We assume that we must simulate, if it is none of the standard - formats (4-4 or 3-2-3) for which there may be some hardware - support. */ - if (num_labels <= 0 || !SLK_STDFMT(slk_format)) { - if (slk_format) { - if (ERR == _nc_ripoffline(-SLK_LINES(slk_format), - _nc_slk_initialize)) - returnCode(ERR); - } - } #ifdef __DJGPP__ T(("setting output mode to binary")); fflush(output); @@ -484,6 +490,15 @@ _nc_setupscreen(int slines, } /* initialize normal acs before wide, since we use mapping in the latter */ +#if !USE_WIDEC_SUPPORT + if (_nc_unicode_locale() && _nc_locale_breaks_acs()) { + acs_chars = NULL; + ena_acs = NULL; + enter_alt_charset_mode = NULL; + exit_alt_charset_mode = NULL; + set_attributes = NULL; + } +#endif _nc_init_acs(); #if USE_WIDEC_SUPPORT _nc_init_wacs(); @@ -506,15 +521,17 @@ _nc_setupscreen(int slines, SP->newhash = 0; T(("creating newscr")); - if ((newscr = newwin(slines, scolumns, 0, 0)) == 0) + if ((SP->_newscr = newwin(slines, scolumns, 0, 0)) == 0) returnCode(ERR); T(("creating curscr")); - if ((curscr = newwin(slines, scolumns, 0, 0)) == 0) + if ((SP->_curscr = newwin(slines, scolumns, 0, 0)) == 0) returnCode(ERR); - SP->_newscr = newscr; - SP->_curscr = curscr; +#if !USE_REENTRANT + newscr = SP->_newscr; + curscr = SP->_curscr; +#endif #if USE_SIZECHANGE SP->_resize = resizeterm; #endif @@ -525,46 +542,63 @@ _nc_setupscreen(int slines, def_shell_mode(); def_prog_mode(); - for (i = 0, rsp = rippedoff; rsp->line && (i < (int) N_RIPS); rsp++, i++) { - T(("ripping off line %d at %s", i, rsp->line < 0 ? "bottom" : "top")); - SP->_rippedoff[i] = rippedoff[i]; - if (rsp->hook) { - int count = (rsp->line < 0) ? -rsp->line : rsp->line; - - SP->_rippedoff[i].w = newwin(count, - scolumns, - ((rsp->line < 0) - ? SP->_lines_avail - count - : 0), - 0); - if (SP->_rippedoff[i].w != 0) - SP->_rippedoff[i].hook(SP->_rippedoff[i].w, scolumns); + for (rop = ripoff_stack; + rop != ripoff_sp && (rop - ripoff_stack) < N_RIPS; + rop++) { + + /* If we must simulate soft labels, grab off the line to be used. + We assume that we must simulate, if it is none of the standard + formats (4-4 or 3-2-3) for which there may be some hardware + support. */ + if (rop->hook == _nc_slk_initialize) + if (!(num_labels <= 0 || !SLK_STDFMT(slk_format))) + continue; + if (rop->hook) { + int count; + WINDOW *w; + + count = (rop->line < 0) ? -rop->line : rop->line; + T(("ripping off %i lines at %s", count, + ((rop->line < 0) + ? "bottom" + : "top"))); + + w = newwin(count, scolumns, + ((rop->line < 0) + ? SP->_lines_avail - count + : 0), + 0); + if (w) + rop->hook(w, scolumns); else returnCode(ERR); - if (rsp->line < 0) + if (rop->line < 0) bottom_stolen += count; else SP->_topstolen += count; SP->_lines_avail -= count; } - rsp->line = 0; } - SP->_rip_count = i; /* reset the stack */ - rsp = rippedoff; + ripoff_sp = ripoff_stack; T(("creating stdscr")); assert((SP->_lines_avail + SP->_topstolen + bottom_stolen) == slines); - if ((stdscr = newwin(LINES = SP->_lines_avail, scolumns, 0, 0)) == 0) + if ((SP->_stdscr = newwin(SP->_lines_avail, scolumns, 0, 0)) == 0) returnCode(ERR); - SP->_stdscr = stdscr; + + SET_LINES(SP->_lines_avail); +#if !USE_REENTRANT + stdscr = SP->_stdscr; +#endif returnCode(OK); } -/* The internal implementation interprets line as the number of - lines to rip off from the top or bottom. - */ +/* + * The internal implementation interprets line as the number of lines to rip + * off from the top or bottom. + */ NCURSES_EXPORT(int) _nc_ripoffline(int line, int (*init) (WINDOW *, int)) { @@ -572,13 +606,14 @@ _nc_ripoffline(int line, int (*init) (WINDOW *, int)) if (line != 0) { - if (rsp >= rippedoff + N_RIPS) + if (ripoff_sp == 0) + ripoff_sp = ripoff_stack; + if (ripoff_sp >= ripoff_stack + N_RIPS) returnCode(ERR); - rsp->line = line; - rsp->hook = init; - rsp->w = 0; - rsp++; + ripoff_sp->line = line; + ripoff_sp->hook = init; + ripoff_sp++; } returnCode(OK); diff --git a/contrib/ncurses/ncurses/base/lib_slkinit.c b/contrib/ncurses/ncurses/base/lib_slkinit.c index f003b5f..20c0baa 100644 --- a/contrib/ncurses/ncurses/base/lib_slkinit.c +++ b/contrib/ncurses/ncurses/base/lib_slkinit.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * + * Copyright (c) 1998-2000,2007 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 * @@ -38,14 +38,17 @@ */ #include <curses.priv.h> -MODULE_ID("$Id: lib_slkinit.c,v 1.5 2000/12/10 02:43:27 tom Exp $") +MODULE_ID("$Id: lib_slkinit.c,v 1.6 2007/05/12 18:14:21 tom Exp $") NCURSES_EXPORT(int) slk_init(int format) { + int code = ERR; + T((T_CALLED("slk_init(%d)"), format)); - if (format < 0 || format > 3) - returnCode(ERR); - _nc_slk_format = 1 + format; - returnCode(OK); + if (format >= 0 && format <= 3 && !_nc_slk_format) { + _nc_slk_format = 1 + format; + code = _nc_ripoffline(-SLK_LINES(_nc_slk_format), _nc_slk_initialize); + } + returnCode(code); } diff --git a/contrib/ncurses/ncurses/base/lib_slkset.c b/contrib/ncurses/ncurses/base/lib_slkset.c index 9379b36..e19f88e 100644 --- a/contrib/ncurses/ncurses/base/lib_slkset.c +++ b/contrib/ncurses/ncurses/base/lib_slkset.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2005,2007 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 * @@ -44,12 +44,12 @@ #endif #endif -MODULE_ID("$Id: lib_slkset.c,v 1.16 2006/12/17 19:47:09 tom Exp $") +MODULE_ID("$Id: lib_slkset.c,v 1.17 2007/10/13 20:08:46 tom Exp $") NCURSES_EXPORT(int) slk_set(int i, const char *astr, int format) { - SLK *slk = SP->_slk; + SLK *slk; int offset; int numchrs; int numcols; @@ -59,7 +59,12 @@ slk_set(int i, const char *astr, int format) T((T_CALLED("slk_set(%d, \"%s\", %d)"), i, str, format)); - if (slk == NULL || i < 1 || i > slk->labcnt || format < 0 || format > 2) + if (SP == 0 + || (slk = SP->_slk) == 0 + || i < 1 + || i > slk->labcnt + || format < 0 + || format > 2) returnCode(ERR); if (str == NULL) str = ""; diff --git a/contrib/ncurses/ncurses/base/lib_ungetch.c b/contrib/ncurses/ncurses/base/lib_ungetch.c index a6164df..9570a33 100644 --- a/contrib/ncurses/ncurses/base/lib_ungetch.c +++ b/contrib/ncurses/ncurses/base/lib_ungetch.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. * + * Copyright (c) 1998-2002,2007 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 * @@ -40,7 +40,7 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_ungetch.c,v 1.8 2002/08/24 22:08:48 tom Exp $") +MODULE_ID("$Id: lib_ungetch.c,v 1.9 2007/09/29 21:49:56 tom Exp $") #include <fifo_defs.h> @@ -72,8 +72,10 @@ ungetch(int ch) SP->_fifo[head] = ch; T(("ungetch %s ok", _tracechar(ch))); #ifdef TRACE - if (_nc_tracing & TRACE_IEVENT) + if (USE_TRACEF(TRACE_IEVENT)) { _nc_fifo_dump(); + _nc_unlock_global(tracef); + } #endif returnCode(OK); } diff --git a/contrib/ncurses/ncurses/base/lib_window.c b/contrib/ncurses/ncurses/base/lib_window.c index bb20f4f..530b08e 100644 --- a/contrib/ncurses/ncurses/base/lib_window.c +++ b/contrib/ncurses/ncurses/base/lib_window.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2002,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -39,7 +39,7 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_window.c,v 1.22 2006/05/27 19:21:19 tom Exp $") +MODULE_ID("$Id: lib_window.c,v 1.23 2007/06/30 23:36:11 tom Exp $") NCURSES_EXPORT(void) _nc_synchook(WINDOW *win) @@ -149,7 +149,7 @@ wsyncdown(WINDOW *win) /* left and right character in child coordinates */ int left = pp->_line[win->_pary + y].firstchar - win->_parx; int right = pp->_line[win->_pary + y].lastchar - win->_parx; - /* The change maybe outside the childs range */ + /* The change may be outside the child's range */ if (left < 0) left = 0; if (right > win->_maxx) diff --git a/contrib/ncurses/ncurses/base/memmove.c b/contrib/ncurses/ncurses/base/memmove.c index 4fafc4c..093ad72 100644 --- a/contrib/ncurses/ncurses/base/memmove.c +++ b/contrib/ncurses/ncurses/base/memmove.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * + * Copyright (c) 1998-2000,2007 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 * @@ -28,7 +28,7 @@ #include <curses.priv.h> -MODULE_ID("$Id: memmove.c,v 1.4 2000/12/10 02:43:28 tom Exp $") +MODULE_ID("$Id: memmove.c,v 1.5 2007/08/11 17:12:43 tom Exp $") /**************************************************************************** * Author: Thomas E. Dickey <dickey@clark.net> 1998 * @@ -51,7 +51,7 @@ _nc_memmove(void *s1, const void *s2, size_t n) } for (j = 0; j < n; j++) bfr[j] = SRC[j]; - SRC = bfr; + s2 = bfr; } while (n-- != 0) DST[n] = SRC[n]; diff --git a/contrib/ncurses/ncurses/base/resizeterm.c b/contrib/ncurses/ncurses/base/resizeterm.c index 46faccb..8bea743 100644 --- a/contrib/ncurses/ncurses/base/resizeterm.c +++ b/contrib/ncurses/ncurses/base/resizeterm.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -41,12 +41,24 @@ #include <curses.priv.h> #include <term.h> -MODULE_ID("$Id: resizeterm.c,v 1.18 2006/10/14 20:43:31 tom Exp $") +MODULE_ID("$Id: resizeterm.c,v 1.24 2007/12/22 23:20:31 tom Exp $") #define stolen_lines (screen_lines - SP->_lines_avail) +/* + * If we're trying to be reentrant, do not want any local statics. + */ +#if USE_REENTRANT +#define EXTRA_ARGS , CurLines, CurCols +#define EXTRA_DCLS , int CurLines, int CurCols +#else static int current_lines; static int current_cols; +#define CurLines current_lines +#define CurCols current_cols +#define EXTRA_ARGS /* nothing */ +#define EXTRA_DCLS /* nothing */ +#endif #ifdef TRACE static void @@ -54,6 +66,7 @@ show_window_sizes(const char *name) { WINDOWLIST *wp; + _nc_lock_global(windowlist); _tracef("%s resizing: %2d x %2d (%2d x %2d)", name, LINES, COLS, screen_lines, screen_columns); for (wp = _nc_windows; wp != 0; wp = wp->next) { @@ -64,6 +77,7 @@ show_window_sizes(const char *name) (long) wp->win._begy, (long) wp->win._begx); } + _nc_unlock_global(windowlist); } #endif @@ -121,10 +135,10 @@ parent_depth(WINDOW *cmp) * FIXME: must adjust position so it's within the parent! */ static int -adjust_window(WINDOW *win, int ToLines, int ToCols, int stolen) +adjust_window(WINDOW *win, int ToLines, int ToCols, int stolen EXTRA_DCLS) { int result; - int bottom = current_lines + SP->_topstolen - stolen; + int bottom = CurLines + SP->_topstolen - stolen; int myLines = win->_maxy + 1; int myCols = win->_maxx + 1; @@ -134,13 +148,13 @@ adjust_window(WINDOW *win, int ToLines, int ToCols, int stolen) (long) getbegy(win), (long) getbegx(win))); if (win->_begy >= bottom) { - win->_begy += (ToLines - current_lines); + win->_begy += (ToLines - CurLines); } else { - if (myLines == current_lines - stolen - && ToLines != current_lines) + if (myLines == CurLines - stolen + && ToLines != CurLines) myLines = ToLines - stolen; - else if (myLines == current_lines - && ToLines != current_lines) + else if (myLines == CurLines + && ToLines != CurLines) myLines = ToLines; } @@ -150,12 +164,12 @@ adjust_window(WINDOW *win, int ToLines, int ToCols, int stolen) if (myCols > ToCols) myCols = ToCols; - if (myLines == current_lines - && ToLines != current_lines) + if (myLines == CurLines + && ToLines != CurLines) myLines = ToLines; - if (myCols == current_cols - && ToCols != current_cols) + if (myCols == CurCols + && ToCols != CurCols) myCols = ToCols; result = wresize(win, myLines, myCols); @@ -167,7 +181,7 @@ adjust_window(WINDOW *win, int ToLines, int ToCols, int stolen) * children, decrease those to fit, then decrease the containing window, etc. */ static int -decrease_size(int ToLines, int ToCols, int stolen) +decrease_size(int ToLines, int ToCols, int stolen EXTRA_DCLS) { bool found; int depth = 0; @@ -185,7 +199,8 @@ decrease_size(int ToLines, int ToCols, int stolen) if (!(win->_flags & _ISPAD)) { if (child_depth(win) == depth) { found = TRUE; - if (adjust_window(win, ToLines, ToCols, stolen) != OK) + if (adjust_window(win, ToLines, ToCols, + stolen EXTRA_ARGS) != OK) returnCode(ERR); } } @@ -200,7 +215,7 @@ decrease_size(int ToLines, int ToCols, int stolen) * parent, increase those to fit, then increase the contained window, etc. */ static int -increase_size(int ToLines, int ToCols, int stolen) +increase_size(int ToLines, int ToCols, int stolen EXTRA_DCLS) { bool found; int depth = 0; @@ -218,7 +233,8 @@ increase_size(int ToLines, int ToCols, int stolen) if (!(win->_flags & _ISPAD)) { if (parent_depth(win) == depth) { found = TRUE; - if (adjust_window(win, ToLines, ToCols, stolen) != OK) + if (adjust_window(win, ToLines, ToCols, + stolen EXTRA_ARGS) != OK) returnCode(ERR); } } @@ -235,36 +251,45 @@ increase_size(int ToLines, int ToCols, int stolen) NCURSES_EXPORT(int) resize_term(int ToLines, int ToCols) { - int result = OK; - int was_stolen = (screen_lines - SP->_lines_avail); + int result = OK EXTRA_ARGS; + int was_stolen; T((T_CALLED("resize_term(%d,%d) old(%d,%d)"), ToLines, ToCols, screen_lines, screen_columns)); + if (SP == 0) { + returnCode(ERR); + } + + _nc_lock_global(windowlist); + + was_stolen = (screen_lines - SP->_lines_avail); if (is_term_resized(ToLines, ToCols)) { - int myLines = current_lines = screen_lines; - int myCols = current_cols = screen_columns; + int myLines = CurLines = screen_lines; + int myCols = CurCols = screen_columns; #ifdef TRACE - if (_nc_tracing & TRACE_UPDATE) + if (USE_TRACEF(TRACE_UPDATE)) { show_window_sizes("before"); + _nc_unlock_global(tracef); + } #endif if (ToLines > screen_lines) { - increase_size(myLines = ToLines, myCols, was_stolen); - current_lines = myLines; - current_cols = myCols; + increase_size(myLines = ToLines, myCols, was_stolen EXTRA_ARGS); + CurLines = myLines; + CurCols = myCols; } if (ToCols > screen_columns) { - increase_size(myLines, myCols = ToCols, was_stolen); - current_lines = myLines; - current_cols = myCols; + increase_size(myLines, myCols = ToCols, was_stolen EXTRA_ARGS); + CurLines = myLines; + CurCols = myCols; } if (ToLines < myLines || ToCols < myCols) { - decrease_size(ToLines, ToCols, was_stolen); + decrease_size(ToLines, ToCols, was_stolen EXTRA_ARGS); } screen_lines = lines = ToLines; @@ -279,10 +304,11 @@ resize_term(int ToLines, int ToCols) FreeAndNull(SP->newhash); } #ifdef TRACE - if (_nc_tracing & TRACE_UPDATE) { - LINES = ToLines - was_stolen; - COLS = ToCols; + if (USE_TRACEF(TRACE_UPDATE)) { + SET_LINES(ToLines - was_stolen); + SET_COLS(ToCols); show_window_sizes("after"); + _nc_unlock_global(tracef); } #endif } @@ -291,8 +317,10 @@ resize_term(int ToLines, int ToCols) * Always update LINES, to allow for call from lib_doupdate.c which * needs to have the count adjusted by the stolen (ripped off) lines. */ - LINES = ToLines - was_stolen; - COLS = ToCols; + SET_LINES(ToLines - was_stolen); + SET_COLS(ToCols); + + _nc_unlock_global(windowlist); returnCode(result); } @@ -308,22 +336,25 @@ resize_term(int ToLines, int ToCols) NCURSES_EXPORT(int) resizeterm(int ToLines, int ToCols) { - int result = OK; - - SP->_sig_winch = FALSE; + int result = ERR; T((T_CALLED("resizeterm(%d,%d) old(%d,%d)"), ToLines, ToCols, screen_lines, screen_columns)); - if (is_term_resized(ToLines, ToCols)) { + if (SP != 0) { + result = OK; + SP->_sig_winch = FALSE; + + if (is_term_resized(ToLines, ToCols)) { #if USE_SIGWINCH - ungetch(KEY_RESIZE); /* so application can know this */ - clearok(curscr, TRUE); /* screen contents are unknown */ + ungetch(KEY_RESIZE); /* so application can know this */ + clearok(curscr, TRUE); /* screen contents are unknown */ #endif - result = resize_term(ToLines, ToCols); + result = resize_term(ToLines, ToCols); + } } returnCode(result); diff --git a/contrib/ncurses/ncurses/base/safe_sprintf.c b/contrib/ncurses/ncurses/base/safe_sprintf.c index 81fe44f..8fc5d89 100644 --- a/contrib/ncurses/ncurses/base/safe_sprintf.c +++ b/contrib/ncurses/ncurses/base/safe_sprintf.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2001,2003 Free Software Foundation, Inc. * + * Copyright (c) 1998-2003,2007 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 * @@ -33,7 +33,7 @@ #include <curses.priv.h> #include <ctype.h> -MODULE_ID("$Id: safe_sprintf.c,v 1.18 2003/08/09 21:52:04 tom Exp $") +MODULE_ID("$Id: safe_sprintf.c,v 1.20 2007/04/21 22:28:06 tom Exp $") #if USE_SAFE_SPRINTF @@ -207,56 +207,58 @@ _nc_printf_length(const char *fmt, va_list ap) } #endif +#define my_buffer _nc_globals.safeprint_buf +#define my_length _nc_globals.safeprint_used + /* * Wrapper for vsprintf that allocates a buffer big enough to hold the result. */ NCURSES_EXPORT(char *) _nc_printf_string(const char *fmt, va_list ap) { - static char *buf; - static size_t used; char *result = 0; if (fmt != 0) { #if USE_SAFE_SPRINTF int len = _nc_printf_length(fmt, ap); - if ((int) used < len + 1) { - used = 2 * (len + 1); - buf = typeRealloc(char, used, buf); + if ((int) my_length < len + 1) { + my_length = 2 * (len + 1); + my_buffer = typeRealloc(char, my_length, my_buffer); } - if (buf != 0) { - *buf = '\0'; + if (my_buffer != 0) { + *my_buffer = '\0'; if (len >= 0) { - vsprintf(buf, fmt, ap); + vsprintf(my_buffer, fmt, ap); } - result = buf; + result = my_buffer; } #else - static int rows, cols; +#define MyCols _nc_globals.safeprint_cols +#define MyRows _nc_globals.safeprint_rows - if (screen_lines > rows || screen_columns > cols) { - if (screen_lines > rows) - rows = screen_lines; - if (screen_columns > cols) - cols = screen_columns; - used = (rows * (cols + 1)) + 1; - buf = typeRealloc(char, used, buf); + if (screen_lines > MyRows || screen_columns > MyCols) { + if (screen_lines > MyRows) + MyRows = screen_lines; + if (screen_columns > MyCols) + MyCols = screen_columns; + my_length = (MyRows * (MyCols + 1)) + 1; + my_buffer = typeRealloc(char, my_length, my_buffer); } - if (buf != 0) { + if (my_buffer != 0) { # if HAVE_VSNPRINTF - vsnprintf(buf, used, fmt, ap); /* GNU extension */ + vsnprintf(my_buffer, my_length, fmt, ap); /* GNU extension */ # else - vsprintf(buf, fmt, ap); /* ANSI */ + vsprintf(my_buffer, fmt, ap); /* ANSI */ # endif - result = buf; + result = my_buffer; } #endif - } else if (buf != 0) { /* see _nc_freeall() */ - free(buf); - buf = 0; - used = 0; + } else if (my_buffer != 0) { /* see _nc_freeall() */ + free(my_buffer); + my_buffer = 0; + my_length = 0; } return result; } diff --git a/contrib/ncurses/ncurses/base/tries.c b/contrib/ncurses/ncurses/base/tries.c index 4edb731..983a75a 100644 --- a/contrib/ncurses/ncurses/base/tries.c +++ b/contrib/ncurses/ncurses/base/tries.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -39,16 +39,16 @@ #include <curses.priv.h> -MODULE_ID("$Id: tries.c,v 1.22 2005/11/26 20:09:18 tom Exp $") +MODULE_ID("$Id: tries.c,v 1.25 2007/09/29 20:37:13 tom Exp $") /* * Expand a keycode into the string that it corresponds to, returning null if * no match was found, otherwise allocating a string of the result. */ NCURSES_EXPORT(char *) -_nc_expand_try(struct tries *tree, unsigned code, int *count, size_t len) +_nc_expand_try(TRIES * tree, unsigned code, int *count, size_t len) { - struct tries *ptr = tree; + TRIES *ptr = tree; char *result = 0; if (code != 0) { @@ -68,11 +68,13 @@ _nc_expand_try(struct tries *tree, unsigned code, int *count, size_t len) } } if (result != 0) { - if ((result[len] = ptr->ch) == 0) + if (ptr != 0 && (result[len] = ptr->ch) == 0) *((unsigned char *) (result + len)) = 128; #ifdef TRACE - if (len == 0 && _nc_tracing != 0) + if (len == 0 && USE_TRACEF(TRACE_MAXIMUM)) { _tracef("expand_key %s %s", _tracechar(code), _nc_visbuf(result)); + _nc_unlock_global(tracef); + } #endif } return result; @@ -83,7 +85,7 @@ _nc_expand_try(struct tries *tree, unsigned code, int *count, size_t len) * true if the code was found/removed. */ NCURSES_EXPORT(int) -_nc_remove_key(struct tries **tree, unsigned code) +_nc_remove_key(TRIES ** tree, unsigned code) { T((T_CALLED("_nc_remove_key(%p,%d)"), tree, code)); @@ -99,7 +101,7 @@ _nc_remove_key(struct tries **tree, unsigned code) /* don't cut the whole sub-tree */ (*tree)->value = 0; } else { - struct tries *to_free = *tree; + TRIES *to_free = *tree; *tree = (*tree)->sibling; free(to_free); } @@ -115,7 +117,7 @@ _nc_remove_key(struct tries **tree, unsigned code) * true if the string was found/removed. */ NCURSES_EXPORT(int) -_nc_remove_string(struct tries **tree, const char *string) +_nc_remove_string(TRIES ** tree, const char *string) { T((T_CALLED("_nc_remove_string(%p,%s)"), tree, _nc_visbuf(string))); @@ -127,7 +129,7 @@ _nc_remove_string(struct tries **tree, const char *string) if (string[1] != 0) returnCode(_nc_remove_string(&(*tree)->child, string + 1)); if ((*tree)->child == 0) { - struct tries *to_free = *tree; + TRIES *to_free = *tree; *tree = (*tree)->sibling; free(to_free); returnCode(TRUE); diff --git a/contrib/ncurses/ncurses/base/use_window.c b/contrib/ncurses/ncurses/base/use_window.c new file mode 100644 index 0000000..8792cb4 --- /dev/null +++ b/contrib/ncurses/ncurses/base/use_window.c @@ -0,0 +1,80 @@ +/**************************************************************************** + * Copyright (c) 2007 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. * + ****************************************************************************/ + +/**************************************************************************** + * Author: Thomas E. Dickey 2007 * + ****************************************************************************/ + +#include <curses.priv.h> + +MODULE_ID("$Id: use_window.c,v 1.2 2007/10/20 19:57:55 tom Exp $") + +#ifdef USE_PTHREADS +NCURSES_EXPORT(void) +_nc_lock_window(WINDOW *win) +{ + WINDOWLIST *p; + + _nc_lock_global(windowlist); + for (p = _nc_windows; p != 0; p = p->next) { + if (&(p->win) == win) { + pthread_mutex_lock(&(p->mutex_use_window)); + break; + } + } + _nc_unlock_global(windowlist); +} + +NCURSES_EXPORT(void) +_nc_unlock_window(WINDOW *win) +{ + WINDOWLIST *p; + + _nc_lock_global(windowlist); + for (p = _nc_windows; p != 0; p = p->next) { + if (&(p->win) == win) { + pthread_mutex_unlock(&(p->mutex_use_window)); + break; + } + } + _nc_unlock_global(windowlist); +} +#endif + +NCURSES_EXPORT(int) +use_window(WINDOW *win, NCURSES_CALLBACK func, void *data) +{ + int code = OK; + + T((T_CALLED("use_window(%p,%p,%p)"), win, func, data)); + _nc_lock_window(win); + code = func(win, data); + _nc_unlock_window(win); + + returnCode(code); +} diff --git a/contrib/ncurses/ncurses/base/wresize.c b/contrib/ncurses/ncurses/base/wresize.c index ca6336d..f756f0f 100644 --- a/contrib/ncurses/ncurses/base/wresize.c +++ b/contrib/ncurses/ncurses/base/wresize.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2002,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -32,13 +32,13 @@ #include <curses.priv.h> -MODULE_ID("$Id: wresize.c,v 1.24 2006/10/14 20:43:31 tom Exp $") +MODULE_ID("$Id: wresize.c,v 1.27 2007/12/22 23:20:53 tom Exp $") static int cleanup_lines(struct ldat *data, int length) { while (--length >= 0) - free(data->text); + free(data[length].text); free(data); return ERR; } @@ -54,6 +54,8 @@ repair_subwindows(WINDOW *cmp) struct ldat *pline = cmp->_line; int row; + _nc_lock_global(windowlist); + for (wp = _nc_windows; wp != 0; wp = wp->next) { WINDOW *tst = &(wp->win); @@ -75,6 +77,7 @@ repair_subwindows(WINDOW *cmp) repair_subwindows(tst); } } + _nc_unlock_global(windowlist); } /* @@ -96,8 +99,10 @@ wresize(WINDOW *win, int ToLines, int ToCols) (long) win->_begy, (long) win->_begx, (long) win->_maxy, (long) win->_maxx, (long) win->_regtop, (long) win->_regbottom)); - if (_nc_tracing & TRACE_UPDATE) + if (USE_TRACEF(TRACE_UPDATE)) { _tracedump("...before", win); + _nc_unlock_global(tracef); + } } #endif @@ -232,8 +237,10 @@ wresize(WINDOW *win, int ToLines, int ToCols) (long) win->_begy, (long) win->_begx, (long) win->_maxy, (long) win->_maxx, (long) win->_regtop, (long) win->_regbottom)); - if (_nc_tracing & TRACE_UPDATE) + if (USE_TRACEF(TRACE_UPDATE)) { _tracedump("...after:", win); + _nc_unlock_global(tracef); + } #endif returnCode(OK); } diff --git a/contrib/ncurses/ncurses/curses.priv.h b/contrib/ncurses/ncurses/curses.priv.h index cfb3e62..54ffc8e 100644 --- a/contrib/ncurses/ncurses/curses.priv.h +++ b/contrib/ncurses/ncurses/curses.priv.h @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -34,7 +34,7 @@ /* - * $Id: curses.priv.h,v 1.314 2006/12/10 00:55:14 tom Exp $ + * $Id: curses.priv.h,v 1.353 2007/12/23 00:15:38 tom Exp $ * * curses.priv.h * @@ -202,16 +202,20 @@ extern NCURSES_EXPORT(void *) _nc_memmove (void *, const void *, size_t); * delays and expansion in raw mode. */ -struct tries { - struct tries *child; /* ptr to child. NULL if none */ - struct tries *sibling; /* ptr to sibling. NULL if none */ +#define TRIES struct tries +typedef TRIES { + TRIES *child; /* ptr to child. NULL if none */ + TRIES *sibling; /* ptr to sibling. NULL if none */ unsigned char ch; /* character at this node */ unsigned short value; /* code of string so far. 0 if none. */ -}; +#undef TRIES +} TRIES; /* * Common/troublesome character definitions */ +#define StringOf(ch) {ch, 0} + #define L_BRACE '{' #define R_BRACE '}' #define S_QUOTE '\'' @@ -248,6 +252,10 @@ color_t; #define wbkgrnd wbkgd #endif +#undef NCURSES_OPAQUE +#define NCURSES_INTERNALS 1 +#define NCURSES_OPAQUE 0 + #include <curses.h> /* we'll use -Ipath directive to get the right one! */ #include <term.h> #include <term_entry.h> @@ -284,6 +292,51 @@ color_t; #define GET_SCREEN_PAIR(s) GetPair(SCREEN_ATTRS(s)) #define SET_SCREEN_PAIR(s,p) SetPair(SCREEN_ATTRS(s), p) +#if USE_REENTRANT +#define SET_LINES(value) SP->_LINES = value +#define SET_COLS(value) SP->_COLS = value +#else +#define SET_LINES(value) LINES = value +#define SET_COLS(value) COLS = value +#endif + +#define TR_MUTEX(data) _tracef("%s@%d: me:%08lX COUNT:%2u/%2d/%6d/%2d/%s%9u: " #data, \ + __FILE__, __LINE__, \ + (unsigned long) (pthread_self()), \ + data.__data.__lock, \ + data.__data.__count, \ + data.__data.__owner, \ + data.__data.__kind, \ + (data.__data.__nusers > 5) ? " OOPS " : "", \ + data.__data.__nusers) +#define TR_GLOBAL_MUTEX(name) TR_MUTEX(_nc_globals.mutex_##name) + +#ifdef USE_PTHREADS +#if USE_REENTRANT +#include <pthread.h> +#define _nc_lock_global(name) pthread_mutex_lock(&_nc_globals.mutex_##name) +#define _nc_try_global(name) pthread_mutex_trylock(&_nc_globals.mutex_##name) +#define _nc_unlock_global(name) pthread_mutex_unlock(&_nc_globals.mutex_##name) + +extern NCURSES_EXPORT(void) _nc_lock_window(WINDOW *); +extern NCURSES_EXPORT(void) _nc_unlock_window(WINDOW *); + +#else +#error POSIX threads requires --enable-reentrant option +#endif +#else +#define _nc_lock_global(name) /* nothing */ +#define _nc_try_global(name) 0 +#define _nc_unlock_global(name) /* nothing */ + +#define _nc_lock_window(name) (void) TRUE +#define _nc_unlock_window(name) /* nothing */ + +#endif + +#define _nc_lock_screen(name) /* nothing */ +#define _nc_unlock_screen(name) /* nothing */ + /* * Definitions for color pairs */ @@ -366,7 +419,6 @@ typedef struct _SLK { typedef struct { int line; /* lines to take, < 0 => from bottom*/ int (*hook)(WINDOW *, int); /* callback for user */ - WINDOW *w; /* maybe we need this for cleanup */ } ripoff_t; #if USE_GPM_SUPPORT @@ -393,6 +445,186 @@ typedef int (*TYPE_Gpm_GetEvent) (Gpm_Event *); #endif /* HAVE_LIBDL */ #endif /* USE_GPM_SUPPORT */ +typedef struct { + long sequence; + bool last_used; + char *fix_sgr0; /* this holds the filtered sgr0 string */ + char *last_bufp; /* help with fix_sgr0 leak */ + TERMINAL *last_term; +} TGETENT_CACHE; + +#define TGETENT_MAX 4 + +/* + * State of tparm(). + */ +#define STACKSIZE 20 + +typedef struct { + union { + int num; + char *str; + } data; + bool num_type; +} STACK_FRAME; + +#define NUM_VARS 26 + +typedef struct { +#ifdef TRACE + const char *tname; +#endif + const char *tparam_base; + + STACK_FRAME stack[STACKSIZE]; + int stack_ptr; + + char *out_buff; + size_t out_size; + size_t out_used; + + char *fmt_buff; + size_t fmt_size; + + int dynamic_var[NUM_VARS]; + int static_vars[NUM_VARS]; +} TPARM_STATE; + +typedef struct { + char *text; + size_t size; +} TRACEBUF; + +/* + * The filesystem database normally uses a single-letter for the lower level + * of directories. Use a hexadecimal code for filesystems which do not + * preserve mixed-case names. + */ +#if MIXEDCASE_FILENAMES +#define LEAF_FMT "%c" +#else +#define LEAF_FMT "%02x" +#endif + +/* + * TRACEMSE_FMT is no longer than 80 columns, there are 5 numbers that + * could at most have 10 digits, and the mask contains no more than 32 bits + * with each bit representing less than 15 characters. Usually the whole + * string is less than 80 columns, but this buffer size is an absolute + * limit. + */ +#define TRACEMSE_MAX (80 + (5 * 10) + (32 * 15)) +#define TRACEMSE_FMT "id %2d at (%2d, %2d, %2d) state %4lx = {" /* } */ + +/* + * Global data which is not specific to a screen. + */ +typedef struct { + SIG_ATOMIC_T have_sigwinch; + SIG_ATOMIC_T cleanup_nested; + + bool init_signals; + bool init_screen; + + const char *comp_sourcename; + char *comp_termtype; + + bool have_tic_directory; + bool keep_tic_directory; + const char *tic_directory; + + char *dbi_list; + int dbi_size; + + char *first_name; + char **keyname_table; + + char *safeprint_buf; + size_t safeprint_used; + + TGETENT_CACHE tgetent_cache[TGETENT_MAX]; + int tgetent_index; + long tgetent_sequence; + +#if USE_HOME_TERMINFO + char *home_terminfo; +#endif + +#if !USE_SAFE_SPRINTF + int safeprint_cols; + int safeprint_rows; +#endif + +#ifdef TRACE + bool init_trace; + char trace_fname[PATH_MAX]; + int trace_level; + FILE *trace_fp; + + char *tracearg_buf; + size_t tracearg_used; + + TRACEBUF *tracebuf_ptr; + size_t tracebuf_used; + + char tracechr_buf[40]; + + char *tracedmp_buf; + size_t tracedmp_used; + + char tracemse_buf[TRACEMSE_MAX]; + + unsigned char *tracetry_buf; + size_t tracetry_used; + +#ifndef USE_TERMLIB + char traceatr_color_buf[2][80]; + int traceatr_color_sel; + int traceatr_color_last; +#endif /* USE_TERMLIB */ + +#endif /* TRACE */ + +#ifdef USE_PTHREADS + pthread_mutex_t mutex_set_SP; + pthread_mutex_t mutex_use_screen; + pthread_mutex_t mutex_use_window; + pthread_mutex_t mutex_windowlist; + pthread_mutex_t mutex_tst_tracef; + pthread_mutex_t mutex_tracef; + int nested_tracef; +#endif +} NCURSES_GLOBALS; + +extern NCURSES_EXPORT_VAR(NCURSES_GLOBALS) _nc_globals; + +#define N_RIPS 5 + +/* + * Global data which is swept up into a SCREEN when one is created. + * It may be modified before the next SCREEN is created. + */ +typedef struct { + bool use_env; + bool filter_mode; + attr_t previous_attr; + ripoff_t rippedoff[N_RIPS]; + ripoff_t *rsp; + TPARM_STATE tparm_state; + TTY *saved_tty; /* savetty/resetty information */ +#if BROKEN_LINKER || USE_REENTRANT + chtype *real_acs_map; + int _LINES; + int _COLS; +#ifdef TRACE + long _outchars; + const char *_tputs_trace; +#endif +#endif +} NCURSES_PRESCREEN; + +extern NCURSES_EXPORT_VAR(NCURSES_PRESCREEN) _nc_prescreen; + /* * The SCREEN structure. */ @@ -405,20 +637,19 @@ struct screen { bool _buffered; /* setvbuf uses _setbuf data */ int _checkfd; /* filedesc for typeahead check */ TERMINAL *_term; /* terminal type information */ - short _lines; /* screen lines */ - short _columns; /* screen columns */ + TTY _saved_tty; /* savetty/resetty information */ + NCURSES_SIZE_T _lines; /* screen lines */ + NCURSES_SIZE_T _columns; /* screen columns */ - short _lines_avail; /* lines available for stdscr */ - short _topstolen; /* lines stolen from top */ - ripoff_t _rippedoff[5]; /* list of lines stolen */ - int _rip_count; /* ...and total lines stolen */ + NCURSES_SIZE_T _lines_avail; /* lines available for stdscr */ + NCURSES_SIZE_T _topstolen; /* lines stolen from top */ WINDOW *_curscr; /* current screen */ WINDOW *_newscr; /* virtual screen to be updated to */ WINDOW *_stdscr; /* screen's full-window context */ - struct tries *_keytry; /* "Try" for use with keypad mode */ - struct tries *_key_ok; /* Disabled keys via keyok(,FALSE) */ + TRIES *_keytry; /* "Try" for use with keypad mode */ + TRIES *_key_ok; /* Disabled keys via keyok(,FALSE) */ bool _tried; /* keypad mode was initialized */ bool _keypad_on; /* keypad mode is currently on */ @@ -597,12 +828,25 @@ struct screen { unsigned long *oldhash, *newhash; HASHMAP *hashtab; int hashtab_len; + int *_oldnum_list; + int _oldnum_size; bool _cleanup; /* cleanup after int/quit signal */ int (*_outch)(int); /* output handler if not putc */ int _legacy_coding; /* see use_legacy_coding() */ +#if USE_REENTRANT + char _ttytype[NAMESIZE]; + int _ESCDELAY; + int _TABSIZE; + int _LINES; + int _COLS; +#ifdef TRACE + int _outchars; + const char *_tputs_trace; +#endif +#endif /* * ncurses/ncursesw are the same up to this point. */ @@ -615,6 +859,7 @@ struct screen { }; extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain; +extern NCURSES_EXPORT_VAR(SIG_ATOMIC_T) _nc_have_sigwinch; WINDOWLIST { WINDOW win; /* first, so WINDOW_EXT() works */ @@ -625,6 +870,9 @@ extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain; int addch_x; /* x-position for addch_work[] */ int addch_y; /* y-position for addch_work[] */ #endif +#ifdef USE_PTHREADS + pthread_mutex_t mutex_use_window; +#endif }; #define WINDOW_EXT(win,field) (((WINDOWLIST *)(win))->field) @@ -691,11 +939,17 @@ extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain; #endif #ifdef TRACE -#define TRACE_OUTCHARS(n) _nc_outchars += (n); +#if USE_REENTRANT +#define COUNT_OUTCHARS(n) _nc_count_outchars(n); +#else +#define COUNT_OUTCHARS(n) _nc_outchars += (n); +#endif #else -#define TRACE_OUTCHARS(n) /* nothing */ +#define COUNT_OUTCHARS(n) /* nothing */ #endif +#define RESET_OUTCHARS() COUNT_OUTCHARS(-_nc_outchars) + #define UChar(c) ((unsigned char)(c)) #define ChCharOf(c) ((c) & (chtype)A_CHARTEXT) #define ChAttrOf(c) ((c) & (chtype)A_ATTRIBUTES) @@ -705,7 +959,7 @@ extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain; #endif #if USE_WIDEC_SUPPORT /* { */ -#define isEILSEQ(status) ((status == (size_t)-1) && (errno == EILSEQ)) +#define isEILSEQ(status) (((size_t)status == (size_t)-1) && (errno == EILSEQ)) #define init_mb(state) memset(&state, 0, sizeof(state)) @@ -718,12 +972,26 @@ extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain; #define NulChar 0,0,0,0 /* FIXME: see CCHARW_MAX */ #define CharOf(c) ((c).chars[0]) #define AttrOf(c) ((c).attr) -#define AddAttr(c,a) AttrOf(c) |= ((a) & A_ATTRIBUTES) + +#define AddAttr(c,a) AttrOf(c) |= ((a) & A_ATTRIBUTES) #define RemAttr(c,a) AttrOf(c) &= ~((a) & A_ATTRIBUTES) -#define SetAttr(c,a) AttrOf(c) = ((a) & A_ATTRIBUTES) +#define SetAttr(c,a) AttrOf(c) = ((a) & A_ATTRIBUTES) | WidecExt(c) + #define NewChar2(c,a) { a, { c, NulChar } NulColor } #define NewChar(ch) NewChar2(ChCharOf(ch), ChAttrOf(ch)) + +#if CCHARW_MAX == 5 +#define CharEq(a,b) (((a).attr == (b).attr) \ + && (a).chars[0] == (b).chars[0] \ + && (a).chars[1] == (b).chars[1] \ + && (a).chars[2] == (b).chars[2] \ + && (a).chars[3] == (b).chars[3] \ + && (a).chars[4] == (b).chars[4] \ + if_EXT_COLORS(&& (a).ext_color == (b).ext_color)) +#else #define CharEq(a,b) (!memcmp(&(a), &(b), sizeof(a))) +#endif + #define SetChar(ch,c,a) do { \ NCURSES_CH_T *_cp = &ch; \ memset(_cp, 0, sizeof(ch)); \ @@ -741,7 +1009,7 @@ extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain; #define PUTC(ch,b) do { if(!isWidecExt(ch)) { \ if (Charable(ch)) { \ fputc(CharOf(ch), b); \ - TRACE_OUTCHARS(1); \ + COUNT_OUTCHARS(1); \ } else { \ PUTC_INIT; \ for (PUTC_i = 0; PUTC_i < CCHARW_MAX; ++PUTC_i) { \ @@ -757,11 +1025,11 @@ extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain; } \ fwrite(PUTC_buf, (unsigned) PUTC_n, 1, b); \ } \ - TRACE_OUTCHARS(PUTC_i); \ + COUNT_OUTCHARS(PUTC_i); \ } } } while (0) -#define BLANK { WA_NORMAL, {' '} NulColor } -#define ZEROS { WA_NORMAL, {'\0'} NulColor } +#define BLANK NewChar2(' ', WA_NORMAL) +#define ZEROS NewChar2('\0', WA_NORMAL) #define ISBLANK(ch) ((ch).chars[0] == L' ' && (ch).chars[1] == L'\0') /* @@ -887,6 +1155,12 @@ extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain; #ifdef TRACE +#if USE_REENTRANT +#define TPUTS_TRACE(s) _nc_set_tputs_trace(s); +#else +#define TPUTS_TRACE(s) _nc_tputs_trace = s; +#endif + #define START_TRACE() \ if ((_nc_tracing & TRACE_MAXIMUM) == 0) { \ int t = _nc_getenv_num("NCURSES_TRACE"); \ @@ -894,9 +1168,21 @@ extern NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain; trace((unsigned) t); \ } -#define TR(n, a) if (_nc_tracing & (n)) _tracef a +/* + * Many of the _tracef() calls use static buffers; lock the trace state before + * trying to fill them. + */ +#if USE_REENTRANT +#define USE_TRACEF(mask) _nc_use_tracef(mask) +extern NCURSES_EXPORT(int) _nc_use_tracef (unsigned); +extern NCURSES_EXPORT(void) _nc_locked_tracef (const char *, ...) GCC_PRINTFLIKE(1,2); +#else +#define USE_TRACEF(mask) (_nc_tracing & (mask)) +#define _nc_locked_tracef _tracef +#endif + +#define TR(n, a) if (USE_TRACEF(n)) _nc_locked_tracef a #define T(a) TR(TRACE_CALLS, a) -#define TPUTS_TRACE(s) _nc_tputs_trace = s; #define TRACE_RETURN(value,type) return _nc_retrace_##type(value) #define returnAttr(code) TRACE_RETURN(code,attr_t) @@ -927,8 +1213,19 @@ extern NCURSES_EXPORT(int) _nc_retrace_int (int); extern NCURSES_EXPORT(unsigned) _nc_retrace_unsigned (unsigned); extern NCURSES_EXPORT(void *) _nc_retrace_void_ptr (void *); extern NCURSES_EXPORT(void) _nc_fifo_dump (void); + +#if USE_REENTRANT +NCURSES_WRAPPED_VAR(long, _nc_outchars); +NCURSES_WRAPPED_VAR(const char *, _nc_tputs_trace); +#define _nc_outchars NCURSES_PUBLIC_VAR(_nc_outchars()) +#define _nc_tputs_trace NCURSES_PUBLIC_VAR(_nc_tputs_trace()) +extern NCURSES_EXPORT(void) _nc_set_tputs_trace (const char *); +extern NCURSES_EXPORT(void) _nc_count_outchars (long); +#else extern NCURSES_EXPORT_VAR(const char *) _nc_tputs_trace; extern NCURSES_EXPORT_VAR(long) _nc_outchars; +#endif + extern NCURSES_EXPORT_VAR(unsigned) _nc_tracing; #if USE_WIDEC_SUPPORT @@ -1083,6 +1380,21 @@ extern NCURSES_EXPORT(int) _nc_to_char(wint_t); extern NCURSES_EXPORT(wint_t) _nc_to_widechar(int); #endif +/* comp_captab.c */ +typedef struct { + short nte_name; /* offset of name to hash on */ + int nte_type; /* BOOLEAN, NUMBER or STRING */ + short nte_index; /* index of associated variable in its array */ + short nte_link; /* index in table of next hash, or -1 */ +} name_table_data; + +typedef struct +{ + short from; + short to; + short source; +} alias_table_data; + /* doupdate.c */ #if USE_XMC_SUPPORT extern NCURSES_EXPORT(void) _nc_do_xmc_glitch (attr_t); @@ -1141,6 +1453,7 @@ extern NCURSES_EXPORT(char *) _nc_get_locale(void); extern NCURSES_EXPORT(int) _nc_unicode_locale(void); extern NCURSES_EXPORT(int) _nc_locale_breaks_acs(void); extern NCURSES_EXPORT(int) _nc_setupterm(NCURSES_CONST char *, int, int *, bool); +extern NCURSES_EXPORT(void) _nc_get_screensize(int *, int *); /* lib_tstp.c */ #if USE_SIGWINCH @@ -1177,10 +1490,10 @@ extern NCURSES_EXPORT(char *) _nc_strstr (const char *, const char *); extern NCURSES_EXPORT(char *) _nc_printf_string (const char *, va_list); /* tries.c */ -extern NCURSES_EXPORT(void) _nc_add_to_try (struct tries **, const char *, unsigned); -extern NCURSES_EXPORT(char *) _nc_expand_try (struct tries *, unsigned, int *, size_t); -extern NCURSES_EXPORT(int) _nc_remove_key (struct tries **, unsigned); -extern NCURSES_EXPORT(int) _nc_remove_string (struct tries **, const char *); +extern NCURSES_EXPORT(int) _nc_add_to_try (TRIES **, const char *, unsigned); +extern NCURSES_EXPORT(char *) _nc_expand_try (TRIES *, unsigned, int *, size_t); +extern NCURSES_EXPORT(int) _nc_remove_key (TRIES **, unsigned); +extern NCURSES_EXPORT(int) _nc_remove_string (TRIES **, const char *); /* elsewhere ... */ extern NCURSES_EXPORT(ENTRY *) _nc_delink_entry(ENTRY *, TERMTYPE *); @@ -1210,13 +1523,16 @@ extern NCURSES_EXPORT(void) _nc_scroll_optimize (void); extern NCURSES_EXPORT(void) _nc_set_buffer (FILE *, bool); extern NCURSES_EXPORT(void) _nc_signal_handler (bool); extern NCURSES_EXPORT(void) _nc_synchook (WINDOW *); -extern NCURSES_EXPORT(void) _nc_trace_tries (struct tries *); +extern NCURSES_EXPORT(void) _nc_trace_tries (TRIES *); #if NO_LEAKS extern NCURSES_EXPORT(void) _nc_alloc_entry_leaks(void); extern NCURSES_EXPORT(void) _nc_captoinfo_leaks(void); +extern NCURSES_EXPORT(void) _nc_codes_leaks(void); +extern NCURSES_EXPORT(void) _nc_comp_captab_leaks(void); extern NCURSES_EXPORT(void) _nc_comp_scan_leaks(void); extern NCURSES_EXPORT(void) _nc_keyname_leaks(void); +extern NCURSES_EXPORT(void) _nc_names_leaks(void); extern NCURSES_EXPORT(void) _nc_tgetent_leaks(void); #endif @@ -1227,11 +1543,7 @@ extern NCURSES_EXPORT(void) _nc_scroll_window (WINDOW *, int const, NCURSES_SIZE #endif #if USE_WIDEC_SUPPORT && !defined(USE_TERMLIB) -#ifdef linux extern NCURSES_EXPORT(size_t) _nc_wcrtomb (char *, wchar_t, mbstate_t *); -#else -#define _nc_wcrtomb(s,wc,ps) wcrtomb(s,wc,ps) -#endif #endif #if USE_SIZECHANGE diff --git a/contrib/ncurses/ncurses/llib-lncurses b/contrib/ncurses/ncurses/llib-lncurses index 594c72c..bca3288 100644 --- a/contrib/ncurses/ncurses/llib-lncurses +++ b/contrib/ncurses/ncurses/llib-lncurses @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -27,7 +27,7 @@ ****************************************************************************/ /**************************************************************************** - * Author: Thomas E. Dickey 1996-2006 * + * Author: Thomas E. Dickey 1996-2007 * ****************************************************************************/ /* LINTLIBRARY */ @@ -1017,6 +1017,11 @@ int wstandend( WINDOW *z) { return(*(int *)0); } +#undef getattrs +int getattrs( + const WINDOW *z) + { return(*(int *)0); } + #undef getcurx int getcurx( const WINDOW *z) @@ -1057,6 +1062,68 @@ int getpary( const WINDOW *z) { return(*(int *)0); } +#undef wgetparent +WINDOW *wgetparent( + const WINDOW *z) + { return(*(WINDOW **)0); } + +#undef is_cleared +NCURSES_BOOL is_cleared( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_idcok +NCURSES_BOOL is_idcok( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_idlok +NCURSES_BOOL is_idlok( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_immedok +NCURSES_BOOL is_immedok( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_keypad +NCURSES_BOOL is_keypad( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_leaveok +NCURSES_BOOL is_leaveok( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_nodelay +NCURSES_BOOL is_nodelay( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_notimeout +NCURSES_BOOL is_notimeout( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_scrollok +NCURSES_BOOL is_scrollok( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_syncok +NCURSES_BOOL is_syncok( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef wgetscrreg +int wgetscrreg( + const WINDOW *a1, + int *a2, + int *z) + { return(*(int *)0); } + #undef mouse_trafo NCURSES_BOOL mouse_trafo( int *a1, @@ -2093,40 +2160,11 @@ int _nc_env_access(void) /* ./tinfo/add_tries.c */ #undef _nc_add_to_try -void _nc_add_to_try( - struct tries **tree, +int _nc_add_to_try( + TRIES **tree, const char *str, unsigned code) - { /* void */ } - -/* ./tinfo/alloc_entry.c */ - -#undef _nc_init_entry -void _nc_init_entry( - TERMTYPE *const tp) - { /* void */ } - -#undef _nc_copy_entry -ENTRY *_nc_copy_entry( - ENTRY *oldp) - { return(*(ENTRY **)0); } - -#undef _nc_save_str -char *_nc_save_str( - const char *const string) - { return(*(char **)0); } - -#undef _nc_wrap_entry -void _nc_wrap_entry( - ENTRY *const ep, - NCURSES_BOOL copy_strings) - { /* void */ } - -#undef _nc_merge_entry -void _nc_merge_entry( - TERMTYPE *const to, - TERMTYPE *const from) - { /* void */ } + { return(*(int *)0); } /* ./tinfo/alloc_ttype.c */ @@ -2142,22 +2180,6 @@ void _nc_copy_termtype( TERMTYPE *src) { /* void */ } -/* ./tinfo/captoinfo.c */ - -#undef _nc_captoinfo -char *_nc_captoinfo( - const char *cap, - const char *s, - int const parameterized) - { return(*(char **)0); } - -#undef _nc_infotocap -char *_nc_infotocap( - const char *cap, - const char *str, - int const parameterized) - { return(*(char **)0); } - /* ./codes.c */ #undef boolcodes @@ -2167,31 +2189,7 @@ char *const numcodes[] = {0}; #undef strcodes char *const strcodes[] = {0}; -/* ./comp_captab.c */ - -#include <ncurses_cfg.h> - -#undef _nc_info_hash_table -const struct name_table_entry *const _nc_info_hash_table[995] = {0}; -#undef _nc_cap_hash_table -const struct name_table_entry *const _nc_cap_hash_table[995] = {0}; -#undef _nc_capalias_table -const struct alias _nc_capalias_table[] = {0}; -#undef _nc_infoalias_table -const struct alias _nc_infoalias_table[] = {0}; - -#undef _nc_get_table -const struct name_table_entry *_nc_get_table( - NCURSES_BOOL termcap) - { return(*(const struct name_table_entry **)0); } - -#undef _nc_get_hash_table -const struct name_table_entry *const *_nc_get_hash_table( - NCURSES_BOOL termcap) - { return(*(const struct name_table_entry **)0); } - /* ./tinfo/comp_error.c */ - #undef _nc_suppress_warnings NCURSES_BOOL _nc_suppress_warnings; #undef _nc_curr_line @@ -2236,134 +2234,6 @@ void _nc_syserr_abort( ...) { /* void */ } -/* ./tinfo/comp_expand.c */ - -#undef _nc_tic_expand -char *_nc_tic_expand( - const char *srcp, - NCURSES_BOOL tic_format, - int numbers) - { return(*(char **)0); } - -/* ./tinfo/comp_hash.c */ - -#include <hashsize.h> - -#undef _nc_find_entry -struct name_table_entry const *_nc_find_entry( - const char *string, - const struct name_table_entry *const *hash_table) - { return(*(struct name_table_entry const **)0); } - -#undef _nc_find_type_entry -struct name_table_entry const *_nc_find_type_entry( - const char *string, - int type, - const struct name_table_entry *table) - { return(*(struct name_table_entry const **)0); } - -/* ./tinfo/comp_parse.c */ - -#undef _nc_check_termtype2 -void (*_nc_check_termtype2)( - TERMTYPE *p1, - NCURSES_BOOL p2); -#undef _nc_check_termtype -void (*_nc_check_termtype)( - TERMTYPE *p1); -#undef _nc_head -ENTRY *_nc_head; -#undef _nc_tail -ENTRY *_nc_tail; - -#undef _nc_free_entries -void _nc_free_entries( - ENTRY *headp) - { /* void */ } - -#undef _nc_delink_entry -ENTRY *_nc_delink_entry( - ENTRY *headp, - TERMTYPE *tterm) - { return(*(ENTRY **)0); } - -#undef _nc_free_entry -void _nc_free_entry( - ENTRY *headp, - TERMTYPE *tterm) - { /* void */ } - -#undef _nc_entry_match -NCURSES_BOOL _nc_entry_match( - char *n1, - char *n2) - { return(*(NCURSES_BOOL *)0); } - -#undef _nc_read_entry_source -void _nc_read_entry_source( - FILE *fp, - char *buf, - int literal, - NCURSES_BOOL silent, - NCURSES_BOOL (*hook)( - ENTRY *p1)) - { /* void */ } - -#undef _nc_resolve_uses2 -int _nc_resolve_uses2( - NCURSES_BOOL fullresolve, - NCURSES_BOOL literal) - { return(*(int *)0); } - -#undef _nc_resolve_uses -int _nc_resolve_uses( - NCURSES_BOOL fullresolve) - { return(*(int *)0); } - -/* ./tinfo/comp_scan.c */ - -#undef _nc_syntax -int _nc_syntax; -#undef _nc_curr_file_pos -long _nc_curr_file_pos; -#undef _nc_comment_start -long _nc_comment_start; -#undef _nc_comment_end -long _nc_comment_end; -#undef _nc_start_line -long _nc_start_line; -#undef _nc_curr_token -struct token _nc_curr_token; -#undef _nc_disable_period -NCURSES_BOOL _nc_disable_period; - -#undef _nc_reset_input -void _nc_reset_input( - FILE *fp, - char *buf) - { /* void */ } - -#undef _nc_get_token -int _nc_get_token( - NCURSES_BOOL silent) - { return(*(int *)0); } - -#undef _nc_trans_string -int _nc_trans_string( - char *ptr, - char *last) - { return(*(int *)0); } - -#undef _nc_push_token -void _nc_push_token( - int tokclass) - { /* void */ } - -#undef _nc_panic_mode -void _nc_panic_mode( - char ch) - { /* void */ } - /* ./tinfo/db_iterator.c */ #undef _nc_tic_dir @@ -2400,6 +2270,34 @@ void *_nc_doalloc( size_t amount) { return(*(void **)0); } +/* ./tinfo/entries.c */ + +#undef _nc_head +ENTRY *_nc_head; +#undef _nc_tail +ENTRY *_nc_tail; + +#undef _nc_free_entry +void _nc_free_entry( + ENTRY *headp, + TERMTYPE *tterm) + { /* void */ } + +#undef _nc_free_entries +void _nc_free_entries( + ENTRY *headp) + { /* void */ } + +#undef _nc_delink_entry +ENTRY *_nc_delink_entry( + ENTRY *headp, + TERMTYPE *tterm) + { return(*(ENTRY **)0); } + +#undef _nc_leaks_tinfo +void _nc_leaks_tinfo(void) + { /* void */ } + /* ./fallback.c */ #undef _nc_fallback @@ -2442,7 +2340,7 @@ char *_nc_home_terminfo(void) #include <init_keytry.h> #undef _nc_tinfo_fkeys -struct tinfo_fkeys _nc_tinfo_fkeys[]; +const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0}; #endif @@ -2509,6 +2407,10 @@ WINDOW *newscr; SCREEN *_nc_screen_chain; #undef SP SCREEN *SP; +#undef _nc_globals +NCURSES_GLOBALS _nc_globals; +#undef _nc_prescreen +NCURSES_PRESCREEN _nc_prescreen; /* ./tinfo/lib_has_cap.c */ @@ -2536,8 +2438,7 @@ int flushinp(void) /* ./lib_keyname.c */ -#undef _nc_key_names -const struct kn _nc_key_names[] = {0}; +struct kn { short offset; int code; }; #undef keyname char *keyname( @@ -2677,7 +2578,7 @@ int TABSIZE; #undef _nc_handle_sigwinch int _nc_handle_sigwinch( - int enable) + int update) { return(*(int *)0); } #undef use_env @@ -2685,6 +2586,12 @@ void use_env( NCURSES_BOOL f) { /* void */ } +#undef _nc_get_screensize +void _nc_get_screensize( + int *linep, + int *colp) + { /* void */ } + #undef _nc_update_screensize void _nc_update_screensize(void) { /* void */ } @@ -2785,14 +2692,6 @@ char *tigetstr( /* ./tinfo/lib_tparm.c */ -typedef struct { - union { - int num; - char *str; - } data; - NCURSES_BOOL num_type; -} stack_frame; - #undef _nc_tparm_err int _nc_tparm_err; @@ -3047,26 +2946,6 @@ char *const strnames[] = {0}; #undef strfnames char *const strfnames[] = {0}; -/* ./tinfo/parse_entry.c */ - -#undef _nc_parse_entry -int _nc_parse_entry( - struct entry *entryp, - int literal, - NCURSES_BOOL silent) - { return(*(int *)0); } - -#undef _nc_capcmp -int _nc_capcmp( - const char *s, - const char *t) - { return(*(int *)0); } - -typedef struct { - const char *from; - const char *to; -} assoc; - /* ./tinfo/read_entry.c */ #include <hashed_db.h> @@ -3144,11 +3023,6 @@ NCURSES_BOOL _nc_safe_strcpy( /* ./trace/trace_buf.c */ -typedef struct { - char *text; - size_t size; -} LIST; - #undef _nc_trace_buf char *_nc_trace_buf( int bufnum, @@ -3165,14 +3039,14 @@ char *_nc_trace_bufcat( #undef _nc_trace_tries void _nc_trace_tries( - struct tries *tree) + TRIES *tree) { /* void */ } /* ./base/tries.c */ #undef _nc_expand_try char *_nc_expand_try( - struct tries *tree, + TRIES *tree, unsigned code, int *count, size_t len) @@ -3180,13 +3054,13 @@ char *_nc_expand_try( #undef _nc_remove_key int _nc_remove_key( - struct tries **tree, + TRIES **tree, unsigned code) { return(*(int *)0); } #undef _nc_remove_string int _nc_remove_string( - struct tries **tree, + TRIES **tree, const char *string) { return(*(int *)0); } @@ -3236,6 +3110,195 @@ const char *_nc_viscbuf( int len) { return(*(const char **)0); } +/* ./tinfo/alloc_entry.c */ + +#undef _nc_init_entry +void _nc_init_entry( + TERMTYPE *const tp) + { /* void */ } + +#undef _nc_copy_entry +ENTRY *_nc_copy_entry( + ENTRY *oldp) + { return(*(ENTRY **)0); } + +#undef _nc_save_str +char *_nc_save_str( + const char *const string) + { return(*(char **)0); } + +#undef _nc_wrap_entry +void _nc_wrap_entry( + ENTRY *const ep, + NCURSES_BOOL copy_strings) + { /* void */ } + +#undef _nc_merge_entry +void _nc_merge_entry( + TERMTYPE *const to, + TERMTYPE *const from) + { /* void */ } + +/* ./tinfo/captoinfo.c */ + +#undef _nc_captoinfo +char *_nc_captoinfo( + const char *cap, + const char *s, + int const parameterized) + { return(*(char **)0); } + +#undef _nc_infotocap +char *_nc_infotocap( + const char *cap, + const char *str, + int const parameterized) + { return(*(char **)0); } + +/* ./comp_captab.c */ + +#include <hashsize.h> + +#undef _nc_get_table +const struct name_table_entry *_nc_get_table( + NCURSES_BOOL termcap) + { return(*(const struct name_table_entry **)0); } + +#undef _nc_get_hash_table +const short *_nc_get_hash_table( + NCURSES_BOOL termcap) + { return(*(const short **)0); } + +#undef _nc_get_alias_table +const struct alias *_nc_get_alias_table( + NCURSES_BOOL termcap) + { return(*(const struct alias **)0); } + +/* ./tinfo/comp_expand.c */ + +#undef _nc_tic_expand +char *_nc_tic_expand( + const char *srcp, + NCURSES_BOOL tic_format, + int numbers) + { return(*(char **)0); } + +/* ./tinfo/comp_hash.c */ + +#undef _nc_find_entry +struct name_table_entry const *_nc_find_entry( + const char *string, + const short *hash_table) + { return(*(struct name_table_entry const **)0); } + +#undef _nc_find_type_entry +struct name_table_entry const *_nc_find_type_entry( + const char *string, + int type, + const struct name_table_entry *table) + { return(*(struct name_table_entry const **)0); } + +/* ./tinfo/comp_parse.c */ + +#undef _nc_check_termtype2 +void (*_nc_check_termtype2)( + TERMTYPE *p1, + NCURSES_BOOL p2); +#undef _nc_check_termtype +void (*_nc_check_termtype)( + TERMTYPE *p1); + +#undef _nc_entry_match +NCURSES_BOOL _nc_entry_match( + char *n1, + char *n2) + { return(*(NCURSES_BOOL *)0); } + +#undef _nc_read_entry_source +void _nc_read_entry_source( + FILE *fp, + char *buf, + int literal, + NCURSES_BOOL silent, + NCURSES_BOOL (*hook)( + ENTRY *p1)) + { /* void */ } + +#undef _nc_resolve_uses2 +int _nc_resolve_uses2( + NCURSES_BOOL fullresolve, + NCURSES_BOOL literal) + { return(*(int *)0); } + +#undef _nc_resolve_uses +int _nc_resolve_uses( + NCURSES_BOOL fullresolve) + { return(*(int *)0); } + +/* ./tinfo/comp_scan.c */ + +#undef _nc_syntax +int _nc_syntax; +#undef _nc_curr_file_pos +long _nc_curr_file_pos; +#undef _nc_comment_start +long _nc_comment_start; +#undef _nc_comment_end +long _nc_comment_end; +#undef _nc_start_line +long _nc_start_line; +#undef _nc_curr_token +struct token _nc_curr_token; +#undef _nc_disable_period +NCURSES_BOOL _nc_disable_period; + +#undef _nc_reset_input +void _nc_reset_input( + FILE *fp, + char *buf) + { /* void */ } + +#undef _nc_get_token +int _nc_get_token( + NCURSES_BOOL silent) + { return(*(int *)0); } + +#undef _nc_trans_string +int _nc_trans_string( + char *ptr, + char *last) + { return(*(int *)0); } + +#undef _nc_push_token +void _nc_push_token( + int tokclass) + { /* void */ } + +#undef _nc_panic_mode +void _nc_panic_mode( + char ch) + { /* void */ } + +/* ./tinfo/parse_entry.c */ + +#undef _nc_parse_entry +int _nc_parse_entry( + struct entry *entryp, + int literal, + NCURSES_BOOL silent) + { return(*(int *)0); } + +#undef _nc_capcmp +int _nc_capcmp( + const char *s, + const char *t) + { return(*(int *)0); } + +typedef struct { + const char *from; + const char *to; +} assoc; + /* ./tinfo/write_entry.c */ #undef _nc_set_writedir diff --git a/contrib/ncurses/ncurses/llib-lncursesw b/contrib/ncurses/ncurses/llib-lncursesw index 86ef284..12522e1 100644 --- a/contrib/ncurses/ncurses/llib-lncursesw +++ b/contrib/ncurses/ncurses/llib-lncursesw @@ -1066,6 +1066,11 @@ int wstandend( WINDOW *z) { return(*(int *)0); } +#undef getattrs +int getattrs( + const WINDOW *z) + { return(*(int *)0); } + #undef getcurx int getcurx( const WINDOW *z) @@ -1106,6 +1111,68 @@ int getpary( const WINDOW *z) { return(*(int *)0); } +#undef wgetparent +WINDOW *wgetparent( + const WINDOW *z) + { return(*(WINDOW **)0); } + +#undef is_cleared +NCURSES_BOOL is_cleared( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_idcok +NCURSES_BOOL is_idcok( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_idlok +NCURSES_BOOL is_idlok( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_immedok +NCURSES_BOOL is_immedok( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_keypad +NCURSES_BOOL is_keypad( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_leaveok +NCURSES_BOOL is_leaveok( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_nodelay +NCURSES_BOOL is_nodelay( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_notimeout +NCURSES_BOOL is_notimeout( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_scrollok +NCURSES_BOOL is_scrollok( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef is_syncok +NCURSES_BOOL is_syncok( + const WINDOW *z) + { return(*(NCURSES_BOOL *)0); } + +#undef wgetscrreg +int wgetscrreg( + const WINDOW *a1, + int *a2, + int *z) + { return(*(int *)0); } + #undef add_wch int add_wch( const cchar_t *z) @@ -2529,14 +2596,6 @@ int getcchar( void *opts) { return(*(int *)0); } -/* ./widechar/lib_get_wch.c */ - -#undef wget_wch -int wget_wch( - WINDOW *win, - wint_t *result) - { return(*(int *)0); } - /* ./widechar/lib_erasewchar.c */ #undef erasewchar @@ -2549,6 +2608,14 @@ int killwchar( wchar_t *wch) { return(*(int *)0); } +/* ./widechar/lib_get_wch.c */ + +#undef wget_wch +int wget_wch( + WINDOW *win, + wint_t *result) + { return(*(int *)0); } + /* ./widechar/lib_get_wstr.c */ #undef wgetn_wstr @@ -2614,6 +2681,13 @@ int winwstr( wchar_t *wstr) { return(*(int *)0); } +/* ./widechar/lib_key_name.c */ + +#undef key_name +char *key_name( + wchar_t c) + { return(*(char **)0); } + /* ./widechar/lib_pecho_wchar.c */ #undef pecho_wchar @@ -2832,40 +2906,11 @@ int _nc_env_access(void) /* ./tinfo/add_tries.c */ #undef _nc_add_to_try -void _nc_add_to_try( - struct tries **tree, +int _nc_add_to_try( + TRIES **tree, const char *str, unsigned code) - { /* void */ } - -/* ./tinfo/alloc_entry.c */ - -#undef _nc_init_entry -void _nc_init_entry( - TERMTYPE *const tp) - { /* void */ } - -#undef _nc_copy_entry -ENTRY *_nc_copy_entry( - ENTRY *oldp) - { return(*(ENTRY **)0); } - -#undef _nc_save_str -char *_nc_save_str( - const char *const string) - { return(*(char **)0); } - -#undef _nc_wrap_entry -void _nc_wrap_entry( - ENTRY *const ep, - NCURSES_BOOL copy_strings) - { /* void */ } - -#undef _nc_merge_entry -void _nc_merge_entry( - TERMTYPE *const to, - TERMTYPE *const from) - { /* void */ } + { return(*(int *)0); } /* ./tinfo/alloc_ttype.c */ @@ -2881,22 +2926,6 @@ void _nc_copy_termtype( TERMTYPE *src) { /* void */ } -/* ./tinfo/captoinfo.c */ - -#undef _nc_captoinfo -char *_nc_captoinfo( - const char *cap, - const char *s, - int const parameterized) - { return(*(char **)0); } - -#undef _nc_infotocap -char *_nc_infotocap( - const char *cap, - const char *str, - int const parameterized) - { return(*(char **)0); } - /* ./codes.c */ #undef boolcodes @@ -2906,31 +2935,7 @@ char *const numcodes[] = {0}; #undef strcodes char *const strcodes[] = {0}; -/* ./comp_captab.c */ - -#include <ncurses_cfg.h> - -#undef _nc_info_hash_table -const struct name_table_entry *const _nc_info_hash_table[995] = {0}; -#undef _nc_cap_hash_table -const struct name_table_entry *const _nc_cap_hash_table[995] = {0}; -#undef _nc_capalias_table -const struct alias _nc_capalias_table[] = {0}; -#undef _nc_infoalias_table -const struct alias _nc_infoalias_table[] = {0}; - -#undef _nc_get_table -const struct name_table_entry *_nc_get_table( - NCURSES_BOOL termcap) - { return(*(const struct name_table_entry **)0); } - -#undef _nc_get_hash_table -const struct name_table_entry *const *_nc_get_hash_table( - NCURSES_BOOL termcap) - { return(*(const struct name_table_entry **)0); } - /* ./tinfo/comp_error.c */ - #undef _nc_suppress_warnings NCURSES_BOOL _nc_suppress_warnings; #undef _nc_curr_line @@ -2975,134 +2980,6 @@ void _nc_syserr_abort( ...) { /* void */ } -/* ./tinfo/comp_expand.c */ - -#undef _nc_tic_expand -char *_nc_tic_expand( - const char *srcp, - NCURSES_BOOL tic_format, - int numbers) - { return(*(char **)0); } - -/* ./tinfo/comp_hash.c */ - -#include <hashsize.h> - -#undef _nc_find_entry -struct name_table_entry const *_nc_find_entry( - const char *string, - const struct name_table_entry *const *hash_table) - { return(*(struct name_table_entry const **)0); } - -#undef _nc_find_type_entry -struct name_table_entry const *_nc_find_type_entry( - const char *string, - int type, - const struct name_table_entry *table) - { return(*(struct name_table_entry const **)0); } - -/* ./tinfo/comp_parse.c */ - -#undef _nc_check_termtype2 -void (*_nc_check_termtype2)( - TERMTYPE *p1, - NCURSES_BOOL p2); -#undef _nc_check_termtype -void (*_nc_check_termtype)( - TERMTYPE *p1); -#undef _nc_head -ENTRY *_nc_head; -#undef _nc_tail -ENTRY *_nc_tail; - -#undef _nc_free_entries -void _nc_free_entries( - ENTRY *headp) - { /* void */ } - -#undef _nc_delink_entry -ENTRY *_nc_delink_entry( - ENTRY *headp, - TERMTYPE *tterm) - { return(*(ENTRY **)0); } - -#undef _nc_free_entry -void _nc_free_entry( - ENTRY *headp, - TERMTYPE *tterm) - { /* void */ } - -#undef _nc_entry_match -NCURSES_BOOL _nc_entry_match( - char *n1, - char *n2) - { return(*(NCURSES_BOOL *)0); } - -#undef _nc_read_entry_source -void _nc_read_entry_source( - FILE *fp, - char *buf, - int literal, - NCURSES_BOOL silent, - NCURSES_BOOL (*hook)( - ENTRY *p1)) - { /* void */ } - -#undef _nc_resolve_uses2 -int _nc_resolve_uses2( - NCURSES_BOOL fullresolve, - NCURSES_BOOL literal) - { return(*(int *)0); } - -#undef _nc_resolve_uses -int _nc_resolve_uses( - NCURSES_BOOL fullresolve) - { return(*(int *)0); } - -/* ./tinfo/comp_scan.c */ - -#undef _nc_syntax -int _nc_syntax; -#undef _nc_curr_file_pos -long _nc_curr_file_pos; -#undef _nc_comment_start -long _nc_comment_start; -#undef _nc_comment_end -long _nc_comment_end; -#undef _nc_start_line -long _nc_start_line; -#undef _nc_curr_token -struct token _nc_curr_token; -#undef _nc_disable_period -NCURSES_BOOL _nc_disable_period; - -#undef _nc_reset_input -void _nc_reset_input( - FILE *fp, - char *buf) - { /* void */ } - -#undef _nc_get_token -int _nc_get_token( - NCURSES_BOOL silent) - { return(*(int *)0); } - -#undef _nc_trans_string -int _nc_trans_string( - char *ptr, - char *last) - { return(*(int *)0); } - -#undef _nc_push_token -void _nc_push_token( - int tokclass) - { /* void */ } - -#undef _nc_panic_mode -void _nc_panic_mode( - char ch) - { /* void */ } - /* ./tinfo/db_iterator.c */ #undef _nc_tic_dir @@ -3139,6 +3016,34 @@ void *_nc_doalloc( size_t amount) { return(*(void **)0); } +/* ./tinfo/entries.c */ + +#undef _nc_head +ENTRY *_nc_head; +#undef _nc_tail +ENTRY *_nc_tail; + +#undef _nc_free_entry +void _nc_free_entry( + ENTRY *headp, + TERMTYPE *tterm) + { /* void */ } + +#undef _nc_free_entries +void _nc_free_entries( + ENTRY *headp) + { /* void */ } + +#undef _nc_delink_entry +ENTRY *_nc_delink_entry( + ENTRY *headp, + TERMTYPE *tterm) + { return(*(ENTRY **)0); } + +#undef _nc_leaks_tinfo +void _nc_leaks_tinfo(void) + { /* void */ } + /* ./fallback.c */ #undef _nc_fallback @@ -3181,7 +3086,7 @@ char *_nc_home_terminfo(void) #include <init_keytry.h> #undef _nc_tinfo_fkeys -struct tinfo_fkeys _nc_tinfo_fkeys[]; +const struct tinfo_fkeys _nc_tinfo_fkeys[] = {0}; #endif @@ -3248,6 +3153,10 @@ WINDOW *newscr; SCREEN *_nc_screen_chain; #undef SP SCREEN *SP; +#undef _nc_globals +NCURSES_GLOBALS _nc_globals; +#undef _nc_prescreen +NCURSES_PRESCREEN _nc_prescreen; /* ./tinfo/lib_has_cap.c */ @@ -3275,19 +3184,13 @@ int flushinp(void) /* ./lib_keyname.c */ -#undef _nc_key_names -const struct kn _nc_key_names[] = {0}; +struct kn { short offset; int code; }; #undef keyname char *keyname( int c) { return(*(char **)0); } -#undef key_name -char *key_name( - wchar_t c) - { return(*(char **)0); } - /* ./tinfo/lib_longname.c */ #undef longname @@ -3421,7 +3324,7 @@ int TABSIZE; #undef _nc_handle_sigwinch int _nc_handle_sigwinch( - int enable) + int update) { return(*(int *)0); } #undef use_env @@ -3429,6 +3332,12 @@ void use_env( NCURSES_BOOL f) { /* void */ } +#undef _nc_get_screensize +void _nc_get_screensize( + int *linep, + int *colp) + { /* void */ } + #undef _nc_update_screensize void _nc_update_screensize(void) { /* void */ } @@ -3529,14 +3438,6 @@ char *tigetstr( /* ./tinfo/lib_tparm.c */ -typedef struct { - union { - int num; - char *str; - } data; - NCURSES_BOOL num_type; -} stack_frame; - #undef _nc_tparm_err int _nc_tparm_err; @@ -3802,26 +3703,6 @@ char *const strnames[] = {0}; #undef strfnames char *const strfnames[] = {0}; -/* ./tinfo/parse_entry.c */ - -#undef _nc_parse_entry -int _nc_parse_entry( - struct entry *entryp, - int literal, - NCURSES_BOOL silent) - { return(*(int *)0); } - -#undef _nc_capcmp -int _nc_capcmp( - const char *s, - const char *t) - { return(*(int *)0); } - -typedef struct { - const char *from; - const char *to; -} assoc; - /* ./tinfo/read_entry.c */ #include <hashed_db.h> @@ -3899,11 +3780,6 @@ NCURSES_BOOL _nc_safe_strcpy( /* ./trace/trace_buf.c */ -typedef struct { - char *text; - size_t size; -} LIST; - #undef _nc_trace_buf char *_nc_trace_buf( int bufnum, @@ -3920,14 +3796,14 @@ char *_nc_trace_bufcat( #undef _nc_trace_tries void _nc_trace_tries( - struct tries *tree) + TRIES *tree) { /* void */ } /* ./base/tries.c */ #undef _nc_expand_try char *_nc_expand_try( - struct tries *tree, + TRIES *tree, unsigned code, int *count, size_t len) @@ -3935,13 +3811,13 @@ char *_nc_expand_try( #undef _nc_remove_key int _nc_remove_key( - struct tries **tree, + TRIES **tree, unsigned code) { return(*(int *)0); } #undef _nc_remove_string int _nc_remove_string( - struct tries **tree, + TRIES **tree, const char *string) { return(*(int *)0); } @@ -4013,6 +3889,195 @@ const char *_nc_viscbuf( int len) { return(*(const char **)0); } +/* ./tinfo/alloc_entry.c */ + +#undef _nc_init_entry +void _nc_init_entry( + TERMTYPE *const tp) + { /* void */ } + +#undef _nc_copy_entry +ENTRY *_nc_copy_entry( + ENTRY *oldp) + { return(*(ENTRY **)0); } + +#undef _nc_save_str +char *_nc_save_str( + const char *const string) + { return(*(char **)0); } + +#undef _nc_wrap_entry +void _nc_wrap_entry( + ENTRY *const ep, + NCURSES_BOOL copy_strings) + { /* void */ } + +#undef _nc_merge_entry +void _nc_merge_entry( + TERMTYPE *const to, + TERMTYPE *const from) + { /* void */ } + +/* ./tinfo/captoinfo.c */ + +#undef _nc_captoinfo +char *_nc_captoinfo( + const char *cap, + const char *s, + int const parameterized) + { return(*(char **)0); } + +#undef _nc_infotocap +char *_nc_infotocap( + const char *cap, + const char *str, + int const parameterized) + { return(*(char **)0); } + +/* ./comp_captab.c */ + +#include <hashsize.h> + +#undef _nc_get_table +const struct name_table_entry *_nc_get_table( + NCURSES_BOOL termcap) + { return(*(const struct name_table_entry **)0); } + +#undef _nc_get_hash_table +const short *_nc_get_hash_table( + NCURSES_BOOL termcap) + { return(*(const short **)0); } + +#undef _nc_get_alias_table +const struct alias *_nc_get_alias_table( + NCURSES_BOOL termcap) + { return(*(const struct alias **)0); } + +/* ./tinfo/comp_expand.c */ + +#undef _nc_tic_expand +char *_nc_tic_expand( + const char *srcp, + NCURSES_BOOL tic_format, + int numbers) + { return(*(char **)0); } + +/* ./tinfo/comp_hash.c */ + +#undef _nc_find_entry +struct name_table_entry const *_nc_find_entry( + const char *string, + const short *hash_table) + { return(*(struct name_table_entry const **)0); } + +#undef _nc_find_type_entry +struct name_table_entry const *_nc_find_type_entry( + const char *string, + int type, + const struct name_table_entry *table) + { return(*(struct name_table_entry const **)0); } + +/* ./tinfo/comp_parse.c */ + +#undef _nc_check_termtype2 +void (*_nc_check_termtype2)( + TERMTYPE *p1, + NCURSES_BOOL p2); +#undef _nc_check_termtype +void (*_nc_check_termtype)( + TERMTYPE *p1); + +#undef _nc_entry_match +NCURSES_BOOL _nc_entry_match( + char *n1, + char *n2) + { return(*(NCURSES_BOOL *)0); } + +#undef _nc_read_entry_source +void _nc_read_entry_source( + FILE *fp, + char *buf, + int literal, + NCURSES_BOOL silent, + NCURSES_BOOL (*hook)( + ENTRY *p1)) + { /* void */ } + +#undef _nc_resolve_uses2 +int _nc_resolve_uses2( + NCURSES_BOOL fullresolve, + NCURSES_BOOL literal) + { return(*(int *)0); } + +#undef _nc_resolve_uses +int _nc_resolve_uses( + NCURSES_BOOL fullresolve) + { return(*(int *)0); } + +/* ./tinfo/comp_scan.c */ + +#undef _nc_syntax +int _nc_syntax; +#undef _nc_curr_file_pos +long _nc_curr_file_pos; +#undef _nc_comment_start +long _nc_comment_start; +#undef _nc_comment_end +long _nc_comment_end; +#undef _nc_start_line +long _nc_start_line; +#undef _nc_curr_token +struct token _nc_curr_token; +#undef _nc_disable_period +NCURSES_BOOL _nc_disable_period; + +#undef _nc_reset_input +void _nc_reset_input( + FILE *fp, + char *buf) + { /* void */ } + +#undef _nc_get_token +int _nc_get_token( + NCURSES_BOOL silent) + { return(*(int *)0); } + +#undef _nc_trans_string +int _nc_trans_string( + char *ptr, + char *last) + { return(*(int *)0); } + +#undef _nc_push_token +void _nc_push_token( + int tokclass) + { /* void */ } + +#undef _nc_panic_mode +void _nc_panic_mode( + char ch) + { /* void */ } + +/* ./tinfo/parse_entry.c */ + +#undef _nc_parse_entry +int _nc_parse_entry( + struct entry *entryp, + int literal, + NCURSES_BOOL silent) + { return(*(int *)0); } + +#undef _nc_capcmp +int _nc_capcmp( + const char *s, + const char *t) + { return(*(int *)0); } + +typedef struct { + const char *from; + const char *to; +} assoc; + /* ./tinfo/write_entry.c */ #undef _nc_set_writedir diff --git a/contrib/ncurses/ncurses/modules b/contrib/ncurses/ncurses/modules index 2e863da..f28ef81 100644 --- a/contrib/ncurses/ncurses/modules +++ b/contrib/ncurses/ncurses/modules @@ -1,6 +1,6 @@ -# $Id: modules,v 1.107 2006/08/12 14:19:44 tom Exp $ +# $Id: modules,v 1.112 2007/09/08 22:03:34 tom Exp $ ############################################################################## -# Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. # +# Copyright (c) 1998-2006,2007 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"), # @@ -127,14 +127,15 @@ charable lib $(wide) lib_add_wch lib $(wide) lib_box_set lib $(wide) lib_cchar lib $(wide) -lib_get_wch lib $(wide) lib_erasewchar lib $(wide) +lib_get_wch lib $(wide) lib_get_wstr lib $(wide) lib_hline_set lib $(wide) lib_in_wch lib $(wide) lib_in_wchnstr lib $(wide) lib_ins_wch lib $(wide) lib_inwstr lib $(wide) +lib_key_name lib $(wide) lib_pecho_wchar lib $(wide) lib_slk_wset lib $(wide) lib_unget_wch lib $(wide) @@ -151,24 +152,20 @@ lib_dft_fgbg lib $(base) ../include/term.h lib_print lib $(tinfo) ../include/term.h resizeterm lib $(base) ../include/term.h trace_xnames lib $(trace) ../include/term.h $(INCDIR)/term_entry.h +use_screen lib $(tinfo) +use_window lib $(base) wresize lib $(base) ../include/term.h # Support for termcap (and tic, etc.), which can be a separate library @ termlib access lib $(tinfo) add_tries lib $(tinfo) -alloc_entry lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h alloc_ttype lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h -captoinfo lib $(tinfo) $(INCDIR)/tic.h codes lib . -comp_captab lib . $(INCDIR)/tic.h ../include/term.h ../include/hashsize.h comp_error lib $(tinfo) $(INCDIR)/tic.h -comp_expand lib $(tinfo) $(INCDIR)/tic.h -comp_hash lib $(tinfo) ../include/term.h $(INCDIR)/tic.h ../include/hashsize.h -comp_parse lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h -comp_scan lib $(tinfo) $(INCDIR)/tic.h db_iterator lib $(tinfo) $(INCDIR)/tic.h doalloc lib $(tinfo) +entries lib $(tinfo) ../include/term.h $(INCDIR)/tic.h fallback lib . ../include/term.h $(INCDIR)/tic.h free_ttype lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h getenv_num lib $(tinfo) @@ -200,7 +197,6 @@ lib_ttyflags lib $(tinfo) ../include/term.h lib_twait lib $(serial) name_match lib $(tinfo) ../include/term.h $(INCDIR)/tic.h names lib . -parse_entry lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h ../include/parametrized.h $(INCDIR)/capdefaults.c read_entry lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h read_termcap lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h setbuf lib $(tinfo) @@ -211,6 +207,17 @@ tries lib $(base) trim_sgr0 lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h unctrl lib . visbuf lib $(trace) $(INCDIR)/tic.h + +# Modules used only for tic, other programs using internal interfaces +@ ticlib +alloc_entry lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h +captoinfo lib $(tinfo) $(INCDIR)/tic.h +comp_captab lib . $(INCDIR)/tic.h ../include/term.h ../include/hashsize.h +comp_expand lib $(tinfo) $(INCDIR)/tic.h +comp_hash lib $(tinfo) ../include/term.h $(INCDIR)/tic.h ../include/hashsize.h +comp_parse lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h +comp_scan lib $(tinfo) $(INCDIR)/tic.h +parse_entry lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h ../include/parametrized.h $(INCDIR)/capdefaults.c write_entry lib $(tinfo) ../include/term.h $(INCDIR)/term_entry.h $(INCDIR)/tic.h # Extensions to the termlib library @@ -221,3 +228,5 @@ key_defined lib $(base) keybound lib $(base) keyok lib $(base) version lib $(base) + +# vile:makemode diff --git a/contrib/ncurses/ncurses/tinfo/MKcaptab.awk b/contrib/ncurses/ncurses/tinfo/MKcaptab.awk index 57087b8..56d3d17 100644 --- a/contrib/ncurses/ncurses/tinfo/MKcaptab.awk +++ b/contrib/ncurses/ncurses/tinfo/MKcaptab.awk @@ -1,6 +1,5 @@ -#!/bin/sh ############################################################################## -# Copyright (c) 1998-2000,2006 Free Software Foundation, Inc. # +# Copyright (c) 1998-2006,2007 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"), # @@ -26,73 +25,70 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: MKcaptab.awk,v 1.13 2006/04/22 21:46:17 tom Exp $ -AWK=${1-awk} -DATA=${2-../include/Caps} - -cat <<'EOF' -/* - * comp_captab.c -- The names of the capabilities indexed via a hash - * table for the compiler. - * - */ - -#include <ncurses_cfg.h> -#include <curses.priv.h> -#include <tic.h> -#include <term.h> - -EOF - -./make_hash 1 info <$DATA -./make_hash 3 cap <$DATA - -cat <<'EOF' -const struct alias _nc_capalias_table[] = -{ -EOF +# $Id: MKcaptab.awk,v 1.20 2007/08/12 00:26:15 tom Exp $ +function add_string(text) { + if (text != "IGNORE") { + offsets[num_strings] = offset; + offset = offset + length(text) + 1; + printf "%s\\0", text; + } else { + offsets[num_strings] = -1; + } + num_strings = num_strings + 1; + if ((num_strings % 3) == 0) { + printf "\\\n"; + } + return offsets[num_strings - 1]; +} +BEGIN { + first = 1; + num_aliases = 0; + num_strings = 0; + offset = 0; +} -$AWK <$DATA ' -$1 == "capalias" { - if ($3 == "IGNORE") - to = "(char *)NULL"; - else - to = "\"" $3 "\""; - printf "\t{\"%s\", %s, \"%s\"},\t /* %s */\n", - $2, to, $4, $5 +/^[^#]/ { + if (first) { + printf "/* generated by MKcaptab.awk %s(%d) */\n", tablename, bigstrings; + print "" + if (bigstrings) { + printf "static struct alias *_nc_%s_table = 0;\n", tablename; + print ""; + printf "static const char %s_text[] = \"\\\n", tablename; + } else { + printf "static const struct alias _nc_%s_table[] =\n", tablename; + printf "{\n"; } -' - -cat <<'EOF' - {(char *)NULL, (char *)NULL, (char *)NULL} -}; - -const struct alias _nc_infoalias_table[] = -{ -EOF - -$AWK <$DATA ' -$1 == "infoalias" { - if ($3 == "IGNORE") - to = "(char *)NULL"; - else - to = "\"" $3 "\""; - printf "\t{\"%s\", %s, \"%s\"},\t /* %s */\n", - $2, to, $4, $5 + first = 0; + } + if ($1 == tablename) { + if ($3 == "IGNORE") { + to = "(char *)NULL"; + } else { + to = "\"" $3 "\""; } -' - -cat <<'EOF' - {(char *)NULL, (char *)NULL, (char *)NULL} -}; - -NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool termcap) -{ - return termcap ? _nc_cap_table: _nc_info_table ; -} - -NCURSES_EXPORT(const struct name_table_entry * const *) _nc_get_hash_table (bool termcap) -{ - return termcap ? _nc_cap_hash_table: _nc_info_hash_table ; -} -EOF + if (bigstrings) { + c1 = add_string($2); + c2 = add_string($3); + c3 = add_string($4); + aliases[num_aliases] = sprintf("\t{%5d, %5d, %5d},\t /* %s */", c1, c2, c3, $5); + num_aliases = num_aliases + 1; + } else { + printf "\t{\"%s\", %s, \"%s\"},\t /* %s */\n", $2, to, $4, $5; + } + } + } +END { + if (bigstrings) { + printf "\";\n\n"; + printf "static const alias_table_data %s_data[] = {\n", tablename; + for (n = 0; n < num_aliases; ++n) { + printf "%s\n", aliases[n]; + } + printf "};\n\n"; + } else { + printf "\t{(char *)NULL, (char *)NULL, (char *)NULL}\n"; + printf "};\n\n"; + } + } +# vile:sw=4: diff --git a/contrib/ncurses/ncurses/tinfo/MKcaptab.sh b/contrib/ncurses/ncurses/tinfo/MKcaptab.sh new file mode 100644 index 0000000..98c04e8 --- /dev/null +++ b/contrib/ncurses/ncurses/tinfo/MKcaptab.sh @@ -0,0 +1,149 @@ +#!/bin/sh +############################################################################## +# Copyright (c) 2007 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: MKcaptab.sh,v 1.8 2007/08/12 13:13:51 tom Exp $ +AWK=${1-awk} +OPT1=${2-0} +OPT2=${3-tinfo/MKcaptab.awk} +DATA=${4-../include/Caps} + +cat <<'EOF' +/* + * comp_captab.c -- The names of the capabilities indexed via a hash + * table for the compiler. + * + */ + +#include <curses.priv.h> +#include <tic.h> +#include <hashsize.h> + +EOF + +./make_hash 1 info $OPT1 <$DATA +./make_hash 3 cap $OPT1 <$DATA + +$AWK -f $OPT2 bigstrings=$OPT1 tablename=capalias <$DATA + +$AWK -f $OPT2 bigstrings=$OPT1 tablename=infoalias <$DATA + +cat <<EOF + +#if $OPT1 +static void +next_string(const char *strings, unsigned *offset) +{ + *offset += strlen(strings + *offset) + 1; +} + +static const struct name_table_entry * +_nc_build_names(struct name_table_entry **actual, + const name_table_data *source, + const char *strings) +{ + if (*actual == 0) { + *actual = typeCalloc(struct name_table_entry, CAPTABSIZE); + if (*actual != 0) { + unsigned n; + unsigned len = 0; + for (n = 0; n < CAPTABSIZE; ++n) { + (*actual)[n].nte_name = strings + len; + (*actual)[n].nte_type = source[n].nte_type; + (*actual)[n].nte_index = source[n].nte_index; + (*actual)[n].nte_link = source[n].nte_link; + next_string(strings, &len); + } + } + } + return *actual; +} + +#define add_alias(field) \\ + if (source[n].field >= 0) { \\ + (*actual)[n].field = strings + source[n].field; \\ + } + +static const struct alias * +_nc_build_alias(struct alias **actual, + const alias_table_data *source, + const char *strings, + unsigned tablesize) +{ + if (*actual == 0) { + *actual = typeCalloc(struct alias, tablesize + 1); + if (*actual != 0) { + unsigned n; + for (n = 0; n < tablesize; ++n) { + add_alias(from); + add_alias(to); + add_alias(source); + } + } + } + return *actual; +} + +#define build_names(root) _nc_build_names(&_nc_##root##_table, \\ + root##_names_data, \\ + root##_names_text) +#define build_alias(root) _nc_build_alias(&_nc_##root##alias_table, \\ + root##alias_data, \\ + root##alias_text, \\ + SIZEOF(root##alias_data)) +#else +#define build_names(root) _nc_ ## root ## _table +#define build_alias(root) _nc_ ## root ## alias_table +#endif + +NCURSES_EXPORT(const struct name_table_entry *) _nc_get_table (bool termcap) +{ + return termcap ? build_names(cap) : build_names(info) ; +} + +NCURSES_EXPORT(const short *) _nc_get_hash_table (bool termcap) +{ + return termcap ? _nc_cap_hash_table: _nc_info_hash_table ; +} + +NCURSES_EXPORT(const struct alias *) _nc_get_alias_table (bool termcap) +{ + return termcap ? build_alias(cap) : build_alias(info) ; +} + +#if NO_LEAKS +NCURSES_EXPORT(void) _nc_comp_captab_leaks(void) +{ +#if $OPT1 + FreeIfNeeded(_nc_cap_table); + FreeIfNeeded(_nc_info_table); + FreeIfNeeded(_nc_capalias_table); + FreeIfNeeded(_nc_infoalias_table); +#endif +} +#endif /* NO_LEAKS */ +EOF diff --git a/contrib/ncurses/ncurses/tinfo/MKcodes.awk b/contrib/ncurses/ncurses/tinfo/MKcodes.awk new file mode 100644 index 0000000..db8ad55 --- /dev/null +++ b/contrib/ncurses/ncurses/tinfo/MKcodes.awk @@ -0,0 +1,161 @@ +############################################################################## +# Copyright (c) 1998-2006,2007 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: MKcodes.awk,v 1.4 2007/11/03 20:24:15 tom Exp $ +function large_item(value) { + result = sprintf("%d,", offset); + offset = offset + length(value) + 1; + offcol = offcol + length(result) + 2; + if (offcol > 70) { + result = result "\n"; + offcol = 0; + } else { + result = result " "; + } + bigstr = bigstr sprintf("\"%s\\0\" ", value); + bigcol = bigcol + length(value) + 5; + if (bigcol > 70) { + bigstr = bigstr "\\\n"; + bigcol = 0; + } + return result; +} + +function small_item(value) { + return sprintf("\t\t\"%s\",\n", value); +} + +function print_strings(name,value) { + printf "DCL(%s) = {\n", name + print value + print "\t\t(NCURSES_CONST char *)0," + print "};" + print "" +} + +function print_offsets(name,value) { + printf "static const short _nc_offset_%s[] = {\n", name + printf "%s", value + print "};" + print "" + printf "static NCURSES_CONST char ** ptr_%s = 0;\n", name + print "" +} + +BEGIN { + print "/* This file was generated by MKcodes.awk */" + print "" + print "#include <curses.priv.h>" + print "" + print "#define IT NCURSES_CONST char * const" + print "" + offset = 0; + offcol = 0; + bigcol = 0; + } + +$1 ~ /^#/ {next;} + +$1 == "SKIPWARN" {next;} + +$3 == "bool" { + small_boolcodes = small_boolcodes small_item($4); + large_boolcodes = large_boolcodes large_item($4); + } + +$3 == "num" { + small_numcodes = small_numcodes small_item($4); + large_numcodes = large_numcodes large_item($4); + } + +$3 == "str" { + small_strcodes = small_strcodes small_item($4); + large_strcodes = large_strcodes large_item($4); + } + +END { + print "" + print "#if BROKEN_LINKER || USE_REENTRANT" + print "" + print "#include <term.h>" + print "" + if (bigstrings) { + printf "static const char _nc_code_blob[] = \n" + printf "%s;\n", bigstr; + print_offsets("boolcodes", large_boolcodes); + print_offsets("numcodes", large_numcodes); + print_offsets("strcodes", large_strcodes); + print "" + print "static IT *" + print "alloc_array(NCURSES_CONST char ***value, const short *offsets, unsigned size)" + print "{" + print " if (*value == 0) {" + print " if ((*value = typeCalloc(NCURSES_CONST char *, size + 1)) != 0) {" + print " unsigned n;" + print " for (n = 0; n < size; ++n) {" + print " (*value)[n] = _nc_code_blob + offsets[n];" + print " }" + print " }" + print " }" + print " return *value;" + print "}" + print "" + print "#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API _nc_##it(void) { return alloc_array(&ptr_##it, _nc_offset_##it, SIZEOF(_nc_offset_##it)); }" + } else { + print "#define DCL(it) static IT data##it[]" + print "" + print_strings("boolcodes", small_boolcodes); + print_strings("numcodes", small_numcodes); + print_strings("strcodes", small_strcodes); + print "#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API _nc_##it(void) { return data##it; }" + } + print "" + print "FIX(boolcodes)" + print "FIX(numcodes)" + print "FIX(strcodes)" + print "" + print "#define FREE_FIX(it) if (ptr_##it) { FreeAndNull(ptr_##it); }" + print "" + print "NCURSES_EXPORT(void)" + print "_nc_codes_leaks(void)" + print "{" + if (bigstrings) { + print "FREE_FIX(boolcodes)" + print "FREE_FIX(numcodes)" + print "FREE_FIX(strcodes)" + } + print "}" + print "#else" + print "" + print "#define DCL(it) NCURSES_EXPORT_VAR(IT) it[]" + print "" + print_strings("boolcodes", small_boolcodes); + print_strings("numcodes", small_numcodes); + print_strings("strcodes", small_strcodes); + print "" + print "#endif /* BROKEN_LINKER */" + } diff --git a/contrib/ncurses/ncurses/tinfo/MKnames.awk b/contrib/ncurses/ncurses/tinfo/MKnames.awk index 6be00ad..93e682c 100644 --- a/contrib/ncurses/ncurses/tinfo/MKnames.awk +++ b/contrib/ncurses/ncurses/tinfo/MKnames.awk @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 1998-2000,2006 Free Software Foundation, Inc. # +# Copyright (c) 2007 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"), # @@ -25,101 +25,159 @@ # use or other dealings in this Software without prior written # # authorization. # ############################################################################## -# $Id: MKnames.awk,v 1.12 2006/04/22 21:46:17 tom Exp $ -BEGIN { - print "/* This file was generated by MKnames.awk */" > "namehdr" - print "" > "namehdr" - print "#include <curses.priv.h>" > "namehdr" - print "" > "namehdr" - print "#define IT NCURSES_CONST char * const" > "namehdr" - print "" > "namehdr" - print "#if BROKEN_LINKER" > "namehdr" - print "#include <term.h>" > "namehdr" - print "#define DCL(it) static IT data##it[]" > "namehdr" - print "#else" > "namehdr" - print "#define DCL(it) NCURSES_EXPORT_VAR(IT) it[]" > "namehdr" - print "#endif" > "namehdr" - print "" > "namehdr" - print "/*" > "boolnames" - print " * names.c - Arrays of capability names and codes" > "boolnames" - print " *" > "boolnames" - print " */" > "boolnames" - print "" > "boolnames" - print "DCL(boolnames) = {" > "boolnames" - print "DCL(boolfnames) = {" > "boolfnames" - print "DCL(boolcodes) = {" > "boolcodes" - print "DCL(numnames) = {" > "numnames" - print "DCL(numfnames) = {" > "numfnames" - print "DCL(numcodes) = {" > "numcodes" - print "DCL(strnames) = {" > "strnames" - print "DCL(strfnames) = {" > "strfnames" - print "DCL(strcodes) = {" > "strcodes" - } +# $Id: MKnames.awk,v 1.18 2007/11/03 20:24:15 tom Exp $ +function large_item(value) { + result = sprintf("%d,", offset); + offset = offset + length(value) + 1; + offcol = offcol + length(result) + 2; + if (offcol > 70) { + result = result "\n"; + offcol = 0; + } else { + result = result " "; + } + bigstr = bigstr sprintf("\"%s\\0\" ", value); + bigcol = bigcol + length(value) + 5; + if (bigcol > 70) { + bigstr = bigstr "\\\n"; + bigcol = 0; + } + return result; +} + +function small_item(value) { + return sprintf("\t\t\"%s\",\n", value); +} + +function print_strings(name,value) { + printf "DCL(%s) = {\n", name + print value + print "\t\t(NCURSES_CONST char *)0," + print "};" + print "" +} + +function print_offsets(name,value) { + printf "static const short _nc_offset_%s[] = {\n", name + printf "%s", value + print "};" + print "" + printf "static NCURSES_CONST char ** ptr_%s = 0;\n", name + print "" +} + +BEGIN { + print "/* This file was generated by MKnames.awk */" + print "" + print "#include <curses.priv.h>" + print "" + print "#define IT NCURSES_CONST char * const" + print "" + offset = 0; + offcol = 0; + bigcol = 0; + } $1 ~ /^#/ {next;} $1 == "SKIPWARN" {next;} $3 == "bool" { - printf "\t\t\"%s\",\n", $2 > "boolnames" - printf "\t\t\"%s\",\n", $1 > "boolfnames" - printf "\t\t\"%s\",\n", $4 > "boolcodes" + small_boolnames = small_boolnames small_item($2); + large_boolnames = large_boolnames large_item($2); + small_boolfnames = small_boolfnames small_item($1); + large_boolfnames = large_boolfnames large_item($1); } $3 == "num" { - printf "\t\t\"%s\",\n", $2 > "numnames" - printf "\t\t\"%s\",\n", $1 > "numfnames" - printf "\t\t\"%s\",\n", $4 > "numcodes" + small_numnames = small_numnames small_item($2); + large_numnames = large_numnames large_item($2); + small_numfnames = small_numfnames small_item($1); + large_numfnames = large_numfnames large_item($1); } $3 == "str" { - printf "\t\t\"%s\",\n", $2 > "strnames" - printf "\t\t\"%s\",\n", $1 > "strfnames" - printf "\t\t\"%s\",\n", $4 > "strcodes" + small_strnames = small_strnames small_item($2); + large_strnames = large_strnames large_item($2); + small_strfnames = small_strfnames small_item($1); + large_strfnames = large_strfnames large_item($1); } -END { - print "\t\t(NCURSES_CONST char *)0," > "boolnames" - print "};" > "boolnames" - print "" > "boolnames" - print "\t\t(NCURSES_CONST char *)0," > "boolfnames" - print "};" > "boolfnames" - print "" > "boolfnames" - print "\t\t(NCURSES_CONST char *)0," > "boolcodes" - print "};" > "boolcodes" - print "" > "boolcodes" - print "\t\t(NCURSES_CONST char *)0," > "numnames" - print "};" > "numnames" - print "" > "numnames" - print "\t\t(NCURSES_CONST char *)0," > "numfnames" - print "};" > "numfnames" - print "" > "numfnames" - print "\t\t(NCURSES_CONST char *)0," > "numcodes" - print "};" > "numcodes" - print "" > "numcodes" - print "\t\t(NCURSES_CONST char *)0," > "strnames" - print "};" > "strnames" - print "" > "strnames" - print "\t\t(NCURSES_CONST char *)0," > "strfnames" - print "};" > "strfnames" - print "" > "strfnames" - print "\t\t(NCURSES_CONST char *)0," > "strcodes" - print "};" > "strcodes" - print "" > "strcodes" - print "#if BROKEN_LINKER" > "nameftr" - print "#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API _nc_##it(void) { return data##it; }" > "nameftr" - print "FIX(boolnames)" > "nameftr" - print "FIX(boolfnames)" > "nameftr" - print "FIX(numnames)" > "nameftr" - print "FIX(numfnames)" > "nameftr" - print "FIX(strnames)" > "nameftr" - print "FIX(strfnames)" > "nameftr" - print "#endif /* BROKEN_LINKER */" > "nameftr" - print "" > "codeftr" - print "#if BROKEN_LINKER" > "codeftr" - print "#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API _nc_##it(void) { return data##it; }" > "codeftr" - print "FIX(boolcodes)" > "codeftr" - print "FIX(numcodes)" > "codeftr" - print "FIX(strcodes)" > "codeftr" - print "#endif /* BROKEN_LINKER */" > "codeftr" +END { + print "" + print "#if BROKEN_LINKER || USE_REENTRANT" + print "" + print "#include <term.h>" + print "" + if (bigstrings) { + printf "static const char _nc_name_blob[] = \n" + printf "%s;\n", bigstr; + print_offsets("boolfnames", large_boolfnames); + print_offsets("boolnames", large_boolnames); + print_offsets("numfnames", large_numfnames); + print_offsets("numnames", large_numnames); + print_offsets("strfnames", large_strfnames); + print_offsets("strnames", large_strnames); + print "" + print "static IT *" + print "alloc_array(NCURSES_CONST char ***value, const short *offsets, unsigned size)" + print "{" + print " if (*value == 0) {" + print " if ((*value = typeCalloc(NCURSES_CONST char *, size + 1)) != 0) {" + print " unsigned n;" + print " for (n = 0; n < size; ++n) {" + print " (*value)[n] = _nc_name_blob + offsets[n];" + print " }" + print " }" + print " }" + print " return *value;" + print "}" + print "" + print "#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API _nc_##it(void) { return alloc_array(&ptr_##it, _nc_offset_##it, SIZEOF(_nc_offset_##it)); }" + } else { + print "#define DCL(it) static IT data##it[]" + print "" + print_strings("boolnames", small_boolnames); + print_strings("boolfnames", small_boolfnames); + print_strings("numnames", small_numnames); + print_strings("numfnames", small_numfnames); + print_strings("strnames", small_strnames); + print_strings("strfnames", small_strfnames); + print "#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API _nc_##it(void) { return data##it; }" + } + print "" + print "FIX(boolnames)" + print "FIX(boolfnames)" + print "FIX(numnames)" + print "FIX(numfnames)" + print "FIX(strnames)" + print "FIX(strfnames)" + print "" + print "" + print "#define FREE_FIX(it) if (ptr_##it) { FreeAndNull(ptr_##it); }" + print "" + print "NCURSES_EXPORT(void)" + print "_nc_names_leaks(void)" + print "{" + if (bigstrings) { + print "FREE_FIX(boolnames)" + print "FREE_FIX(boolfnames)" + print "FREE_FIX(numnames)" + print "FREE_FIX(numfnames)" + print "FREE_FIX(strnames)" + print "FREE_FIX(strfnames)" } + print "}" + print "#else" + print "" + print "#define DCL(it) NCURSES_EXPORT_VAR(IT) it[]" + print "" + print_strings("boolnames", small_boolnames); + print_strings("boolfnames", small_boolfnames); + print_strings("numnames", small_numnames); + print_strings("numfnames", small_numfnames); + print_strings("strnames", small_strnames); + print_strings("strfnames", small_strfnames); + print "" + print "#endif /* BROKEN_LINKER */" + } diff --git a/contrib/ncurses/ncurses/tinfo/access.c b/contrib/ncurses/ncurses/tinfo/access.c index c10b7e0a..ce8ccda 100644 --- a/contrib/ncurses/ncurses/tinfo/access.c +++ b/contrib/ncurses/ncurses/tinfo/access.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -32,12 +32,13 @@ #include <curses.priv.h> +#include <ctype.h> #include <sys/stat.h> #include <tic.h> #include <nc_alloc.h> -MODULE_ID("$Id: access.c,v 1.12 2006/08/05 17:18:14 tom Exp $") +MODULE_ID("$Id: access.c,v 1.14 2007/11/18 00:57:53 tom Exp $") #define LOWERCASE(c) ((isalpha(UChar(c)) && isupper(UChar(c))) ? tolower(UChar(c)) : (c)) @@ -45,14 +46,13 @@ NCURSES_EXPORT(char *) _nc_rootname(char *path) { char *result = _nc_basename(path); -#if !defined(MIXEDCASE_FILENAMES) || defined(PROG_EXT) +#if !MIXEDCASE_FILENAMES || defined(PROG_EXT) static char *temp; char *s; temp = strdup(result); result = temp; -#if !defined(MIXEDCASE_FILENAMES) - int n; +#if !MIXEDCASE_FILENAMES for (s = result; *s != '\0'; ++s) { *s = LOWERCASE(*s); } diff --git a/contrib/ncurses/ncurses/tinfo/add_tries.c b/contrib/ncurses/ncurses/tinfo/add_tries.c index 46c93b8..455d142e 100644 --- a/contrib/ncurses/ncurses/tinfo/add_tries.c +++ b/contrib/ncurses/ncurses/tinfo/add_tries.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * + * 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 * @@ -27,7 +27,7 @@ ****************************************************************************/ /**************************************************************************** - * Author: Thomas E. Dickey <dickey@clark.net> 1998 * + * Author: Thomas E. Dickey 1998-on * ****************************************************************************/ /* @@ -39,20 +39,20 @@ #include <curses.priv.h> -MODULE_ID("$Id: add_tries.c,v 1.5 2005/11/20 01:32:48 tom Exp $") +MODULE_ID("$Id: add_tries.c,v 1.8 2006/12/30 23:15:26 tom Exp $") #define SET_TRY(dst,src) if ((dst->ch = *src++) == 128) dst->ch = '\0' #define CMP_TRY(a,b) ((a)? (a == b) : (b == 128)) -NCURSES_EXPORT(void) -_nc_add_to_try(struct tries **tree, const char *str, unsigned code) +NCURSES_EXPORT(int) +_nc_add_to_try(TRIES ** tree, const char *str, unsigned code) { - static bool out_of_memory = FALSE; - struct tries *ptr, *savedptr; + TRIES *ptr, *savedptr; unsigned const char *txt = (unsigned const char *) str; - if (txt == 0 || *txt == '\0' || out_of_memory || code == 0) - return; + T((T_CALLED("_nc_add_to_try(%p, %s, %u)"), *tree, _nc_visbuf(str), code)); + if (txt == 0 || *txt == '\0' || code == 0) + returnCode(ERR); if ((*tree) != 0) { ptr = savedptr = (*tree); @@ -67,16 +67,15 @@ _nc_add_to_try(struct tries **tree, const char *str, unsigned code) if (CMP_TRY(ptr->ch, cmp)) { if (*(++txt) == '\0') { ptr->value = code; - return; + returnCode(OK); } if (ptr->child != 0) ptr = ptr->child; else break; } else { - if ((ptr->sibling = typeCalloc(struct tries, 1)) == 0) { - out_of_memory = TRUE; - return; + if ((ptr->sibling = typeCalloc(TRIES, 1)) == 0) { + returnCode(ERR); } savedptr = ptr = ptr->sibling; @@ -87,11 +86,10 @@ _nc_add_to_try(struct tries **tree, const char *str, unsigned code) } } /* end for (;;) */ } else { /* (*tree) == 0 :: First sequence to be added */ - savedptr = ptr = (*tree) = typeCalloc(struct tries, 1); + savedptr = ptr = (*tree) = typeCalloc(TRIES, 1); if (ptr == 0) { - out_of_memory = TRUE; - return; + returnCode(ERR); } SET_TRY(ptr, txt); @@ -101,19 +99,16 @@ _nc_add_to_try(struct tries **tree, const char *str, unsigned code) /* at this point, we are adding to the try. ptr->child == 0 */ while (*txt) { - ptr->child = typeCalloc(struct tries, 1); + ptr->child = typeCalloc(TRIES, 1); ptr = ptr->child; if (ptr == 0) { - out_of_memory = TRUE; - while ((ptr = savedptr) != 0) { savedptr = ptr->child; free(ptr); } - - return; + returnCode(ERR); } SET_TRY(ptr, txt); @@ -121,5 +116,5 @@ _nc_add_to_try(struct tries **tree, const char *str, unsigned code) } ptr->value = code; - return; + returnCode(OK); } diff --git a/contrib/ncurses/ncurses/tinfo/comp_error.c b/contrib/ncurses/ncurses/tinfo/comp_error.c index 015f348..56c362a 100644 --- a/contrib/ncurses/ncurses/tinfo/comp_error.c +++ b/contrib/ncurses/ncurses/tinfo/comp_error.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2002,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2005,2007 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 * @@ -41,36 +41,36 @@ #include <tic.h> -MODULE_ID("$Id: comp_error.c,v 1.30 2005/11/26 15:28:47 tom Exp $") +MODULE_ID("$Id: comp_error.c,v 1.31 2007/04/21 23:38:32 tom Exp $") NCURSES_EXPORT_VAR(bool) _nc_suppress_warnings = FALSE; NCURSES_EXPORT_VAR(int) _nc_curr_line = 0; /* current line # in input */ NCURSES_EXPORT_VAR(int) _nc_curr_col = 0; /* current column # in input */ -static const char *sourcename; -static char *termtype; +#define SourceName _nc_globals.comp_sourcename +#define TermType _nc_globals.comp_termtype NCURSES_EXPORT(const char *) _nc_get_source(void) { - return sourcename; + return SourceName; } NCURSES_EXPORT(void) _nc_set_source(const char *const name) { - sourcename = name; + SourceName = name; } NCURSES_EXPORT(void) _nc_set_type(const char *const name) { - if (termtype == 0) - termtype = typeMalloc(char, MAX_NAME_SIZE + 1); - if (termtype != 0) { - termtype[0] = '\0'; + if (TermType == 0) + TermType = typeMalloc(char, MAX_NAME_SIZE + 1); + if (TermType != 0) { + TermType[0] = '\0'; if (name) - strncat(termtype, name, MAX_NAME_SIZE); + strncat(TermType, name, MAX_NAME_SIZE); } } @@ -78,25 +78,25 @@ NCURSES_EXPORT(void) _nc_get_type(char *name) { #if NO_LEAKS - if (name == 0 && termtype != 0) { - FreeAndNull(termtype); + if (name == 0 && TermType != 0) { + FreeAndNull(TermType); return; } #endif if (name != 0) - strcpy(name, termtype != 0 ? termtype : ""); + strcpy(name, TermType != 0 ? TermType : ""); } static NCURSES_INLINE void where_is_problem(void) { - fprintf(stderr, "\"%s\"", sourcename); + fprintf(stderr, "\"%s\"", SourceName ? SourceName : "?"); if (_nc_curr_line >= 0) fprintf(stderr, ", line %d", _nc_curr_line); if (_nc_curr_col >= 0) fprintf(stderr, ", col %d", _nc_curr_col); - if (termtype != 0 && termtype[0] != '\0') - fprintf(stderr, ", terminal '%s'", termtype); + if (TermType != 0 && TermType[0] != '\0') + fprintf(stderr, ", terminal '%s'", TermType); fputc(':', stderr); fputc(' ', stderr); } diff --git a/contrib/ncurses/ncurses/tinfo/comp_hash.c b/contrib/ncurses/ncurses/tinfo/comp_hash.c index d4d9eaa..8b85eee 100644 --- a/contrib/ncurses/ncurses/tinfo/comp_hash.c +++ b/contrib/ncurses/ncurses/tinfo/comp_hash.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2003,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2005,2007 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 * @@ -50,7 +50,7 @@ #define DEBUG(level, params) /*nothing */ #endif -MODULE_ID("$Id: comp_hash.c,v 1.28 2005/08/20 19:58:18 tom Exp $") +MODULE_ID("$Id: comp_hash.c,v 1.33 2007/08/18 21:42:25 tom Exp $") static int hash_function(const char *); @@ -71,21 +71,24 @@ static int hash_function(const char *); static void _nc_make_hash_table(struct name_table_entry *table, - struct name_table_entry **hash_table) + short *hash_table) { int i; int hashvalue; int collisions = 0; + for (i = 0; i < HASHTABSIZE; i++) { + hash_table[i] = -1; + } for (i = 0; i < CAPTABSIZE; i++) { hashvalue = hash_function(table[i].nte_name); - if (hash_table[hashvalue] != (struct name_table_entry *) 0) + if (hash_table[hashvalue] >= 0) collisions++; if (hash_table[hashvalue] != 0) - table[i].nte_link = (short) (hash_table[hashvalue] - table); - hash_table[hashvalue] = &table[i]; + table[i].nte_link = hash_table[hashvalue]; + hash_table[hashvalue] = i; } DEBUG(4, ("Hash table complete: %d collisions out of %d entries", @@ -130,18 +133,21 @@ hash_function(const char *string) #ifndef MAIN_PROGRAM NCURSES_EXPORT(struct name_table_entry const *) _nc_find_entry(const char *string, - const struct name_table_entry *const *hash_table) + const short *hash_table) { int hashvalue; - struct name_table_entry const *ptr; + struct name_table_entry const *ptr = 0; + struct name_table_entry const *real_table; hashvalue = hash_function(string); - if ((ptr = hash_table[hashvalue]) != 0) { + if (hash_table[hashvalue] >= 0) { + real_table = _nc_get_table(hash_table != _nc_get_hash_table(FALSE)); + ptr = real_table + hash_table[hashvalue]; while (strcmp(ptr->nte_name, string) != 0) { if (ptr->nte_link < 0) return 0; - ptr = ptr->nte_link + hash_table[HASHTABSIZE]; + ptr = real_table + (ptr->nte_link + hash_table[HASHTABSIZE]); } } @@ -231,10 +237,10 @@ main(int argc, char **argv) { struct name_table_entry *name_table = typeCalloc(struct name_table_entry, CAPTABSIZE); - struct name_table_entry **hash_table = typeCalloc(struct name_table_entry - *, HASHTABSIZE); + short *hash_table = typeCalloc(short, HASHTABSIZE); const char *root_name = ""; int column = 0; + int bigstring = 0; int n; char buffer[BUFSIZ]; @@ -248,11 +254,12 @@ main(int argc, char **argv) /* The first argument is the column-number (starting with 0). * The second is the root name of the tables to generate. */ - if (argc <= 2 + if (argc <= 3 || (column = atoi(argv[1])) <= 0 || (column >= MAX_COLUMNS) - || *(root_name = argv[2]) == 0) { - fprintf(stderr, "usage: make_hash column root_name\n"); + || *(root_name = argv[2]) == 0 + || (bigstring = atoi(argv[3])) < 0) { + fprintf(stderr, "usage: make_hash column root_name bigstring\n"); exit(EXIT_FAILURE); } @@ -288,36 +295,64 @@ main(int argc, char **argv) /* * Write the compiled tables to standard output */ - printf("static struct name_table_entry const _nc_%s_table[] =\n", - root_name); - printf("{\n"); - for (n = 0; n < CAPTABSIZE; n++) { - sprintf(buffer, "\"%s\"", - name_table[n].nte_name); - printf("\t{ %15s,\t%10s,\t%3d, %3d }%c\n", - buffer, - typenames[name_table[n].nte_type], - name_table[n].nte_index, - name_table[n].nte_link, - n < CAPTABSIZE - 1 ? ',' : ' '); + if (bigstring) { + int len = 0; + int nxt; + + printf("static const char %s_names_text[] = \\\n", root_name); + for (n = 0; n < CAPTABSIZE; n++) { + nxt = strlen(name_table[n].nte_name) + 5; + if (nxt + len > 72) { + printf("\\\n"); + len = 0; + } + printf("\"%s\\0\" ", name_table[n].nte_name); + len += nxt; + } + printf(";\n\n"); + + len = 0; + printf("static name_table_data const %s_names_data[] =\n", + root_name); + printf("{\n"); + for (n = 0; n < CAPTABSIZE; n++) { + printf("\t{ %15d,\t%10s,\t%3d, %3d }%c\n", + len, + typenames[name_table[n].nte_type], + name_table[n].nte_index, + name_table[n].nte_link, + n < CAPTABSIZE - 1 ? ',' : ' '); + len += strlen(name_table[n].nte_name) + 1; + } + printf("};\n\n"); + printf("static struct name_table_entry *_nc_%s_table = 0;\n\n", root_name); + } else { + + printf("static struct name_table_entry %s _nc_%s_table[] =\n", + bigstring ? "" : "const", + root_name); + printf("{\n"); + for (n = 0; n < CAPTABSIZE; n++) { + sprintf(buffer, "\"%s\"", + name_table[n].nte_name); + printf("\t{ %15s,\t%10s,\t%3d, %3d }%c\n", + buffer, + typenames[name_table[n].nte_type], + name_table[n].nte_index, + name_table[n].nte_link, + n < CAPTABSIZE - 1 ? ',' : ' '); + } + printf("};\n\n"); } - printf("};\n\n"); - printf("const struct name_table_entry * const _nc_%s_hash_table[%d] =\n", + printf("static const short _nc_%s_hash_table[%d] =\n", root_name, HASHTABSIZE + 1); printf("{\n"); for (n = 0; n < HASHTABSIZE; n++) { - if (hash_table[n] != 0) { - sprintf(buffer, "_nc_%s_table + %3ld", - root_name, - (long) (hash_table[n] - name_table)); - } else { - strcpy(buffer, "0"); - } - printf("\t%s,\n", buffer); + printf("\t%3d,\n", hash_table[n]); } - printf("\t_nc_%s_table\t/* base-of-table */\n", root_name); + printf("\t0\t/* base-of-table */\n"); printf("};\n\n"); printf("#if (BOOLCOUNT!=%d)||(NUMCOUNT!=%d)||(STRCOUNT!=%d)\n", diff --git a/contrib/ncurses/ncurses/tinfo/comp_parse.c b/contrib/ncurses/ncurses/tinfo/comp_parse.c index 667b325..aa60047 100644 --- a/contrib/ncurses/ncurses/tinfo/comp_parse.c +++ b/contrib/ncurses/ncurses/tinfo/comp_parse.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -53,7 +53,7 @@ #include <tic.h> #include <term_entry.h> -MODULE_ID("$Id: comp_parse.c,v 1.63 2006/07/08 18:55:14 tom Exp $") +MODULE_ID("$Id: comp_parse.c,v 1.68 2007/11/03 20:41:46 tom Exp $") static void sanity_check2(TERMTYPE *, bool); NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype2) (TERMTYPE *, bool) = sanity_check2; @@ -62,30 +62,6 @@ NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype2) (TERMTYPE *, bool) = sanit static void sanity_check(TERMTYPE *); NCURSES_IMPEXP void NCURSES_API(*_nc_check_termtype) (TERMTYPE *) = sanity_check; -/**************************************************************************** - * - * Entry queue handling - * - ****************************************************************************/ -/* - * The entry list is a doubly linked list with NULLs terminating the lists: - * - * --------- --------- --------- - * | | | | | | offset - * |-------| |-------| |-------| - * | ----+-->| ----+-->| NULL | next - * |-------| |-------| |-------| - * | NULL |<--+---- |<--+---- | last - * --------- --------- --------- - * ^ ^ - * | | - * | | - * _nc_head _nc_tail - */ - -NCURSES_EXPORT_VAR(ENTRY *) _nc_head = 0; -NCURSES_EXPORT_VAR(ENTRY *) _nc_tail = 0; - static void enqueue(ENTRY * ep) /* add an entry to the in-core list */ @@ -103,51 +79,6 @@ enqueue(ENTRY * ep) newp->last->next = newp; } -NCURSES_EXPORT(void) -_nc_free_entries(ENTRY * headp) -/* free the allocated storage consumed by list entries */ -{ - (void) headp; /* unused - _nc_head is altered here! */ - - while (_nc_head != 0) { - _nc_free_termtype(&(_nc_head->tterm)); - } -} - -NCURSES_EXPORT(ENTRY *) -_nc_delink_entry(ENTRY * headp, TERMTYPE *tterm) -/* delink the allocated storage for the given list entry */ -{ - ENTRY *ep, *last; - - for (last = 0, ep = headp; ep != 0; last = ep, ep = ep->next) { - if (&(ep->tterm) == tterm) { - if (last != 0) { - last->next = ep->next; - } - if (ep == _nc_head) { - _nc_head = ep->next; - } - if (ep == _nc_tail) { - _nc_tail = last; - } - break; - } - } - return ep; -} - -NCURSES_EXPORT(void) -_nc_free_entry(ENTRY * headp, TERMTYPE *tterm) -/* free the allocated storage consumed by the given list entry */ -{ - ENTRY *ep; - - if ((ep = _nc_delink_entry(headp, tterm)) != 0) { - free(ep); - } -} - static char * force_bar(char *dst, char *src) { @@ -534,3 +465,26 @@ sanity_check(TERMTYPE *tp) { sanity_check2(tp, FALSE); } + +#if NO_LEAKS +NCURSES_EXPORT(void) +_nc_leaks_tic(void) +{ + _nc_alloc_entry_leaks(); + _nc_captoinfo_leaks(); + _nc_comp_captab_leaks(); + _nc_comp_scan_leaks(); +#if BROKEN_LINKER || USE_REENTRANT + _nc_names_leaks(); + _nc_codes_leaks(); +#endif + _nc_tic_expand(0, FALSE, 0); +} + +NCURSES_EXPORT(void) +_nc_free_tic(int code) +{ + _nc_leaks_tic(); + _nc_free_tinfo(code); +} +#endif diff --git a/contrib/ncurses/ncurses/tinfo/db_iterator.c b/contrib/ncurses/ncurses/tinfo/db_iterator.c index e69aa5e..fdc2bb0 100644 --- a/contrib/ncurses/ncurses/tinfo/db_iterator.c +++ b/contrib/ncurses/ncurses/tinfo/db_iterator.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2006 Free Software Foundation, Inc. * + * Copyright (c) 2006,2007 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 * @@ -27,7 +27,7 @@ ****************************************************************************/ /**************************************************************************** - * Author: Thomas E. Dickey 2006 * + * Author: Thomas E. Dickey * ****************************************************************************/ /* @@ -38,10 +38,11 @@ #include <tic.h> -MODULE_ID("$Id: db_iterator.c,v 1.5 2006/12/16 19:06:42 tom Exp $") +MODULE_ID("$Id: db_iterator.c,v 1.6 2007/04/22 00:00:26 tom Exp $") -static bool have_tic_directory = FALSE; -static bool keep_tic_directory = FALSE; +#define HaveTicDirectory _nc_globals.have_tic_directory +#define KeepTicDirectory _nc_globals.keep_tic_directory +#define TicDirectory _nc_globals.tic_directory /* * Record the "official" location of the terminfo directory, according to @@ -50,19 +51,17 @@ static bool keep_tic_directory = FALSE; NCURSES_EXPORT(const char *) _nc_tic_dir(const char *path) { - static const char *result = TERMINFO; - - if (!keep_tic_directory) { + if (!KeepTicDirectory) { if (path != 0) { - result = path; - have_tic_directory = TRUE; - } else if (!have_tic_directory && use_terminfo_vars()) { + TicDirectory = path; + HaveTicDirectory = TRUE; + } else if (!HaveTicDirectory && use_terminfo_vars()) { char *envp; if ((envp = getenv("TERMINFO")) != 0) return _nc_tic_dir(envp); } } - return result; + return TicDirectory; } /* @@ -74,16 +73,15 @@ NCURSES_EXPORT(void) _nc_keep_tic_dir(const char *path) { _nc_tic_dir(path); - keep_tic_directory = TRUE; + KeepTicDirectory = TRUE; } /* * Process the list of :-separated directories, looking for the terminal type. * We don't use strtok because it does not show us empty tokens. */ - -static char *this_db_list = 0; -static int size_db_list; +#define ThisDbList _nc_globals.dbi_list +#define ThisDbSize _nc_globals.dbi_size /* * Cleanup. @@ -91,10 +89,10 @@ static int size_db_list; NCURSES_EXPORT(void) _nc_last_db(void) { - if (this_db_list != 0) { - FreeAndNull(this_db_list); + if (ThisDbList != 0) { + FreeAndNull(ThisDbList); } - size_db_list = 0; + ThisDbSize = 0; } /* The TERMINFO_DIRS value, if defined by the configure script, begins with a @@ -104,14 +102,14 @@ static const char * next_list_item(const char *source, int *offset) { if (source != 0) { - FreeIfNeeded(this_db_list); - this_db_list = strdup(source); - size_db_list = strlen(source); + FreeIfNeeded(ThisDbList); + ThisDbList = strdup(source); + ThisDbSize = strlen(source); } - if (this_db_list != 0 && size_db_list && *offset < size_db_list) { + if (ThisDbList != 0 && ThisDbSize && *offset < ThisDbSize) { static char system_db[] = TERMINFO; - char *result = this_db_list + *offset; + char *result = ThisDbList + *offset; char *marker = strchr(result, NCURSES_PATHSEP); /* @@ -124,9 +122,9 @@ next_list_item(const char *source, int *offset) marker = result + *offset; } else { *marker++ = 0; - *offset = marker - this_db_list; + *offset = marker - ThisDbList; } - if (*result == 0 && result != (this_db_list + size_db_list)) + if (*result == 0 && result != (ThisDbList + ThisDbSize)) result = system_db; return result; } @@ -153,7 +151,7 @@ _nc_next_db(DBDIRS * state, int *offset) switch (*state) { case dbdTIC: - if (have_tic_directory) + if (HaveTicDirectory) result = _nc_tic_dir(0); break; #if USE_DATABASE diff --git a/contrib/ncurses/ncurses/tinfo/entries.c b/contrib/ncurses/ncurses/tinfo/entries.c new file mode 100644 index 0000000..8b63f0d --- /dev/null +++ b/contrib/ncurses/ncurses/tinfo/entries.c @@ -0,0 +1,144 @@ +/**************************************************************************** + * Copyright (c) 2006,2007 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. * + ****************************************************************************/ + +/**************************************************************************** + * Author: Thomas E. Dickey * + ****************************************************************************/ + +#include <curses.priv.h> + +#include <ctype.h> + +#include <tic.h> +#include <term_entry.h> + +MODULE_ID("$Id: entries.c,v 1.4 2007/11/03 21:00:27 tom Exp $") + +/**************************************************************************** + * + * Entry queue handling + * + ****************************************************************************/ +/* + * The entry list is a doubly linked list with NULLs terminating the lists: + * + * --------- --------- --------- + * | | | | | | offset + * |-------| |-------| |-------| + * | ----+-->| ----+-->| NULL | next + * |-------| |-------| |-------| + * | NULL |<--+---- |<--+---- | last + * --------- --------- --------- + * ^ ^ + * | | + * | | + * _nc_head _nc_tail + */ + +NCURSES_EXPORT_VAR(ENTRY *) _nc_head = 0; +NCURSES_EXPORT_VAR(ENTRY *) _nc_tail = 0; + +NCURSES_EXPORT(void) +_nc_free_entry(ENTRY * headp, TERMTYPE *tterm) +/* free the allocated storage consumed by the given list entry */ +{ + ENTRY *ep; + + if ((ep = _nc_delink_entry(headp, tterm)) != 0) { + free(ep); + } +} + +NCURSES_EXPORT(void) +_nc_free_entries(ENTRY * headp) +/* free the allocated storage consumed by list entries */ +{ + (void) headp; /* unused - _nc_head is altered here! */ + + while (_nc_head != 0) { + _nc_free_termtype(&(_nc_head->tterm)); + } +} + +NCURSES_EXPORT(ENTRY *) +_nc_delink_entry(ENTRY * headp, TERMTYPE *tterm) +/* delink the allocated storage for the given list entry */ +{ + ENTRY *ep, *last; + + for (last = 0, ep = headp; ep != 0; last = ep, ep = ep->next) { + if (&(ep->tterm) == tterm) { + if (last != 0) { + last->next = ep->next; + } + if (ep == _nc_head) { + _nc_head = ep->next; + } + if (ep == _nc_tail) { + _nc_tail = last; + } + break; + } + } + return ep; +} + +NCURSES_EXPORT(void) +_nc_leaks_tinfo(void) +{ + char *s; + + T((T_CALLED("_nc_free_tinfo()"))); +#if NO_LEAKS + _nc_free_tparm(); + _nc_tgetent_leaks(); +#endif + _nc_free_entries(_nc_head); + _nc_get_type(0); + _nc_first_name(0); +#if NO_LEAKS + _nc_keyname_leaks(); +#endif +#if BROKEN_LINKER || USE_REENTRANT + _nc_names_leaks(); + _nc_codes_leaks(); +#endif + + if ((s = _nc_home_terminfo()) != 0) + free(s); + returnVoid; +} + +#if NO_LEAKS +NCURSES_EXPORT(void) +_nc_free_tinfo(int code) +{ + _nc_leaks_tinfo(); + exit(code); +} +#endif diff --git a/contrib/ncurses/ncurses/tinfo/home_terminfo.c b/contrib/ncurses/ncurses/tinfo/home_terminfo.c index ce6576a..92c2670 100644 --- a/contrib/ncurses/ncurses/tinfo/home_terminfo.c +++ b/contrib/ncurses/ncurses/tinfo/home_terminfo.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2005,2007 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 * @@ -27,7 +27,7 @@ ****************************************************************************/ /**************************************************************************** - * Author: Thomas E. Dickey 1998,2000,2004,2005 * + * Author: Thomas E. Dickey * ****************************************************************************/ /* @@ -37,31 +37,32 @@ #include <curses.priv.h> #include <tic.h> -MODULE_ID("$Id: home_terminfo.c,v 1.9 2005/07/02 19:43:38 tom Exp $") +MODULE_ID("$Id: home_terminfo.c,v 1.10 2007/04/21 23:11:53 tom Exp $") #define my_length (strlen(home) + sizeof(PRIVATE_INFO)) /* ncurses extension...fall back on user's private directory */ +#define MyBuffer _nc_globals.home_terminfo + NCURSES_EXPORT(char *) _nc_home_terminfo(void) { char *result = 0; -#ifdef USE_HOME_TERMINFO +#if USE_HOME_TERMINFO char *home; - static char *temp = 0; if (use_terminfo_vars()) { - if (temp == 0) { + if (MyBuffer == 0) { if ((home = getenv("HOME")) != 0 && my_length <= PATH_MAX) { - temp = typeMalloc(char, my_length); - if (temp == 0) + MyBuffer = typeMalloc(char, my_length); + if (MyBuffer == 0) _nc_err_abort(MSG_NO_MEMORY); - (void) sprintf(temp, PRIVATE_INFO, home); + (void) sprintf(MyBuffer, PRIVATE_INFO, home); } } - result = temp; + result = MyBuffer; } #endif return result; diff --git a/contrib/ncurses/ncurses/tinfo/init_keytry.c b/contrib/ncurses/ncurses/tinfo/init_keytry.c index 3461dd4..d203210 100644 --- a/contrib/ncurses/ncurses/tinfo/init_keytry.c +++ b/contrib/ncurses/ncurses/tinfo/init_keytry.c @@ -36,7 +36,7 @@ #include <term_entry.h> -MODULE_ID("$Id: init_keytry.c,v 1.8 2006/01/21 23:43:28 tom Exp $") +MODULE_ID("$Id: init_keytry.c,v 1.10 2007/04/29 22:57:50 tom Exp $") /* ** _nc_init_keytry() @@ -56,7 +56,7 @@ MODULE_ID("$Id: init_keytry.c,v 1.8 2006/01/21 23:43:28 tom Exp $") #endif*/ #if BROKEN_LINKER -struct tinfo_fkeys * +const struct tinfo_fkeys * _nc_tinfo_fkeysf(void) { return _nc_tinfo_fkeys; @@ -76,9 +76,9 @@ _nc_init_keytry(void) if (SP != 0) { for (n = 0; _nc_tinfo_fkeys[n].code; n++) { if (_nc_tinfo_fkeys[n].offset < STRCOUNT) { - _nc_add_to_try(&(SP->_keytry), - CUR Strings[_nc_tinfo_fkeys[n].offset], - _nc_tinfo_fkeys[n].code); + (void) _nc_add_to_try(&(SP->_keytry), + CUR Strings[_nc_tinfo_fkeys[n].offset], + _nc_tinfo_fkeys[n].code); } } #if NCURSES_XNAMES @@ -96,9 +96,9 @@ _nc_init_keytry(void) && *name == 'k' && value != 0 && key_defined(value) == 0) { - _nc_add_to_try(&(SP->_keytry), - value, - n - STRCOUNT + KEY_MAX); + (void) _nc_add_to_try(&(SP->_keytry), + value, + n - STRCOUNT + KEY_MAX); } } } diff --git a/contrib/ncurses/ncurses/tinfo/lib_acs.c b/contrib/ncurses/ncurses/tinfo/lib_acs.c index 2719795..6a24285 100644 --- a/contrib/ncurses/ncurses/tinfo/lib_acs.c +++ b/contrib/ncurses/ncurses/tinfo/lib_acs.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -35,17 +35,18 @@ #include <curses.priv.h> #include <term.h> /* ena_acs, acs_chars */ -MODULE_ID("$Id: lib_acs.c,v 1.30 2006/01/07 21:27:15 tom Exp $") +MODULE_ID("$Id: lib_acs.c,v 1.34 2007/09/29 20:37:13 tom Exp $") -#if BROKEN_LINKER +#if BROKEN_LINKER || USE_REENTRANT +#define MyBuffer _nc_prescreen.real_acs_map NCURSES_EXPORT_VAR(chtype *) _nc_acs_map(void) { - static chtype *the_map = 0; - if (the_map == 0) - the_map = typeCalloc(chtype, ACS_LEN); - return the_map; + if (MyBuffer == 0) + MyBuffer = typeCalloc(chtype, ACS_LEN); + return MyBuffer; } +#undef MyBuffer #else NCURSES_EXPORT_VAR(chtype) acs_map[ACS_LEN] = { @@ -117,16 +118,6 @@ _nc_init_acs(void) real_map['|'] = '!'; /* should be not-equal */ real_map['}'] = 'f'; /* should be pound-sterling symbol */ -#if !USE_WIDEC_SUPPORT - if (_nc_unicode_locale() && _nc_locale_breaks_acs()) { - acs_chars = NULL; - ena_acs = NULL; - enter_alt_charset_mode = NULL; - exit_alt_charset_mode = NULL; - set_attributes = NULL; - } -#endif - if (ena_acs != NULL) { TPUTS_TRACE("ena_acs"); putp(ena_acs); @@ -175,7 +166,7 @@ _nc_init_acs(void) /* Show the equivalent mapping, noting if it does not match the * given attribute, whether by re-ordering or duplication. */ - if (_nc_tracing & TRACE_CALLS) { + if (USE_TRACEF(TRACE_CALLS)) { size_t n, m; char show[ACS_LEN * 2 + 1]; for (n = 1, m = 0; n < ACS_LEN; n++) { @@ -196,6 +187,7 @@ _nc_init_acs(void) ? "DIFF" : "SAME"), _nc_visbuf(show)); + _nc_unlock_global(tracef); } #endif /* TRACE */ } diff --git a/contrib/ncurses/ncurses/tinfo/lib_baudrate.c b/contrib/ncurses/ncurses/tinfo/lib_baudrate.c index 5238924..4070160 100644 --- a/contrib/ncurses/ncurses/tinfo/lib_baudrate.c +++ b/contrib/ncurses/ncurses/tinfo/lib_baudrate.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998,2000,2002 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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,6 +29,7 @@ /**************************************************************************** * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 * * and: Eric S. Raymond <esr@snark.thyrsus.com> * + * and: Thomas E. Dickey 1996-on * ****************************************************************************/ /* @@ -39,6 +40,9 @@ #include <curses.priv.h> #include <term.h> /* cur_term, pad_char */ #include <termcap.h> /* ospeed */ +#if defined(__FreeBSD__) +#include <sys/param.h> +#endif /* * These systems use similar header files, which define B1200 as 1200, etc., @@ -46,7 +50,7 @@ * of the indices up to B115200 fit nicely in a 'short', allowing us to retain * ospeed's type for compatibility. */ -#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) +#if (defined(__FreeBSD__) && (__FreeBSD_version < 700000)) || defined(__NetBSD__) || defined(__OpenBSD__) #undef B0 #undef B50 #undef B75 @@ -76,7 +80,7 @@ #undef USE_OLD_TTY #endif /* USE_OLD_TTY */ -MODULE_ID("$Id: lib_baudrate.c,v 1.22 2002/01/19 23:07:53 Andrey.A.Chernov Exp $") +MODULE_ID("$Id: lib_baudrate.c,v 1.25 2007/10/20 15:00:41 Rong-En.Fan Exp $") /* * int @@ -141,16 +145,20 @@ static struct speed const speeds[] = NCURSES_EXPORT(int) _nc_baudrate(int OSpeed) { +#if !USE_REENTRANT static int last_OSpeed; static int last_baudrate; +#endif - int result; + int result = ERR; unsigned i; +#if !USE_REENTRANT if (OSpeed == last_OSpeed) { result = last_baudrate; - } else { - result = ERR; + } +#endif + if (result == ERR) { if (OSpeed >= 0) { for (i = 0; i < SIZEOF(speeds); i++) { if (speeds[i].s == OSpeed) { @@ -159,7 +167,12 @@ _nc_baudrate(int OSpeed) } } } - last_baudrate = result; +#if !USE_REENTRANT + if (OSpeed == last_OSpeed) { + last_OSpeed = OSpeed; + last_baudrate = result; + } +#endif } return (result); } diff --git a/contrib/ncurses/ncurses/tinfo/lib_data.c b/contrib/ncurses/ncurses/tinfo/lib_data.c index 34f033a..225935e 100644 --- a/contrib/ncurses/ncurses/tinfo/lib_data.c +++ b/contrib/ncurses/ncurses/tinfo/lib_data.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2005,2007 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 * @@ -41,15 +41,33 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_data.c,v 1.17 2005/01/22 17:39:22 tom Exp $") +MODULE_ID("$Id: lib_data.c,v 1.34 2007/10/20 21:49:10 tom Exp $") /* * OS/2's native linker complains if we don't initialize public data when * constructing a dll (reported by J.J.G.Ripoll). */ +#if USE_REENTRANT +NCURSES_EXPORT(WINDOW *) +NCURSES_PUBLIC_VAR(stdscr) (void) +{ + return SP ? SP->_stdscr : 0; +} +NCURSES_EXPORT(WINDOW *) +NCURSES_PUBLIC_VAR(curscr) (void) +{ + return SP ? SP->_curscr : 0; +} +NCURSES_EXPORT(WINDOW *) +NCURSES_PUBLIC_VAR(newscr) (void) +{ + return SP ? SP->_newscr : 0; +} +#else NCURSES_EXPORT_VAR(WINDOW *) stdscr = 0; NCURSES_EXPORT_VAR(WINDOW *) curscr = 0; NCURSES_EXPORT_VAR(WINDOW *) newscr = 0; +#endif NCURSES_EXPORT_VAR(SCREEN *) _nc_screen_chain = 0; @@ -87,3 +105,129 @@ _nc_set_screen(SCREEN *sp) #else NCURSES_EXPORT_VAR(SCREEN *) SP = NULL; /* Some linkers require initialized data... */ #endif +/* *INDENT-OFF* */ +#define CHARS_0s { '\0' } + +#define TGETENT_0 { 0L, FALSE, NULL, NULL, NULL } +#define TGETENT_0s { TGETENT_0, TGETENT_0, TGETENT_0, TGETENT_0 } + +NCURSES_EXPORT_VAR(NCURSES_GLOBALS) _nc_globals = { + 0, /* have_sigwinch */ + 0, /* cleanup_nested */ + + FALSE, /* init_signals */ + FALSE, /* init_screen */ + + NULL, /* comp_sourcename */ + NULL, /* comp_termtype */ + + FALSE, /* have_tic_directory */ + FALSE, /* keep_tic_directory */ + TERMINFO, /* tic_directory */ + + NULL, /* dbi_list */ + 0, /* dbi_size */ + + NULL, /* first_name */ + NULL, /* keyname_table */ + + NULL, /* safeprint_buf */ + 0, /* safeprint_used */ + + TGETENT_0s, /* tgetent_cache */ + 0, /* tgetent_index */ + 0, /* tgetent_sequence */ + +#if USE_HOME_TERMINFO + NULL, /* home_terminfo */ +#endif + +#if !USE_SAFE_SPRINTF + 0, /* safeprint_cols */ + 0, /* safeprint_rows */ +#endif + +#ifdef TRACE + FALSE, /* init_trace */ + CHARS_0s, /* trace_fname */ + 0, /* trace_level */ + NULL, /* trace_fp */ + + NULL, /* tracearg_buf */ + 0, /* tracearg_used */ + + NULL, /* tracebuf_ptr */ + 0, /* tracebuf_used */ + + CHARS_0s, /* tracechr_buf */ + + NULL, /* tracedmp_buf */ + 0, /* tracedmp_used */ + + CHARS_0s, /* tracemse_buf */ + + NULL, /* tracetry_buf */ + 0, /* tracetry_used */ + +#ifndef USE_TERMLIB + { CHARS_0s, CHARS_0s }, /* traceatr_color_buf */ + 0, /* traceatr_color_sel */ + -1, /* traceatr_color_last */ +#endif /* USE_TERMLIB */ + +#endif /* TRACE */ +#ifdef USE_PTHREADS + PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP, /* mutex_set_SP */ + PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP, /* mutex_use_screen */ + PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP, /* mutex_use_window */ + PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP, /* mutex_windowlist */ + PTHREAD_MUTEX_INITIALIZER, /* mutex_tst_tracef */ + PTHREAD_MUTEX_INITIALIZER, /* mutex_tracef */ + 0, /* nested_tracef */ +#endif +}; + +#define STACK_FRAME_0 { { 0 }, 0 } +#define STACK_FRAME_0s { STACK_FRAME_0 } +#define NUM_VARS_0s { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } + +#define RIPOFF_0 { 0,0 } +#define RIPOFF_0s { RIPOFF_0 } + +NCURSES_EXPORT_VAR(NCURSES_PRESCREEN) _nc_prescreen = { + TRUE, /* use_env */ + FALSE, /* filter_mode */ + A_NORMAL, /* previous_attr */ + RIPOFF_0s, /* ripoff */ + NULL, /* rsp */ + { /* tparm_state */ +#ifdef TRACE + NULL, /* tname */ +#endif + NULL, /* tparam_base */ + + STACK_FRAME_0s, /* stack */ + 0, /* stack_ptr */ + + NULL, /* out_buff */ + 0, /* out_size */ + 0, /* out_used */ + + NULL, /* fmt_buff */ + 0, /* fmt_size */ + + NUM_VARS_0s, /* dynamic_var */ + NUM_VARS_0s, /* static_vars */ + }, + NULL, /* saved_tty */ +#if BROKEN_LINKER || USE_REENTRANT + NULL, /* real_acs_map */ + 0, /* LINES */ + 0, /* COLS */ +#ifdef TRACE + 0L, /* _outchars */ + NULL, /* _tputs_trace */ +#endif +#endif +}; +/* *INDENT-ON* */ diff --git a/contrib/ncurses/ncurses/tinfo/lib_options.c b/contrib/ncurses/ncurses/tinfo/lib_options.c index bdb0b70..5cdd1d4 100644 --- a/contrib/ncurses/ncurses/tinfo/lib_options.c +++ b/contrib/ncurses/ncurses/tinfo/lib_options.c @@ -43,7 +43,7 @@ #include <term.h> -MODULE_ID("$Id: lib_options.c,v 1.49 2006/03/04 19:28:25 tom Exp $") +MODULE_ID("$Id: lib_options.c,v 1.50 2006/12/30 16:03:27 tom Exp $") NCURSES_EXPORT(int) idlok(WINDOW *win, bool flag) @@ -220,7 +220,7 @@ typeahead(int fd) #if NCURSES_EXT_FUNCS static int -has_key_internal(int keycode, struct tries *tp) +has_key_internal(int keycode, TRIES *tp) { if (tp == 0) return (FALSE); diff --git a/contrib/ncurses/ncurses/tinfo/lib_raw.c b/contrib/ncurses/ncurses/tinfo/lib_raw.c index aa09f52..58e7188 100644 --- a/contrib/ncurses/ncurses/tinfo/lib_raw.c +++ b/contrib/ncurses/ncurses/tinfo/lib_raw.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2001,2002 Free Software Foundation, Inc. * + * Copyright (c) 1998-2002,2007 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 * @@ -49,7 +49,7 @@ #include <curses.priv.h> #include <term.h> /* cur_term */ -MODULE_ID("$Id: lib_raw.c,v 1.13 2002/07/06 22:00:45 tom Exp $") +MODULE_ID("$Id: lib_raw.c,v 1.14 2007/09/29 21:50:22 tom Exp $") #if SVR4_TERMIO && !defined(_POSIX_SOURCE) #define _POSIX_SOURCE @@ -69,8 +69,8 @@ MODULE_ID("$Id: lib_raw.c,v 1.13 2002/07/06 22:00:45 tom Exp $") #define COOKED_INPUT (IXON|BRKINT|PARMRK) #ifdef TRACE -#define BEFORE(N) if (_nc_tracing&TRACE_BITS) _tracef("%s before bits: %s", N, _nc_tracebits()) -#define AFTER(N) if (_nc_tracing&TRACE_BITS) _tracef("%s after bits: %s", N, _nc_tracebits()) +#define BEFORE(N) if (USE_TRACEF(TRACE_BITS)) _nc_locked_tracef("%s before bits: %s", N, _nc_tracebits()) +#define AFTER(N) if (USE_TRACEF(TRACE_BITS)) _nc_locked_tracef("%s after bits: %s", N, _nc_tracebits()) #else #define BEFORE(s) #define AFTER(s) diff --git a/contrib/ncurses/ncurses/tinfo/lib_setup.c b/contrib/ncurses/ncurses/tinfo/lib_setup.c index 3508242..1a061e0 100644 --- a/contrib/ncurses/ncurses/tinfo/lib_setup.c +++ b/contrib/ncurses/ncurses/tinfo/lib_setup.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 * * and: Eric S. Raymond <esr@snark.thyrsus.com> * - * and: Thomas E. Dickey 1996-2003 * + * and: Thomas E. Dickey 1996-on * ****************************************************************************/ /* @@ -53,7 +53,7 @@ #include <term.h> /* lines, columns, cur_term */ -MODULE_ID("$Id: lib_setup.c,v 1.95 2006/07/28 22:58:13 tom Exp $") +MODULE_ID("$Id: lib_setup.c,v 1.100 2007/09/01 20:58:26 tom Exp $") /**************************************************************************** * @@ -99,55 +99,57 @@ MODULE_ID("$Id: lib_setup.c,v 1.95 2006/07/28 22:58:13 tom Exp $") # endif #endif +#if USE_REENTRANT +NCURSES_EXPORT(char *) +NCURSES_PUBLIC_VAR(ttytype) (void) +{ + static char empty[] = ""; + return cur_term ? cur_term->type.term_names : empty; +} +NCURSES_EXPORT(int) +NCURSES_PUBLIC_VAR(LINES) (void) +{ + return (SP ? SP->_LINES : _nc_prescreen._LINES); +} +NCURSES_EXPORT(int) +NCURSES_PUBLIC_VAR(COLS) (void) +{ + return SP ? SP->_COLS : _nc_prescreen._COLS; +} +NCURSES_EXPORT(int) +NCURSES_PUBLIC_VAR(TABSIZE) (void) +{ + return SP ? SP->_TABSIZE : 8; +} +#else NCURSES_EXPORT_VAR(char) ttytype[NAMESIZE] = ""; NCURSES_EXPORT_VAR(int) LINES = 0; NCURSES_EXPORT_VAR(int) COLS = 0; NCURSES_EXPORT_VAR(int) TABSIZE = 0; - -static int _use_env = TRUE; +#endif #if USE_SIGWINCH -int -_nc_handle_sigwinch(int enable) +/* + * If we have a pending SIGWINCH, set the flag in each screen. + */ +NCURSES_EXPORT(int) +_nc_handle_sigwinch(int update) { - static int have_sigwinch = 0; /* initially no SIGWINCH's */ - static int can_resizeall = 1; /* initially enabled */ SCREEN *scan; - int result; - - switch (enable) { - default: - /* record a SIGWINCH */ - have_sigwinch = 1; - break; - case 0: - /* temporarily disable the next block */ - --can_resizeall; - break; - case 1: - /* temporarily enable the next block */ - ++can_resizeall; - break; - } - /* - * If we have a pending SIGWINCH, set the flag in each screen. - * But do this only if the block is enabled. - */ - if (can_resizeall-- >= 0) { /* test and disable */ - if (have_sigwinch) { - scan = _nc_screen_chain; - while (scan) { - scan->_sig_winch = TRUE; - scan = scan->_next_screen; - } - have_sigwinch = 0; + (void) update; /* no longer used */ + + if (_nc_globals.have_sigwinch) { + _nc_globals.have_sigwinch = 0; + + scan = _nc_screen_chain; + while (scan) { + scan->_sig_winch = TRUE; + scan = scan->_next_screen; } } - result = can_resizeall + 1; /* reenable (unless disables are nested) */ - can_resizeall = result; - return result; + return (SP ? SP->_sig_winch : 0); } #endif @@ -156,19 +158,20 @@ NCURSES_EXPORT(void) use_env(bool f) { T((T_CALLED("use_env()"))); - _use_env = f; + _nc_prescreen.use_env = f; returnVoid; } -static void +NCURSES_EXPORT(void) _nc_get_screensize(int *linep, int *colp) /* Obtain lines/columns values from the environment and/or terminfo entry */ { + int my_tabsize; + /* figure out the size of the screen */ T(("screen size: terminfo lines = %d columns = %d", lines, columns)); - _nc_handle_sigwinch(0); - if (!_use_env) { + if (!_nc_prescreen.use_env) { *linep = (int) lines; *colp = (int) columns; } else { /* usually want to query LINES and COLUMNS from environment */ @@ -246,14 +249,20 @@ _nc_get_screensize(int *linep, int *colp) lines = (short) (*linep); columns = (short) (*colp); } - _nc_handle_sigwinch(1); T(("screen size is %dx%d", *linep, *colp)); if (VALID_NUMERIC(init_tabs)) - TABSIZE = (int) init_tabs; + my_tabsize = (int) init_tabs; else - TABSIZE = 8; + my_tabsize = 8; + +#if USE_REENTRANT + if (SP != 0) + SP->_TABSIZE = my_tabsize; +#else + TABSIZE = my_tabsize; +#endif T(("TABSIZE = %d", TABSIZE)); } @@ -536,8 +545,10 @@ _nc_setupterm(NCURSES_CONST char *tname, int Filedes, int *errret, bool reuse) if (command_character && getenv("CC")) do_prototype(); +#if !USE_REENTRANT strncpy(ttytype, cur_term->type.term_names, NAMESIZE - 1); ttytype[NAMESIZE - 1] = '\0'; +#endif cur_term->Filedes = Filedes; cur_term->_termname = strdup(tname); @@ -557,13 +568,16 @@ _nc_setupterm(NCURSES_CONST char *tname, int Filedes, int *errret, bool reuse) /* * We should always check the screensize, just in case. */ +#if USE_REENTRANT + _nc_get_screensize(SP ? &(SP->_LINES) : &(_nc_prescreen._LINES), + SP ? &(SP->_COLS) : &(_nc_prescreen._COLS)); +#else _nc_get_screensize(&LINES, &COLS); +#endif if (errret) *errret = TGETENT_YES; - T((T_CREATE("screen %s %dx%d"), tname, LINES, COLS)); - if (generic_type) { ret_error(TGETENT_NO, "'%s': I need something more specific.\n", tname); } diff --git a/contrib/ncurses/ncurses/tinfo/lib_termcap.c b/contrib/ncurses/ncurses/tinfo/lib_termcap.c index 33e15c5..ff97eea 100644 --- a/contrib/ncurses/ncurses/tinfo/lib_termcap.c +++ b/contrib/ncurses/ncurses/tinfo/lib_termcap.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -45,26 +45,20 @@ #include <term_entry.h> -MODULE_ID("$Id: lib_termcap.c,v 1.58 2006/09/02 19:39:46 Miroslav.Lichvar Exp $") +MODULE_ID("$Id: lib_termcap.c,v 1.61 2007/06/02 19:36:03 tom Exp $") NCURSES_EXPORT_VAR(char *) UP = 0; NCURSES_EXPORT_VAR(char *) BC = 0; -typedef struct { - long sequence; - char *fix_sgr0; /* this holds the filtered sgr0 string */ - char *last_bufp; /* help with fix_sgr0 leak */ - TERMINAL *last_term; -} CACHE; +#define MyCache _nc_globals.tgetent_cache +#define CacheInx _nc_globals.tgetent_index +#define CacheSeq _nc_globals.tgetent_sequence -#define MAX_CACHE 4 -static CACHE cache[MAX_CACHE]; -static int in_cache = 0; - -#define FIX_SGR0 cache[in_cache].fix_sgr0 -#define LAST_TRM cache[in_cache].last_term -#define LAST_BUF cache[in_cache].last_bufp -#define LAST_SEQ cache[in_cache].sequence +#define FIX_SGR0 MyCache[CacheInx].fix_sgr0 +#define LAST_TRM MyCache[CacheInx].last_term +#define LAST_BUF MyCache[CacheInx].last_bufp +#define LAST_USE MyCache[CacheInx].last_used +#define LAST_SEQ MyCache[CacheInx].sequence /*************************************************************************** * @@ -84,8 +78,6 @@ static int in_cache = 0; NCURSES_EXPORT(int) tgetent(char *bufp, const char *name) { - static long sequence; - int errcode; int n; bool found_cache = FALSE; @@ -100,11 +92,17 @@ tgetent(char *bufp, const char *name) * caller, but if tgetent() is called with the same buffer, that is * good enough, since the previous data would be invalidated by the * current call. + * + * bufp may be a null pointer, e.g., GNU termcap. That allocates data, + * which is good until the next tgetent() call. The conventional termcap + * is inconvenient because of the fixed buffer size, but because it uses + * caller-supplied buffers, can have multiple terminal descriptions in + * use at a given time. */ - for (n = 0; n < MAX_CACHE; ++n) { - bool same_result = (bufp != 0 && cache[n].last_bufp == bufp); + for (n = 0; n < TGETENT_MAX; ++n) { + bool same_result = (MyCache[n].last_used && MyCache[n].last_bufp == bufp); if (same_result) { - in_cache = n; + CacheInx = n; if (FIX_SGR0 != 0) { FreeAndNull(FIX_SGR0); } @@ -114,10 +112,10 @@ tgetent(char *bufp, const char *name) if (LAST_TRM != 0 && LAST_TRM != cur_term) { TERMINAL *trm = LAST_TRM; del_curterm(LAST_TRM); - for (in_cache = 0; in_cache < MAX_CACHE; ++in_cache) + for (CacheInx = 0; CacheInx < TGETENT_MAX; ++CacheInx) if (LAST_TRM == trm) LAST_TRM = 0; - in_cache = n; + CacheInx = n; } found_cache = TRUE; break; @@ -126,15 +124,15 @@ tgetent(char *bufp, const char *name) if (!found_cache) { int best = 0; - for (in_cache = 0; in_cache < MAX_CACHE; ++in_cache) { - if (LAST_SEQ < cache[best].sequence) { - best = in_cache; + for (CacheInx = 0; CacheInx < TGETENT_MAX; ++CacheInx) { + if (LAST_SEQ < MyCache[best].sequence) { + best = CacheInx; } } - in_cache = best; + CacheInx = best; } LAST_TRM = cur_term; - LAST_SEQ = ++sequence; + LAST_SEQ = ++CacheSeq; PC = 0; UP = 0; @@ -164,6 +162,7 @@ tgetent(char *bufp, const char *name) } } LAST_BUF = bufp; + LAST_USE = TRUE; (void) baudrate(); /* sets ospeed as a side-effect */ @@ -282,9 +281,10 @@ tgetstr(NCURSES_CONST char *id, char **area) NCURSES_EXPORT(void) _nc_tgetent_leaks(void) { - for (in_cache = 0; in_cache < MAX_CACHE; ++in_cache) { + for (CacheInx = 0; CacheInx < TGETENT_MAX; ++CacheInx) { FreeIfNeeded(FIX_SGR0); - del_curterm(LAST_TRM); + if (LAST_TRM != 0) + del_curterm(LAST_TRM); } } #endif diff --git a/contrib/ncurses/ncurses/tinfo/lib_tparm.c b/contrib/ncurses/ncurses/tinfo/lib_tparm.c index cba31d9..d11fcf8 100644 --- a/contrib/ncurses/ncurses/tinfo/lib_tparm.c +++ b/contrib/ncurses/ncurses/tinfo/lib_tparm.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -43,7 +43,7 @@ #include <term.h> #include <tic.h> -MODULE_ID("$Id: lib_tparm.c,v 1.71 2006/11/26 01:12:56 tom Exp $") +MODULE_ID("$Id: lib_tparm.c,v 1.74 2007/09/29 20:37:13 tom Exp $") /* * char * @@ -105,43 +105,20 @@ MODULE_ID("$Id: lib_tparm.c,v 1.71 2006/11/26 01:12:56 tom Exp $") * resulting in x mod y, not the reverse. */ -#define STACKSIZE 20 - -typedef struct { - union { - int num; - char *str; - } data; - bool num_type; -} stack_frame; - NCURSES_EXPORT_VAR(int) _nc_tparm_err = 0; -static stack_frame stack[STACKSIZE]; -static int stack_ptr; -static const char *tparam_base = ""; - -#ifdef TRACE -static const char *tname; -#endif /* TRACE */ - -static char *out_buff; -static size_t out_size; -static size_t out_used; - -static char *fmt_buff; -static size_t fmt_size; +#define TPS(var) _nc_prescreen.tparm_state.var #if NO_LEAKS NCURSES_EXPORT(void) _nc_free_tparm(void) { - if (out_buff != 0) { - FreeAndNull(out_buff); - out_size = 0; - out_used = 0; - FreeAndNull(fmt_buff); - fmt_size = 0; + if (TPS(out_buff) != 0) { + FreeAndNull(TPS(out_buff)); + TPS(out_size) = 0; + TPS(out_used) = 0; + FreeAndNull(TPS(fmt_buff)); + TPS(fmt_size) = 0; } } #endif @@ -149,11 +126,11 @@ _nc_free_tparm(void) static NCURSES_INLINE void get_space(size_t need) { - need += out_used; - if (need > out_size) { - out_size = need * 2; - out_buff = typeRealloc(char, out_size, out_buff); - if (out_buff == 0) + need += TPS(out_used); + if (need > TPS(out_size)) { + TPS(out_size) = need * 2; + TPS(out_buff) = typeRealloc(char, TPS(out_size), TPS(out_buff)); + if (TPS(out_buff) == 0) _nc_err_abort(MSG_NO_MEMORY); } } @@ -167,8 +144,8 @@ save_text(const char *fmt, const char *s, int len) get_space(s_len + 1); - (void) sprintf(out_buff + out_used, fmt, s); - out_used += strlen(out_buff + out_used); + (void) sprintf(TPS(out_buff) + TPS(out_used), fmt, s); + TPS(out_used) += strlen(TPS(out_buff) + TPS(out_used)); } static NCURSES_INLINE void @@ -179,8 +156,8 @@ save_number(const char *fmt, int number, int len) get_space((unsigned) len + 1); - (void) sprintf(out_buff + out_used, fmt, number); - out_used += strlen(out_buff + out_used); + (void) sprintf(TPS(out_buff) + TPS(out_used), fmt, number); + TPS(out_used) += strlen(TPS(out_buff) + TPS(out_used)); } static NCURSES_INLINE void @@ -189,18 +166,18 @@ save_char(int c) if (c == 0) c = 0200; get_space(1); - out_buff[out_used++] = c; + TPS(out_buff)[TPS(out_used)++] = c; } static NCURSES_INLINE void npush(int x) { - if (stack_ptr < STACKSIZE) { - stack[stack_ptr].num_type = TRUE; - stack[stack_ptr].data.num = x; - stack_ptr++; + if (TPS(stack_ptr) < STACKSIZE) { + TPS(stack)[TPS(stack_ptr)].num_type = TRUE; + TPS(stack)[TPS(stack_ptr)].data.num = x; + TPS(stack_ptr)++; } else { - DEBUG(2, ("npush: stack overflow: %s", _nc_visbuf(tparam_base))); + DEBUG(2, ("npush: stack overflow: %s", _nc_visbuf(TPS(tparam_base)))); _nc_tparm_err++; } } @@ -209,12 +186,12 @@ static NCURSES_INLINE int npop(void) { int result = 0; - if (stack_ptr > 0) { - stack_ptr--; - if (stack[stack_ptr].num_type) - result = stack[stack_ptr].data.num; + if (TPS(stack_ptr) > 0) { + TPS(stack_ptr)--; + if (TPS(stack)[TPS(stack_ptr)].num_type) + result = TPS(stack)[TPS(stack_ptr)].data.num; } else { - DEBUG(2, ("npop: stack underflow: %s", _nc_visbuf(tparam_base))); + DEBUG(2, ("npop: stack underflow: %s", _nc_visbuf(TPS(tparam_base)))); _nc_tparm_err++; } return result; @@ -223,12 +200,12 @@ npop(void) static NCURSES_INLINE void spush(char *x) { - if (stack_ptr < STACKSIZE) { - stack[stack_ptr].num_type = FALSE; - stack[stack_ptr].data.str = x; - stack_ptr++; + if (TPS(stack_ptr) < STACKSIZE) { + TPS(stack)[TPS(stack_ptr)].num_type = FALSE; + TPS(stack)[TPS(stack_ptr)].data.str = x; + TPS(stack_ptr)++; } else { - DEBUG(2, ("spush: stack overflow: %s", _nc_visbuf(tparam_base))); + DEBUG(2, ("spush: stack overflow: %s", _nc_visbuf(TPS(tparam_base)))); _nc_tparm_err++; } } @@ -238,12 +215,13 @@ spop(void) { static char dummy[] = ""; /* avoid const-cast */ char *result = dummy; - if (stack_ptr > 0) { - stack_ptr--; - if (!stack[stack_ptr].num_type && stack[stack_ptr].data.str != 0) - result = stack[stack_ptr].data.str; + if (TPS(stack_ptr) > 0) { + TPS(stack_ptr)--; + if (!TPS(stack)[TPS(stack_ptr)].num_type + && TPS(stack)[TPS(stack_ptr)].data.str != 0) + result = TPS(stack)[TPS(stack_ptr)].data.str; } else { - DEBUG(2, ("spop: stack underflow: %s", _nc_visbuf(tparam_base))); + DEBUG(2, ("spop: stack underflow: %s", _nc_visbuf(TPS(tparam_base)))); _nc_tparm_err++; } return result; @@ -369,10 +347,11 @@ _nc_tparm_analyze(const char *string, char *p_is_s[NUM_PARM], int *popcount) if (cp == 0) return 0; - if ((len2 = strlen(cp)) > fmt_size) { - fmt_size = len2 + fmt_size + 2; - if ((fmt_buff = typeRealloc(char, fmt_size, fmt_buff)) == 0) - return 0; + if ((len2 = strlen(cp)) > TPS(fmt_size)) { + TPS(fmt_size) = len2 + TPS(fmt_size) + 2; + TPS(fmt_buff) = typeRealloc(char, TPS(fmt_size), TPS(fmt_buff)); + if (TPS(fmt_buff) == 0) + return 0; } memset(p_is_s, 0, sizeof(p_is_s[0]) * NUM_PARM); @@ -381,7 +360,7 @@ _nc_tparm_analyze(const char *string, char *p_is_s[NUM_PARM], int *popcount) while ((cp - string) < (int) len2) { if (*cp == '%') { cp++; - cp = parse_format(cp, fmt_buff, &len); + cp = parse_format(cp, TPS(fmt_buff), &len); switch (*cp) { default: break; @@ -474,7 +453,6 @@ _nc_tparm_analyze(const char *string, char *p_is_s[NUM_PARM], int *popcount) static NCURSES_INLINE char * tparam_internal(const char *string, va_list ap) { -#define NUM_VARS 26 char *p_is_s[NUM_PARM]; TPARM_ARG param[NUM_PARM]; int popcount; @@ -485,13 +463,11 @@ tparam_internal(const char *string, va_list ap) int i; const char *cp = string; size_t len2; - static int dynamic_var[NUM_VARS]; - static int static_vars[NUM_VARS]; if (cp == NULL) return NULL; - out_used = 0; + TPS(out_used) = 0; len2 = strlen(cp); /* @@ -500,7 +476,7 @@ tparam_internal(const char *string, va_list ap) * variable-length argument list. */ number = _nc_tparm_analyze(cp, p_is_s, &popcount); - if (fmt_buff == 0) + if (TPS(fmt_buff) == 0) return NULL; for (i = 0; i < max(popcount, number); i++) { @@ -525,22 +501,23 @@ tparam_internal(const char *string, va_list ap) * the expansion of (for example) \E[%d;%dH work correctly in termcap * style, which means tparam() will expand termcap strings OK. */ - stack_ptr = 0; + TPS(stack_ptr) = 0; if (popcount == 0) { popcount = number; for (i = number - 1; i >= 0; i--) npush(param[i]); } #ifdef TRACE - if (_nc_tracing & TRACE_CALLS) { + if (USE_TRACEF(TRACE_CALLS)) { for (i = 0; i < popcount; i++) { if (p_is_s[i] != 0) save_text(", %s", _nc_visbuf(p_is_s[i]), 0); else save_number(", %d", param[i], 0); } - _tracef(T_CALLED("%s(%s%s)"), tname, _nc_visbuf(cp), out_buff); - out_used = 0; + _tracef(T_CALLED("%s(%s%s)"), TPS(tname), _nc_visbuf(cp), TPS(out_buff)); + TPS(out_used) = 0; + _nc_unlock_global(tracef); } #endif /* TRACE */ @@ -548,8 +525,8 @@ tparam_internal(const char *string, va_list ap) if (*cp != '%') { save_char(UChar(*cp)); } else { - tparam_base = cp++; - cp = parse_format(cp, fmt_buff, &len); + TPS(tparam_base) = cp++; + cp = parse_format(cp, TPS(fmt_buff), &len); switch (*cp) { default: break; @@ -561,7 +538,7 @@ tparam_internal(const char *string, va_list ap) case 'o': /* FALLTHRU */ case 'x': /* FALLTHRU */ case 'X': /* FALLTHRU */ - save_number(fmt_buff, npop(), len); + save_number(TPS(fmt_buff), npop(), len); break; case 'c': /* FALLTHRU */ @@ -573,7 +550,7 @@ tparam_internal(const char *string, va_list ap) break; case 's': - save_text(fmt_buff, spop(), len); + save_text(TPS(fmt_buff), spop(), len); break; case 'p': @@ -591,10 +568,10 @@ tparam_internal(const char *string, va_list ap) cp++; if (isUPPER(*cp)) { i = (UChar(*cp) - 'A'); - static_vars[i] = npop(); + TPS(static_vars)[i] = npop(); } else if (isLOWER(*cp)) { i = (UChar(*cp) - 'a'); - dynamic_var[i] = npop(); + TPS(dynamic_var)[i] = npop(); } break; @@ -602,10 +579,10 @@ tparam_internal(const char *string, va_list ap) cp++; if (isUPPER(*cp)) { i = (UChar(*cp) - 'A'); - npush(static_vars[i]); + npush(TPS(static_vars)[i]); } else if (isLOWER(*cp)) { i = (UChar(*cp) - 'a'); - npush(dynamic_var[i]); + npush(TPS(dynamic_var)[i]); } break; @@ -768,10 +745,10 @@ tparam_internal(const char *string, va_list ap) } /* endwhile (*cp) */ get_space(1); - out_buff[out_used] = '\0'; + TPS(out_buff)[TPS(out_used)] = '\0'; - T((T_RETURN("%s"), _nc_visbuf(out_buff))); - return (out_buff); + T((T_RETURN("%s"), _nc_visbuf(TPS(out_buff)))); + return (TPS(out_buff)); } #if NCURSES_TPARM_VARARGS @@ -789,7 +766,7 @@ tparm_varargs(NCURSES_CONST char *string,...) _nc_tparm_err = 0; va_start(ap, string); #ifdef TRACE - tname = "tparm"; + TPS(tname) = "tparm"; #endif /* TRACE */ result = tparam_internal(string, ap); va_end(ap); diff --git a/contrib/ncurses/ncurses/tinfo/lib_tputs.c b/contrib/ncurses/ncurses/tinfo/lib_tputs.c index 3a18ffd..aab3351 100644 --- a/contrib/ncurses/ncurses/tinfo/lib_tputs.c +++ b/contrib/ncurses/ncurses/tinfo/lib_tputs.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * + * Copyright (c) 1998-2003,2007 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 * @@ -45,12 +45,12 @@ #include <termcap.h> /* ospeed */ #include <tic.h> -MODULE_ID("$Id: lib_tputs.c,v 1.62 2003/08/23 21:39:20 tom Exp $") +MODULE_ID("$Id: lib_tputs.c,v 1.64 2007/09/29 20:37:13 tom Exp $") -NCURSES_EXPORT_VAR(char) PC = 0; /* used by termcap library */ -NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed = 0; /* used by termcap library */ +NCURSES_EXPORT_VAR(char) PC = 0; /* used by termcap library */ +NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed = 0; /* used by termcap library */ -NCURSES_EXPORT_VAR(int) _nc_nulls_sent = 0; /* used by 'tack' program */ +NCURSES_EXPORT_VAR(int) _nc_nulls_sent = 0; /* used by 'tack' program */ static int (*my_outch) (int c) = _nc_outch; @@ -84,7 +84,7 @@ _nc_flush(void) NCURSES_EXPORT(int) _nc_outch(int ch) { - TRACE_OUTCHARS(1); + COUNT_OUTCHARS(1); if (SP != 0 && SP->_cleanup) { @@ -119,7 +119,7 @@ tputs(const char *string, int affcnt, int (*outc) (int)) #ifdef TRACE char addrbuf[32]; - if (_nc_tracing & TRACE_TPUTS) { + if (USE_TRACEF(TRACE_TPUTS)) { if (outc == _nc_outch) (void) strcpy(addrbuf, "_nc_outch"); else @@ -130,7 +130,8 @@ tputs(const char *string, int affcnt, int (*outc) (int)) } else { _tracef("tputs(%s, %d, %s) called", _nc_visbuf(string), affcnt, addrbuf); } - _nc_tputs_trace = (char *) NULL; + TPUTS_TRACE(NULL); + _nc_unlock_global(tracef); } #endif /* TRACE */ diff --git a/contrib/ncurses/ncurses/tinfo/lib_ttyflags.c b/contrib/ncurses/ncurses/tinfo/lib_ttyflags.c index 77c35fa..4cbbf50 100644 --- a/contrib/ncurses/ncurses/tinfo/lib_ttyflags.c +++ b/contrib/ncurses/ncurses/tinfo/lib_ttyflags.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -38,31 +38,35 @@ #include <curses.priv.h> #include <term.h> /* cur_term */ -MODULE_ID("$Id: lib_ttyflags.c,v 1.13 2006/12/10 01:31:54 tom Exp $") +MODULE_ID("$Id: lib_ttyflags.c,v 1.15 2007/05/26 18:54:25 tom Exp $") NCURSES_EXPORT(int) _nc_get_tty_mode(TTY * buf) { int result = OK; - if (cur_term == 0) { + if (buf == 0) { result = ERR; } else { - for (;;) { - if (GET_TTY(cur_term->Filedes, buf) != 0) { - if (errno == EINTR) - continue; - result = ERR; + if (cur_term == 0) { + result = ERR; + } else { + for (;;) { + if (GET_TTY(cur_term->Filedes, buf) != 0) { + if (errno == EINTR) + continue; + result = ERR; + } + break; } - break; } - } - if (result == ERR) - memset(buf, 0, sizeof(*buf)); + if (result == ERR) + memset(buf, 0, sizeof(*buf)); - TR(TRACE_BITS, ("_nc_get_tty_mode(%d): %s", - cur_term->Filedes, _nc_trace_ttymode(buf))); + TR(TRACE_BITS, ("_nc_get_tty_mode(%d): %s", + cur_term->Filedes, _nc_trace_ttymode(buf))); + } return (result); } @@ -71,22 +75,26 @@ _nc_set_tty_mode(TTY * buf) { int result = OK; - if (cur_term == 0) { + if (buf == 0) { result = ERR; } else { - for (;;) { - if (SET_TTY(cur_term->Filedes, buf) != 0) { - if (errno == EINTR) - continue; - if ((errno == ENOTTY) && (SP != 0)) - SP->_notty = TRUE; - result = ERR; + if (cur_term == 0) { + result = ERR; + } else { + for (;;) { + if (SET_TTY(cur_term->Filedes, buf) != 0) { + if (errno == EINTR) + continue; + if ((errno == ENOTTY) && (SP != 0)) + SP->_notty = TRUE; + result = ERR; + } + break; } - break; } + TR(TRACE_BITS, ("_nc_set_tty_mode(%d): %s", + cur_term->Filedes, _nc_trace_ttymode(buf))); } - TR(TRACE_BITS, ("_nc_set_tty_mode(%d): %s", - cur_term->Filedes, _nc_trace_ttymode(buf))); return (result); } @@ -164,19 +172,33 @@ reset_shell_mode(void) returnCode(ERR); } +static TTY * +saved_tty(void) +{ + TTY *result = 0; + + if (SP != 0) { + result = &(SP->_saved_tty); + } else { + if (_nc_prescreen.saved_tty == 0) { + _nc_prescreen.saved_tty = typeCalloc(TTY, 1); + } + result = _nc_prescreen.saved_tty; + } + return result; +} + /* ** savetty() and resetty() ** */ -static TTY buf; - NCURSES_EXPORT(int) savetty(void) { T((T_CALLED("savetty()"))); - returnCode(_nc_get_tty_mode(&buf)); + returnCode(_nc_get_tty_mode(saved_tty())); } NCURSES_EXPORT(int) @@ -184,5 +206,5 @@ resetty(void) { T((T_CALLED("resetty()"))); - returnCode(_nc_set_tty_mode(&buf)); + returnCode(_nc_set_tty_mode(saved_tty())); } diff --git a/contrib/ncurses/ncurses/tinfo/make_keys.c b/contrib/ncurses/ncurses/tinfo/make_keys.c index 8f6243c..0036718 100644 --- a/contrib/ncurses/ncurses/tinfo/make_keys.c +++ b/contrib/ncurses/ncurses/tinfo/make_keys.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2005,2007 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 * @@ -39,7 +39,7 @@ #define USE_TERMLIB 1 #include <curses.priv.h> -MODULE_ID("$Id: make_keys.c,v 1.12 2005/08/20 19:58:18 tom Exp $") +MODULE_ID("$Id: make_keys.c,v 1.13 2007/01/07 00:00:14 tom Exp $") #include <names.c> @@ -113,7 +113,7 @@ main(int argc, char *argv[]) "#if BROKEN_LINKER", "static", "#endif", - "struct tinfo_fkeys _nc_tinfo_fkeys[] = {", + "const struct tinfo_fkeys _nc_tinfo_fkeys[] = {", 0 }; static const char *suffix[] = diff --git a/contrib/ncurses/ncurses/tinfo/name_match.c b/contrib/ncurses/ncurses/tinfo/name_match.c index fee3ba3..c8d728f 100644 --- a/contrib/ncurses/ncurses/tinfo/name_match.c +++ b/contrib/ncurses/ncurses/tinfo/name_match.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1999-2004,2005 Free Software Foundation, Inc. * + * Copyright (c) 1999-2005,2007 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 * @@ -34,38 +34,38 @@ #include <term.h> #include <tic.h> -MODULE_ID("$Id: name_match.c,v 1.15 2005/01/22 21:47:25 tom Exp $") +MODULE_ID("$Id: name_match.c,v 1.16 2007/04/21 21:28:13 tom Exp $") /* * _nc_first_name(char *names) * * Extract the primary name from a compiled entry. */ +#define FirstName _nc_globals.first_name NCURSES_EXPORT(char *) _nc_first_name(const char *const sp) /* get the first name from the given name list */ { - static char *buf; - register unsigned n; + unsigned n; #if NO_LEAKS if (sp == 0) { - if (buf != 0) - FreeAndNull(buf); /* for leak-testing */ + if (FirstName != 0) + FreeAndNull(FirstName); return 0; } #endif - if (buf == 0) - buf = typeMalloc(char, MAX_NAME_SIZE + 1); + if (FirstName == 0) + FirstName = typeMalloc(char, MAX_NAME_SIZE + 1); for (n = 0; n < MAX_NAME_SIZE; n++) { - if ((buf[n] = sp[n]) == '\0' - || (buf[n] == '|')) + if ((FirstName[n] = sp[n]) == '\0' + || (FirstName[n] == '|')) break; } - buf[n] = '\0'; - return (buf); + FirstName[n] = '\0'; + return (FirstName); } /* diff --git a/contrib/ncurses/ncurses/tinfo/parse_entry.c b/contrib/ncurses/ncurses/tinfo/parse_entry.c index 510b232..375ce8f 100644 --- a/contrib/ncurses/ncurses/tinfo/parse_entry.c +++ b/contrib/ncurses/ncurses/tinfo/parse_entry.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -48,7 +48,7 @@ #include <tic.h> #include <term_entry.h> -MODULE_ID("$Id: parse_entry.c,v 1.63 2006/06/17 17:57:50 tom Exp $") +MODULE_ID("$Id: parse_entry.c,v 1.65 2007/08/11 16:19:02 tom Exp $") #ifdef LINT static short const parametrized[] = @@ -283,7 +283,7 @@ _nc_parse_entry(struct entry *entryp, int literal, bool silent) } else { /* normal token lookup */ entry_ptr = _nc_find_entry(_nc_curr_token.tk_name, - _nc_syntax ? _nc_cap_hash_table : _nc_info_hash_table); + _nc_get_hash_table(_nc_syntax)); /* * Our kluge to handle aliasing. The reason it's done @@ -300,7 +300,7 @@ _nc_parse_entry(struct entry *entryp, int literal, bool silent) if (entryp->nuses != 0) { BAD_TC_USAGE } - for (ap = _nc_capalias_table; ap->from; ap++) + for (ap = _nc_get_alias_table(TRUE); ap->from; ap++) if (strcmp(ap->from, _nc_curr_token.tk_name) == 0) { if (ap->to == (char *) 0) { _nc_warning("%s (%s termcap extension) ignored", @@ -308,14 +308,15 @@ _nc_parse_entry(struct entry *entryp, int literal, bool silent) goto nexttok; } - entry_ptr = _nc_find_entry(ap->to, _nc_cap_hash_table); + entry_ptr = _nc_find_entry(ap->to, + _nc_get_hash_table(TRUE)); if (entry_ptr && !silent) _nc_warning("%s (%s termcap extension) aliased to %s", ap->from, ap->source, ap->to); break; } } else { /* if (_nc_syntax == SYN_TERMINFO) */ - for (ap = _nc_infoalias_table; ap->from; ap++) + for (ap = _nc_get_alias_table(FALSE); ap->from; ap++) if (strcmp(ap->from, _nc_curr_token.tk_name) == 0) { if (ap->to == (char *) 0) { _nc_warning("%s (%s terminfo extension) ignored", @@ -323,7 +324,8 @@ _nc_parse_entry(struct entry *entryp, int literal, bool silent) goto nexttok; } - entry_ptr = _nc_find_entry(ap->to, _nc_info_hash_table); + entry_ptr = _nc_find_entry(ap->to, + _nc_get_hash_table(FALSE)); if (entry_ptr && !silent) _nc_warning("%s (%s terminfo extension) aliased to %s", ap->from, ap->source, ap->to); @@ -796,8 +798,8 @@ postprocess_termcap(TERMTYPE *tp, bool has_base) /* now we know we found a match in ko_table, so... */ - from_ptr = _nc_find_entry(ap->from, _nc_cap_hash_table); - to_ptr = _nc_find_entry(ap->to, _nc_info_hash_table); + from_ptr = _nc_find_entry(ap->from, _nc_get_hash_table(TRUE)); + to_ptr = _nc_find_entry(ap->to, _nc_get_hash_table(FALSE)); if (!from_ptr || !to_ptr) /* should never happen! */ _nc_err_abort("ko translation table is invalid, I give up"); diff --git a/contrib/ncurses/ncurses/tinfo/read_entry.c b/contrib/ncurses/ncurses/tinfo/read_entry.c index c6c3275..6a050ee 100644 --- a/contrib/ncurses/ncurses/tinfo/read_entry.c +++ b/contrib/ncurses/ncurses/tinfo/read_entry.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -42,7 +42,7 @@ #include <tic.h> #include <term_entry.h> -MODULE_ID("$Id: read_entry.c,v 1.99 2006/08/19 15:58:50 tom Exp $") +MODULE_ID("$Id: read_entry.c,v 1.100 2007/11/17 23:56:50 tom Exp $") #define TYPE_CALLOC(type,elts) typeCalloc(type, (unsigned)(elts)) @@ -409,7 +409,7 @@ _nc_read_tic_entry(char *filename, unsigned need = 4 + strlen(path) + strlen(name); if (need <= limit) { - (void) sprintf(filename, "%s/%c/%s", path, *name, name); + (void) sprintf(filename, "%s/" LEAF_FMT "/%s", path, *name, name); result = _nc_read_file_entry(filename, tp); } } diff --git a/contrib/ncurses/ncurses/tinfo/setbuf.c b/contrib/ncurses/ncurses/tinfo/setbuf.c index 94bb6d3..ba910e8 100644 --- a/contrib/ncurses/ncurses/tinfo/setbuf.c +++ b/contrib/ncurses/ncurses/tinfo/setbuf.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2000,2003 Free Software Foundation, Inc. * + * Copyright (c) 1998-2003,2007 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 * @@ -40,7 +40,7 @@ #include <curses.priv.h> -MODULE_ID("$Id: setbuf.c,v 1.12 2003/11/15 23:55:34 tom Exp $") +MODULE_ID("$Id: setbuf.c,v 1.13 2007/05/12 19:04:02 tom Exp $") /* * If the output file descriptor is connected to a tty (the typical case) it @@ -102,7 +102,7 @@ _nc_set_buffer(FILE *ofp, bool buffered) { /* optional optimization hack -- do before any output to ofp */ #if HAVE_SETVBUF || HAVE_SETBUFFER - if (SP->_buffered != (int)buffered) { + if (SP->_buffered != buffered) { unsigned buf_len; char *buf_ptr; diff --git a/contrib/ncurses/ncurses/tinfo/strings.c b/contrib/ncurses/ncurses/tinfo/strings.c index d5377fe..78cd2ef 100644 --- a/contrib/ncurses/ncurses/tinfo/strings.c +++ b/contrib/ncurses/ncurses/tinfo/strings.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2000,2003 Free Software Foundation, Inc. * + * Copyright (c) 2000-2003,2007 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 * @@ -36,7 +36,7 @@ #include <curses.priv.h> -MODULE_ID("$Id: strings.c,v 1.5 2003/08/16 23:46:00 tom Exp $") +MODULE_ID("$Id: strings.c,v 1.6 2007/08/11 17:12:17 tom Exp $") /**************************************************************************** * Useful string functions (especially for mvcur) @@ -52,7 +52,7 @@ _nc_strstr(const char *haystack, const char *needle) while ((len1 != 0) && (len1-- >= len2)) { if (!strncmp(haystack, needle, len2)) { - result = haystack; + result = (char *) haystack; break; } haystack++; diff --git a/contrib/ncurses/ncurses/tinfo/trim_sgr0.c b/contrib/ncurses/ncurses/tinfo/trim_sgr0.c index 3ce18e0..80c8f77 100644 --- a/contrib/ncurses/ncurses/tinfo/trim_sgr0.c +++ b/contrib/ncurses/ncurses/tinfo/trim_sgr0.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2005 Free Software Foundation, Inc. * + * Copyright (c) 2005-2006,2007 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 * @@ -37,7 +37,7 @@ #include <tic.h> #include <term_entry.h> -MODULE_ID("$Id: trim_sgr0.c,v 1.7 2006/12/02 19:37:57 tom Exp $") +MODULE_ID("$Id: trim_sgr0.c,v 1.8 2007/04/07 17:14:11 tom Exp $") #undef CUR #define CUR tp-> @@ -247,9 +247,7 @@ _nc_trim_sgr0(TERMTYPE *tp) if (!rewrite_sgr(on, enter_alt_charset_mode) || !rewrite_sgr(off, exit_alt_charset_mode) || !rewrite_sgr(end, exit_alt_charset_mode)) { - FreeIfNeeded(on); FreeIfNeeded(off); - FreeIfNeeded(end); } else if (similar_sgr(off, end) && !similar_sgr(off, on)) { TR(TRACE_DATABASE, ("adjusting sgr(9:off) : %s", _nc_visbuf(off))); @@ -315,8 +313,8 @@ _nc_trim_sgr0(TERMTYPE *tp) */ free(off); } - free(end); - free(on); + FreeIfNeeded(end); + FreeIfNeeded(on); } else { /* * Possibly some applications are confused if sgr0 contains rmacs, diff --git a/contrib/ncurses/ncurses/tinfo/use_screen.c b/contrib/ncurses/ncurses/tinfo/use_screen.c new file mode 100644 index 0000000..27730b0 --- /dev/null +++ b/contrib/ncurses/ncurses/tinfo/use_screen.c @@ -0,0 +1,60 @@ +/**************************************************************************** + * Copyright (c) 2007 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. * + ****************************************************************************/ + +/**************************************************************************** + * Author: Thomas E. Dickey 2007 * + ****************************************************************************/ + +#include <curses.priv.h> + +MODULE_ID("$Id: use_screen.c,v 1.2 2007/09/08 21:46:48 tom Exp $") + +NCURSES_EXPORT(int) +use_screen(SCREEN *screen, NCURSES_CALLBACK func, void *data) +{ + SCREEN *save_SP; + int code = OK; + + T((T_CALLED("use_screen(%p,%p,%p)"), screen, func, data)); + + /* + * FIXME - add a flag so a given thread can check if _it_ has already + * recurred through this point, return an error if so. + */ + _nc_lock_global(use_screen); + save_SP = SP; + set_term(screen); + + code = func(screen->_stdscr, data); + + set_term(save_SP); + _nc_unlock_global(use_screen); + returnCode(code); + + return 0; +} diff --git a/contrib/ncurses/ncurses/tinfo/write_entry.c b/contrib/ncurses/ncurses/tinfo/write_entry.c index 5426f1f..05027e0 100644 --- a/contrib/ncurses/ncurses/tinfo/write_entry.c +++ b/contrib/ncurses/ncurses/tinfo/write_entry.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2002,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -54,7 +54,7 @@ #define TRACE_OUT(p) /*nothing */ #endif -MODULE_ID("$Id: write_entry.c,v 1.68 2006/10/14 20:45:16 tom Exp $") +MODULE_ID("$Id: write_entry.c,v 1.70 2007/11/17 23:38:28 tom Exp $") static int total_written; @@ -97,17 +97,16 @@ check_writeable(int code) static const char dirnames[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; static bool verified[sizeof(dirnames)]; - char dir[2]; + char dir[sizeof(LEAF_FMT)]; char *s = 0; if (code == 0 || (s = strchr(dirnames, code)) == 0) - _nc_err_abort("Illegal terminfo subdirectory \"%c\"", code); + _nc_err_abort("Illegal terminfo subdirectory \"" LEAF_FMT "\"", code); if (verified[s - dirnames]) return; - dir[0] = code; - dir[1] = '\0'; + sprintf(dir, LEAF_FMT, code); if (make_db_root(dir) < 0) { _nc_err_abort("%s/%s: permission denied", _nc_tic_dir(0), dir); } @@ -358,7 +357,7 @@ _nc_write_entry(TERMTYPE *const tp) if (strlen(first_name) > sizeof(filename) - 3) _nc_warning("terminal name too long."); - sprintf(filename, "%c/%s", first_name[0], first_name); + sprintf(filename, LEAF_FMT "/%s", first_name[0], first_name); /* * Has this primary name been written since the first call to @@ -399,7 +398,7 @@ _nc_write_entry(TERMTYPE *const tp) } check_writeable(ptr[0]); - sprintf(linkname, "%c/%s", ptr[0], ptr); + sprintf(linkname, LEAF_FMT "/%s", ptr[0], ptr); if (strcmp(filename, linkname) == 0) { _nc_warning("self-synonym ignored"); @@ -502,7 +501,8 @@ compute_offsets(char **Strings, unsigned strmax, short *offsets) } else { offsets[i] = nextfree; nextfree += strlen(Strings[i]) + 1; - TRACE_OUT(("put Strings[%d]=%s(%d)", i, _nc_visbuf(Strings[i]), nextfree)); + TRACE_OUT(("put Strings[%d]=%s(%d)", (int) i, + _nc_visbuf(Strings[i]), nextfree)); } } return nextfree; @@ -740,7 +740,7 @@ write_object(TERMTYPE *tp, char *buffer, unsigned *offset, unsigned limit) */ for (i = 0; i < tp->ext_Strings; i++) { if (VALID_STRING(tp->Strings[i + STRCOUNT])) { - TRACE_OUT(("WRITE ext_Strings[%d]=%s", i, + TRACE_OUT(("WRITE ext_Strings[%d]=%s", (int) i, _nc_visbuf(tp->Strings[i + STRCOUNT]))); if (!WRITE_STRING(tp->Strings[i + STRCOUNT])) return (ERR); @@ -751,7 +751,7 @@ write_object(TERMTYPE *tp, char *buffer, unsigned *offset, unsigned limit) * Write the extended names */ for (i = 0; i < extcnt; i++) { - TRACE_OUT(("WRITE ext_Names[%d]=%s", i, tp->ext_Names[i])); + TRACE_OUT(("WRITE ext_Names[%d]=%s", (int) i, tp->ext_Names[i])); if (!WRITE_STRING(tp->ext_Names[i])) return (ERR); } diff --git a/contrib/ncurses/ncurses/trace/lib_trace.c b/contrib/ncurses/ncurses/trace/lib_trace.c index 7f78122..d634438 100644 --- a/contrib/ncurses/ncurses/trace/lib_trace.c +++ b/contrib/ncurses/ncurses/trace/lib_trace.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -46,37 +46,69 @@ #include <ctype.h> -MODULE_ID("$Id: lib_trace.c,v 1.59 2006/08/19 12:05:25 tom Exp $") +MODULE_ID("$Id: lib_trace.c,v 1.65 2007/09/29 21:47:46 tom Exp $") NCURSES_EXPORT_VAR(unsigned) _nc_tracing = 0; /* always define this */ #ifdef TRACE + +#if USE_REENTRANT +NCURSES_EXPORT(const char *) +NCURSES_PUBLIC_VAR(_nc_tputs_trace) (void) +{ + return SP ? SP->_tputs_trace : _nc_prescreen._tputs_trace; +} +NCURSES_EXPORT(long) +NCURSES_PUBLIC_VAR(_nc_outchars) (void) +{ + return SP ? SP->_outchars : _nc_prescreen._outchars; +} +NCURSES_EXPORT(void) +_nc_set_tputs_trace(const char *s) +{ + if (SP) + SP->_tputs_trace = s; + else + _nc_prescreen._tputs_trace = s; +} +NCURSES_EXPORT(void) +_nc_count_outchars(long increment) +{ + if (SP) + SP->_outchars += increment; + else + _nc_prescreen._outchars += increment; +} +#else NCURSES_EXPORT_VAR(const char *) _nc_tputs_trace = ""; NCURSES_EXPORT_VAR(long) _nc_outchars = 0; +#endif -static FILE *tracefp = 0; /* default to writing to stderr */ +#define TraceFP _nc_globals.trace_fp +#define TracePath _nc_globals.trace_fname +#define TraceLevel _nc_globals.trace_level NCURSES_EXPORT(void) trace(const unsigned int tracelevel) { - static bool been_here = FALSE; - static char my_name[PATH_MAX]; - - if ((tracefp == 0) && tracelevel) { - const char *mode = been_here ? "ab" : "wb"; + if ((TraceFP == 0) && tracelevel) { + const char *mode = _nc_globals.init_trace ? "ab" : "wb"; - if (*my_name == '\0') { - if (getcwd(my_name, sizeof(my_name) - 10) == 0) { + if (TracePath[0] == '\0') { + if (getcwd(TracePath, sizeof(TracePath) - 12) == 0) { perror("curses: Can't get working directory"); exit(EXIT_FAILURE); } - strcat(my_name, "/trace"); + strcat(TracePath, "/trace"); + if (_nc_is_dir_path(TracePath)) { + strcat(TracePath, ".log"); + } } - been_here = TRUE; + _nc_globals.init_trace = TRUE; _nc_tracing = tracelevel; - if (_nc_access(my_name, W_OK) < 0 - || (tracefp = fopen(my_name, mode)) == 0) { + if (_nc_access(TracePath, W_OK) < 0 + || (TraceFP = fopen(TracePath, mode)) == 0) { perror("curses: Can't open 'trace' file"); exit(EXIT_FAILURE); } @@ -85,18 +117,18 @@ trace(const unsigned int tracelevel) * end of each line. This is useful in case the program dies. */ #if HAVE_SETVBUF /* ANSI */ - (void) setvbuf(tracefp, (char *) 0, _IOLBF, 0); + (void) setvbuf(TraceFP, (char *) 0, _IOLBF, 0); #elif HAVE_SETBUF /* POSIX */ - (void) setbuffer(tracefp, (char *) 0); + (void) setbuffer(TraceFP, (char *) 0); #endif _tracef("TRACING NCURSES version %s.%d (tracelevel=%#x)", NCURSES_VERSION, NCURSES_VERSION_PATCH, tracelevel); } else if (tracelevel == 0) { - if (tracefp != 0) { - fclose(tracefp); - tracefp = 0; + if (TraceFP != 0) { + fclose(TraceFP); + TraceFP = 0; } _nc_tracing = tracelevel; } else if (_nc_tracing != tracelevel) { @@ -105,13 +137,12 @@ trace(const unsigned int tracelevel) } } -NCURSES_EXPORT(void) -_tracef(const char *fmt,...) +static void +_nc_va_tracef(const char *fmt, va_list ap) { static const char Called[] = T_CALLED(""); static const char Return[] = T_RETURN(""); - static int level; - va_list ap; + bool before = FALSE; bool after = FALSE; unsigned doit = _nc_tracing; @@ -120,12 +151,12 @@ _tracef(const char *fmt,...) if (strlen(fmt) >= sizeof(Called) - 1) { if (!strncmp(fmt, Called, sizeof(Called) - 1)) { before = TRUE; - level++; + TraceLevel++; } else if (!strncmp(fmt, Return, sizeof(Return) - 1)) { after = TRUE; } if (before || after) { - if ((level <= 1) + if ((TraceLevel <= 1) || (doit & TRACE_ICALLS) != 0) doit &= (TRACE_CALLS | TRACE_CCALLS); else @@ -134,25 +165,34 @@ _tracef(const char *fmt,...) } if (doit != 0) { - if (tracefp == 0) - tracefp = stderr; + if (TraceFP == 0) + TraceFP = stderr; if (before || after) { int n; - for (n = 1; n < level; n++) - fputs("+ ", tracefp); + for (n = 1; n < TraceLevel; n++) + fputs("+ ", TraceFP); } - va_start(ap, fmt); - vfprintf(tracefp, fmt, ap); - fputc('\n', tracefp); - va_end(ap); - fflush(tracefp); + vfprintf(TraceFP, fmt, ap); + fputc('\n', TraceFP); + fflush(TraceFP); } - if (after && level) - level--; + if (after && TraceLevel) + TraceLevel--; + errno = save_err; } +NCURSES_EXPORT(void) +_tracef(const char *fmt,...) +{ + va_list ap; + + va_start(ap, fmt); + _nc_va_tracef(fmt, ap); + va_end(ap); +} + /* Trace 'bool' return-values */ NCURSES_EXPORT(NCURSES_BOOL) _nc_retrace_bool(NCURSES_BOOL code) @@ -224,4 +264,53 @@ _nc_retrace_win(WINDOW *code) T((T_RETURN("%p"), code)); return code; } + +#if USE_REENTRANT +/* + * Check if the given trace-mask is enabled. + * + * This function may be called from within one of the functions that fills + * in parameters for _tracef(), but in that case we do not want to lock the + * mutex, since it is already locked. + */ +NCURSES_EXPORT(int) +_nc_use_tracef(unsigned mask) +{ + bool result = FALSE; + + _nc_lock_global(tst_tracef); + if (!_nc_globals.nested_tracef++) { + if ((result = (_nc_tracing & (mask))) != 0) { + /* we will call _nc_locked_tracef(), no nesting so far */ + _nc_lock_global(tracef); + } else { + /* we will not call _nc_locked_tracef() */ + _nc_globals.nested_tracef = 0; + } + } else { + /* we may call _nc_locked_tracef(), but with nested_tracef > 0 */ + result = (_nc_tracing & (mask)); + } + _nc_unlock_global(tst_tracef); + return result; +} + +/* + * We call this if _nc_use_tracef() returns true, which means we must unlock + * the tracef mutex. + */ +NCURSES_EXPORT(void) +_nc_locked_tracef(const char *fmt,...) +{ + va_list ap; + + va_start(ap, fmt); + _nc_va_tracef(fmt, ap); + va_end(ap); + + if (--(_nc_globals.nested_tracef) == 0) + _nc_unlock_global(tracef); +} +#endif /* USE_REENTRANT */ + #endif /* TRACE */ diff --git a/contrib/ncurses/ncurses/trace/lib_traceatr.c b/contrib/ncurses/ncurses/trace/lib_traceatr.c index ee6cf5f..108eb8b 100644 --- a/contrib/ncurses/ncurses/trace/lib_traceatr.c +++ b/contrib/ncurses/ncurses/trace/lib_traceatr.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -39,33 +39,37 @@ #include <curses.priv.h> #include <term.h> /* acs_chars */ -MODULE_ID("$Id: lib_traceatr.c,v 1.56 2006/12/02 21:18:28 tom Exp $") +MODULE_ID("$Id: lib_traceatr.c,v 1.59 2007/06/09 17:22:10 tom Exp $") #define COLOR_OF(c) ((c < 0) ? "default" : (c > 7 ? color_of(c) : colors[c].name)) #ifdef TRACE -static const char l_brace[] = {L_BRACE, 0}; -static const char r_brace[] = {R_BRACE, 0}; +static const char l_brace[] = StringOf(L_BRACE); +static const char r_brace[] = StringOf(R_BRACE); #ifndef USE_TERMLIB + +#define my_buffer _nc_globals.traceatr_color_buf +#define my_select _nc_globals.traceatr_color_sel +#define my_cached _nc_globals.traceatr_color_last + static char * color_of(int c) { - static char buffer[2][80]; - static int sel; - static int last = -1; - - if (c != last) { - last = c; - sel = !sel; + if (c != my_cached) { + my_cached = c; + my_select = !my_select; if (c == COLOR_DEFAULT) - strcpy(buffer[sel], "default"); + strcpy(my_buffer[my_select], "default"); else - sprintf(buffer[sel], "color%d", c); + sprintf(my_buffer[my_select], "color%d", c); } - return buffer[sel]; + return my_buffer[my_select]; } + +#undef my_buffer +#undef my_select #endif /* !USE_TERMLIB */ NCURSES_EXPORT(char *) @@ -173,17 +177,19 @@ _nc_retrace_attr_t(attr_t code) const char * _nc_altcharset_name(attr_t attr, chtype ch) { + typedef struct { + unsigned int val; + const char *name; + } ALT_NAMES; + const char *result = 0; if ((attr & A_ALTCHARSET) && (acs_chars != 0)) { char *cp; char *found = 0; - static const struct { - unsigned int val; - const char *name; - } names[] = + /* *INDENT-OFF* */ + static const ALT_NAMES names[] = { - /* *INDENT-OFF* */ { 'l', "ACS_ULCORNER" }, /* upper left corner */ { 'm', "ACS_LLCORNER" }, /* lower left corner */ { 'k', "ACS_URCORNER" }, /* upper right corner */ @@ -217,9 +223,9 @@ _nc_altcharset_name(attr_t attr, chtype ch) { '|', "ACS_NEQUAL" }, /* not equal */ { '}', "ACS_STERLING" }, /* UK pound sign */ { '\0', (char *) 0 } - /* *INDENT-OFF* */ - }, - *sp; + }; + /* *INDENT-OFF* */ + const ALT_NAMES *sp; for (cp = acs_chars; cp[0] && cp[1]; cp += 2) { if (ChCharOf(cp[1]) == ChCharOf(ch)) { diff --git a/contrib/ncurses/ncurses/trace/lib_tracebits.c b/contrib/ncurses/ncurses/trace/lib_tracebits.c index d9defd0..de2394c 100644 --- a/contrib/ncurses/ncurses/trace/lib_tracebits.c +++ b/contrib/ncurses/ncurses/trace/lib_tracebits.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2002,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -35,7 +35,7 @@ #include <curses.priv.h> #include <term.h> /* cur_term */ -MODULE_ID("$Id: lib_tracebits.c,v 1.13 2006/12/10 01:33:00 tom Exp $") +MODULE_ID("$Id: lib_tracebits.c,v 1.15 2007/06/30 16:14:20 tom Exp $") #if SVR4_TERMIO && !defined(_POSIX_SOURCE) #define _POSIX_SOURCE @@ -53,10 +53,27 @@ MODULE_ID("$Id: lib_tracebits.c,v 1.13 2006/12/10 01:33:00 tom Exp $") #ifndef TOSTOP #define TOSTOP 0 #endif + #ifndef IEXTEN #define IEXTEN 0 #endif +#ifndef ONLCR +#define ONLCR 0 +#endif + +#ifndef OCRNL +#define OCRNL 0 +#endif + +#ifndef ONOCR +#define ONOCR 0 +#endif + +#ifndef ONLRET +#define ONLRET 0 +#endif + #ifdef TRACE typedef struct { @@ -108,8 +125,12 @@ _nc_trace_ttymode(TTY * tty) { {OPOST, "OPOST"}, {OFLAGS_TABS, "XTABS"}, + {ONLCR, "ONLCR"}, + {OCRNL, "OCRNL"}, + {ONOCR, "ONOCR"}, + {ONLRET, "ONLRET"}, {0, NULL} -#define ALLOUT (OPOST) +#define ALLOUT (OPOST|OFLAGS_TABS|ONLCR|OCRNL|ONOCR|ONLRET) }, cflags[] = { {CLOCAL, "CLOCAL"}, diff --git a/contrib/ncurses/ncurses/trace/lib_tracechr.c b/contrib/ncurses/ncurses/trace/lib_tracechr.c index 34a2bb6..479756a 100644 --- a/contrib/ncurses/ncurses/trace/lib_tracechr.c +++ b/contrib/ncurses/ncurses/trace/lib_tracechr.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2005,2007 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 * @@ -39,34 +39,35 @@ #include <ctype.h> -MODULE_ID("$Id: lib_tracechr.c,v 1.12 2005/04/16 16:55:46 tom Exp $") +MODULE_ID("$Id: lib_tracechr.c,v 1.13 2007/04/21 23:16:37 tom Exp $") #ifdef TRACE +#define MyBuffer _nc_globals.tracechr_buf + NCURSES_EXPORT(char *) _tracechar(int ch) { - static char result[40]; NCURSES_CONST char *name; if (ch > KEY_MIN || ch < 0) { name = keyname(ch); if (name == 0 || *name == '\0') name = "NULL"; - (void) sprintf(result, "'%.30s' = %#03o", name, ch); + (void) sprintf(MyBuffer, "'%.30s' = %#03o", name, ch); } else if (!is8bits(ch) || !isprint(UChar(ch))) { /* * workaround for glibc bug: * sprintf changes the result from unctrl() to an empty string if it * does not correspond to a valid multibyte sequence. */ - (void) sprintf(result, "%#03o", ch); + (void) sprintf(MyBuffer, "%#03o", ch); } else { name = unctrl((chtype) ch); if (name == 0 || *name == 0) name = "null"; /* shouldn't happen */ - (void) sprintf(result, "'%.30s' = %#03o", name, ch); + (void) sprintf(MyBuffer, "'%.30s' = %#03o", name, ch); } - return (result); + return (MyBuffer); } #else empty_module(_nc_lib_tracechr) diff --git a/contrib/ncurses/ncurses/trace/lib_tracedmp.c b/contrib/ncurses/ncurses/trace/lib_tracedmp.c index 41739a9..d56d1a5 100644 --- a/contrib/ncurses/ncurses/trace/lib_tracedmp.c +++ b/contrib/ncurses/ncurses/trace/lib_tracedmp.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -39,15 +39,16 @@ #include <curses.priv.h> #include <ctype.h> -MODULE_ID("$Id: lib_tracedmp.c,v 1.27 2006/10/14 20:43:31 tom Exp $") +MODULE_ID("$Id: lib_tracedmp.c,v 1.29 2007/06/30 23:01:19 tom Exp $") #ifdef TRACE + +#define my_buffer _nc_globals.tracedmp_buf +#define my_length _nc_globals.tracedmp_used + NCURSES_EXPORT(void) _tracedump(const char *name, WINDOW *win) { - static char *buf = 0; - static size_t used = 0; - int i, j, n, width; /* compute narrowest possible display width */ @@ -66,13 +67,13 @@ _tracedump(const char *name, WINDOW *win) } if (width < win->_maxx) ++width; - if (++width + 1 > (int) used) { - used = 2 * (width + 1); - buf = typeRealloc(char, used, buf); + if (++width + 1 > (int) my_length) { + my_length = 2 * (width + 1); + my_buffer = typeRealloc(char, my_length, my_buffer); } for (n = 0; n <= win->_maxy; ++n) { - char *ep = buf; + char *ep = my_buffer; bool haveattrs, havecolors; /* @@ -99,6 +100,30 @@ _tracedump(const char *name, WINDOW *win) (long) win->_line[n].lastchar, ep); + /* if there are multi-column characters on the line, print them now */ + if_WIDEC({ + bool multicolumn = FALSE; + for (j = 0; j < width; ++j) + if (WidecExt(win->_line[n].text[j]) != 0) { + multicolumn = TRUE; + break; + } + if (multicolumn) { + ep = my_buffer; + for (j = 0; j < width; ++j) { + int test = WidecExt(win->_line[n].text[j]); + if (test) { + ep[j] = test + '0'; + } else { + ep[j] = ' '; + } + } + ep[j] = '\0'; + _tracef("%*s[%2d]%*s='%s'", (int) strlen(name), + "widec", n, 8, " ", my_buffer); + } + }); + /* dump A_COLOR part, will screw up if there are more than 96 */ havecolors = FALSE; for (j = 0; j < width; ++j) @@ -107,7 +132,7 @@ _tracedump(const char *name, WINDOW *win) break; } if (havecolors) { - ep = buf; + ep = my_buffer; for (j = 0; j < width; ++j) { int pair = GetPair(win->_line[n].text[j]); if (pair >= 52) @@ -123,7 +148,7 @@ _tracedump(const char *name, WINDOW *win) } ep[j] = '\0'; _tracef("%*s[%2d]%*s='%s'", (int) strlen(name), - "colors", n, 8, " ", buf); + "colors", n, 8, " ", my_buffer); } for (i = 0; i < 4; ++i) { @@ -137,20 +162,20 @@ _tracedump(const char *name, WINDOW *win) break; } if (haveattrs) { - ep = buf; + ep = my_buffer; for (j = 0; j < width; ++j) ep[j] = hex[(AttrOf(win->_line[n].text[j]) & mask) >> ((i + 4) * 4)]; ep[j] = '\0'; _tracef("%*s%d[%2d]%*s='%s'", (int) strlen(name) - - 1, "attrs", i, n, 8, " ", buf); + 1, "attrs", i, n, 8, " ", my_buffer); } } } #if NO_LEAKS - free(buf); - buf = 0; - used = 0; + free(my_buffer); + my_buffer = 0; + my_length = 0; #endif } diff --git a/contrib/ncurses/ncurses/trace/lib_tracemse.c b/contrib/ncurses/ncurses/trace/lib_tracemse.c index 98290a1..5edcc13 100644 --- a/contrib/ncurses/ncurses/trace/lib_tracemse.c +++ b/contrib/ncurses/ncurses/trace/lib_tracemse.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2002,2005 Free Software Foundation, Inc. * + * Copyright (c) 1998-2005,2007 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 * @@ -38,30 +38,23 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_tracemse.c,v 1.12 2005/06/11 19:53:50 tom Exp $") +MODULE_ID("$Id: lib_tracemse.c,v 1.13 2007/04/21 21:23:00 tom Exp $") #ifdef TRACE +#define my_buffer _nc_globals.tracemse_buf + NCURSES_EXPORT(char *) _tracemouse(MEVENT const *ep) { - /* - * hmm - format is no longer than 80 columns, there are 5 numbers that - * could at most have 10 digits, and the mask contains no more than 32 bits - * with each bit representing less than 15 characters. Usually the whole - * string is less than 80 columns, but this buffer size is an absolute - * limit. - */ - static char buf[80 + (5 * 10) + (32 * 15)]; - - (void) sprintf(buf, "id %2d at (%2d, %2d, %2d) state %4lx = {", + (void) sprintf(my_buffer, TRACEMSE_FMT, ep->id, ep->x, ep->y, ep->z, (unsigned long) ep->bstate); -#define SHOW(m, s) if ((ep->bstate & m) == m) strcat(strcat(buf, s), ", ") +#define SHOW(m, s) if ((ep->bstate & m) == m) strcat(strcat(my_buffer, s), ", ") SHOW(BUTTON1_RELEASED, "release-1"); SHOW(BUTTON1_PRESSED, "press-1"); @@ -115,10 +108,10 @@ _tracemouse(MEVENT const *ep) #undef SHOW - if (buf[strlen(buf) - 1] == ' ') - buf[strlen(buf) - 2] = '\0'; - (void) strcat(buf, "}"); - return (buf); + if (my_buffer[strlen(my_buffer) - 1] == ' ') + my_buffer[strlen(my_buffer) - 2] = '\0'; + (void) strcat(my_buffer, "}"); + return (my_buffer); } #else /* !TRACE */ diff --git a/contrib/ncurses/ncurses/trace/trace_buf.c b/contrib/ncurses/ncurses/trace/trace_buf.c index 85b4fbe..7bf91c6 100644 --- a/contrib/ncurses/ncurses/trace/trace_buf.c +++ b/contrib/ncurses/ncurses/trace/trace_buf.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2002,2003 Free Software Foundation, Inc. * + * Copyright (c) 1998-2003,2007 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 * @@ -35,46 +35,42 @@ #include <curses.priv.h> -MODULE_ID("$Id: trace_buf.c,v 1.12 2003/03/15 21:21:36 tom Exp $") +MODULE_ID("$Id: trace_buf.c,v 1.13 2007/04/21 22:50:08 tom Exp $") -typedef struct { - char *text; - size_t size; -} LIST; +#define MyList _nc_globals.tracebuf_ptr +#define MySize _nc_globals.tracebuf_used static char * _nc_trace_alloc(int bufnum, size_t want) { char *result = 0; - static LIST *list; - static size_t have; if (bufnum >= 0) { - if ((size_t) (bufnum + 1) > have) { + if ((size_t) (bufnum + 1) > MySize) { size_t need = (bufnum + 1) * 2; - if ((list = typeRealloc(LIST, need, list)) == 0) + if ((MyList = typeRealloc(TRACEBUF, need, MyList)) == 0) return (0); - while (need > have) - list[have++].text = 0; + while (need > MySize) + MyList[MySize++].text = 0; } - if (list[bufnum].text == 0 - || want > list[bufnum].size) { - if ((list[bufnum].text = typeRealloc(char, want, list[bufnum].text)) - != 0) - list[bufnum].size = want; + if (MyList[bufnum].text == 0 + || want > MyList[bufnum].size) { + MyList[bufnum].text = typeRealloc(char, want, MyList[bufnum].text); + if (MyList[bufnum].text != 0) + MyList[bufnum].size = want; } - result = list[bufnum].text; + result = MyList[bufnum].text; } #if NO_LEAKS else { - if (have) { - while (have--) { - if (list[have].text != 0) - free(list[have].text); + if (MySize) { + while (MySize--) { + if (MyList[MySize].text != 0) + free(MyList[MySize].text); } - free(list); + free(MyList); } } #endif diff --git a/contrib/ncurses/ncurses/trace/trace_tries.c b/contrib/ncurses/ncurses/trace/trace_tries.c index d703322..0aa0b22 100644 --- a/contrib/ncurses/ncurses/trace/trace_tries.c +++ b/contrib/ncurses/ncurses/trace/trace_tries.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1999,2000,2001 Free Software Foundation, Inc. * + * Copyright (c) 1999-2006,2007 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 * @@ -35,25 +35,27 @@ #include <curses.priv.h> -MODULE_ID("$Id: trace_tries.c,v 1.10 2001/10/20 22:42:51 tom Exp $") +MODULE_ID("$Id: trace_tries.c,v 1.12 2007/04/21 21:55:41 tom Exp $") #ifdef TRACE -static unsigned char *buffer; -static unsigned len; +#define my_buffer _nc_globals.tracetry_buf +#define my_length _nc_globals.tracetry_used static void -recur_tries(struct tries *tree, unsigned level) +recur_tries(TRIES * tree, unsigned level) { - if (level > len) - buffer = (unsigned char *) realloc(buffer, len = (level + 1) * 4); + if (level > my_length) { + my_length = (level + 1) * 4; + my_buffer = (unsigned char *) realloc(my_buffer, my_length); + } while (tree != 0) { - if ((buffer[level] = tree->ch) == 0) - buffer[level] = 128; - buffer[level + 1] = 0; + if ((my_buffer[level] = tree->ch) == 0) + my_buffer[level] = 128; + my_buffer[level + 1] = 0; if (tree->value != 0) { _tracef("%5d: %s (%s)", tree->value, - _nc_visbuf((char *) buffer), keyname(tree->value)); + _nc_visbuf((char *) my_buffer), keyname(tree->value)); } if (tree->child) recur_tries(tree->child, level + 1); @@ -62,13 +64,13 @@ recur_tries(struct tries *tree, unsigned level) } NCURSES_EXPORT(void) -_nc_trace_tries(struct tries *tree) +_nc_trace_tries(TRIES * tree) { - buffer = typeMalloc(unsigned char, len = 80); + my_buffer = typeMalloc(unsigned char, my_length = 80); _tracef("BEGIN tries %p", tree); recur_tries(tree, 0); _tracef(". . . tries %p", tree); - free(buffer); + free(my_buffer); } #else diff --git a/contrib/ncurses/ncurses/trace/varargs.c b/contrib/ncurses/ncurses/trace/varargs.c index aee2010..5e63d21 100644 --- a/contrib/ncurses/ncurses/trace/varargs.c +++ b/contrib/ncurses/ncurses/trace/varargs.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2001-2002,2003 Free Software Foundation, Inc. * + * Copyright (c) 2001-2003,2007 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 * @@ -34,7 +34,7 @@ #include <ctype.h> -MODULE_ID("$Id: varargs.c,v 1.4 2003/05/24 21:10:28 tom Exp $") +MODULE_ID("$Id: varargs.c,v 1.6 2007/07/14 15:51:27 tom Exp $") #ifdef TRACE @@ -49,6 +49,9 @@ typedef enum { #define VA_PTR(type) pval = (char *)va_arg(ap, type) #define VA_STR(type) sval = va_arg(ap, type) +#define MyBuffer _nc_globals.tracearg_buf +#define MyLength _nc_globals.tracearg_used + /* * Returns a string that represents the parameter list of a printf-style call. */ @@ -56,8 +59,6 @@ NCURSES_EXPORT(char *) _nc_varargs(const char *fmt, va_list ap) { static char dummy[] = ""; - static char *result_buf; - static size_t result_len; char buffer[BUFSIZ]; const char *param; @@ -65,11 +66,11 @@ _nc_varargs(const char *fmt, va_list ap) if (fmt == 0 || *fmt == '\0') return dummy; - if (result_len == 0) - result_buf = typeMalloc(char, result_len = BUFSIZ); - if (result_buf == 0) + if (MyLength == 0) + MyBuffer = typeMalloc(char, MyLength = BUFSIZ); + if (MyBuffer == 0) return dummy; - *result_buf = '\0'; + *MyBuffer = '\0'; while (*fmt != '\0') { if (*fmt == '%') { @@ -159,13 +160,14 @@ _nc_varargs(const char *fmt, va_list ap) case atString: param = _nc_visbuf2(1, sval); break; + case atUnknown: default: strcpy(buffer, "?"); break; } - result_len += strlen(param) + 2; - result_buf = typeRealloc(char, result_len, result_buf); - sprintf(result_buf + strlen(result_buf), ", %s", param); + MyLength += strlen(param) + 2; + MyBuffer = typeRealloc(char, MyLength, MyBuffer); + sprintf(MyBuffer + strlen(MyBuffer), ", %s", param); } } used = atUnknown; @@ -175,7 +177,7 @@ _nc_varargs(const char *fmt, va_list ap) } } - return (result_buf); + return (MyBuffer); } #else empty_module(_nc_varargs) diff --git a/contrib/ncurses/ncurses/trace/visbuf.c b/contrib/ncurses/ncurses/trace/visbuf.c index 0540ee6..74081ef 100644 --- a/contrib/ncurses/ncurses/trace/visbuf.c +++ b/contrib/ncurses/ncurses/trace/visbuf.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2001-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 2001-2006,2007 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 * @@ -42,11 +42,16 @@ #include <tic.h> #include <ctype.h> -MODULE_ID("$Id: visbuf.c,v 1.21 2006/12/02 21:20:28 tom Exp $") +MODULE_ID("$Id: visbuf.c,v 1.26 2007/06/09 17:21:53 tom Exp $") -static const char d_quote[] = {D_QUOTE, 0}; -static const char l_brace[] = {L_BRACE, 0}; -static const char r_brace[] = {R_BRACE, 0}; +#define NormalLen(len) (unsigned) ((len + 1) * 4) +#define WideLen(len) (unsigned) ((len + 1) * 4 * MB_CUR_MAX) + +#ifdef TRACE +static const char d_quote[] = StringOf(D_QUOTE); +static const char l_brace[] = StringOf(L_BRACE); +static const char r_brace[] = StringOf(R_BRACE); +#endif static char * _nc_vischar(char *tp, unsigned c) @@ -68,6 +73,10 @@ _nc_vischar(char *tp, unsigned c) } else if (c == '\033') { *tp++ = '\\'; *tp++ = 'e'; + } else if (UChar(c) == 0x7f) { + *tp++ = '\\'; + *tp++ = '^'; + *tp++ = '?'; } else if (is7bits(c) && iscntrl(UChar(c))) { *tp++ = '\\'; *tp++ = '^'; @@ -96,11 +105,11 @@ _nc_visbuf2n(int bufnum, const char *buf, int len) len = strlen(buf); #ifdef TRACE - tp = vbuf = _nc_trace_buf(bufnum, (unsigned) (len * 4) + 5); + tp = vbuf = _nc_trace_buf(bufnum, NormalLen(len)); #else { - static char *mybuf[2]; - mybuf[bufnum] = typeRealloc(char, (unsigned) (len * 4) + 5, mybuf[bufnum]); + static char *mybuf[4]; + mybuf[bufnum] = typeRealloc(char, NormalLen(len), mybuf[bufnum]); tp = vbuf = mybuf[bufnum]; } #endif @@ -161,11 +170,11 @@ _nc_viswbuf2n(int bufnum, const wchar_t *buf, int len) len = wcslen(buf); #ifdef TRACE - tp = vbuf = _nc_trace_buf(bufnum, (unsigned) (len * 4) + 5); + tp = vbuf = _nc_trace_buf(bufnum, WideLen(len)); #else { static char *mybuf[2]; - mybuf[bufnum] = typeRealloc(char, (unsigned) (len * 4) + 5, mybuf[bufnum]); + mybuf[bufnum] = typeRealloc(char, WideLen(len), mybuf[bufnum]); tp = vbuf = mybuf[bufnum]; } #endif @@ -259,7 +268,8 @@ _nc_viscbuf2(int bufnum, const NCURSES_CH_T * buf, int len) result = _nc_trace_bufcat(bufnum, l_brace); result = _nc_trace_bufcat(bufnum, d_quote); for (j = first; j <= last; ++j) { - if ((found = _nc_altcharset_name(attr, (chtype) CharOf(buf[j]))) != 0) { + found = _nc_altcharset_name(attr, (chtype) CharOf(buf[j])); + if (found != 0) { result = _nc_trace_bufcat(bufnum, found); attr &= ~A_ALTCHARSET; } else diff --git a/contrib/ncurses/ncurses/tty/hardscroll.c b/contrib/ncurses/ncurses/tty/hardscroll.c index 7815db7..7d8979a 100644 --- a/contrib/ncurses/ncurses/tty/hardscroll.c +++ b/contrib/ncurses/ncurses/tty/hardscroll.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998,2000 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -145,7 +145,7 @@ AUTHOR #include <curses.priv.h> -MODULE_ID("$Id: hardscroll.c,v 1.36 2001/01/14 00:17:28 tom Exp $") +MODULE_ID("$Id: hardscroll.c,v 1.41 2007/09/29 21:48:36 tom Exp $") #if defined(SCROLLDEBUG) || defined(HASHDEBUG) @@ -158,22 +158,25 @@ oldnums[MAXLINES]; # undef TR # define TR(n, a) if (_nc_tracing & (n)) { _tracef a ; putchar('\n'); } +extern NCURSES_EXPORT_VAR(unsigned) _nc_tracing; + #else /* no debug */ /* OLDNUM(n) indicates which line will be shifted to the position n. if OLDNUM(n) == _NEWINDEX, then the line n in new, not shifted from somewhere. */ NCURSES_EXPORT_VAR(int *) -_nc_oldnums = 0; +_nc_oldnums = 0; /* obsolete: keep for ABI compat */ # if USE_HASHMAP - static int oldnums_allocated = 0; -# define oldnums _nc_oldnums +# define oldnums SP->_oldnum_list # define OLDNUM(n) oldnums[n] # else /* !USE_HASHMAP */ # define OLDNUM(n) newscr->_line[n].oldindex # endif /* !USE_HASHMAP */ +#define OLDNUM_SIZE SP->_oldnum_size + #endif /* defined(SCROLLDEBUG) || defined(HASHDEBUG) */ NCURSES_EXPORT(void) @@ -183,17 +186,17 @@ _nc_scroll_optimize(void) int i; int start, end, shift; - TR(TRACE_ICALLS, ("_nc_scroll_optimize() begins")); + TR(TRACE_ICALLS, (T_CALLED("_nc_scroll_optimize"))); #if !defined(SCROLLDEBUG) && !defined(HASHDEBUG) #if USE_HASHMAP /* get enough storage */ - if (oldnums_allocated < screen_lines) { + if (OLDNUM_SIZE < screen_lines) { int *new_oldnums = typeRealloc(int, screen_lines, oldnums); if (!new_oldnums) return; oldnums = new_oldnums; - oldnums_allocated = screen_lines; + OLDNUM_SIZE = screen_lines; } /* calculate the indices */ _nc_hash_map(); @@ -201,8 +204,10 @@ _nc_scroll_optimize(void) #endif /* !defined(SCROLLDEBUG) && !defined(HASHDEBUG) */ #ifdef TRACE - if (_nc_tracing & (TRACE_UPDATE | TRACE_MOVE)) + if (USE_TRACEF(TRACE_UPDATE | TRACE_MOVE)) { _nc_linedump(); + _nc_unlock_global(tracef); + } #endif /* TRACE */ /* pass 1 - from top to bottom scrolling up */ @@ -253,6 +258,7 @@ _nc_scroll_optimize(void) } #endif /* !defined(SCROLLDEBUG) && !defined(HASHDEBUG) */ } + TR(TRACE_ICALLS, (T_RETURN(""))); } #if defined(TRACE) || defined(SCROLLDEBUG) || defined(HASHDEBUG) @@ -260,23 +266,17 @@ NCURSES_EXPORT(void) _nc_linedump(void) /* dump the state of the real and virtual oldnum fields */ { - static size_t have; - static char *buf; - int n; + char *buf = 0; size_t want = (screen_lines + 1) * 4; - if (have < want) - buf = typeMalloc(char, have = want); + buf = typeMalloc(char, want); (void) strcpy(buf, "virt"); for (n = 0; n < screen_lines; n++) (void) sprintf(buf + strlen(buf), " %02d", OLDNUM(n)); TR(TRACE_UPDATE | TRACE_MOVE, (buf)); -#if NO_LEAKS free(buf); - have = 0; -#endif } #endif /* defined(TRACE) || defined(SCROLLDEBUG) */ diff --git a/contrib/ncurses/ncurses/tty/hashmap.c b/contrib/ncurses/ncurses/tty/hashmap.c index 1f482d4..9b60df6 100644 --- a/contrib/ncurses/ncurses/tty/hashmap.c +++ b/contrib/ncurses/ncurses/tty/hashmap.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -70,7 +70,7 @@ AUTHOR #include <curses.priv.h> #include <term.h> /* for back_color_erase */ -MODULE_ID("$Id: hashmap.c,v 1.49 2006/03/11 19:33:49 tom Exp $") +MODULE_ID("$Id: hashmap.c,v 1.56 2007/10/13 18:47:25 Miroslav.Lichvar Exp $") #ifdef HASHDEBUG @@ -81,7 +81,8 @@ MODULE_ID("$Id: hashmap.c,v 1.49 2006/03/11 19:33:49 tom Exp $") # define screen_lines MAXLINES # define TEXTWIDTH 1 int oldnums[MAXLINES], reallines[MAXLINES]; -static chtype oldtext[MAXLINES][TEXTWIDTH], newtext[MAXLINES][TEXTWIDTH]; +static NCURSES_CH_T oldtext[MAXLINES][TEXTWIDTH]; +static NCURSES_CH_T newtext[MAXLINES][TEXTWIDTH]; # define OLDNUM(n) oldnums[n] # define OLDTEXT(n) oldtext[n] # define NEWTEXT(m) newtext[m] @@ -89,7 +90,7 @@ static chtype oldtext[MAXLINES][TEXTWIDTH], newtext[MAXLINES][TEXTWIDTH]; #else /* !HASHDEBUG */ -# define OLDNUM(n) _nc_oldnums[n] +# define OLDNUM(n) SP->_oldnum_list[n] # define OLDTEXT(n) curscr->_line[n].text # define NEWTEXT(m) newscr->_line[m].text # define TEXTWIDTH (curscr->_maxx+1) @@ -130,8 +131,8 @@ update_cost(NCURSES_CH_T * from, NCURSES_CH_T * to) int cost = 0; int i; - for (i = TEXTWIDTH; i > 0; i--) - if (!(CharEq(*from++, *to++))) + for (i = TEXTWIDTH; i > 0; i--, from++, to++) + if (!(CharEq(*from, *to))) cost++; return cost; @@ -147,8 +148,8 @@ update_cost_from_blank(NCURSES_CH_T * to) if (back_color_erase) SetPair(blank, GetPair(stdscr->_nc_bkgd)); - for (i = TEXTWIDTH; i > 0; i--) - if (!(CharEq(blank, *to++))) + for (i = TEXTWIDTH; i > 0; i--, to++) + if (!(CharEq(blank, *to))) cost++; return cost; @@ -446,11 +447,14 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) char line[BUFSIZ], *st; int n; - SP = typeCalloc(SCREEN, 1); + if (setupterm(NULL, fileno(stdout), (int *) 0) == ERR) + return EXIT_FAILURE; + (void) _nc_alloc_screen(); + for (n = 0; n < screen_lines; n++) { reallines[n] = n; oldnums[n] = _NEWINDEX; - oldtext[n][0] = newtext[n][0] = '.'; + CharOf(oldtext[n][0]) = CharOf(newtext[n][0]) = '.'; } if (isatty(fileno(stdin))) @@ -462,7 +466,7 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) for (;;) { /* grab a test command */ if (fgets(line, sizeof(line), stdin) == (char *) NULL) - exit(EXIT_SUCCESS); + break; switch (line[0]) { case '#': /* comment */ @@ -484,22 +488,22 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) case 'n': /* use following letters as text of new lines */ for (n = 0; n < screen_lines; n++) - newtext[n][0] = '.'; + CharOf(newtext[n][0]) = '.'; for (n = 0; n < screen_lines; n++) if (line[n + 1] == '\n') break; else - newtext[n][0] = line[n + 1]; + CharOf(newtext[n][0]) = line[n + 1]; break; case 'o': /* use following letters as text of old lines */ for (n = 0; n < screen_lines; n++) - oldtext[n][0] = '.'; + CharOf(oldtext[n][0]) = '.'; for (n = 0; n < screen_lines; n++) if (line[n + 1] == '\n') break; else - oldtext[n][0] = line[n + 1]; + CharOf(oldtext[n][0]) = line[n + 1]; break; case 'd': /* dump state of test arrays */ @@ -508,12 +512,12 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) #endif (void) fputs("Old lines: [", stdout); for (n = 0; n < screen_lines; n++) - putchar(oldtext[n][0]); + putchar(CharOf(oldtext[n][0])); putchar(']'); putchar('\n'); (void) fputs("New lines: [", stdout); for (n = 0; n < screen_lines; n++) - putchar(newtext[n][0]); + putchar(CharOf(newtext[n][0])); putchar(']'); putchar('\n'); break; @@ -527,12 +531,17 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) _nc_scroll_optimize(); (void) fputs("Done.\n", stderr); break; + default: case '?': usage(); break; } } +#if NO_LEAKS + _nc_free_and_exit(EXIT_SUCCESS); +#else return EXIT_SUCCESS; +#endif } #endif /* HASHDEBUG */ diff --git a/contrib/ncurses/ncurses/tty/lib_mvcur.c b/contrib/ncurses/ncurses/tty/lib_mvcur.c index 4c0ef4a..19984c9 100644 --- a/contrib/ncurses/ncurses/tty/lib_mvcur.c +++ b/contrib/ncurses/ncurses/tty/lib_mvcur.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -155,7 +155,7 @@ #include <term.h> #include <ctype.h> -MODULE_ID("$Id: lib_mvcur.c,v 1.107 2006/11/25 22:31:59 tom Exp $") +MODULE_ID("$Id: lib_mvcur.c,v 1.110 2007/08/11 16:15:57 tom Exp $") #define WANT_CHAR(y, x) SP->_newscr->_line[y].text[x] /* desired state */ #define BAUDRATE cur_term->_baudrate /* bits per second */ @@ -959,6 +959,7 @@ NCURSES_EXPORT_VAR(int) _nc_optimize_enable = OPTIMIZE_ALL; #include <tic.h> #include <dump_entry.h> +#include <time.h> NCURSES_EXPORT_VAR(const char *) _nc_progname = "mvcur"; @@ -1017,7 +1018,7 @@ roll(int n) int main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) { - (void) strcpy(tname, termname()); + strcpy(tname, getenv("TERM")); load_term(); _nc_setupscreen(lines, columns, stdout, FALSE, 0); baudrate(); @@ -1088,7 +1089,7 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) load_term(); } else if (sscanf(buf, "d %s", capname) == 1) { struct name_table_entry const *np = _nc_find_entry(capname, - _nc_info_hash_table); + _nc_get_hash_table(FALSE)); if (np == NULL) (void) printf("No such capability as \"%s\"\n", capname); @@ -1116,7 +1117,7 @@ main(int argc GCC_UNUSED, char *argv[]GCC_UNUSED) } } else if (buf[0] == 'i') { dump_init((char *) NULL, F_TERMINFO, S_TERMINFO, 70, 0, FALSE); - dump_entry(&cur_term->type, FALSE, TRUE, 0, 0, 0); + dump_entry(&cur_term->type, FALSE, TRUE, 0, 0); putchar('\n'); } else if (buf[0] == 'o') { if (_nc_optimize_enable & OPTIMIZE_MVCUR) { diff --git a/contrib/ncurses/ncurses/tty/lib_tstp.c b/contrib/ncurses/ncurses/tty/lib_tstp.c index 4c9f9fb..2a341fa 100644 --- a/contrib/ncurses/ncurses/tty/lib_tstp.c +++ b/contrib/ncurses/ncurses/tty/lib_tstp.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2002,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -46,7 +46,7 @@ #define _POSIX_SOURCE #endif -MODULE_ID("$Id: lib_tstp.c,v 1.32 2006/04/01 19:31:34 tom Exp $") +MODULE_ID("$Id: lib_tstp.c,v 1.36 2007/04/21 19:51:29 tom Exp $") #if defined(SIGTSTP) && (HAVE_SIGACTION || HAVE_SIGVEC) #define USE_SIGTSTP 1 @@ -234,14 +234,12 @@ tstp(int dummy GCC_UNUSED) static void cleanup(int sig) { - static int nested; - /* * Actually, doing any sort of I/O from within an signal handler is * "unsafe". But we'll _try_ to clean up the screen and terminal * settings on the way out. */ - if (!nested++ + if (!_nc_globals.cleanup_nested++ && (sig == SIGINT || sig == SIGQUIT)) { #if HAVE_SIGACTION || HAVE_SIGVEC @@ -277,7 +275,7 @@ cleanup(int sig) static void sigwinch(int sig GCC_UNUSED) { - _nc_handle_sigwinch(-1); + _nc_globals.have_sigwinch = 1; } #endif /* USE_SIGWINCH */ @@ -351,29 +349,27 @@ CatchIfDefault(int sig, RETSIGTYPE (*handler) (int)) NCURSES_EXPORT(void) _nc_signal_handler(bool enable) { - static bool initialized = FALSE; - T((T_CALLED("_nc_signal_handler(%d)"), enable)); #if USE_SIGTSTP /* Xenix 2.x doesn't have SIGTSTP, for example */ { static bool ignore_tstp = FALSE; if (!ignore_tstp) { - static sigaction_t act, oact; + static sigaction_t new_sigaction, old_sigaction; if (!enable) { - act.sa_handler = SIG_IGN; - sigaction(SIGTSTP, &act, &oact); - } else if (act.sa_handler != SIG_DFL) { - sigaction(SIGTSTP, &oact, NULL); - } else if (sigaction(SIGTSTP, NULL, &oact) == 0 - && (oact.sa_handler == SIG_DFL)) { - sigemptyset(&act.sa_mask); + new_sigaction.sa_handler = SIG_IGN; + sigaction(SIGTSTP, &new_sigaction, &old_sigaction); + } else if (new_sigaction.sa_handler != SIG_DFL) { + sigaction(SIGTSTP, &old_sigaction, NULL); + } else if (sigaction(SIGTSTP, NULL, &old_sigaction) == 0 + && (old_sigaction.sa_handler == SIG_DFL)) { + sigemptyset(&new_sigaction.sa_mask); #ifdef SA_RESTART - act.sa_flags |= SA_RESTART; + new_sigaction.sa_flags |= SA_RESTART; #endif /* SA_RESTART */ - act.sa_handler = tstp; - (void) sigaction(SIGTSTP, &act, NULL); + new_sigaction.sa_handler = tstp; + (void) sigaction(SIGTSTP, &new_sigaction, NULL); } else { ignore_tstp = TRUE; } @@ -381,14 +377,14 @@ _nc_signal_handler(bool enable) } #endif /* !USE_SIGTSTP */ - if (!initialized) { + if (!_nc_globals.init_signals) { if (enable) { CatchIfDefault(SIGINT, cleanup); CatchIfDefault(SIGTERM, cleanup); #if USE_SIGWINCH CatchIfDefault(SIGWINCH, sigwinch); #endif - initialized = TRUE; + _nc_globals.init_signals = TRUE; } } returnVoid; diff --git a/contrib/ncurses/ncurses/tty/lib_twait.c b/contrib/ncurses/ncurses/tty/lib_twait.c index 28e503f..1e4546d 100644 --- a/contrib/ncurses/ncurses/tty/lib_twait.c +++ b/contrib/ncurses/ncurses/tty/lib_twait.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2004,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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,6 +29,7 @@ /**************************************************************************** * Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995 * * and: Eric S. Raymond <esr@snark.thyrsus.com> * + * and: Thomas E. Dickey 1996-on * ****************************************************************************/ /* @@ -61,38 +62,42 @@ # endif #endif -MODULE_ID("$Id: lib_twait.c,v 1.51 2006/05/27 21:57:43 tom Exp $") +MODULE_ID("$Id: lib_twait.c,v 1.54 2007/08/11 16:32:48 tom Exp $") + +#if HAVE_GETTIMEOFDAY +# define PRECISE_GETTIME 1 +# define TimeType struct timeval +#else +# define PRECISE_GETTIME 0 +# define TimeType time_t +#endif static long -_nc_gettime(bool first) +_nc_gettime(TimeType * t0, bool first) { long res; -#if HAVE_GETTIMEOFDAY -# define PRECISE_GETTIME 1 - static struct timeval t0; - struct timeval t1; +#if PRECISE_GETTIME + TimeType t1; gettimeofday(&t1, (struct timezone *) 0); if (first) { - t0 = t1; + *t0 = t1; res = 0; } else { /* .tv_sec and .tv_usec are unsigned, be careful when subtracting */ - if (t0.tv_usec > t1.tv_usec) { /* Convert 1s in 1e6 microsecs */ - t1.tv_usec += 1000000; + if (t0->tv_usec > t1.tv_usec) { + t1.tv_usec += 1000000; /* Convert 1s in 1e6 microsecs */ t1.tv_sec--; } - res = (t1.tv_sec - t0.tv_sec) * 1000 - + (t1.tv_usec - t0.tv_usec) / 1000; + res = (t1.tv_sec - t0->tv_sec) * 1000 + + (t1.tv_usec - t0->tv_usec) / 1000; } #else -# define PRECISE_GETTIME 0 - static time_t t0; time_t t1 = time((time_t *) 0); if (first) { - t0 = t1; + *t0 = t1; } - res = (t1 - t0) * 1000; + res = (t1 - *t0) * 1000; #endif TR(TRACE_IEVENT, ("%s time: %ld msec", first ? "get" : "elapsed", res)); return res; @@ -147,7 +152,8 @@ _nc_timed_wait(int mode, { int fd; int count; - int result; + int result = 0; + TimeType t0; #ifdef NCURSES_WGETCH_EVENTS int timeout_is_event = 0; @@ -160,7 +166,7 @@ _nc_timed_wait(int mode, struct pollfd *fds = fd_list; #elif defined(__BEOS__) #elif HAVE_SELECT - static fd_set set; + fd_set set; #endif long starttime, returntime; @@ -180,10 +186,10 @@ _nc_timed_wait(int mode, } #endif -#if PRECISE_GETTIME +#if PRECISE_GETTIME && HAVE_NANOSLEEP retry: #endif - starttime = _nc_gettime(TRUE); + starttime = _nc_gettime(&t0, TRUE); count = 0; @@ -362,7 +368,7 @@ _nc_timed_wait(int mode, #endif /* USE_FUNC_POLL, etc */ - returntime = _nc_gettime(FALSE); + returntime = _nc_gettime(&t0, FALSE); if (milliseconds >= 0) milliseconds -= (returntime - starttime); diff --git a/contrib/ncurses/ncurses/tty/lib_vidattr.c b/contrib/ncurses/ncurses/tty/lib_vidattr.c index dbbbc97..ac2a74f 100644 --- a/contrib/ncurses/ncurses/tty/lib_vidattr.c +++ b/contrib/ncurses/ncurses/tty/lib_vidattr.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -65,7 +65,7 @@ #include <curses.priv.h> #include <term.h> -MODULE_ID("$Id: lib_vidattr.c,v 1.46 2006/01/21 23:39:40 tom Exp $") +MODULE_ID("$Id: lib_vidattr.c,v 1.49 2007/06/30 21:58:04 tom Exp $") #define doPut(mode) TPUTS_TRACE(#mode); tputs(mode, 1, outc) @@ -87,10 +87,11 @@ MODULE_ID("$Id: lib_vidattr.c,v 1.46 2006/01/21 23:39:40 tom Exp $") } \ } +#define PreviousAttr _nc_prescreen.previous_attr + NCURSES_EXPORT(int) vidputs(chtype newmode, int (*outc) (int)) { - static attr_t previous_attr = A_NORMAL; attr_t turn_on, turn_off; int pair; bool reverse = FALSE; @@ -101,18 +102,19 @@ vidputs(chtype newmode, int (*outc) (int)) #define fix_pair0 FALSE #endif + newmode &= A_ATTRIBUTES; T((T_CALLED("vidputs(%s)"), _traceattr(newmode))); /* this allows us to go on whether or not newterm() has been called */ if (SP) - previous_attr = AttrOf(SCREEN_ATTRS(SP)); + PreviousAttr = AttrOf(SCREEN_ATTRS(SP)); - TR(TRACE_ATTRS, ("previous attribute was %s", _traceattr(previous_attr))); + TR(TRACE_ATTRS, ("previous attribute was %s", _traceattr(PreviousAttr))); if ((SP != 0) && (magic_cookie_glitch > 0)) { #if USE_XMC_SUPPORT - static chtype table[] = + static const chtype table[] = { A_STANDOUT, A_UNDERLINE, @@ -183,7 +185,7 @@ vidputs(chtype newmode, int (*outc) (int)) newmode &= ~mask; } - if (newmode == previous_attr) + if (newmode == PreviousAttr) returnCode(OK); pair = PAIR_NUMBER(newmode); @@ -192,17 +194,17 @@ vidputs(chtype newmode, int (*outc) (int)) newmode &= ~A_REVERSE; } - turn_off = (~newmode & previous_attr) & ALL_BUT_COLOR; - turn_on = (newmode & ~previous_attr) & ALL_BUT_COLOR; + turn_off = (~newmode & PreviousAttr) & ALL_BUT_COLOR; + turn_on = (newmode & ~PreviousAttr) & ALL_BUT_COLOR; - SetColorsIf(((pair == 0) && !fix_pair0), previous_attr); + SetColorsIf(((pair == 0) && !fix_pair0), PreviousAttr); if (newmode == A_NORMAL) { - if ((previous_attr & A_ALTCHARSET) && exit_alt_charset_mode) { + if ((PreviousAttr & A_ALTCHARSET) && exit_alt_charset_mode) { doPut(exit_alt_charset_mode); - previous_attr &= ~A_ALTCHARSET; + PreviousAttr &= ~A_ALTCHARSET; } - if (previous_attr) { + if (PreviousAttr) { if (exit_attribute_mode) { doPut(exit_attribute_mode); } else { @@ -213,10 +215,10 @@ vidputs(chtype newmode, int (*outc) (int)) TurnOff(A_STANDOUT, exit_standout_mode); } } - previous_attr &= ALL_BUT_COLOR; + PreviousAttr &= ALL_BUT_COLOR; } - SetColorsIf((pair != 0) || fix_pair0, previous_attr); + SetColorsIf((pair != 0) || fix_pair0, PreviousAttr); } else if (set_attributes) { if (turn_on || turn_off) { TPUTS_TRACE("set_attributes"); @@ -230,9 +232,9 @@ vidputs(chtype newmode, int (*outc) (int)) (newmode & A_INVIS) != 0, (newmode & A_PROTECT) != 0, (newmode & A_ALTCHARSET) != 0), 1, outc); - previous_attr &= ALL_BUT_COLOR; + PreviousAttr &= ALL_BUT_COLOR; } - SetColorsIf((pair != 0) || fix_pair0, previous_attr); + SetColorsIf((pair != 0) || fix_pair0, PreviousAttr); } else { TR(TRACE_ATTRS, ("turning %s off", _traceattr(turn_off))); @@ -250,9 +252,9 @@ vidputs(chtype newmode, int (*outc) (int)) if (turn_off && exit_attribute_mode) { doPut(exit_attribute_mode); turn_on |= (newmode & ALL_BUT_COLOR); - previous_attr &= ALL_BUT_COLOR; + PreviousAttr &= ALL_BUT_COLOR; } - SetColorsIf((pair != 0) || fix_pair0, previous_attr); + SetColorsIf((pair != 0) || fix_pair0, PreviousAttr); TR(TRACE_ATTRS, ("turning %s on", _traceattr(turn_on))); /* *INDENT-OFF* */ @@ -283,7 +285,7 @@ vidputs(chtype newmode, int (*outc) (int)) if (SP) SetAttr(SCREEN_ATTRS(SP), newmode); else - previous_attr = newmode; + PreviousAttr = newmode; returnCode(OK); } diff --git a/contrib/ncurses/ncurses/tty/tty_update.c b/contrib/ncurses/ncurses/tty/tty_update.c index 6926b56..8666813 100644 --- a/contrib/ncurses/ncurses/tty/tty_update.c +++ b/contrib/ncurses/ncurses/tty/tty_update.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -74,7 +74,7 @@ #include <ctype.h> #include <term.h> -MODULE_ID("$Id: tty_update.c,v 1.238 2006/11/25 22:33:21 tom Exp $") +MODULE_ID("$Id: tty_update.c,v 1.243 2007/10/13 20:03:32 tom Exp $") /* * This define controls the line-breakout optimization. Every once in a @@ -289,7 +289,7 @@ PutAttrChar(CARG_CH_T ch) #endif { PUTC(CHDEREF(ch), SP->_ofp); /* macro's fastest... */ - TRACE_OUTCHARS(1); + COUNT_OUTCHARS(1); } SP->_curscol += chlen; if (char_padding) { @@ -624,13 +624,18 @@ doupdate(void) T((T_CALLED("doupdate()"))); + if (curscr == 0 + || newscr == 0) + returnCode(ERR); + #ifdef TRACE - if (_nc_tracing & TRACE_UPDATE) { + if (USE_TRACEF(TRACE_UPDATE)) { if (curscr->_clear) _tracef("curscr is clear"); else _tracedump("curscr", curscr); _tracedump("newscr", newscr); + _nc_unlock_global(tracef); } #endif /* TRACE */ @@ -640,7 +645,7 @@ doupdate(void) SP->_fifohold--; #if USE_SIZECHANGE - if (SP->_endwin || SP->_sig_winch) { + if (SP->_endwin || _nc_handle_sigwinch(FALSE)) { /* * This is a transparent extension: XSI does not address it, * and applications need not know that ncurses can do it. @@ -666,7 +671,7 @@ doupdate(void) } #if USE_TRACE_TIMES /* zero the metering machinery */ - _nc_outchars = 0; + RESET_OUTCHARS(); (void) times(&before); #endif /* USE_TRACE_TIMES */ @@ -826,9 +831,10 @@ doupdate(void) #ifdef TRACE /* show altered highlights after magic-cookie check */ - if (_nc_tracing & TRACE_UPDATE) { + if (USE_TRACEF(TRACE_UPDATE)) { _tracef("After magic-cookie check..."); _tracedump("newscr", newscr); + _nc_unlock_global(tracef); } #endif /* TRACE */ } @@ -836,7 +842,6 @@ doupdate(void) nonempty = 0; if (curscr->_clear || newscr->_clear) { /* force refresh ? */ - TR(TRACE_UPDATE, ("clearing and updating from scratch")); ClrUpdate(); curscr->_clear = FALSE; /* reset flag */ newscr->_clear = FALSE; /* reset flag */ @@ -967,7 +972,7 @@ ClrUpdate(void) NCURSES_CH_T blank = ClrBlank(stdscr); int nonempty = min(screen_lines, newscr->_maxy + 1); - TR(TRACE_UPDATE, ("ClrUpdate() called")); + TR(TRACE_UPDATE, (T_CALLED("ClrUpdate"))); ClearScreen(blank); @@ -977,6 +982,8 @@ ClrUpdate(void) for (i = 0; i < nonempty; i++) TransformLine(i); + + TR(TRACE_UPDATE, (T_RETURN(""))); } /* diff --git a/contrib/ncurses/ncurses/widechar/lib_cchar.c b/contrib/ncurses/ncurses/widechar/lib_cchar.c index b6458ee..b4a0c37 100644 --- a/contrib/ncurses/ncurses/widechar/lib_cchar.c +++ b/contrib/ncurses/ncurses/widechar/lib_cchar.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2001-2004,2005 Free Software Foundation, Inc. * + * Copyright (c) 2001-2005,2007 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 * @@ -35,7 +35,7 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_cchar.c,v 1.11 2005/01/29 21:29:16 tom Exp $") +MODULE_ID("$Id: lib_cchar.c,v 1.12 2007/05/12 19:03:06 tom Exp $") /* * The SuSv2 description leaves some room for interpretation. We'll assume wch @@ -54,8 +54,9 @@ setcchar(cchar_t *wcval, int len; int code = OK; - TR(TRACE_CCALLS, (T_CALLED("setcchar(%p,%s,%ld,%d,%p)"), - wcval, _nc_viswbuf(wch), attrs, color_pair, opts)); + TR(TRACE_CCALLS, (T_CALLED("setcchar(%p,%s,%lu,%d,%p)"), + wcval, _nc_viswbuf(wch), + (unsigned long) attrs, color_pair, opts)); len = wcslen(wch); if (opts != NULL diff --git a/contrib/ncurses/ncurses/widechar/lib_get_wch.c b/contrib/ncurses/ncurses/widechar/lib_get_wch.c index c73c363..7985df2 100644 --- a/contrib/ncurses/ncurses/widechar/lib_get_wch.c +++ b/contrib/ncurses/ncurses/widechar/lib_get_wch.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2002-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 2002-2006,2007 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 * @@ -40,7 +40,7 @@ #include <curses.priv.h> #include <ctype.h> -MODULE_ID("$Id: lib_get_wch.c,v 1.13 2006/06/03 17:27:57 tom Exp $") +MODULE_ID("$Id: lib_get_wch.c,v 1.14 2007/05/12 19:03:16 tom Exp $") #if HAVE_MBTOWC && HAVE_MBLEN #define reset_mbytes(state) mblen(NULL, 0), mbtowc(NULL, NULL, 0) @@ -77,7 +77,7 @@ wget_wch(WINDOW *win, wint_t *result) * _nc_wgetch(), while we want to return a wide character or KEY_xxx code. */ for (;;) { - T(("reading %d of %d", count + 1, sizeof(buffer))); + T(("reading %d of %d", (int) count + 1, (int) sizeof(buffer))); code = _nc_wgetch(win, &value, TRUE EVENTLIST_2nd((_nc_eventlist *) 0)); if (code == ERR) { break; diff --git a/contrib/ncurses/ncurses/widechar/lib_in_wchnstr.c b/contrib/ncurses/ncurses/widechar/lib_in_wchnstr.c index 41ba18c..e9f0646 100644 --- a/contrib/ncurses/ncurses/widechar/lib_in_wchnstr.c +++ b/contrib/ncurses/ncurses/widechar/lib_in_wchnstr.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2002,2004 Free Software Foundation, Inc. * + * Copyright (c) 2002-2004-2007 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 * @@ -27,7 +27,7 @@ ****************************************************************************/ /**************************************************************************** - * Author: Thomas Dickey 2002,2004 * + * Author: Thomas Dickey * ****************************************************************************/ /* @@ -39,27 +39,35 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_in_wchnstr.c,v 1.3 2004/05/16 00:12:30 tom Exp $") +MODULE_ID("$Id: lib_in_wchnstr.c,v 1.7 2007/02/11 01:00:00 tom Exp $") NCURSES_EXPORT(int) -win_wchnstr(WINDOW *win, cchar_t * wchstr, int n) +win_wchnstr(WINDOW *win, cchar_t *wchstr, int n) { int code = OK; - TR(TRACE_CALLS, (T_CALLED("win_wchnstr(%p,%p,%d)"), win, wchstr, n)); + T((T_CALLED("win_wchnstr(%p,%p,%d)"), win, wchstr, n)); if (win != 0 && wchstr != 0) { + NCURSES_CH_T *src; int row, col; - int j; + int j, k, limit; getyx(win, row, col); + limit = getmaxx(win) - col; + src = &(win->_line[row].text[col]); if (n < 0) { - n = getmaxx(win) + 1 - getcurx(win); + n = limit; + } else if (n > limit) { + n = limit; } - for (j = 0; j < n; ++j) { - wchstr[j] = win->_line[row].text[col + j]; + for (j = k = 0; j < n; ++j) { + if (j == 0 || !WidecExt(src[j]) || isWidecBase(src[j])) { + wchstr[k++] = src[j]; + } } + memset(&(wchstr[k]), 0, sizeof(*wchstr)); T(("result = %s", _nc_viscbuf(wchstr, n))); } else { code = ERR; diff --git a/contrib/ncurses/ncurses/widechar/lib_key_name.c b/contrib/ncurses/ncurses/widechar/lib_key_name.c new file mode 100644 index 0000000..e24c965 --- /dev/null +++ b/contrib/ncurses/ncurses/widechar/lib_key_name.c @@ -0,0 +1,62 @@ +/**************************************************************************** + * Copyright (c) 2007 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. * + ****************************************************************************/ + +/* +** lib_key_name.c +** +** The routine key_name(). +** +*/ + +#include <curses.priv.h> + +MODULE_ID("$Id: lib_key_name.c,v 1.2 2007/06/12 21:01:13 tom Exp $") + +NCURSES_EXPORT(NCURSES_CONST char *) +key_name(wchar_t c) +{ + cchar_t my_cchar; + wchar_t *my_wchars; + size_t len; + + /* FIXME: move to _nc_globals */ + static char result[MB_LEN_MAX + 1]; + + memset(&my_cchar, 0, sizeof(my_cchar)); + my_cchar.chars[0] = c; + my_cchar.chars[1] = L'\0'; + + my_wchars = wunctrl(&my_cchar); + len = wcstombs(result, my_wchars, sizeof(result) - 1); + if (isEILSEQ(len) || (len == 0)) { + return "UNKNOWN KEY"; + } + + result[len] = '\0'; + return result; +} diff --git a/contrib/ncurses/ncurses/widechar/lib_unget_wch.c b/contrib/ncurses/ncurses/widechar/lib_unget_wch.c index 62ec89d..b2dc7ff 100644 --- a/contrib/ncurses/ncurses/widechar/lib_unget_wch.c +++ b/contrib/ncurses/ncurses/widechar/lib_unget_wch.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2002-2003,2004 Free Software Foundation, Inc. * + * Copyright (c) 2002-2004,2007 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 * @@ -39,26 +39,30 @@ #include <curses.priv.h> -MODULE_ID("$Id: lib_unget_wch.c,v 1.7 2004/12/05 01:21:31 tom Exp $") +MODULE_ID("$Id: lib_unget_wch.c,v 1.9 2007/11/25 00:57:00 tom Exp $") -#ifdef linux /* - * glibc's wcrtomb() function is broken - does not return the proper value - * when target is null (noted for glibc 2.3.2). This is a workaround. + * Wrapper for wcrtomb() which obtains the length needed for the given + * wide-character 'source'. */ NCURSES_EXPORT(size_t) _nc_wcrtomb(char *target, wchar_t source, mbstate_t * state) { + int result; + if (target == 0) { wchar_t temp[2]; const wchar_t *tempp = temp; temp[0] = source; temp[1] = 0; - return wcsrtombs(NULL, &tempp, 0, state); + result = wcsrtombs(NULL, &tempp, 0, state); + } else { + result = wcrtomb(target, source, state); } - return wcrtomb(target, source, state); + if (!isEILSEQ(result) && (result == 0)) + result = 1; + return result; } -#endif NCURSES_EXPORT(int) unget_wch(const wchar_t wch) diff --git a/contrib/ncurses/ncurses/widechar/lib_vid_attr.c b/contrib/ncurses/ncurses/widechar/lib_vid_attr.c index 2ba16b5..1dc679e 100644 --- a/contrib/ncurses/ncurses/widechar/lib_vid_attr.c +++ b/contrib/ncurses/ncurses/widechar/lib_vid_attr.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2002-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 2002-2006,2007 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 * @@ -33,7 +33,7 @@ #include <curses.priv.h> #include <term.h> -MODULE_ID("$Id: lib_vid_attr.c,v 1.4 2006/11/26 00:26:00 tom Exp $") +MODULE_ID("$Id: lib_vid_attr.c,v 1.5 2007/06/30 22:03:02 tom Exp $") #define doPut(mode) TPUTS_TRACE(#mode); tputs(mode, 1, outc) @@ -72,6 +72,7 @@ vid_puts(attr_t newmode, short pair, void *opts GCC_UNUSED, int (*outc) (int)) #define fix_pair0 FALSE #endif + newmode &= A_ATTRIBUTES; T((T_CALLED("vid_puts(%s,%d)"), _traceattr(newmode), pair)); /* this allows us to go on whether or not newterm() has been called */ diff --git a/contrib/ncurses/ncurses/widechar/lib_wunctrl.c b/contrib/ncurses/ncurses/widechar/lib_wunctrl.c index cd7c56ca..be2259a 100644 --- a/contrib/ncurses/ncurses/widechar/lib_wunctrl.c +++ b/contrib/ncurses/ncurses/widechar/lib_wunctrl.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 2001-2003,2005 Free Software Foundation, Inc. * + * Copyright (c) 2001-2005,2007 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 * @@ -35,23 +35,21 @@ #include <curses.priv.h> -#if USE_WIDEC_SUPPORT - -MODULE_ID("$Id: lib_wunctrl.c,v 1.8 2005/04/16 18:10:44 tom Exp $") +MODULE_ID("$Id: lib_wunctrl.c,v 1.12 2007/06/12 20:22:32 tom Exp $") NCURSES_EXPORT(wchar_t *) wunctrl(cchar_t *wc) { - static wchar_t str[5], *sp; + static wchar_t str[CCHARW_MAX + 1], *sp; if (Charable(*wc)) { const char *p = unctrl((unsigned) _nc_to_char((wint_t) CharOf(*wc))); - for (sp = str; *p;) - *sp++ = _nc_to_widechar(*p++); + for (sp = str; *p; ++p) { + *sp++ = _nc_to_widechar(*p); + } + *sp = 0; return str; } else return wc->chars; } - -#endif diff --git a/contrib/ncurses/panel/Makefile.in b/contrib/ncurses/panel/Makefile.in index b3174df..89dbeea 100644 --- a/contrib/ncurses/panel/Makefile.in +++ b/contrib/ncurses/panel/Makefile.in @@ -1,6 +1,6 @@ -# $Id: Makefile.in,v 1.47 2006/10/14 20:40:36 tom Exp $ +# $Id: Makefile.in,v 1.52 2007/04/28 14:56:11 tom Exp $ ############################################################################## -# Copyright (c) 1998-2003,2006 Free Software Foundation, Inc. # +# Copyright (c) 1998-2006,2007 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"), # @@ -27,7 +27,7 @@ # authorization. # ############################################################################## # -# Author: Thomas E. Dickey 1996-2002 +# Author: Thomas E. Dickey 1996-on # # Makefile for panels source code. # @@ -92,7 +92,7 @@ CFLAGS_SHARED = $(CCFLAGS) @CC_SHARED_OPTS@ CFLAGS_DEFAULT = $(CFLAGS_@DFT_UPR_MODEL@) -LINK = $(LIBTOOL_LINK) $(CC) +LINK = $(LIBTOOL_LINK) LDFLAGS = @LDFLAGS@ @LD_MODEL@ @LIBS@ SHLIB_DIRS = -L../lib @@ -107,8 +107,6 @@ ABI_VERSION = @cf_cv_abi_version@ RANLIB = @LIB_PREP@ -IMPORT_LIB = @IMPORT_LIB@ -SHARED_LIB = @SHARED_LIB@ LIBRARIES = @LIBS_TO_MAKE@ LINT = @LINT@ @@ -127,7 +125,7 @@ sources: $(AUTO_SRC) $(DESTDIR)$(bindir) \ $(DESTDIR)$(libdir) : - sh $(srcdir)/../mkinstalldirs $@ + sh $(srcdir)/../mkdirs.sh $@ # make a copy to simplify include-paths while still keeping panel's include # file in this directory. diff --git a/contrib/ncurses/panel/headers b/contrib/ncurses/panel/headers index fa0164c..8719ea1 100644 --- a/contrib/ncurses/panel/headers +++ b/contrib/ncurses/panel/headers @@ -1,5 +1,5 @@ ############################################################################## -# Copyright (c) 1998 Free Software Foundation, Inc. # +# Copyright (c) 1998,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"), # @@ -29,3 +29,4 @@ # Author: Thomas E. Dickey <dickey@clark.net> 1996 # $(srcdir)/panel.h +# vile:makemode diff --git a/contrib/ncurses/panel/modules b/contrib/ncurses/panel/modules index ed51d2c..d0f7a79 100644 --- a/contrib/ncurses/panel/modules +++ b/contrib/ncurses/panel/modules @@ -1,5 +1,6 @@ +# $Id: modules,v 1.9 2006/12/24 00:53:17 tom Exp $ ############################################################################## -# Copyright (c) 1998 Free Software Foundation, Inc. # +# Copyright (c) 1998,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"), # @@ -26,7 +27,7 @@ # authorization. # ############################################################################## # -# Author: Thomas E. Dickey <dickey@clark.net> 1995,1997 +# Author: Thomas E. Dickey 1995-on # @ base @@ -47,3 +48,4 @@ p_update lib $(srcdir) $(PANEL_PRIV_H) p_user lib $(srcdir) $(PANEL_PRIV_H) p_win lib $(srcdir) $(PANEL_PRIV_H) +# vile:makemode diff --git a/contrib/ncurses/progs/Makefile.in b/contrib/ncurses/progs/Makefile.in index 820e0b4..38f4e74 100644 --- a/contrib/ncurses/progs/Makefile.in +++ b/contrib/ncurses/progs/Makefile.in @@ -1,6 +1,6 @@ -# $Id: Makefile.in,v 1.70 2006/12/17 15:55:48 tom Exp $ +# $Id: Makefile.in,v 1.77 2007/10/13 22:25:53 tom Exp $ ############################################################################## -# Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. # +# Copyright (c) 1998-2006,2007 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"), # @@ -98,9 +98,8 @@ ABI_VERSION = @cf_cv_abi_version@ LOCAL_LIBDIR = @top_builddir@/lib LD = @LD@ -LINK = @LINK_PROGS@ $(LIBTOOL_LINK) $(CC) -LDFLAGS = @EXTRA_LDFLAGS@ \ - @TINFO_ARGS@ @LDFLAGS@ @LD_MODEL@ @LIBS@ +LINK = @LINK_PROGS@ $(LIBTOOL_LINK) +LDFLAGS = @EXTRA_LDFLAGS@ @LDFLAGS@ LDFLAGS_LIBTOOL = $(LDFLAGS) $(CFLAGS_LIBTOOL) LDFLAGS_NORMAL = $(LDFLAGS) $(CFLAGS_NORMAL) @@ -110,6 +109,12 @@ LDFLAGS_SHARED = $(LDFLAGS) $(CFLAGS_SHARED) @LD_SHARED_OPTS@ LDFLAGS_DEFAULT = $(LDFLAGS_@DFT_UPR_MODEL@) +LIBS_TIC = @LDFLAGS_STATIC@ @TICS_ARGS@ @TINFO_ARGS@ @LDFLAGS_SHARED@ @LD_MODEL@ @LIBS@ +LDFLAGS_TIC = $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_TIC) + +LIBS_TINFO = @LDFLAGS_STATIC@ @TINFO_ARGS@ @LDFLAGS_SHARED@ @LD_MODEL@ @LIBS@ +LDFLAGS_TINFO = $(LDFLAGS_@DFT_UPR_MODEL@) $(LIBS_TINFO) + LINT = @LINT@ LINT_OPTS = @LINT_OPTS@ LINT_LIBS = -lncurses @LIBS@ @@ -200,7 +205,7 @@ uninstall.progs: -@rm -f $(DESTDIR)$(bindir)/$(actual_reset) $(DESTDIR)$(bindir) : - sh $(srcdir)/../mkinstalldirs $@ + sh $(srcdir)/../mkdirs.sh $@ # # Utilities normally built by make all start here @@ -211,40 +216,38 @@ DEPS_TIC = \ $(MODEL)/dump_entry$o tic$x: $(DEPS_TIC) $(DEPS_CURSES) transform.h - @ECHO_LINK@ $(LINK) $(DEPS_TIC) $(LDFLAGS_DEFAULT) -o $@ + @ECHO_LINK@ $(LINK) $(DEPS_TIC) $(LDFLAGS_TIC) -o $@ DEPS_TOE = \ - $(MODEL)/toe$o \ - $(MODEL)/dump_entry$o + $(MODEL)/toe$o toe$x: $(DEPS_TOE) $(DEPS_CURSES) - @ECHO_LINK@ $(LINK) $(DEPS_TOE) $(LDFLAGS_DEFAULT) -o $@ + @ECHO_LINK@ $(LINK) $(DEPS_TOE) $(LDFLAGS_TIC) -o $@ DEPS_CLEAR = \ $(MODEL)/clear$o clear$x: $(DEPS_CLEAR) $(DEPS_CURSES) - @ECHO_LINK@ $(LINK) $(DEPS_CLEAR) $(LDFLAGS_DEFAULT) -o $@ + @ECHO_LINK@ $(LINK) $(DEPS_CLEAR) $(LDFLAGS_TINFO) -o $@ DEPS_TPUT = \ $(MODEL)/tput$o tput$x: $(DEPS_TPUT) $(DEPS_CURSES) transform.h - @ECHO_LINK@ $(LINK) $(DEPS_TPUT) $(LDFLAGS_DEFAULT) -o $@ + @ECHO_LINK@ $(LINK) $(DEPS_TPUT) $(LDFLAGS_TINFO) -o $@ DEPS_INFOCMP = \ $(MODEL)/infocmp$o \ $(MODEL)/dump_entry$o infocmp$x: $(DEPS_INFOCMP) $(DEPS_CURSES) - @ECHO_LINK@ $(LINK) $(DEPS_INFOCMP) $(LDFLAGS_DEFAULT) -o $@ + @ECHO_LINK@ $(LINK) $(DEPS_INFOCMP) $(LDFLAGS_TIC) -o $@ DEPS_TSET = \ - $(MODEL)/tset$o \ - $(MODEL)/dump_entry$o + $(MODEL)/tset$o tset$x: $(DEPS_TSET) $(DEPS_CURSES) transform.h - @ECHO_LINK@ $(LINK) $(DEPS_TSET) $(LDFLAGS_DEFAULT) -o $@ + @ECHO_LINK@ $(LINK) $(DEPS_TSET) $(LDFLAGS_TINFO) -o $@ termsort.c: $(srcdir)/MKtermsort.sh sh $(srcdir)/MKtermsort.sh $(AWK) $(srcdir)/../include/@TERMINFO_CAPS@ >$@ diff --git a/contrib/ncurses/progs/clear.c b/contrib/ncurses/progs/clear.c index 4e4aaa9..9f5a543 100644 --- a/contrib/ncurses/progs/clear.c +++ b/contrib/ncurses/progs/clear.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -36,9 +36,10 @@ * clear.c -- clears the terminal's screen */ +#define USE_LIBTINFO #include <progs.priv.h> -MODULE_ID("$Id: clear.c,v 1.10 2006/05/20 17:47:47 tom Exp $") +MODULE_ID("$Id: clear.c,v 1.11 2007/10/13 22:16:02 tom Exp $") static int putch(int c) diff --git a/contrib/ncurses/progs/dump_entry.c b/contrib/ncurses/progs/dump_entry.c index 0a3cb38..6320f3c 100644 --- a/contrib/ncurses/progs/dump_entry.c +++ b/contrib/ncurses/progs/dump_entry.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -39,7 +39,7 @@ #include "termsort.c" /* this C file is generated */ #include <parametrized.h> /* so is this */ -MODULE_ID("$Id: dump_entry.c,v 1.79 2006/09/30 20:18:15 tom Exp $") +MODULE_ID("$Id: dump_entry.c,v 1.81 2007/08/25 20:05:35 tom Exp $") #define INDENT 8 #define DISCARD(string) string = ABSENT_STRING @@ -352,14 +352,17 @@ version_filter(PredType type, PredIdx idx) } break; +#define is_termcap(type) (idx < (int) sizeof(type##_from_termcap) && \ + type##_from_termcap[idx]) + case V_BSD: /* BSD */ switch (type) { case BOOLEAN: - return bool_from_termcap[idx]; + return is_termcap(bool); case NUMBER: - return num_from_termcap[idx]; + return is_termcap(num); case STRING: - return str_from_termcap[idx]; + return is_termcap(str); } break; } @@ -788,11 +791,11 @@ fmt_entry(TERMTYPE *tterm, * Much more work should be done on this to support dumping termcaps. */ if (tversion == V_HPUX) { - if (memory_lock) { + if (VALID_STRING(memory_lock)) { (void) sprintf(buffer, "meml=%s", memory_lock); WRAP_CONCAT; } - if (memory_unlock) { + if (VALID_STRING(memory_unlock)) { (void) sprintf(buffer, "memu=%s", memory_unlock); WRAP_CONCAT; } @@ -1223,7 +1226,7 @@ repair_acsc(TERMTYPE *tp) bool fix_needed = FALSE; for (n = 0, source = 0; acs_chars[n] != 0; n++) { - target = acs_chars[n]; + target = UChar(acs_chars[n]); if (source >= target) { fix_needed = TRUE; break; @@ -1235,7 +1238,7 @@ repair_acsc(TERMTYPE *tp) if (fix_needed) { memset(mapped, 0, sizeof(mapped)); for (n = 0; acs_chars[n] != 0; n++) { - source = acs_chars[n]; + source = UChar(acs_chars[n]); if ((target = (unsigned char) acs_chars[n + 1]) != 0) { mapped[source] = target; n++; diff --git a/contrib/ncurses/progs/infocmp.c b/contrib/ncurses/progs/infocmp.c index d3353f2..9b74ba0 100644 --- a/contrib/ncurses/progs/infocmp.c +++ b/contrib/ncurses/progs/infocmp.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -35,18 +35,18 @@ /* * infocmp.c -- decompile an entry, or compare two entries * written by Eric S. Raymond + * and Thomas E Dickey */ #include <progs.priv.h> #include <dump_entry.h> -MODULE_ID("$Id: infocmp.c,v 1.85 2006/08/19 21:20:37 tom Exp $") +MODULE_ID("$Id: infocmp.c,v 1.94 2007/11/17 23:34:26 tom Exp $") #define L_CURL "{" #define R_CURL "}" -#define MAXTERMS 32 /* max # terminal arguments we can handle */ #define MAX_STRING 1024 /* maximum formatted string */ const char *_nc_progname = "infocmp"; @@ -60,8 +60,7 @@ typedef char path[PATH_MAX]; * ***************************************************************************/ -static char *tname[MAXTERMS]; /* terminal type names */ -static ENTRY entries[MAXTERMS]; /* terminfo entries */ +static ENTRY *entries; /* terminfo entries */ static int termcount; /* count of terminal entries */ static bool limited = TRUE; /* "-r" option is not set */ @@ -96,7 +95,8 @@ ExitProgram(int code) while (termcount-- > 0) _nc_free_termtype(&entries[termcount].tterm); _nc_leaks_dump_entry(); - _nc_free_and_exit(code); + free(entries); + _nc_free_tic(code); } #endif @@ -932,7 +932,8 @@ file_comparison(int argc, char *argv[]) case C_DIFFERENCE: if (itrace) (void) fprintf(stderr, - "infocmp: dumping differences\n"); + "%s: dumping differences\n", + _nc_progname); (void) printf("comparing %s to %s.\n", name1, name2); compare_entry(compare_predicate, &entries->tterm, quiet); break; @@ -940,7 +941,8 @@ file_comparison(int argc, char *argv[]) case C_COMMON: if (itrace) (void) fprintf(stderr, - "infocmp: dumping common capabilities\n"); + "%s: dumping common capabilities\n", + _nc_progname); (void) printf("comparing %s to %s.\n", name1, name2); compare_entry(compare_predicate, &entries->tterm, quiet); break; @@ -948,7 +950,8 @@ file_comparison(int argc, char *argv[]) case C_NAND: if (itrace) (void) fprintf(stderr, - "infocmp: dumping differences\n"); + "%s: dumping differences\n", + _nc_progname); (void) printf("comparing %s to %s.\n", name1, name2); compare_entry(compare_predicate, &entries->tterm, quiet); break; @@ -1083,7 +1086,6 @@ dump_initializers(TERMTYPE *term) } *tp++ = '"'; *tp = '\0'; - size += (strlen(term->Strings[n]) + 1); (void) printf("static char %-20s[] = %s;\n", string_variable(ExtStrname(term, n, strnames)), buf); } @@ -1237,7 +1239,8 @@ terminal_env(void) if ((terminal = getenv("TERM")) == 0) { (void) fprintf(stderr, - "infocmp: environment variable TERM not set\n"); + "%s: environment variable TERM not set\n", + _nc_progname); exit(EXIT_FAILURE); } return terminal; @@ -1252,10 +1255,15 @@ terminal_env(void) int main(int argc, char *argv[]) { - char *firstdir, *restdir; /* Avoid "local data >32k" error with mwcc */ /* Also avoid overflowing smaller stacks on systems like AmigaOS */ - path *tfile = (path *) malloc(sizeof(path) * MAXTERMS); + path *tfile = 0; + char **tname = 0; + int maxterms; + + char **myargv; + + char *firstdir, *restdir; int c, i, len; bool formatted = FALSE; bool filecompare = FALSE; @@ -1270,9 +1278,16 @@ main(int argc, char *argv[]) use_extended_names(FALSE); #endif + _nc_progname = _nc_rootname(argv[0]); + + /* make sure we have enough space to add two terminal entries */ + myargv = typeCalloc(char *, argc + 3); + memcpy(myargv, argv, sizeof(char *) * argc); + argv = myargv; + while ((c = getopt(argc, argv, - "1A:aB:CcdEeFfGgIiLlnpqR:rs:TtUuVv:w:x")) != EOF) { + "1A:aB:CcdEeFfGgIiLlnpqR:rs:TtUuVv:w:x")) != -1) { switch (c) { case '1': mwidth = 0; @@ -1373,7 +1388,6 @@ main(int argc, char *argv[]) case 'r': tversion = 0; - limited = FALSE; break; case 's': @@ -1387,7 +1401,8 @@ main(int argc, char *argv[]) sortmode = S_TERMCAP; else { (void) fprintf(stderr, - "infocmp: unknown sort mode\n"); + "%s: unknown sort mode\n", + _nc_progname); ExitProgram(EXIT_FAILURE); } break; @@ -1435,6 +1450,18 @@ main(int argc, char *argv[]) } } + maxterms = (argc + 1 - optind); + tfile = typeMalloc(path, maxterms); + tname = typeCalloc(char *, maxterms); + entries = typeCalloc(ENTRY, maxterms); + + if (tfile == 0 + || tname == 0 + || entries == 0) { + fprintf(stderr, "%s: not enough memory\n", _nc_progname); + ExitProgram(EXIT_FAILURE); + } + /* by default, sort by terminfo name */ if (sortmode == S_DEFAULT) sortmode = S_TERMINFO; @@ -1458,53 +1485,56 @@ main(int argc, char *argv[]) /* grab the entries */ termcount = 0; for (; optind < argc; optind++) { - if (termcount >= MAXTERMS) { - (void) fprintf(stderr, - "infocmp: too many terminal type arguments\n"); - ExitProgram(EXIT_FAILURE); - } else { - const char *directory = termcount ? restdir : firstdir; - int status; + const char *directory = termcount ? restdir : firstdir; + int status; - tname[termcount] = argv[optind]; + tname[termcount] = argv[optind]; - if (directory) { + if (directory) { #if USE_DATABASE - (void) sprintf(tfile[termcount], "%s/%c/%s", - directory, - *argv[optind], argv[optind]); - if (itrace) - (void) fprintf(stderr, - "infocmp: reading entry %s from file %s\n", - argv[optind], tfile[termcount]); - - status = _nc_read_file_entry(tfile[termcount], - &entries[termcount].tterm); +#if MIXEDCASE_FILENAMES +#define LEAF_FMT "%c" #else - (void) fprintf(stderr, "terminfo files not supported\n"); - ExitProgram(EXIT_FAILURE); +#define LEAF_FMT "%02x" #endif - } else { - if (itrace) - (void) fprintf(stderr, - "infocmp: reading entry %s from database\n", - tname[termcount]); - - status = _nc_read_entry(tname[termcount], - tfile[termcount], - &entries[termcount].tterm); - directory = TERMINFO; /* for error message */ - } + (void) sprintf(tfile[termcount], "%s/" LEAF_FMT "/%s", + directory, + UChar(*argv[optind]), argv[optind]); + if (itrace) + (void) fprintf(stderr, + "%s: reading entry %s from file %s\n", + _nc_progname, + argv[optind], tfile[termcount]); - if (status <= 0) { + status = _nc_read_file_entry(tfile[termcount], + &entries[termcount].tterm); +#else + (void) fprintf(stderr, "%s: terminfo files not supported\n", + _nc_progname); + ExitProgram(EXIT_FAILURE); +#endif + } else { + if (itrace) (void) fprintf(stderr, - "infocmp: couldn't open terminfo file %s.\n", - tfile[termcount]); - ExitProgram(EXIT_FAILURE); - } - repair_acsc(&entries[termcount].tterm); - termcount++; + "%s: reading entry %s from database\n", + _nc_progname, + tname[termcount]); + + status = _nc_read_entry(tname[termcount], + tfile[termcount], + &entries[termcount].tterm); + directory = TERMINFO; /* for error message */ + } + + if (status <= 0) { + (void) fprintf(stderr, + "%s: couldn't open terminfo file %s.\n", + _nc_progname, + tfile[termcount]); + ExitProgram(EXIT_FAILURE); } + repair_acsc(&entries[termcount].tterm); + termcount++; } #if NCURSES_XNAMES @@ -1542,7 +1572,8 @@ main(int argc, char *argv[]) case C_DEFAULT: if (itrace) (void) fprintf(stderr, - "infocmp: about to dump %s\n", + "%s: about to dump %s\n", + _nc_progname, tname[0]); (void) printf("#\tReconstructed via infocmp from file: %s\n", tfile[0]); @@ -1553,12 +1584,12 @@ main(int argc, char *argv[]) NULL); len = show_entry(); if (itrace) - (void) fprintf(stderr, "infocmp: length %d\n", len); + (void) fprintf(stderr, "%s: length %d\n", _nc_progname, len); break; case C_DIFFERENCE: if (itrace) - (void) fprintf(stderr, "infocmp: dumping differences\n"); + (void) fprintf(stderr, "%s: dumping differences\n", _nc_progname); (void) printf("comparing %s to %s.\n", tname[0], tname[1]); compare_entry(compare_predicate, &entries->tterm, quiet); break; @@ -1566,7 +1597,8 @@ main(int argc, char *argv[]) case C_COMMON: if (itrace) (void) fprintf(stderr, - "infocmp: dumping common capabilities\n"); + "%s: dumping common capabilities\n", + _nc_progname); (void) printf("comparing %s to %s.\n", tname[0], tname[1]); compare_entry(compare_predicate, &entries->tterm, quiet); break; @@ -1574,14 +1606,15 @@ main(int argc, char *argv[]) case C_NAND: if (itrace) (void) fprintf(stderr, - "infocmp: dumping differences\n"); + "%s: dumping differences\n", + _nc_progname); (void) printf("comparing %s to %s.\n", tname[0], tname[1]); compare_entry(compare_predicate, &entries->tterm, quiet); break; case C_USEALL: if (itrace) - (void) fprintf(stderr, "infocmp: dumping use entry\n"); + (void) fprintf(stderr, "%s: dumping use entry\n", _nc_progname); dump_entry(&entries[0].tterm, suppress_untranslatable, limited, @@ -1592,7 +1625,7 @@ main(int argc, char *argv[]) || outform == F_TCONVERR)); len = show_entry(); if (itrace) - (void) fprintf(stderr, "infocmp: length %d\n", len); + (void) fprintf(stderr, "%s: length %d\n", _nc_progname, len); break; } } @@ -1606,7 +1639,11 @@ main(int argc, char *argv[]) else file_comparison(argc - optind, argv + optind); +#if NO_LEAKS + free(myargv); free(tfile); + free(tname); +#endif ExitProgram(EXIT_SUCCESS); } diff --git a/contrib/ncurses/progs/modules b/contrib/ncurses/progs/modules index f822464..3b4f3b6 100644 --- a/contrib/ncurses/progs/modules +++ b/contrib/ncurses/progs/modules @@ -1,7 +1,7 @@ -# $Id: modules,v 1.12 2005/09/25 00:54:22 tom Exp $ +# $Id: modules,v 1.13 2006/12/24 00:53:21 tom Exp $ # Program modules (some are in ncurses lib!) ############################################################################## -# Copyright (c) 1998-2000,2005 Free Software Foundation, Inc. # +# 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"), # @@ -28,7 +28,7 @@ # authorization. # ############################################################################## # -# Author: Thomas E. Dickey <dickey@clark.net> 1995,1997 +# Author: Thomas E. Dickey 1995-on # @ base @@ -39,3 +39,5 @@ dump_entry progs $(srcdir) $(HEADER_DEPS) $(srcdir)/dump_entry.h .. infocmp progs $(srcdir) $(HEADER_DEPS) $(srcdir)/dump_entry.h tput progs $(srcdir) $(HEADER_DEPS) transform.h termsort.c tset progs $(srcdir) $(HEADER_DEPS) transform.h $(srcdir)/dump_entry.h ../include/termcap.h + +# vile:makemode diff --git a/contrib/ncurses/progs/progs.priv.h b/contrib/ncurses/progs/progs.priv.h index eaa4c80..d445c33 100644 --- a/contrib/ncurses/progs/progs.priv.h +++ b/contrib/ncurses/progs/progs.priv.h @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -30,7 +30,7 @@ * Author: Thomas E. Dickey 1997-on * ****************************************************************************/ /* - * $Id: progs.priv.h,v 1.30 2006/11/26 00:28:01 tom Exp $ + * $Id: progs.priv.h,v 1.33 2007/10/13 20:33:53 tom Exp $ * * progs.priv.h * @@ -110,7 +110,16 @@ extern int optind; #include <term_entry.h> #include <tic.h> #include <nc_tparm.h> + #include <nc_alloc.h> +#if HAVE_NC_FREEALL +#undef ExitProgram +#ifdef USE_LIBTINFO +#define ExitProgram(code) _nc_free_tinfo(code) +#else +#define ExitProgram(code) _nc_free_tic(code) +#endif +#endif /* usually in <unistd.h> */ #ifndef STDOUT_FILENO diff --git a/contrib/ncurses/progs/tic.c b/contrib/ncurses/progs/tic.c index 1b03f38..8478102 100644 --- a/contrib/ncurses/progs/tic.c +++ b/contrib/ncurses/progs/tic.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -44,7 +44,7 @@ #include <dump_entry.h> #include <transform.h> -MODULE_ID("$Id: tic.c,v 1.131 2006/12/02 22:13:17 tom Exp $") +MODULE_ID("$Id: tic.c,v 1.133 2007/07/21 17:45:59 tom Exp $") const char *_nc_progname = "tic"; @@ -353,11 +353,24 @@ open_input(const char *filename) return fp; } +#if NO_LEAKS +static void +free_namelist(char **src) +{ + if (src != 0) { + int n; + for (n = 0; src[n] != 0; ++n) + free(src[n]); + free(src); + } +} +#endif + /* Parse the "-e" option-value into a list of names */ -static const char ** +static char ** make_namelist(char *src) { - const char **dst = 0; + char **dst = 0; char *s, *base; unsigned pass, n, nn; @@ -374,11 +387,13 @@ make_namelist(char *src) if ((s = stripped(buffer)) != 0) { if (dst != 0) dst[nn] = s; + else + free(s); nn++; } } if (pass == 1) { - dst = typeCalloc(const char *, nn + 1); + dst = typeCalloc(char *, nn + 1); rewind(fp); } } @@ -401,10 +416,10 @@ make_namelist(char *src) break; } if (pass == 1) - dst = typeCalloc(const char *, nn + 1); + dst = typeCalloc(char *, nn + 1); } } - if (showsummary) { + if (showsummary && (dst != 0)) { fprintf(log_fp, "Entries that will be compiled:\n"); for (n = 0; dst[n] != 0; n++) fprintf(log_fp, "%u:%s\n", n + 1, dst[n]); @@ -413,7 +428,7 @@ make_namelist(char *src) } static bool -matches(const char **needle, const char *haystack) +matches(char **needle, const char *haystack) /* does entry in needle list match |-separated field in haystack? */ { bool code = FALSE; @@ -468,7 +483,7 @@ main(int argc, char *argv[]) bool limited = TRUE; char *tversion = (char *) NULL; const char *source_file = "terminfo"; - const char **namelst = 0; + char **namelst = 0; char *outdir = (char *) NULL; bool check_only = FALSE; bool suppress_untranslatable = FALSE; @@ -495,7 +510,7 @@ main(int argc, char *argv[]) * be optional. */ while ((this_opt = getopt(argc, argv, - "0123456789CILNR:TUVace:fGgo:rstvwx")) != EOF) { + "0123456789CILNR:TUVace:fGgo:rstvwx")) != -1) { if (isdigit(this_opt)) { switch (last_opt) { case 'v': @@ -784,6 +799,9 @@ main(int argc, char *argv[]) else fprintf(log_fp, "No entries written\n"); } +#if NO_LEAKS + free_namelist(namelst); +#endif cleanup(); ExitProgram(EXIT_SUCCESS); } diff --git a/contrib/ncurses/progs/toe.c b/contrib/ncurses/progs/toe.c index 9c0de79..6bcff07 100644 --- a/contrib/ncurses/progs/toe.c +++ b/contrib/ncurses/progs/toe.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -40,13 +40,11 @@ #include <sys/stat.h> -#include <dump_entry.h> - #if USE_HASHED_DB #include <hashed_db.h> #endif -MODULE_ID("$Id: toe.c,v 1.41 2006/08/19 18:18:09 tom Exp $") +MODULE_ID("$Id: toe.c,v 1.46 2007/10/13 22:26:38 tom Exp $") #define isDotname(name) (!strcmp(name, ".") || !strcmp(name, "..")) @@ -59,8 +57,7 @@ static void ExitProgram(int code) { _nc_free_entries(_nc_head); - _nc_leaks_dump_entry(); - _nc_free_and_exit(code); + _nc_free_tic(code); } #endif @@ -326,7 +323,7 @@ main(int argc, char *argv[]) _nc_progname = _nc_rootname(argv[0]); - while ((this_opt = getopt(argc, argv, "0123456789ahuvUV")) != EOF) { + while ((this_opt = getopt(argc, argv, "0123456789ahuvUV")) != -1) { /* handle optional parameter */ if (isdigit(this_opt)) { switch (last_opt) { diff --git a/contrib/ncurses/progs/tput.c b/contrib/ncurses/progs/tput.c index 47e4c20..8745cc9 100644 --- a/contrib/ncurses/progs/tput.c +++ b/contrib/ncurses/progs/tput.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -38,6 +38,7 @@ * Ross Ridge's mytinfo package. */ +#define USE_LIBTINFO #include <progs.priv.h> #if !PURE_TERMINFO @@ -45,7 +46,7 @@ #endif #include <transform.h> -MODULE_ID("$Id: tput.c,v 1.38 2006/11/26 00:27:47 tom Exp $") +MODULE_ID("$Id: tput.c,v 1.41 2007/10/13 20:34:16 tom Exp $") #define PUTS(s) fputs(s, stdout) #define PUTCHAR(c) putchar(c) @@ -325,6 +326,7 @@ tput(int argc, char *argv[]) case Num_Str_Str: s = TPARM_3(s, numbers[1], strings[2], strings[3]); break; + case Numbers: default: (void) _nc_tparm_analyze(s, p_is_s, &popcount); #define myParam(n) (p_is_s[n - 1] != 0 ? ((long) strings[n]) : numbers[n]) @@ -363,7 +365,7 @@ main(int argc, char **argv) term = getenv("TERM"); - while ((c = getopt(argc, argv, "ST:V")) != EOF) { + while ((c = getopt(argc, argv, "ST:V")) != -1) { switch (c) { case 'S': cmdline = FALSE; diff --git a/contrib/ncurses/progs/tset.c b/contrib/ncurses/progs/tset.c index 6ce3f50..3d60912 100644 --- a/contrib/ncurses/progs/tset.c +++ b/contrib/ncurses/progs/tset.c @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2005,2006 Free Software Foundation, Inc. * + * Copyright (c) 1998-2006,2007 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 * @@ -73,6 +73,7 @@ * SUCH DAMAGE. */ +#define USE_LIBTINFO #define __INTERNAL_CAPS_VISIBLE /* we need to see has_hardware_tabs */ #include <progs.priv.h> @@ -103,7 +104,7 @@ char *ttyname(int fd); #include <dump_entry.h> #include <transform.h> -MODULE_ID("$Id: tset.c,v 1.67 2006/09/16 17:51:10 tom Exp $") +MODULE_ID("$Id: tset.c,v 1.70 2007/10/13 22:22:04 tom Exp $") extern char **environ; @@ -777,7 +778,22 @@ reset_mode(void) | OFDEL #endif #ifdef NLDLY - | NLDLY | CRDLY | TABDLY | BSDLY | VTDLY | FFDLY + | NLDLY +#endif +#ifdef CRDLY + | CRDLY +#endif +#ifdef TABDLY + | TABDLY +#endif +#ifdef BSDLY + | BSDLY +#endif +#ifdef VTDLY + | VTDLY +#endif +#ifdef FFDLY + | FFDLY #endif ); @@ -1129,7 +1145,7 @@ main(int argc, char **argv) obsolete(argv); noinit = noset = quiet = Sflag = sflag = showterm = 0; - while ((ch = getopt(argc, argv, "a:cd:e:Ii:k:m:np:qQSrsVw")) != EOF) { + while ((ch = getopt(argc, argv, "a:cd:e:Ii:k:m:np:qQSrsVw")) != -1) { switch (ch) { case 'c': /* set control-chars */ opt_c = TRUE; |