]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - INSTALL
ncurses 6.4 - patch 20231021
[ncurses.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index bd9f8c7c9029b10ad55a170432d79f1a41e5018c..39a8a9f8feb957b18466a01fa5412e8b56a9ec34 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 -------------------------------------------------------------------------------
--- Copyright 2018-2020,2021 Thomas E. Dickey                                 --
+-- Copyright 2018-2022,2023 Thomas E. Dickey                                 --
 -- Copyright 1998-2017,2018 Free Software Foundation, Inc.                   --
 --                                                                           --
 -- Permission is hereby granted, free of charge, to any person obtaining a   --
@@ -26,7 +26,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: INSTALL,v 1.234 2021/10/10 22:36:55 tom Exp $
+-- $Id: INSTALL,v 1.249 2023/10/21 15:51:23 tom Exp $
 ---------------------------------------------------------------------
              How to install Ncurses/Terminfo on your system
 ---------------------------------------------------------------------
@@ -444,7 +444,7 @@ CONFIGURE OPTIONS:
                --with-menu-libname=XXX
                --with-panel-libname=XXX
 
-       Rather than renaming them abitrarily, a prefix or suffix is
+       Rather than renaming them arbitrarily, a prefix or suffix is
        recommended.  An "n" prefix provides consistency with ncurses versus
        curses, i.e.,
 
@@ -477,13 +477,17 @@ CONFIGURE OPTIONS:
 
     --disable-root-access
        Compile with environment restriction, so most file-access is limited
-       when running via a setuid/setgid application.
+       when running as root, or via a setuid/setgid application.
 
     --disable-root-environ
        Compile with environment restriction, so certain environment variables
-       are not available when running as root, or via a setuid/setgid
-       application.  These are (for example $TERMINFO) those that allow the
-       search path for the terminfo or termcap entry to be customized.
+       are not available when running as root.  These are (for example
+       $TERMINFO) those that allow the search path for the terminfo or termcap
+       entry to be customized.
+
+       Disabling the root environment variables also disables the setuid
+       environment variables by default.  Use the --disable-setuid-environ
+       option to modify this behavior.
 
     --disable-rpath-hack
        Normally the configure script helps link libraries found in unusual
@@ -498,6 +502,16 @@ CONFIGURE OPTIONS:
     --disable-stripping
        Do not strip installed executables.
 
+    --disable-setuid-environ
+       Compile with environment restriction, so certain environment variables
+       are not available when running via a setuid/setgid application.  These
+       are (for example $TERMINFO) those that allow the search path for the
+       terminfo or termcap entry to be customized.
+
+       A setuid/setgid application inherits its environment variables from
+       the current user, in contrast to sudo which may limit the environment
+       variables that ncurses uses.
+
     --disable-tic-depends
        When building shared libraries, normally the tic library is linked to
        depend upon the ncurses library (or equivalently, on the tinfo-library
@@ -537,6 +551,10 @@ CONFIGURE OPTIONS:
        Recognize BSD-style prefix padding.  Some ancient BSD programs (such as
        nethack) call tputs("50") to implement delays.
 
+    --enable-check-size
+       Compile-in feature to detect screensize for terminals which do not
+       advertise their screensize, e.g., serial terminals.
+
     --enable-colorfgbg
        Compile with experimental $COLORFGBG code.  That environment variable
        is set by some terminal emulators as a hint to applications, by
@@ -652,7 +670,14 @@ CONFIGURE OPTIONS:
     --enable-opaque-panel
        Define symbol in curses.h which controls whether some library
        structures are treated as "opaque".  The --enable-opaque-curses option
-       is overridden by the --enable-reentrant option.
+       may be overridden by the --enable-reentrant option.
+
+       Enabling opaque-curses enables opaque for the form, menu, and panel
+       libraries.  Use their corresponding options to disable the feature
+       individually.
+
+       NOTE: beginning with ncurses 6.5 this option is enabled by default;
+       older versions disable it by default.
 
     --enable-pc-files
        If pkg-config is found (see --with-pkg-config), generate ".pc" files
@@ -798,14 +823,22 @@ CONFIGURE OPTIONS:
        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
+       ncurses library, but you must decide which: the binding installs the
+       same set of files for either version.  Currently (2023/10/21) 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.
 
+       NOTE: beginning with ncurses 6.5 this option is enabled by default;
+       older versions disable it by default.
+
     --enable-xmc-glitch
        Compile-in support experimental xmc (magic cookie) code.
 
+    --with-abi-altered=NUM
+       Override the displayed (rather than compiled-in) ABI.  Only packagers
+       who have created configurations where the ABI differs from ncurses
+       should be interested in this option.
+
     --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
@@ -1009,7 +1042,7 @@ CONFIGURE OPTIONS:
        See also the --enable-getcap option.
 
     --with-infocmp-path[=XXX]
-       Use this option to override the automatic detection of tic in your
+       Use this option to override the automatic detection of infocmp in your
        $PATH when building fallbacks (see "--with-fallbacks").
 
     --with-install-prefix=XXX
@@ -1146,8 +1179,18 @@ CONFIGURE OPTIONS:
        path.  The configure script allows only a single directory, because
        that is used as the directory in which to install ".pc" files.
 
-       The automatic check for the library path selects the first directory
-       which currently exists.
+       The automatic check for the library path prefers the first directory
+       which currently exists.  If none of the directories listed by
+       pkg-config exist, the check prefers a pkgconfig directory under the
+       "libdir" set by the configure script (which may not be the system
+       default), or if pkg-config lists nothing suitable, the first one which
+       is listed by pkg-config is used.
+
+       Automatic selection is overridden by providing an option-value
+       beginning with "/".
+
+       If this option is omitted, the default directory for installing
+       ".pc" files is ${libdir}/pkgconfig
 
     --with-profile
        Generate profile-libraries These are named by adding "_p" to the root,
@@ -1207,6 +1250,10 @@ 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.
 
+    --with-strip-program=XXX
+       When stripping executables during install, use the specified program
+       rather than "strip".
+
     --with-sysmouse
        use FreeBSD sysmouse interface provide mouse support on the console.
 
@@ -1327,7 +1374,8 @@ CONFIGURE OPTIONS:
     --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
-       (or del, 127).
+       (or del, 127).  If XXX is "auto", the configure script chooses BS or
+       DEL according to platform defaults.
 
        During installation, the makefile and scripts modifies the "xterm+kbs"
        terminfo entry to use this setting.
@@ -1371,11 +1419,6 @@ CONFIGURE OPTIONS:
        programs (e.g., tic).  The test applications will still be built if you
        type "make", though not if you simply do "make install".
 
-    --without-tack
-       Suppress build/install with tack program, if it happens to be
-       in the same build-tree (tack was moved out of the ncurses source-tree
-       in 20070203).
-
     --without-tests
        Tell the configure script to suppress the build of ncurses' test
        programs.
@@ -1401,6 +1444,59 @@ COMPATIBILITY WITH OLDER RELEASES:
     you may encounter when building a system with different versions of
     ncurses:
 
+    6.4 (Dec 31, 2022)
+       Interface changes:
+
+       + none
+
+       Added extensions:
+
+       + none
+
+       Added internal functions (other than "_sp" variants):
+
+       + add _nc_free_termtype1 and _nc_free_tparm, for memory-leaks
+
+       Removed internal functions:
+
+       + none
+
+       Modified internal functions:
+
+       + none
+
+    6.3 (Oct 21, 2021)
+       Interface changes:
+
+       + the definition of TERMTYPE2 is now internal, not visible in the ABI,
+         like the enclosing TERMINAL which was previously made opaque.  This
+         was done to provide SCREEN-specific "static" variables in terminfo.
+
+       Added extensions:
+
+       + add sp-funcs for erasewchar, killwchar.
+
+       Added internal functions (other than "_sp" variants):
+
+       + _nc_safe_fopen and _nc_safe_open3 limit privileges if possible when
+         opening a file; otherwise disallow access for updating files.
+
+       + _nc_tiparm is a variant of tiparm which is used when all of the
+         parameters are known to be numbers rather than possibly strings.
+
+       + _nc_reset_tparm improves tic's checks by resetting the terminfo
+         "static variables" before calling functions which may update them.
+
+       Removed internal functions:
+
+       + none
+
+       Modified internal functions:
+
+       + _nc_trace_ttymode passes pointer to const data
+
+       + _nc_tparm_analyze passes pointer to int*, not int[]
+
     6.2 (Feb 12, 2020)
        Interface changes: