ncurses 5.9 - patch 20111224
[ncurses.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 167b228075b3f53988566020d14f16eeffcc7c09..c7dd3278c26717171a189f9e9dcac1cdbb911f1b 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: INSTALL,v 1.153 2011/03/05 19:09:48 tom Exp $
+-- $Id: INSTALL,v 1.160 2011/10/15 23:32:49 tom Exp $
 ---------------------------------------------------------------------
              How to install Ncurses/Terminfo on your system
 ---------------------------------------------------------------------
@@ -407,13 +407,14 @@ SUMMARY OF CONFIGURE OPTIONS:
 
     --disable-tic-depends
        When building shared libraries, normally the tic library is linked to
-       depend upon the ncurses library (and in turn, on the term-library if
-       the --with-termlib option was given).  The tic- and term-libraries
-       ABI does not depend on the --enable-widec option. Some packagers have
-       used this to reduce the number of library files which are packaged
-       by using only one copy of those libraries.  To make this work properly,
+       depend upon the ncurses library (or equivalently, on the tinfo-library
+       if the --with-termlib option was given).  The tic- and tinfo-library
+       ABIs do not depend on the --enable-widec option.  Some packagers have
+       used this to reduce the number of library files which are packaged by
+       using only one copy of those libraries.  To make this work properly,
        the tic library must be built without an explicit dependency on the
-       ncurses (or ncursesw) library.  Use this configure option to do that.
+       underlying library (ncurses vs ncursesw, tinfo vs tinfow).  Use this
+       configure option to do that.
        For example
                configure --with-ticlib --with-shared --disable-tic-depends
 
@@ -433,7 +434,7 @@ SUMMARY OF CONFIGURE OPTIONS:
        changes several data references to functions to work around this
        problem.
 
-       NOTE:  With ncurses 5.1, this may not be necessary, since we are
+       NOTE: With ncurses 5.1, this may not be necessary, since we are
        told that some linkers interpret uninitialized global data as a
        different type of reference which behaves as described above.  We have
        explicitly initialized all of the global data to work around the
@@ -462,7 +463,7 @@ SUMMARY OF CONFIGURE OPTIONS:
        warning.  There will still be warnings due to subtle inconsistencies
        in the interface, but at a lower level.
 
-       NOTE:  configuring ncurses with this option may detract from the
+       NOTE: configuring ncurses with this option may detract from the
        portability of your applications by encouraging you to use const in
        places where the XSI curses interface would not allow them.  Similar
        issues arise when porting to SVr4 curses, which uses const in even
@@ -483,7 +484,7 @@ SUMMARY OF CONFIGURE OPTIONS:
        encoded.  This applies only to the wide-character (--enable-widec)
        configuration.
 
-       NOTE:  using this option will make libraries which are not binary-
+       NOTE: using this option will make libraries which are not binary-
        compatible with libncursesw 5.4.  None of the interfaces change, but
        applications which have an array of cchar_t's must be recompiled.
 
@@ -492,7 +493,7 @@ SUMMARY OF CONFIGURE OPTIONS:
        That allows one to use ncurses with a wheel mouse with xterm or
        similar X terminal emulators.
 
-       NOTE:  using this option will make libraries which are not binary-
+       NOTE: using this option will make libraries which are not binary-
        compatible with libncursesw 5.4.  None of the interfaces change, but
        applications which have mouse mask mmask_t's must be recompiled.
 
@@ -512,7 +513,7 @@ SUMMARY OF CONFIGURE OPTIONS:
     --enable-getcap-cache
        Cache translated termcaps under the directory $HOME/.terminfo
 
-       NOTE:  this sounds good - it makes ncurses run faster the second time.
+       NOTE: this sounds good - it makes ncurses run faster the second time.
        But look where the data comes from - an /etc/termcap containing lots of
        entries that are not up to date.  If you configure with this option and
        forget to install the terminfo database before running an ncurses
@@ -616,6 +617,12 @@ SUMMARY OF CONFIGURE OPTIONS:
        match is found in the terminfo database.  See also the --enable-getcap
        and --enable-getcap-cache options.
 
+       Termcap support requires run-time parsing rather than loading
+       predigested data.  If you have specified --with-ticlib, then you
+       cannot have termcap support since run-time parsing is done in the
+       tic library, which is intentionally not part of normal linkage
+       dependencies.
+
     --enable-warnings
        Turn on GCC compiler warnings.  There should be only a few.
 
@@ -668,6 +675,10 @@ SUMMARY OF CONFIGURE OPTIONS:
     --with-ada-sharedlib
        Build a shared library for Ada95 binding, if the compiler permits.
 
+       NOTE: You must also set the --with-shared option on some platforms
+       for a successful build.  You need not use this option when you set
+       --with-shared, unless you want to use the Ada shared library.
+
     --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
@@ -817,7 +828,7 @@ SUMMARY OF CONFIGURE OPTIONS:
                make install DESTDIR=XXX
        since the makefiles pass that variable to subordinate makes.
 
-       NOTE:  a few systems build shared libraries with fixed pathnames; this
+       NOTE: a few systems build shared libraries with fixed pathnames; this
        option probably will not work for those configurations.
 
      --with-libtool[=XXX]
@@ -900,6 +911,10 @@ SUMMARY OF CONFIGURE OPTIONS:
     --with-pkg-config=[DIR]
        Check for pkg-config, optionally specifying its path.
 
+    --with-pkg-config-libdir=[DIR]
+       If pkg-config was found, override the automatic check for its library
+       path.
+
     --with-profile
        Generate profile-libraries These are named by adding "_p" to the root,
        e.g., libncurses_p.a
@@ -923,7 +938,7 @@ SUMMARY OF CONFIGURE OPTIONS:
        which you are building, typically using a ".so" suffix, along with
        symbolic links that refer to the release version.
 
-       NOTE:  Unless you override the configure script by setting the $CFLAGS
+       NOTE: Unless you override the configure script by setting the $CFLAGS
        environment variable, these will not be built with the -g debugging
        option.
 
@@ -937,6 +952,10 @@ SUMMARY OF CONFIGURE OPTIONS:
        $LD_LIBRARY_PATH to point to the build tree, e.g.,
                ./misc/shlib make install
 
+       NOTE: If you use the --with-ada-sharedlib option, you should also
+       set this option, to ensure that C-language modules needed for the
+       Ada binding use appropriate compiler options.
+
     --with-shlib-version=XXX
        Specify whether to use the release or ABI version for shared libraries.
        This is normally chosen automatically based on the type of system
@@ -1016,6 +1035,8 @@ SUMMARY OF CONFIGURE OPTIONS:
        install as "ncurses.h" and modify the installed headers and manpages
        accordingly.
 
+       Likewise, do not install an alias "curses" for the ncurses manpage.
+
     --without-cxx
        XSI curses declares "bool" as part of the interface.  C++ also declares
        "bool".  Neither specifies the size and type of booleans, but both
@@ -1718,20 +1739,37 @@ CONFIGURING FALLBACK ENTRIES:
        By default, there are no entries on the fallback list.  After you have
        built the ncurses suite for the first time, you can change the list
        (the process needs infocmp(1)).  To do so, use the script
-       ncurses/tinfo/MKfallback.sh.  A configure script option
+       ncurses/tinfo/MKfallback.sh.  The configure script option
        --with-fallbacks does this (it accepts a comma-separated list of the
        names you wish, and does not require a rebuild).
 
        If you wanted (say) to have linux, vt100, and xterm fallbacks, you
-       would use the commands
+       might use the commands
 
                cd ncurses;
-               tinfo/MKfallback.sh linux vt100 xterm >fallback.c
+               tinfo/MKfallback.sh \
+                       $TERMINFO \
+                       ../misc/terminfo.src \
+                       `which tic` \
+                       linux vt100 xterm >fallback.c
+
+       The first three parameters of the script are normally supplied by
+       the configured makefiles via the "--with-fallbacks" option.  They
+       are
+
+               1) the location of the terminfo database
+               2) the source for the terminfo entries
+               3) the location of the tic program, used to create a terminfo
+                  database.
 
        Then just rebuild and reinstall the library as you would normally.
        You can restore the default empty fallback list with
 
-               tinfo/MKfallback.sh >fallback.c
+               tinfo/MKfallback.sh \
+                       $TERMINFO \
+                       ../misc/terminfo.src \
+                       `which tic` \
+                       >fallback.c
 
        The overhead for an empty fallback list is one trivial stub function.
        Any non-empty fallback list is const-ed and therefore lives in sharable