]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - INSTALL
ncurses 5.3
[ncurses.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 26d57374f47e23509e7c1ccda8e55ceb606f283e..a1c56ebbe0dbea634de9716b18d153bbedeccdc4 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,4 +1,4 @@
--- $Id: INSTALL,v 1.46 2000/10/14 17:57:02 Johnny.C.Lam Exp $
+-- $Id: INSTALL,v 1.56 2002/09/01 22:42:11 tom Exp $
 ---------------------------------------------------------------------
              How to install Ncurses/Terminfo on your system
 ---------------------------------------------------------------------
@@ -47,7 +47,7 @@ REQUIREMENTS:
 
 You will need the following in order to build and install ncurses under UNIX:
 
-       * ANSI C compiler  (gcc is recommended)
+       * ANSI C compiler  (gcc, for instance)
        * sh               (bash will do)
        * awk              (mawk or gawk will do)
        * sed
@@ -106,6 +106,16 @@ INSTALLATION PROCEDURE:
 
        libncurses.la (libtool)
 
+    If you configure using the --enable-widec option, a "w" is appended to the
+    library names (e.g., libncursesw.a), and the resulting libraries support
+    wide-characters, e.g., via a UTF-8 locale.  The corresponding header files
+    are compatible with the non-wide-character configuration; wide-character
+    features are provided by ifdef's in the header files.  The wide-character
+    library interfaces are not binary-compatible with the non-wide-character
+    version.  Building and running the wide-character code relies on a fairly
+    recent implementation of libiconv.  We have built this configuration on
+    Linux using libiconv, sometimes requiring libutf8.
+
     If you do not specify any models, the normal and debug libraries will be
     configured.  Typing `configure' with no arguments is equivalent to:
 
@@ -158,6 +168,9 @@ INSTALLATION PROCEDURE:
     databases are SVr4-compatible, but most seem to be.  Exceptions include
     DEC's Digital Unix (formerly known as OSF/1).
 
+    It is possible to configure ncurses to use other terminfo database formats.
+    A few are provided as examples in the include-directory (see --with-caps).
+
     The ncurses program is designed specifically to test the ncurses library.
     You can use it to verify that the screen highlights work correctly, that
     cursor addressing and window scrolling works OK, etc.
@@ -189,14 +202,14 @@ INSTALLATION PROCEDURE:
     with tbl(1) by specifying the configure option --with-manpage-tbl.
 
     If the system already has a curses library that you need to keep using
-    for some bizarre binary-compatibility reason, you'll need to distinguish
-    between it and ncurses. If ncurses is installed outside the standard
-    directories (/usr/include and /usr/lib) then all your users will need
-    to use the -I option to compile programs and -L to link them.
+    you'll need to distinguish between it and ncurses.  See the discussion of
+    --disable-overwrite.  If ncurses is installed outside the standard
+    directories (/usr/include and /usr/lib) then all your users will need to
+    use the -I option to compile programs and -L to link them.
 
-    If you have BSD curses installed in your system and you accidentally
+    If you have another curses installed in your system and you accidentally
     compile using its curses.h you'll end up with a large number of
-    undefined symbols at link time. _waddbytes is one of them.
+    undefined symbols at link time.
 
     IF YOU DO NOT HAVE ROOT: Change directory to the `progs' subdirectory
     and run the `capconvert' script.  This script will deduce various things
@@ -221,26 +234,6 @@ INSTALLATION PROCEDURE:
     which may be supported by C++.  IF YOU USE THIS OPTION, BE ADVISED THAT
     YOU MAY NOT BE ABLE TO COMPILE (OR RUN) NCURSES APPLICATIONS WITH C++.
 
-7.  If you're running an older Linux, you must either (a) tell Linux that the
-    console terminal type is `linux' or (b) make a link to or copy of the
-    linux entry in the appropriate place under your terminfo directory, named
-    `console'.  All 1.3 and many 1.2 distributions (including Yggdrasil and
-    Red Hat) already have the console type set to `linux'.
-
-    The way to change the wired-in console type depends on the configuration
-    of your system. This may involve editing /etc/inittab, /etc/ttytype,
-    /etc/profile and other such files.
-
-    Warning: this is not for the fainthearted, if you mess up your console
-    getty entries you can make your system unusable!  However, if you are
-    a distribution maker, this is the right thing to do (see the note for
-    integrators near the end of this file).
-
-    The easier way is to link or copy l/linux to c/console under your terminfo
-    directory.  Note: this will go away next time you do `make install.data'
-    and you'll have to redo it. There is no need to have entries for all
-    possible screen sizes, ncurses will figure out the size automatically.
-
 
 SUMMARY OF CONFIGURE OPTIONS:
 ----------------------------
@@ -277,7 +270,9 @@ SUMMARY OF CONFIGURE OPTIONS:
        Use only built-in data.  The ncurses libraries normally read terminfo
        and termcap data from disk.  You can configure ncurses to have a
        built-in database, aka "fallback" entries.  Embedded applications may
-       have no need for an external database.
+       have no need for an external database.  Some, but not all of the
+       programs are useful in this configuration, e.g., reset and tput versus
+       infocmp and tic.
 
     --disable-ext-funcs
        Disable function-extensions.  Configure ncurses without the functions
@@ -444,13 +439,18 @@ SUMMARY OF CONFIGURE OPTIONS:
     --enable-widec
        Compile with experimental wide-character code.  This makes a different
        version of the libraries (e.g., libncursesw.so), which stores
-       characters in 16-bits.  We provide a simple UTF-8 driver and test
-       program to use this feature with terminals that can display UTF-8.
+       characters as wide-characters,
 
        NOTE: applications compiled with this configuration are not compatible
        with those built for 8-bit characters.  You cannot simply make a
        symbolic link to equate libncurses.so with libncursesw.so
 
+       NOTE: the Ada95 binding may be built against either version of the the
+       ncurses library, but you must decide which:  the binding installs the
+       same set of files for either version.  Currently (2002/6/22) it does
+       not use the extended features from the wide-character code, so it is
+       probably better to not install the binding for that configuration.
+
     --enable-xmc-glitch
        Compile-in support experimental xmc (magic cookie) code.
 
@@ -464,6 +464,46 @@ SUMMARY OF CONFIGURE OPTIONS:
     --with-ada-objects=DIR
        Tell where to install the Ada objects (default:  PREFIX/lib/ada/adalib)
 
+    --with-bool=TYPE
+       If --without-cxx is specified, override the type used for the "bool"
+       declared in curses.h (normally the type is automatically chosen to
+       correspond with that in <stdbool.h>, or defaults to platform-specific
+       sizes).
+
+    --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.
+       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.
+
+    --with-build-cflags=XXX
+       If cross-compiling, specify the host C compiler-flags.  You might need
+       to do this if the target compiler has unusual flags which confuse the
+       host compiler.
+
+    --with-build-cppflags=XXX
+       If cross-compiling, specify the host C preprocesor-flags.  You might
+       need to do this if the target compiler has unusual flags which confuse
+       the host compiler.
+
+    --with-build-ldflags=XXX
+       If cross-compiling, specify the host linker-flags.  You might need to
+       do this if the target linker has unusual flags which confuse the host
+       compiler.
+
+    --with-build-libs=XXX
+       If cross-compiling, the host libraries.  You might need to do this if
+       the target environment requires unusual libraries.
+
+    --with-caps=XXX
+       Specify an alternate terminfo capabilities file, which makes the
+       configure script look for "include/Caps.XXX".  A few systems, e.g.,
+       AIX 4.x use the same overall file-format as ncurses for terminfo
+       data, but use different alignments within the tables to support
+       legacy applications.  For those systems, you can configure ncurses
+       to use a terminfo database which is compatible with the native
+       applications.
+
     --with-database=XXX
        Specify the terminfo source file to install.  Usually you will wish
        to install ncurses' default (misc/terminfo.src).  Certain systems
@@ -532,6 +572,19 @@ SUMMARY OF CONFIGURE OPTIONS:
        by running them through tbl to generate tables understandable by
        nroff.
 
+    --with-ospeed=TYPE
+       Override type of ospeed variable, which is part of the termcap
+       compatibility interface.  In termcap, this is a 'short', which works
+       for a wide range of baudrates because ospeed is not the actual speed
+       but the encoded value, e.g., B9600 would be a small number such as 13. 
+       However the encoding scheme originally allowed for values "only" up to
+       38400bd.  A newer set of definitions past 38400bd is not encoded as
+       compactly, and is not guaranteed to fit into a short (see the function
+       cfgetospeed(), which returns a speed_t for this reason).  In practice,
+       applications that required knowledge of the ospeed variable, i.e.,
+       those using termcap, do not use the higher speeds.  Your application
+       (or system, in general) may or may not.
+
     --with-normal
        Generate normal (i.e., static) libraries (default).
 
@@ -573,6 +626,10 @@ SUMMARY OF CONFIGURE OPTIONS:
        (libtinfo).  This is done to accommodate applications that use only
        the latter.  The terminfo library is about half the size of the total.
 
+    --with-termpath=XXX
+       Specify a search-list of termcap files which will be compiled into the
+       ncurses library (default:  /etc/termcap:/usr/share/misc/termcap)
+
     --without-ada
        Suppress the configure script's check for Ada95, do not build the
        Ada95 binding and related demo.
@@ -616,6 +673,41 @@ COMPATIBILITY WITH OLDER VERSIONS OF NCURSES:
     you may encounter when building a system with different versions of
     ncurses:
 
+    5.3 (pre-release)
+       Interface changes:
+
+       + change type for bool used in headers to NCURSES_BOOL, which usually
+         is the same as the compiler's definition for 'bool'.
+
+       + add all but two functions for X/Open curses wide-character support.
+         These are only available if the library is configured using the
+         --enable-widec option.  Missing functions are
+               pecho_wchar()
+               slk_wset()
+
+       + add environment variable $NCURSES_ASSUMED_COLORS to modify the
+         assume_default_colors() extension.
+
+       Added extensions:
+               is_term_resized()
+               resize_term()
+       Added internal functions:
+               _nc_altcharset_name()   debug
+               _nc_rootname()
+               _nc_trace_ttymode()     debug
+               _nc_varargs()           debug
+               _nc_wgetch()
+       Removed internal functions:
+               _nc_background()
+       Modified internal functions:
+               _nc_freeall()           debug
+
+    5.2 (October 21, 2000)
+       Interface changes:
+
+       + revert termcap ospeed variable to 'short' (see discussion of the
+         --with-ospeed configure option).
+
     5.1 (July 8, 2000)
        Interface changes: