X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=INSTALL;h=aacfd9ad96a4d47e00b5703eb05ed33c3c5d8ef9;hp=95f5a39316838b502ee6d3d90f32630b3a00c4ae;hb=deb0d07e8eb4803b9e9653359eab17a30d04369d;hpb=2b7c2fd2f9d58719770902ce4d0d0aeb87b284f7 diff --git a/INSTALL b/INSTALL index 95f5a393..aacfd9ad 100644 --- 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.226 2020/09/06 23:41:16 tom Exp $ +-- $Id: INSTALL,v 1.235 2021/10/19 23:34:17 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. @@ -728,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 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 @@ -766,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 @@ -1131,7 +1143,11 @@ 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 selects the first directory + which currently exists. --with-profile Generate profile-libraries These are named by adding "_p" to the root, @@ -1385,6 +1401,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: @@ -2155,7 +2203,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. @@ -2189,7 +2237,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