]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - INSTALL
ncurses 5.4
[ncurses.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index a1c56ebbe0dbea634de9716b18d153bbedeccdc4..8743d4941cff1b6a14b5d153d6c0aa2ce69b6668 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,4 +1,4 @@
--- $Id: INSTALL,v 1.56 2002/09/01 22:42:11 tom Exp $
+-- $Id: INSTALL,v 1.71 2004/02/07 21:06:05 tom Exp $
 ---------------------------------------------------------------------
              How to install Ncurses/Terminfo on your system
 ---------------------------------------------------------------------
 ---------------------------------------------------------------------
              How to install Ncurses/Terminfo on your system
 ---------------------------------------------------------------------
@@ -168,6 +168,11 @@ INSTALLATION PROCEDURE:
     databases are SVr4-compatible, but most seem to be.  Exceptions include
     DEC's Digital Unix (formerly known as OSF/1).
 
     databases are SVr4-compatible, but most seem to be.  Exceptions include
     DEC's Digital Unix (formerly known as OSF/1).
 
+    If you run the test programs WITHOUT installing terminfo, ncurses may
+    read the termcap file and cache that in $HOME/.terminfo, which will
+    thereafter be used instead of the terminfo database.  See the comments
+    on "--enable-getcap-cache", to see why this is a Bad Thing.
+
     It is possible to configure ncurses to use other terminfo database formats.
     A few are provided as examples in the include-directory (see --with-caps).
 
     It is possible to configure ncurses to use other terminfo database formats.
     A few are provided as examples in the include-directory (see --with-caps).
 
@@ -283,6 +288,12 @@ SUMMARY OF CONFIGURE OPTIONS:
        Compile without hashmap scrolling-optimization code.  This algorithm is
        the default.
 
        Compile without hashmap scrolling-optimization code.  This algorithm is
        the default.
 
+    --disable-home-terminfo
+       The $HOME/.terminfo directory is normally added to ncurses' search
+       list for reading/writing terminfo entries, since that directory is
+       more likely writable than the system terminfo database.  Use this
+       option to disable the feature altogether.
+
     --disable-leaks
        For testing, compile-in code that frees memory that normally would not
        be freed, to simplify analysis of memory-leaks.
     --disable-leaks
        For testing, compile-in code that frees memory that normally would not
        be freed, to simplify analysis of memory-leaks.
@@ -312,10 +323,6 @@ SUMMARY OF CONFIGURE OPTIONS:
        Compile without scroll-hints code.  This option is ignored when
        hashmap scrolling is configured, which is the default.
 
        Compile without scroll-hints code.  This option is ignored when
        hashmap scrolling is configured, which is the default.
 
-    --enable-add-ons=DIR...
-       This is used to check if this package is a glibc add-on.  This is used
-       only by the glibc makefiles.
-
     --enable-assertions
        For testing, compile-in assertion code.  This is used only for a few
        places where ncurses cannot easily recover by returning an error code.
     --enable-assertions
        For testing, compile-in assertion code.  This is used only for a few
        places where ncurses cannot easily recover by returning an error code.
@@ -454,6 +461,11 @@ SUMMARY OF CONFIGURE OPTIONS:
     --enable-xmc-glitch
        Compile-in support experimental xmc (magic cookie) code.
 
     --enable-xmc-glitch
        Compile-in support experimental xmc (magic cookie) code.
 
+    --with-abi-version=NUM
+       Override the ABI version, which is used in shared library filenames.
+       Normally this is the same as the release version; some ports have
+       special requirements for compatibility.
+
     --with-ada-compiler=CMD
        Specify the Ada95 compiler command (default "gnatmake")
 
     --with-ada-compiler=CMD
        Specify the Ada95 compiler command (default "gnatmake")
 
@@ -472,7 +484,7 @@ SUMMARY OF CONFIGURE OPTIONS:
 
     --with-build-cc=XXX
        If cross-compiling, specify a host C compiler, which is needed to
 
     --with-build-cc=XXX
        If cross-compiling, specify a host C compiler, which is needed to
-       compile a few utilties which generate source modules for ncurses.
+       compile a few utilities which generate source modules for ncurses.
        If you do not give this option, the configure script checks if the
        $BUILD_CC variable is set, and otherwise defaults to gcc or cc.
 
        If you do not give this option, the configure script checks if the
        $BUILD_CC variable is set, and otherwise defaults to gcc or cc.
 
@@ -482,7 +494,7 @@ SUMMARY OF CONFIGURE OPTIONS:
        host compiler.
 
     --with-build-cppflags=XXX
        host compiler.
 
     --with-build-cppflags=XXX
-       If cross-compiling, specify the host C preprocesor-flags.  You might
+       If cross-compiling, specify the host C preprocessor-flags.  You might
        need to do this if the target compiler has unusual flags which confuse
        the host compiler.
 
        need to do this if the target compiler has unusual flags which confuse
        the host compiler.
 
@@ -544,9 +556,25 @@ SUMMARY OF CONFIGURE OPTIONS:
        NOTE:  a few systems build shared libraries with fixed pathnames; this
        option probably will not work for those configurations.
 
        NOTE:  a few systems build shared libraries with fixed pathnames; this
        option probably will not work for those configurations.
 
-     --with-libtool
-       Generate libraries with libtool.  If this option is selected, then
-       it overrides all other library model specifications.
+     --with-libtool[=XXX]
+       Generate libraries with libtool.  If this option is selected, then it
+       overrides all other library model specifications.  Note that libtool
+       must already be installed, uses makefile rules dependent on GNU make,
+       and does not promise to follow the version numbering convention of
+       other shared libraries on your system.  However, if the --with-shared
+       option does not succeed, you may get better results with this option.
+
+       If a parameter value is given, it must be the full pathname of the
+       particular version of libtool, e.g.,
+               /usr/bin/libtool-1.2.3
+
+    --with-manpage-aliases
+       Tell the configure script you wish to create entries in the
+       man-directory for aliases to manpages which list them, e.g., the
+       functions in the panel manpage.  This is the default.  You can disable
+       it if your man program does this.  You can also disable
+       --with-manpage-symlinks to install files containing a ".so" command
+       rather than symbolic links.
 
     --with-manpage-format=XXX
        Tell the configure script how you would like to install man-pages.  The
 
     --with-manpage-format=XXX
        Tell the configure script how you would like to install man-pages.  The
@@ -595,6 +623,12 @@ SUMMARY OF CONFIGURE OPTIONS:
     --with-rcs-ids
        Compile-in RCS identifiers.  Most of the C files have an identifier.
 
     --with-rcs-ids
        Compile-in RCS identifiers.  Most of the C files have an identifier.
 
+    --with-rel-version=NUM
+       Override the release version, which may be used in shared library
+       filenames.  This consists of a major and minor version number separated
+       by ".".  Normally the major version number is the same as the ABI
+       version; some ports have special requirements for compatibility.
+
     --with-shared
        Generate shared-libraries.  The names given depend on the system for
        which you are building, typically using a ".so" suffix, along with
     --with-shared
        Generate shared-libraries.  The names given depend on the system for
        which you are building, typically using a ".so" suffix, along with
@@ -609,6 +643,9 @@ SUMMARY OF CONFIGURE OPTIONS:
        This is normally chosen automatically based on the type of system
        which you are building on.  We use it for testing the configure script.
 
        This is normally chosen automatically based on the type of system
        which you are building on.  We use it for testing the configure script.
 
+    --with-sysmouse
+       use FreeBSD sysmouse interface provide mouse support on the console.
+
     --with-system-type=XXX
        For testing, override the derived host system-type which is used to
        decide things such as the linker commands used to build shared
     --with-system-type=XXX
        For testing, override the derived host system-type which is used to
        decide things such as the linker commands used to build shared
@@ -630,6 +667,10 @@ 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)
 
        Specify a search-list of termcap files which will be compiled into the
        ncurses library (default:  /etc/termcap:/usr/share/misc/termcap)
 
