]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - INSTALL
ncurses 5.9 - patch 20141115
[ncurses.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 36c0bbcb24c51d79b4c0a9b7debcab1bba45c398..ef6d7d6b235281505a53e39e46f335bc40b13e3a 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.172 2014/06/21 18:53:42 tom Exp $
+-- $Id: INSTALL,v 1.178 2014/11/16 00:03:32 tom Exp $
 ---------------------------------------------------------------------
              How to install Ncurses/Terminfo on your system
 ---------------------------------------------------------------------
@@ -352,6 +352,10 @@ SUMMARY OF CONFIGURE OPTIONS:
        Use --disable-libtool-version to use the libtool -version-info feature.
        This corresponds to the setting used before patch 20100515.
 
+       Starting with patch 20141115, using this option causes the configure
+       script to apply the top-level VERSION file to the ABI version used
+       for libtool.
+
     --disable-leaks
        For testing, compile-in code that frees memory that normally would not
        be freed, to simplify analysis of memory-leaks.
@@ -390,6 +394,37 @@ SUMMARY OF CONFIGURE OPTIONS:
        rather than the include directory.  This makes it simpler to avoid
        compile-time conflicts with other versions of curses.h
 
+       Putting the header files into a subdirectory assumes that applications
+       will follow the (standard) practice of including the headers with
+       reference to the subdirectory name.  For instance, the normal ncurses
+       header would be included using
+
+               #include <ncurses/curses.h>
+               #include <ncurses/term.h>
+
+       while the ncursesw headers would be found this way:
+
+               #include <ncursesw/curses.h>
+               #include <ncursesw/term.h>
+
+       In either case (with or without the --disable-overwrite option),
+       almost all applications are designed to include a related set of
+       curses header files from the same directory.
+
+       Manipulating the --includedir configure option to put header files
+       directly in a subdirectory of the normal include-directory defeats
+       this, and breaks builds of portable applications.  Likewise, putting
+       some headers in /usr/include, and others in a subdirectory is a good
+       way to break builds.
+
+       When configured with --disable-overwrite, the installed header files'
+       embedded #include's are adjusted to use the same style of includes
+       noted above.  In particular, the unctrl.h header is included from
+       curses.h, which means that a makefile which tells the compiler to
+       include directly from the subdirectory will fail to compile correctly.
+       Without some special effort, it will either fail to compile at all,
+       or the compiler may find a different unctrl.h file.
+
     --disable-relink
        If --enable-rpath is given, the generated makefiles normally will
        rebuild the libraries during install.  Use this option to simply
@@ -794,6 +829,11 @@ SUMMARY OF CONFIGURE OPTIONS:
        For testing, compile and link with Gray Watson's dmalloc library.
        This also sets the --disable-leaks option.
 
+    --with-export-syms[=XXX]
+       Limit exported symbols using libtool.  The configure script
+       automatically chooses an appropriate ".sym" file, which lists the
+       symbols which are part of the ABI.
+
     --with-fallbacks=XXX
        Specify a list of fallback terminal descriptions which will be
        compiled into the ncurses library.  See CONFIGURING FALLBACK ENTRIES.
@@ -841,7 +881,7 @@ SUMMARY OF CONFIGURE OPTIONS:
                --with-hashed-db=/usr/local/BigBase
        to find the corresponding include- and lib-directories under the
        given directory.  Alternatively, you can specify a directory leaf
-       name, e.g., 
+       name, e.g.,
                --with-hashed-db=db4
        to make the configure script look for files in a subdirectory such as
                /usr/include/db4/db.h
@@ -889,6 +929,9 @@ SUMMARY OF CONFIGURE OPTIONS:
        using the appropriate patch for autoconf from
                http://invisible-island.net/autoconf/
 
+    --with-libtool-opts=XXX
+       Specify additional libtool options.
+
     --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
@@ -988,7 +1031,7 @@ SUMMARY OF CONFIGURE OPTIONS:
        For example, it may prevent you from running  the build tree's
        copy of tic (for installing the terminfo database) because it
        loads the system's copy of the ncurses shared libraries.
-       
+
        In that case, using the misc/shlib script may be helpful, since it
        sets $LD_LIBRARY_PATH to point to the build tree, e.g.,
 
@@ -1072,6 +1115,19 @@ SUMMARY OF CONFIGURE OPTIONS:
        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.
 
+    --with-versioned-syms[=XXX]
+       The Solaris, GNU and reportedly some other linkers (ld) accept a
+       "--version-script" option which tells the linker to annotate the
+       resulting objects with version identifiers.  The configure script
+       will automatically apply a suitable ".map" file to provide this
+       information for Linux.  Solaris mapfiles differ:
+
+       a) comments are not accepted
+       b) wildcards are not accepted
+       c) each symbol listed in the map file must exist in the library
+
+       Use "objdump -T" on a library to see the annotations.
+
     --with-xterm-kbs=XXX
        Configure xterm's terminfo entries to use either BS (^H, i.e., ASCII
        backspace) or DEL (^?, or 127).  XXX can be BS (or bs, 8) or DEL