]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - INSTALL
ncurses 6.3 - patch 20211030
[ncurses.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index a373d67d76ea7e1776b5af77f308ad7fa921c305..4600641f39f373088908c202ac93e7e5c7374093 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 -------------------------------------------------------------------------------
--- Copyright 2018-2019,2020 Thomas E. Dickey                                 --
+-- Copyright 2018-2020,2021 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.225 2020/08/08 23:38:33 tom Exp $
+-- $Id: INSTALL,v 1.236 2021/10/26 07:55:02 tom Exp $
 ---------------------------------------------------------------------
              How to install Ncurses/Terminfo on your system
 ---------------------------------------------------------------------
@@ -453,8 +453,8 @@ CONFIGURE OPTIONS:
                --with-panel-libname=npanel
 
     --disable-pkg-ldflags
-       Omit options in $EXTRA_LDFLAGS from the pkg-config ".pc" and
-       corresponding ncurses*-config script which normally are listed via
+       Omit options in $LDFLAGS and $EXTRA_LDFLAGS from the pkg-config ".pc"
+       and corresponding ncurses*-config script which normally are listed via
        the "--libs" option.  These options are normally used to facilitate
        linking to ncurses when it was configured to use the rpath feature.
 
@@ -475,6 +475,10 @@ CONFIGURE OPTIONS:
        filesystems.  This option adds a 1-second sleep to help those tools
        avoid unnecessary relinking during the install process.
 
+    --disable-root-access
+       Compile with environment restriction, so most file-access is limited
+       when running 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
@@ -512,26 +516,6 @@ CONFIGURE OPTIONS:
        list documented in X/Open.  ncurses provides varargs support for this
        function.  Use --disable-tparm-varargs to disable this support.
 
-    --disable-wattr-macros
-       The 6.0 ABI adds support for extended colors and for extended mouse.
-       The former is a noticeable problem when developers inadvertently
-       compile using the ncurses6 header files and link with an ncurses5
-       library, because the wattr* macros use a new field in the WINDOW
-       structure.  These macros are used in several applications.
-
-       Since ncurses provides an actual function for each of these macros,
-       suppressing them from the curses.h header allows the ncurses5 libraries
-       to be used in most applications.
-
-       NOTE: The extended colors also are used in the cchar_t structure, but
-       fewer applications use that.
-
-       NOTE: This workaround does not help with mismatches in the ncurses
-       mouse version.  The extended mouse feature uses one less fewer bit for
-       each button, so that only the first button will work as expected with
-       a mismatch between header and library.  Again, most applications will
-       work, since most use only the first button.
-
     --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.
@@ -582,6 +566,9 @@ CONFIGURE OPTIONS:
        For testing, generate functions for certain macros to make them visible
        as such to the debugger.  See also the --disable-macros option.
 
+    --enable-exp-win32
+       When configuring for MinGW, use the experimental Windows 10 driver.
+
     --enable-ext-colors
        Extend the cchar_t structure to allow more than 16 colors to be
        encoded.  This applies only to the wide-character (--enable-widec)
@@ -725,6 +712,14 @@ CONFIGURE OPTIONS:
        reducing the need for juggling the global SP value with set_term() and
        delscreen().
 
+    --enable-stdnoreturn
+       When enabled, check if the <stdnoreturn.h> header exists, and if found
+       define GCC_NORETURN to _Noreturn rather than either the gcc-specific
+       __attribute__((noreturn)) or an empty token.  Doing this may require
+       calling programs which use GCC_NORETURN in their own function
+       definitions to be modified, because _Noreturn is only accepted as
+       the first token in a declaration.
+
     --enable-string-hacks
        Controls whether strlcat and strlcpy may be used.  The same issue
        applies to OpenBSD's warnings about snprintf, noting that this function
@@ -763,6 +758,26 @@ CONFIGURE OPTIONS:
     --enable-warnings
        Turn on GCC compiler warnings.  There should be only a few.
 
+    --enable-wattr-macros
+       The 6.0 ABI adds support for extended colors and for extended mouse.
+       The former is a noticeable problem when developers inadvertently
+       compile using the ncurses6 header files and link with an ncurses5
+       library, because the wattr* macros use a new field in the WINDOW
+       structure.  These macros are used in several applications.
+
+       Since ncurses provides an actual function for each of these macros,
+       suppressing them from the curses.h header allows the ncurses5 libraries
+       to be used in most applications.
+
+       NOTE: The extended colors also are used in the cchar_t structure, but
+       fewer applications use that.
+
+       NOTE: This workaround does not help with mismatches in the ncurses
+       mouse version.  The extended mouse feature uses one less fewer bit for
+       each button, so that only the first button will work as expected with
+       a mismatch between header and library.  Again, most applications will
+       work, since most use only the first button.
+
     --enable-weak-symbols
        If the --with-pthread option is set, check if the compiler supports
        weak-symbols.  If it does, then name the thread-capable library without
@@ -1128,7 +1143,18 @@ CONFIGURE OPTIONS:
 
     --with-pkg-config-libdir=[DIR]
        If pkg-config was found, override the automatic check for its library
-       path.
+       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 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 "/".
 
     --with-profile
        Generate profile-libraries These are named by adding "_p" to the root,
@@ -1382,6 +1408,38 @@ COMPATIBILITY WITH OLDER RELEASES:
     you may encounter when building a system with different versions of
     ncurses:
 
+    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:
 
@@ -2152,7 +2210,7 @@ FOR SYSTEM INTEGRATORS:
        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
        terminfo maintainer (listed in the misc/terminfo file) to be included
-       in the terminfo file, if it's not already there.  See the
+       in the terminfo file, if it is not already there.  See the
        term(7) manual page included with this distribution for more on
        conventions for choosing type names.
 
@@ -2186,7 +2244,7 @@ CONFIGURING FALLBACK ENTRIES:
        tree is accessible (that is, in single-user mode or at OS installation
        time) the ncurses library can be compiled to include an array of
        pre-fetched fallback entries.
-       
+
        NOTE: This must be done on a machine which has ncurses' infocmp and
        terminfo database installed (as well as ncurses' tic and infocmp
        programs).  That is because the fallback sources are generated and