+    --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.
+
     --without-ada
        Suppress the configure script's check for Ada95, do not build the
        Ada95 binding and related demo.
     --without-ada
        Suppress the configure script's check for Ada95, do not build the
        Ada95 binding and related demo.
@@ -673,7 +714,53 @@ COMPATIBILITY WITH OLDER VERSIONS OF NCURSES:
     you may encounter when building a system with different versions of
     ncurses:
 
     you may encounter when building a system with different versions of
     ncurses:
 
-    5.3 (pre-release)
+    5.4 (February 8, 2004)
+       Interface changes:
+
+       + add the remaining functions for X/Open curses wide-character support. 
+         These are only available if the library is configured using the
+         --enable-widec option.
+               pecho_wchar()
+               slk_wset()
+
+       + write getyx() and related 2-return macros in terms of getcury(),
+         getcurx(), etc.
+
+       + simplify ifdef for bool declaration in curses.h
+
+       + modify ifdef's in curses.h that disabled use of __attribute__() for
+         g++, since recent versions implement the cases which ncurses uses.
+
+       + change some interfaces to use const:
+               define_key()
+               mvprintw()
+               mvwprintw()
+               printw()
+               vw_printw()
+               winsnstr()
+               wprintw()
+
+       Added extensions:
+               key_defined()
+       Added internal functions:
+               _nc_get_locale()
+               _nc_insert_ch()
+               _nc_is_charable()       wide
+               _nc_locale_breaks_acs()
+               _nc_pathlast()
+               _nc_to_char()           wide
+               _nc_to_widechar()       wide
+               _nc_tparm_analyze()
+               _nc_trace_bufcat()      debug
+               _nc_unicode_locale()
+       Removed internal functions:
+               _nc_outstr()
+               _nc_sigaction()
+       Modified internal functions:
+               _nc_remove_string()
+               _nc_retrace_chtype()
+
+    5.3 (October 12, 2002)
        Interface changes:
 
        + change type for bool used in headers to NCURSES_BOOL, which usually
        Interface changes:
 
        + change type for bool used in headers to NCURSES_BOOL, which usually
@@ -693,9 +780,13 @@ COMPATIBILITY WITH OLDER VERSIONS OF NCURSES:
                resize_term()
        Added internal functions:
                _nc_altcharset_name()   debug
                resize_term()
        Added internal functions:
                _nc_altcharset_name()   debug
+               _nc_reset_colors()
+               _nc_retrace_bool()      debug
+               _nc_retrace_unsigned()  debug
                _nc_rootname()
                _nc_trace_ttymode()     debug
                _nc_varargs()           debug
                _nc_rootname()
                _nc_trace_ttymode()     debug
                _nc_varargs()           debug
+               _nc_visbufn()           debug
                _nc_wgetch()
        Removed internal functions:
                _nc_background()
                _nc_wgetch()
        Removed internal functions:
                _nc_background()
@@ -895,31 +986,34 @@ COMPATIBILITY WITH OLDER VERSIONS OF NCURSES:
 IF YOU ARE A SYSTEM INTEGRATOR:
 ------------------------------
 
 IF YOU ARE A SYSTEM INTEGRATOR:
 ------------------------------
 
-    Beginning with 1.9.9, the ncurses distribution includes both a tset
-    utility and /usr/share/tabset directory.  If you are installing ncurses,
-    it is no longer either necessary or desirable to install tset-jv.
-
     Configuration and Installation:
 
     Configuration and Installation:
 
-       Configure with --prefix=/usr to make the install productions put
-       libraries and headers in the correct locations (overwriting any
-       previous curses libraries and headers).  This will put the terminfo
-       hierarchy under /usr/share/terminfo; you may want to override this with
-       --datadir=/usr/share/misc; terminfo and tabset are installed under the
-       data directory.
-
-       Please configure the ncurses library in a pure-terminfo mode; that
-       is, with the --disable-termcap option.   This will make the ncurses
-       library smaller and faster. The ncurses library includes a termcap
-       emulation that queries the terminfo database, so even applications
-       that use raw termcap to query terminal characteristics will win
-       (providing you recompile and relink them!).
-
-       If you must configure with termcap fallback enabled, you may also
-       wish to use the --enable-getcap option.  This option speeds up
-       termcap-based startups, at the expense of not allowing personal
-       termcap entries to reference the terminfo tree.  See the code in
-       ncurses/tinfo/read_termcap.c for details.
+       On platforms where ncurses is assumed to be installed in /usr/lib,
+       the configure script uses "/usr" as a default:
+
+               Linux, FreeBSD, NetBSD, OpenBSD, Cygwin
+
+       For other platforms, the default is "/usr/local".  See the discussion
+       of the "--disable-overwrite" option.
+
+       The location of the terminfo is set indirectly by the "--datadir"
+       configure option, e.g., /usr/share/terminfo, given a datadir of
+       /usr/share.  You may want to override this if you are installing
+       ncurses libraries in nonstandard locations, but wish to share the
+       terminfo database.
+
+       Normally the ncurses library is configured in a pure-terminfo mode;
+       that is, with the --disable-termcap option.  This makes the ncurses
+       library smaller and faster.  The ncurses library includes a termcap
+       emulation that queries the terminfo database, so even applications that
+       use raw termcap to query terminal characteristics will win (providing
+       you recompile and relink them!).
+
+       If you must configure with termcap fallback enabled, you may also wish
+       to use the --enable-getcap option.  This speeds up termcap-based
+       startups, at the expense of not allowing personal termcap entries to
+       reference the terminfo tree.  See comments in
+       ncurses/tinfo/read_termcap.c for further details.
 
        Note that if you have $TERMCAP set, ncurses will use that value
        to locate termcap data.  In particular, running from xterm will
 
        Note that if you have $TERMCAP set, ncurses will use that value
        to locate termcap data.  In particular, running from xterm will
@@ -939,11 +1033,11 @@ IF YOU ARE A SYSTEM INTEGRATOR:
 
     Naming the Console Terminal
 
 
     Naming the Console Terminal
 
-       In various Linuxes (and possibly elsewhere) there has been a practice
-       of designating the system console driver type as `console'.  Please
-       do not do this any more!  It complicates peoples' lives, because it
-       can mean that several different terminfo entries from different
-       operating systems all logically want to be called `console'.
+       In various systems there has been a practice of designating the system
+       console driver type as `console'.  Please do not do this!  It
+       complicates peoples' lives, because it can mean that several different
+       terminfo entries from different operating systems all logically want to
+       be called `console'.
 
        Please pick a name unique to your console driver and set that up
        in the /etc/inittab table or local equivalent.  Send the entry to the
 
        Please pick a name unique to your console driver and set that up
        in the /etc/inittab table or local equivalent.  Send the entry to the