-------------------------------------------------------------------------------
--- 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 --
-- 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
---------------------------------------------------------------------
--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.,
--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
--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
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
--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
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
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
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,
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.
--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.
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.
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: