INSTALL revision 2e4f8982
12e4f8982Smrg-- $XTermId: INSTALL,v 1.160 2016/09/09 22:56:18 tom Exp $
2d522f475Smrg-------------------------------------------------------------------------------
32e4f8982Smrg-- Copyright 1997-2015,2016 by Thomas E. Dickey
4d522f475Smrg--
5d522f475Smrg--                         All Rights Reserved
6d522f475Smrg--
7d522f475Smrg-- Permission is hereby granted, free of charge, to any person obtaining a
8d522f475Smrg-- copy of this software and associated documentation files (the
9d522f475Smrg-- "Software"), to deal in the Software without restriction, including
10d522f475Smrg-- without limitation the rights to use, copy, modify, merge, publish,
11d522f475Smrg-- distribute, sublicense, and/or sell copies of the Software, and to
12d522f475Smrg-- permit persons to whom the Software is furnished to do so, subject to
13d522f475Smrg-- the following conditions:
14d522f475Smrg--
15d522f475Smrg-- The above copyright notice and this permission notice shall be included
16d522f475Smrg-- in all copies or substantial portions of the Software.
17d522f475Smrg--
18d522f475Smrg-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19d522f475Smrg-- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20d522f475Smrg-- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
21d522f475Smrg-- IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
22d522f475Smrg-- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23d522f475Smrg-- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24d522f475Smrg-- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25d522f475Smrg--
26d522f475Smrg-- Except as contained in this notice, the name(s) of the above copyright
27d522f475Smrg-- holders shall not be used in advertising or otherwise to promote the
28d522f475Smrg-- sale, use or other dealings in this Software without prior written
29d522f475Smrg-- authorization.
30d522f475Smrg-------------------------------------------------------------------------------
31d522f475Smrg
32e39b573cSmrgXterm was originally built as part of the X Window System source tree, using
33e0a2b6dfSmrgimake to generate a Makefile from Imakefile.
34d522f475Smrg
35e0a2b6dfSmrgAn example Imakefile is provided for legacy use.
36d522f475Smrg
37e0a2b6dfSmrgThe preferred method uses the configure script to generate a Makefile from
38e0a2b6dfSmrgMakefile.in
39d522f475Smrg
40d522f475SmrgOptions:
41d522f475Smrg-------
42d522f475Smrg
43d522f475SmrgAutoconf configure scripts recognize two types of application-defined
44d522f475Smrgoptions, enable/disable and with/without.  The latter, by convention, are
45d522f475Smrgused for denoting inclusion of external packages, while the former denote
46d522f475Smrgenabling/disabling of internal features.  The configure --help option lists
47d522f475Smrgthe available options.  This script uses "enable" and "disable" to indicate
48d522f475Smrgthe sense of the default behavior.
49d522f475Smrg
50d522f475SmrgThe options (in alphabetic order):
51d522f475Smrg
52d522f475Smrg  --disable-16-color      disable 16-color support
53d522f475Smrg
54d522f475Smrg	Do not compile-in code to recognize aixterm-style control sequences
55d522f475Smrg	that support color values 8-15.
56d522f475Smrg
57d522f475Smrg	Most color applications know only about 8 ANSI colors, but some
58d522f475Smrg	(e.g., ones built with ncurses) do.
59d522f475Smrg
60d522f475Smrg  --disable-active-icon   disable X11R6.3 active-icon feature
61d522f475Smrg
62d522f475Smrg	Do not compile-in code to support the active-icon feature.  This is
63d522f475Smrg	not configured on systems (e.g., X11R5) which lack the library
64d522f475Smrg	support needed.
65d522f475Smrg
66d522f475Smrg	Xterms with an active icon continue to respond to input and update
67d522f475Smrg	their display when iconified.  Not all window managers support
68d522f475Smrg	active icons.  Those that do include fvwm, olvwm and mwm.
69d522f475Smrg
70d522f475Smrg  --disable-ansi-color    disable ANSI color
71d522f475Smrg
72d522f475Smrg  	Do not compile-in code for ANSI colors.
73d522f475Smrg
74d522f475Smrg  --disable-blink-cursor  disable support for blinking cursor
75d522f475Smrg
76d522f475Smrg	Do not compile-in code that implements a blinking cursor.  The blinking
77d522f475Smrg	cursor is enabled either by resource setting or by popup menu entry.
78d522f475Smrg
79d522f475Smrg  --disable-bold-color    disable PC-style mapping of bold colors
80d522f475Smrg
81d522f475Smrg	Do not compile-in code that maps colors 8-15 to bold versions of
82d522f475Smrg	colors 0-7.
83d522f475Smrg
84d522f475Smrg	Some applications have hardcoded logic that assumes this.  It does
85d522f475Smrg	not interfere with the 16-color support.
86d522f475Smrg
87d522f475Smrg  --disable-boxchars      disable fallback-support for box chars
88d522f475Smrg
89d522f475Smrg  	Do not compile-in code to generate approximations for box/graphic
90d522f475Smrg	characters.
91d522f475Smrg
92d522f475Smrg	Most fonts do not contain the vt100-style graphic characters in
93d522f475Smrg	positions 0-31.  Many applications use the line-drawing characters,
94d522f475Smrg	e.g., to make boxes.  When xterm loads a font, it checks if those
95d522f475Smrg	characters are present, and draws its own if they are missing.
96d522f475Smrg
9720d2c4d2Smrg  --disable-broken-st     disallow broken string-terminators],
9820d2c4d2Smrg
9920d2c4d2Smrg	Do not compile-in code that works around a bug in some ISDN routers
10020d2c4d2Smrg	(and possibly other applications written by the same people):  they
10120d2c4d2Smrg	send an unterminated control string in their banner text, making xterm
10220d2c4d2Smrg	freeze.
10320d2c4d2Smrg
10420d2c4d2Smrg	The workaround tells xterm to stop processing the control string when
10520d2c4d2Smrg	it receives one of the whitespace control characters such as newline.
10620d2c4d2Smrg	That was the behavior before patch #171.
10720d2c4d2Smrg
10820d2c4d2Smrg	See also --enable-broken-osc
10920d2c4d2Smrg
110d522f475Smrg  --disable-c1-print      disallow -k8 option for printable 128-159],
111d522f475Smrg
112d522f475Smrg	Use this option to suppress support for nonstandard use of codes
113d522f475Smrg	128-159, which normally are considered control characters.  Some users
114d522f475Smrg	have fonts which use those positions.  The default value for the
115d522f475Smrg	allowC1Printable resource is false, so this feature does not impact
116d522f475Smrg	normal users.
117d522f475Smrg
118d522f475Smrg  --disable-color-class   disable color class resources
119d522f475Smrg
120d522f475Smrg	Use this option to change most of the color resources to use Foreground
121d522f475Smrg	as the color class.  This is the older (before patch #157) behavior
122d522f475Smrg	which has the drawback that setting the Foreground resource on most
123d522f475Smrg	platforms prevents use of color since the class is evaluated before
124d522f475Smrg	the instance.
125d522f475Smrg
126d522f475Smrg  --disable-color-mode    disable default colorMode resource
127d522f475Smrg
128d522f475Smrg  	Do not compile-in code that sets the default value of the colorMode
129d522f475Smrg	resource to ``true''.
130d522f475Smrg
131d522f475Smrg  --disable-desktop       disable install of xterm desktop files
132d522f475Smrg
133d522f475Smrg	Do not install the xterm desktop files, used in menus.
134d522f475Smrg	These use the icons installed in the --with-icondir option.
135d522f475Smrg	Use the environment variable $DESKTOP_FLAGS to supply options
136d522f475Smrg	required by desktop-file-install.
137d522f475Smrg
138d522f475Smrg	Note: If desktop-utils is not found they will not be installed anyway.
139d522f475Smrg
140d522f475Smrg  --disable-doublechars   disable support for double-size chars
141d522f475Smrg
142d522f475Smrg  	Do not compile-in code that supports font-manipulation needed to
143d522f475Smrg	implement vt100-style double-sized characters.
144d522f475Smrg
145d522f475Smrg  --disable-echo          test: display "compiling" commands
146d522f475Smrg
147d522f475Smrg  	Modify the generated Makefile so that most compiler options are
148d522f475Smrg	not shown.  This makes it simpler to read a build log and see the
149d522f475Smrg	actual warning messages.
150d522f475Smrg
151956cc18dSsnj  --disable-fifo-lines    enable FIFO-storage for saved-lines
152956cc18dSsnj
153956cc18dSsnj	With patch #244, xterm by default stores saved-lines in a FIFO
154956cc18dSsnj	(circular buffer), which improves performance when the number of saved
155956cc18dSsnj	lines is large.  Disable this option to revert to the pre-244 layout.
156956cc18dSsnj
157d522f475Smrg  --disable-freetype      disable freetype library-support
158d522f475Smrg
159d522f475Smrg 	Do not use freetype libraries if they are found.  Normally they will
160d522f475Smrg	be used automatically.
161d522f475Smrg
162d522f475Smrg  --disable-full-tgetent  disable check for termcap library
163d522f475Smrg
164d522f475Smrg  	Do not look for the tgetent() function specifically in the termcap
165d522f475Smrg	library, accept the first library (from termlib, ncurses and curses)
166d522f475Smrg	which contains this function rather than continuing to search for
167d522f475Smrg	a termcap implementation rather than terminfo.  The former would
168d522f475Smrg	supply the complete $TERMCAP data needed for some legacy programs.
169d522f475Smrg
170d522f475Smrg  --disable-highlighting  disable support for color highlighting
171d522f475Smrg
172d522f475Smrg  	Do not compile-in code that allows the selected region to be a
173d522f475Smrg	different color than the reverse of foreground/background colors.
174d522f475Smrg
175d522f475Smrg	See the discussion of highlightColor in the manual.
176d522f475Smrg
177d522f475Smrg  --disable-i18n          disable internationalization
178d522f475Smrg
179d522f475Smrg  	Do not compile-in code to handle multi-byte characters.  This is
180d522f475Smrg	related to, but not identical with the input method logic.
181d522f475Smrg
182d522f475Smrg  --disable-imake         disable use of imake for definitions
183d522f475Smrg
184d522f475Smrg  	Do not attempt to use imake to determine compiler options.
185d522f475Smrg
186d522f475Smrg	The main.c file has many ifdef's which rely on obscure combinations
187d522f475Smrg	known only to imake.  The configure script implements only a
188d522f475Smrg	portion of the tests needed to supplant imake.
189d522f475Smrg
190d522f475Smrg  --disable-initial-erase disable setup for stty erase
191d522f475Smrg
192d522f475Smrg	Do not compile-in code which aligns the stty erase and the backarrow
193d522f475Smrg	key.  When compiled-in, xterm will optionally use the pty's sense
194d522f475Smrg	of stty erase and apply that to the backarrow mode (sending 8 or 127),
195d522f475Smrg	or go the other way, setting stty erase to match xterm's configuration.
196d522f475Smrg
197d522f475Smrg  --disable-input-method  disable input-method
198d522f475Smrg
199d522f475Smrg	Do not compile-in code for "input method".  This is an X11R6
200d522f475Smrg	feature which deals with translation of composite characters.
201d522f475Smrg
202d522f475Smrg	Some users report problems with their configuration, e.g., messages
203d522f475Smrg	stating that there is no input method defined for the given preedit
204d522f475Smrg	type.  If you do not need input method (and are troubled by the
205d522f475Smrg	warning messages), it is safe to disable this option.
206d522f475Smrg
2070bd37d32Smrg  --disable-leaks         test: free permanent memory, analyze leaks
208d522f475Smrg
209d522f475Smrg  	Compile-in code which frees memory which might confuse a leak-testing
210d522f475Smrg	tool.  Normally these chunks of memory are retained as long as xterm
211d522f475Smrg	is running.
212d522f475Smrg
213e0a2b6dfSmrg  --disable-luit          disable support for luit filter (Unicode translation)
214e0a2b6dfSmrg
215e0a2b6dfSmrg	Luit is a filter that can be run between an arbitrary application and a
216e0a2b6dfSmrg	UTF-8 terminal emulator.  It will convert application output from the
217e0a2b6dfSmrg	locale's encoding into UTF-8, and convert terminal input from UTF-8
218e0a2b6dfSmrg	into the locale's encoding.
219e0a2b6dfSmrg
220e0a2b6dfSmrg	This is normally enabled, relying upon "--enable-wide-chars".
221e0a2b6dfSmrg
222d522f475Smrg  --disable-maximize      disable actions for iconify/deiconify/maximize/restore
223d522f475Smrg
224d522f475Smrg	Do not compile-in code that implements runtime 'actions' for
225d522f475Smrg	iconifying, maximizing, etc.
226d522f475Smrg
227d522f475Smrg	Most users will find that the window manager is more suitable for
228d522f475Smrg	this sort of manipulation than putting the capabilities into xterm.
229d522f475Smrg
230d522f475Smrg  --disable-num-lock      disable NumLock keypad support
231d522f475Smrg
232d522f475Smrg	Do not compile-in code that looks for the actual NumLock key to
233d522f475Smrg	support vt100/vt220 keypad translation.
234d522f475Smrg
235d522f475Smrg	This is used in xterm to simplify logic, and to workaround some
236d522f475Smrg	quirks of the keyboard tables.  Use the ``numLock'' resource to
237d522f475Smrg	disable this feature if you must customize xterm in some other way.
238d522f475Smrg
239d522f475Smrg	(The same ifdef controls the metaSendsEscape support).
240d522f475Smrg
2410bd37d32Smrg  --disable-openpty       disable openpty, prefer other interfaces
2420bd37d32Smrg
2430bd37d32Smrg	Do not check for, or use openpty().  Instead, use other interfaces such
2440bd37d32Smrg	as posix_openpt().  Modern (sic) BSD systems should have a workable
2450bd37d32Smrg	openpty() interface.  Older systems may not.
2460bd37d32Smrg
2472eaa94a1Schristos  --disable-paste64       disable support for bracketed paste mode
2482eaa94a1Schristos
2492eaa94a1Schristos	Do not compile-in code to support experimental bracketed paste mode,
2502eaa94a1Schristos	i.e., provide functions for setting/getting the selection data.
2512eaa94a1Schristos
2522eaa94a1Schristos	(see ctlseqs.ms description of OSC 52).
2532eaa94a1Schristos
254d522f475Smrg  --disable-pty-handshake disable support for pty handshakes
255d522f475Smrg
256d522f475Smrg	This feature is used to ensure that the child process's terminal modes
257d522f475Smrg	match the parent's.  In particular, it addresses a problem where the
258d522f475Smrg	terminal size is not defined in the stty settings.
259d522f475Smrg
260d522f475Smrg  --disable-rectangles    disable VT420 rectangle support
261d522f475Smrg
262d522f475Smrg	Do not compile-in code to support VT420 rectangle control-sequences.
263d522f475Smrg
264d522f475Smrg  --disable-regex         disable regular-expression selections
265d522f475Smrg
266d522f475Smrg	Do not compile-in code to support the "regex" option for multiple
267d522f475Smrg	mouse clicks.
268d522f475Smrg
269d522f475Smrg  --disable-rightbar      disable right-scrollbar support
270d522f475Smrg
271d522f475Smrg  	Do not compile-in code that supports a scrollbar on the right.
272d522f475Smrg
273d522f475Smrg	Left/right scrollbars are a matter of taste.  Some older libraries
274d522f475Smrg	(e.g., X11R5) do not perform the geometry computation correctly,
275d522f475Smrg	leaving the right scrollbar incorrectly positioned after changing
276d522f475Smrg	the font size.
277d522f475Smrg
27820d2c4d2Smrg  --disable-rpath-hack    don't add rpath options for additional libraries
27920d2c4d2Smrg
28020d2c4d2Smrg	By default, the configure script looks for libraries in unusual places
28120d2c4d2Smrg	and adds an rpath linker option to help.
28220d2c4d2Smrg
283d522f475Smrg  --disable-samename      disable check for redundant name-change
284d522f475Smrg
285d522f475Smrg	Do not compile-in code that suppresses redundant updates to the
286d522f475Smrg	titlebar when the text has not changed.
287d522f475Smrg
2880bd37d32Smrg  --disable-selection-ops disable selection operations
2890bd37d32Smrg
2900bd37d32Smrg	Do not compile-in code to support the actions which allow users
2910bd37d32Smrg	to bind keys that use the selection or extract data from the screen.
2920bd37d32Smrg
293d522f475Smrg  --disable-session-mgt   enable support for session management
294d522f475Smrg
295d522f475Smrg	Do not compile-in code which adds simple session management hooks
296d522f475Smrg	which are used when closing an xterm.  Normally the code is
297d522f475Smrg	compiled-in, except for systems which do not support it.
298d522f475Smrg
299d522f475Smrg  --disable-setgid        disable setgid
300d522f475Smrg
301d522f475Smrg	Do not install xterm using setuid/setgid permissions.  Drop setgid
302d522f475Smrg	permissions on startup.
303d522f475Smrg
304d522f475Smrg  --disable-setuid        disable setuid
305d522f475Smrg
306d522f475Smrg	Do not install xterm using setuid/setgid permissions.  Drop setuid
307d522f475Smrg	permissions on startup.
308d522f475Smrg
309d522f475Smrg  --disable-sun-fkeys
310d522f475Smrg
311d522f475Smrg  	Do not compile-in code to support Sun-style function keys.
312d522f475Smrg
313d522f475Smrg  --disable-tcap-fkeys    disable termcap function-keys
314d522f475Smrg
3152eaa94a1Schristos	Do not compile-in code to support feature which allows xterm to use the
316d522f475Smrg	function-key definitions from the termcap/terminfo entry which it used
317d522f475Smrg	to set the $TERM variable on startup.
318d522f475Smrg
3192eaa94a1Schristos  --disable-tcap-query    disable termcap query/report
3202eaa94a1Schristos
3212eaa94a1Schristos	Do not compile-in code to support DCS '+' control sequence, which
3222eaa94a1Schristos	allows an application to ask xterm what control sequences it would
3232eaa94a1Schristos	transmit for specified function keys, given the termcap or terminfo
3242eaa94a1Schristos	names.
3252eaa94a1Schristos
326d522f475Smrg  --disable-tek4014       disable tek4014 emulation
327d522f475Smrg
328d522f475Smrg  	Do not compile-in code to support Tektronix 4014 emulation.
329d522f475Smrg
330d522f475Smrg	This reduces the executable size by 17% (checked 1999/3/13).
331d522f475Smrg
332d522f475Smrg	Some people use the Tektronix emulation (which has been in xterm
333d522f475Smrg	for many years) as an example of code bloat, though this is not an
334d522f475Smrg	accurate impression.
335d522f475Smrg
336d522f475Smrg  --disable-vt52          disable VT52 emulation
337d522f475Smrg
338d522f475Smrg  	Do not compile-in code to support vt52 emulation.
339d522f475Smrg
340d522f475Smrg	A genuine vt100 emulates a vt52.
341d522f475Smrg
342894e0ac8Smrg  --disable-wide-attrs    disable wide-attribute support
343894e0ac8Smrg
344894e0ac8Smrg	Xterm's base attributes include all of those used in DEC terminals.
345894e0ac8Smrg	ISO 6429 defines a few more which historically have found little use.
346894e0ac8Smrg	Some people find these amusing.
347894e0ac8Smrg
348894e0ac8Smrg	This is normally enabled.
349894e0ac8Smrg
350e0a2b6dfSmrg  --disable-wide-chars    disable wide-character support
351e0a2b6dfSmrg
352e0a2b6dfSmrg  	The wide-character code supports Unicode and UTF-8.
353e0a2b6dfSmrg
354e0a2b6dfSmrg	This is normally enabled.
355e0a2b6dfSmrg
356d522f475Smrg  --disable-ziconbeep     disable -ziconbeep option
357d522f475Smrg
358d522f475Smrg	Do not compile-in code that modifies the icon's title and sounds a
359d522f475Smrg	beep when they receive output.
360d522f475Smrg
361956cc18dSsnj  --enable-16bit-chars    enable 16-bit characters support
362956cc18dSsnj
363956cc18dSsnj	Enable wide-character support, but store only 16-bits for each wide
364956cc18dSsnj	character.  Unicode values can be larger than 16-bits, up to 21-bits.
365956cc18dSsnj	This uses less memory, but is less complete.  However, most languages
366956cc18dSsnj	are covered by the 16-bit encoding.
367956cc18dSsnj
368d522f475Smrg  --enable-256-color      enable 256-color support
369d522f475Smrg
370d522f475Smrg  	Compile-in code that interprets SGR 38 and 48 for 256-colors.
371d522f475Smrg
372d522f475Smrg  --enable-88-color       enable 88-color support
373d522f475Smrg
374d522f475Smrg	Compile-in code that interprets SGR 38 and 48 for 88-colors.
375d522f475Smrg
3760bd37d32Smrg  --enable-alt-sends-esc  set default altSendsEscape resource (default: no)
3770bd37d32Smrg
3780bd37d32Smrg	This sets the default resource value, which is shown in the manpage.
3790bd37d32Smrg
3800bd37d32Smrg  --enable-backarrow-key  set default backarrowKey resource (default: true)
3810bd37d32Smrg
3820bd37d32Smrg	This sets the default resource value, which is shown in the manpage.
3830bd37d32Smrg
3840bd37d32Smrg  --enable-backarrow-is-erase set default backarrowKeyIsErase resource (default: false)
3850bd37d32Smrg
3860bd37d32Smrg	This sets the default resource value, which is shown in the manpage.
3870bd37d32Smrg
3882e4f8982Smrg  --enable-broken-osc     allow broken Linux OSC-strings
389d522f475Smrg
390d522f475Smrg	Compile-in code to accommodate scripts that write Linux's malformed
391d522f475Smrg	palette control strings without checking.  The result makes xterm
392d522f475Smrg	appear to freeze.  This workaround makes xterm ignore the strings,
393d522f475Smrg	and is compiled-in by default for Linux.
394d522f475Smrg
3952e4f8982Smrg  --enable-builtin-xpms   compile-in icon data
39601037d57Smrg
39701037d57Smrg	Compile-in X pixmap data for these icons:
39801037d57Smrg		filled-xterm
39901037d57Smrg		mini.xterm
40001037d57Smrg		xterm-color
40101037d57Smrg		xterm
40201037d57Smrg	at these sizes
40301037d57Smrg		16x16
40401037d57Smrg		32x32
40501037d57Smrg		48x48
40601037d57Smrg
407d522f475Smrg  --enable-dabbrev        enable dynamic-abbreviation support
408d522f475Smrg
409d522f475Smrg	Compile-in support for "dabbrev-expand()" action and related key
410d522f475Smrg	translation.
411d522f475Smrg
412d522f475Smrg  --enable-dec-locator    enable DECterm Locator support
413d522f475Smrg	Add support for DEC Locator control sequences for xterm:
414d522f475Smrg
415d522f475Smrg		DECEFR - Enable Filter Rectangle
416d522f475Smrg	        DECELR - Enable Locator Reports
417d522f475Smrg		DECSLE - Select Locator Events
418d522f475Smrg		DECRQLP - Request Locator Position
419d522f475Smrg
420d522f475Smrg	This allows the xterm mouse to be used with applications that use the
421d522f475Smrg	DEC Locator sequences, such as VAX Tpu, or SMG$ based applications.
422d522f475Smrg
4230bd37d32Smrg  --enable-delete-is-del  set default deleteIsDEL resource (default: maybe)
4240bd37d32Smrg
4250bd37d32Smrg	This sets the default resource value, which is shown in the manpage.
4260bd37d32Smrg
4270bd37d32Smrg  --enable-double-buffer  enable double-buffering
4280bd37d32Smrg
4290bd37d32Smrg	Use experimental double-buffering for display to reduce flicker.
4300bd37d32Smrg
4310bd37d32Smrg	This option was introduced in patch #282; at that point it needs
4320bd37d32Smrg	further work because colors used for clearing the screen do not
4330bd37d32Smrg	match the expected behavior (see vttest for instance).
4340bd37d32Smrg
435d522f475Smrg  --enable-exec-xterm     enable "spawn-new-terminal" action
436d522f475Smrg
437d522f475Smrg  	If your platform supports the process filesystem "cwd" link,
438d522f475Smrg	compile-in support for the "spawn-new-terminal" action, which
439d522f475Smrg	allows you to define a key translation that runs a new xterm
440d522f475Smrg	using the same working directory as the current process within
441d522f475Smrg	xterm.
442d522f475Smrg
443d522f475Smrg  --enable-hp-fkeys       enable support for HP-style function keys
444d522f475Smrg
445d522f475Smrg  	Compile-in code to support HP-style function keys.
446d522f475Smrg
447d522f475Smrg  --enable-load-vt-fonts  enable load-vt-fonts() action
448d522f475Smrg
449d522f475Smrg  	Compile-in code that allows user to define load different VT-font
450d522f475Smrg	definitions at runtime.
451d522f475Smrg
452d522f475Smrg  --enable-logfile-exec   enable exec'd logfile filter
453d522f475Smrg
454d522f475Smrg  	Compile-in code that allows logging piped via an external filter.
455d522f475Smrg
456d522f475Smrg  --enable-logging        enable logging
457d522f475Smrg
458d522f475Smrg  	Compile-in code that allows logging.
459d522f475Smrg
460d522f475Smrg	Logging was disabled in X11R5 xterm because of security problems.
4612e4f8982Smrg	They were addressed in X11R6, but the feature was not reinstated
4622e4f8982Smrg	because of concerns (long past) about xterm running as root-setuid.
463d522f475Smrg
4640bd37d32Smrg  --enable-meta-sends-esc set default metaSendsEscape resource (default: no)
4650bd37d32Smrg
4660bd37d32Smrg	This sets the default resource value, which is shown in the manpage.
4670bd37d32Smrg
468d522f475Smrg  --enable-mini-luit      enable support for poor man's luit filter (Latin-9)
469d522f475Smrg
470d522f475Smrg	Provide built-in support for Latin-9, relying on having specified
471d522f475Smrg	Unicode (ISO10646) fonts and setting the locale resource to "checkfont".
472d522f475Smrg
473d522f475Smrg	This sets "--enable-luit" as a side-effect.
474d522f475Smrg
475d522f475Smrg  --enable-narrowproto    enable narrow prototypes for X libraries
476d522f475Smrg
47701037d57Smrg	Originally xterm was built using imake rather than a configure script.
478d522f475Smrg	One feature of imake that is not possible to guess within the
479d522f475Smrg	configure script is the wide-prototype compile-time definition
480d522f475Smrg	NARROWPROTO.  When this is not set properly, the Athena widget
481d522f475Smrg	scrollbars do not work properly.  xterm's configure script has a
482d522f475Smrg	fallback case which allows disabling imake.  However, this is moot
483d522f475Smrg	with the X.org "modular" build, whose compiler options are unrelated to
484d522f475Smrg	imake or older versions of any libraries that it may distribute.  In
485d522f475Smrg	this case, the configure script needs some help.  Use this option to
486d522f475Smrg	enable or disable NARROW proto (and disable imake with the
487d522f475Smrg	--disable-imake option) to match the whims of X.org hackers.
488d522f475Smrg
489d522f475Smrg	For instance
490d522f475Smrg
491d522f475Smrg		configure --disable-imake --disable-narrowproto
492d522f475Smrg
49301037d57Smrg  --enable-pty-erase      set default ptyInitialErase resource (default: false)
49401037d57Smrg
49501037d57Smrg	This sets the default resource value, which is shown in the manpage.
49601037d57Smrg
497d522f475Smrg  --enable-readline-mouse enable support for mouse in readline applications
498d522f475Smrg
499d522f475Smrg	Compile-in code to support experimental bracketed paste mode, i.e.,
500d522f475Smrg	provide functions for setting/getting the selection data.  Essentially
501d522f475Smrg	this puts xterm into a mode that sends special function-key strings to
502d522f475Smrg	bracket the data.
503d522f475Smrg
504d522f475Smrg	(See --enable-paste64, which fits xterm's protocol better).
505d522f475Smrg
506d522f475Smrg  --enable-sco-fkeys      enable support for SCO-style function keys
507d522f475Smrg
508d522f475Smrg  	Compile-in code to support SCO-style function keys.
509d522f475Smrg
510894e0ac8Smrg  --enable-regis-graphics enable support for ReGIS graphics
511894e0ac8Smrg
512894e0ac8Smrg  	Compile-in code to support experimental ReGIS graphics
513894e0ac8Smrg
514e0a2b6dfSmrg  --enable-sixel-graphics enable support for sixel-graphics
515e0a2b6dfSmrg
516e0a2b6dfSmrg  	Compile-in code to support experimental sixel-graphics
517e0a2b6dfSmrg
518d522f475Smrg  --enable-sun-fkeys      enable support for Sun-style function keys
519d522f475Smrg
520d522f475Smrg  	Compile-in code to support Sun-style function keys.
521d522f475Smrg
522d522f475Smrg  --enable-toolbar        enable pulldown menus on toolbar
523d522f475Smrg
524d522f475Smrg  	Compile-in code that builds a toolbar with pulldown menus.  The
525d522f475Smrg	normal popup menus are still available.
526d522f475Smrg
527d522f475Smrg	This is an experimental option.  As of patch #206, it is known to
528d522f475Smrg	work well with fvwm, but not as well with some other window managers,
529d522f475Smrg	e.g., KDE's Kwin and IceWM.
530d522f475Smrg
531d522f475Smrg	In addition to isolated layout problems, it is reported that some
532d522f475Smrg	flavors of the Athena widget library perform badly with ISO-10646
533d522f475Smrg	fonts.  You can work around those by setting the menu fonts to
534d522f475Smrg	an ISO-8859 variant in your X resources.
535d522f475Smrg
536d522f475Smrg  --enable-trace          test: set to enable debugging traces
537d522f475Smrg
538d522f475Smrg  	Compile-in code to trace xterm's internal states.
539d522f475Smrg
540d522f475Smrg	This is a debugging feature.  It causes xterm to produce two files
541d522f475Smrg	(Trace-parent.out and Trace-child.out).
542d522f475Smrg
543d522f475Smrg  --enable-warnings       test: turn on GCC compiler warnings
544d522f475Smrg
545d522f475Smrg	Modify the generate Makefile to turn on gcc compiler warnings.
546d522f475Smrg
547d522f475Smrg	I use this option regularly, and correct all but a few (difficult)
548d522f475Smrg	problems.
549d522f475Smrg
550d522f475Smrg  --enable-xmc-glitch     test: enable xmc magic-cookie emulation
551d522f475Smrg
552d522f475Smrg  	Compile-in code that simulates the terminfo "magic cookie" glitch.
553d522f475Smrg
554d522f475Smrg	This is for testing ncurses.
555d522f475Smrg
556d522f475Smrg  --with-Xaw3d            link with Xaw 3d library
557d522f475Smrg
558d522f475Smrg  	Look for, compile and link with the Xaw 3d widget library.
559d522f475Smrg
56001037d57Smrg  --with-Xaw3dxft         link with Xaw 3d xft library
56101037d57Smrg
56201037d57Smrg	Look for, compile and link with the Xaw 3d xft widget library.
56301037d57Smrg
564d522f475Smrg  --with-XawPlus          link with Athena-Plus library
565d522f475Smrg
566d522f475Smrg  	Look for, compile and link with the Xaw Plus widget library.
567d522f475Smrg
568e39b573cSmrg  --with-app-class=XXX    X resource class (default: XTerm)
569e39b573cSmrg
570e39b573cSmrg	Rename the X resource class, e.g., for packaging a development version
571e39b573cSmrg	of xterm with different result names.
572e39b573cSmrg
573d522f475Smrg  --with-app-defaults=DIR directory in which to install resource files (default: EPREFIX/lib/X11/app-defaults)
574d522f475Smrg
575d522f475Smrg	autoconf scripts assume that all of the files should be installed
576d522f475Smrg	under the same top-level directory.  But X applications defaults
577d522f475Smrg	must be installed into a special directory, e.g.,
578d522f475Smrg
579d522f475Smrg		/usr/X11/lib/app-defaults
580d522f475Smrg
581d522f475Smrg	However, there is no standard for this pathname.  The manual page
582d522f475Smrg	for X notes that the environment variable $XUSERFILESEARCHPATH can
583d522f475Smrg	specify a list of places where X searches for applications defaults.
584d522f475Smrg	Also, it may look in $XAPPLRESDIR, but that usually is not related
585d522f475Smrg	to where xterm might be installed.  To keep it simple, the configure
586d522f475Smrg	script uses
587d522f475Smrg
588d522f475Smrg		EPREFIX/lib/X11/app-defaults
589d522f475Smrg
590d522f475Smrg	as the default (EPREFIX is --prefix).  That makes it work normally
591d522f475Smrg	for most systems if --prefix is /usr.  For other installs, e.g., to
592d522f475Smrg	/usr/local, you should use this option to customize the location to
593d522f475Smrg	match your system configuration.
594d522f475Smrg
5950bd37d32Smrg	Use --with-app-defaults=auto to ask the configure script to look in
5960bd37d32Smrg	a list of well-known locations for an existing directory.
5970bd37d32Smrg
598d522f475Smrg	Use --without-app-defaults or --with-app-defaults=no to disable the
599d522f475Smrg	feature.
600d522f475Smrg
6010bd37d32Smrg  --with-dmalloc          test: use Gray Watson's dmalloc library
6020bd37d32Smrg
6030bd37d32Smrg	Check for and link with dmalloc.
6040bd37d32Smrg
6050bd37d32Smrg  --with-dbmalloc         test: use Conor Cahill's dbmalloc library
6060bd37d32Smrg
6070bd37d32Smrg	Check for and link with dbmalloc.
6080bd37d32Smrg
609e39b573cSmrg  --with-desktop-category=XXX  one or more desktop catgories or auto
610e39b573cSmrg	This is a list of names.  The configure script maps blanks and commas
611e39b573cSmrg	to semicolons (";") which are used by the desktop utils as a separator.
612e39b573cSmrg
613e39b573cSmrg	The default value "auto" tells the configure script to look
614e39b573cSmrg	at existing ".desktop" files for xterm and common terminal
6150bd37d32Smrg	emulators, to use those.  If none are found, the script uses this
6160bd37d32Smrg	default:
6170bd37d32Smrg		System;TerminalEmulator;Utility;
6180bd37d32Smrg
6190bd37d32Smrg  --with-freetype-config  configure script to use for FreeType
6200bd37d32Smrg
6210bd37d32Smrg 	Use a specific option value to tell the configure script to try
6220bd37d32Smrg	just one of the variations:
6230bd37d32Smrg
6240bd37d32Smrg	"pkg*", e.g., pkg-config or pkgconfig uses whatever pkg-config
62501037d57Smrg		script was found.
6260bd37d32Smrg
6270bd37d32Smrg	otherwise, the parameter value is used as the name of the script
6280bd37d32Smrg	to try, using --cflags and --libs options.
6290bd37d32Smrg
6300bd37d32Smrg	Use --without-freetype-config to enable the --with-freetype-cflags
6310bd37d32Smrg	and --with-freetype-libs options.
6320bd37d32Smrg
6330bd37d32Smrg	The default value "auto" tells the configure script to try the
6340bd37d32Smrg	pkg-config script first, then freetype-config and finally xft-config.
635e39b573cSmrg
636d522f475Smrg  --with-freetype-cflags  -D/-I options for compiling with FreeType library
637d522f475Smrg
638d522f475Smrg	Override options provided by xft-config or freetype-config.
639d522f475Smrg
640d522f475Smrg  --with-freetype-libs    -L/-l options for linking with FreeType library
641d522f475Smrg
642d522f475Smrg	Override options provided by xft-config or freetype-config.
643d522f475Smrg
6440bd37d32Smrg  --with-icon-name=NAME override icon name (default: xterm-color)
6450bd37d32Smrg
6460bd37d32Smrg	xterm comes with a choice of icons:
6470bd37d32Smrg
6480bd37d32Smrg	xterm-color: depicts a conventional terminal image, and is the default
6490bd37d32Smrg		icon used for icon-themes.
6500bd37d32Smrg
6510bd37d32Smrg	mini.xterm: a more iconic choice which is readily identifiable at
6520bd37d32Smrg		small sizes.  This is used for window decoration, e.g., the
6530bd37d32Smrg		icon at the upper left corner in many window managers.
6540bd37d32Smrg
6550bd37d32Smrg  --with-icon-symlink=NAME create symbolic links to icon name (default: NONE)
6560bd37d32Smrg
6570bd37d32Smrg	This is a workaround for certain systems which translate icon names
6580bd37d32Smrg	containing "xterm", e.g., "xterm-color" into the single icon "xterm".
6590bd37d32Smrg	The option should also be harmless on a properly configured system.
6600bd37d32Smrg
6610bd37d32Smrg	If the option is used, its default value is "xterm".  For each icon,
6620bd37d32Smrg	the makefile will strip the suffix (e.g., ".png"), as well as the part
6630bd37d32Smrg	of the filename which denotes the size (e.g., "_32x32" in an xpm file),
6640bd37d32Smrg	and constructs a link with that name to the icon.
6650bd37d32Smrg
6660bd37d32Smrg	If the option is unused, its default value is "NONE" (no link is made).
6670bd37d32Smrg
6680bd37d32Smrg  --with-icondir=DIR directory in which to install icon files (default: no)
669d522f475Smrg
670d522f475Smrg	The X libraries may automatically search these locations:
671d522f475Smrg
672d522f475Smrg	$HOME/.icons
673d522f475Smrg	$XDG_DATA_DIRS/icons
674d522f475Smrg	/usr/share/pixmaps
675d522f475Smrg
6760bd37d32Smrg	Alternatively, the last may be actually
6770bd37d32Smrg	/usr/X11R6/share/pixmaps
6780bd37d32Smrg
6790bd37d32Smrg	Use --with-icondir=auto to tell the configure script to search for
6800bd37d32Smrg	an existing directory from its list of well-known system locations.
6810bd37d32Smrg
682d522f475Smrg	See also
683d522f475Smrg	http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
6840bd37d32Smrg	http://www.freedesktop.org/software/icon-theme/
6850bd37d32Smrg
6860bd37d32Smrg	By default, the option is disabled; it is useful only for the
6870bd37d32Smrg	--with-icon-theme option.
6880bd37d32Smrg
6890bd37d32Smrg  --with-icon-theme=XXX   install icons into desktop theme (hicolor)
690d522f475Smrg
6910bd37d32Smrg	Install png and svg icons into the given desktop theme and customize
6920bd37d32Smrg	the .desktop files to use that theme.  If no theme name is given,
6930bd37d32Smrg	the default is "hicolor".  If this option is not given, the desktop
6940bd37d32Smrg	file will use the pixmap files.
695d522f475Smrg
69601037d57Smrg  --with-man2html[=XXX]   use XXX rather than groff
69701037d57Smrg
69801037d57Smrg	Specify an alternative program to use for converting manpages and
69901037d57Smrg	control sequences document to html.  If the option is given, its
70001037d57Smrg	default value is "man2html", otherwise it is "groff" with groff's
70101037d57Smrg	special options.  The "man2html" script reads formatted nroff output
70201037d57Smrg	from its standard input, and writes html to its standard output.  Other
70301037d57Smrg	input/output conventions are not currently supported.
70401037d57Smrg
70501037d57Smrg	See
70601037d57Smrg		http://invisible-island.net/scripts
70701037d57Smrg	for an up-to-date version of "man2html".
70801037d57Smrg
709d522f475Smrg  --with-neXtaw           link with neXT Athena library
710d522f475Smrg
711d522f475Smrg  	Look for, compile and link with the neXT Athena widget library.
712d522f475Smrg
713d522f475Smrg  --with-own-terminfo=P   set default $TERMINFO (default: from environment)
714d522f475Smrg
715d522f475Smrg  	Modify the generated Makefile to set the target for the 'install-ti'
716d522f475Smrg	rule to point to the given directory.
717d522f475Smrg
718d522f475Smrg	If you have the $TERMINFO variable defined in your environment, the
719d522f475Smrg	configure script will use that value.  If no option and no variable
720d522f475Smrg	are are given, the configure script uses /usr/lib/terminfo, if it
721d522f475Smrg	exists.
722d522f475Smrg
723d522f475Smrg	You do not have to run "make install-ti", if there is already a
724d522f475Smrg	workable terminfo description.  Be advised, however, that the
725d522f475Smrg	common variety of "xterm-color" is not suited for xterm, but is
726d522f475Smrg	directed to other variations (such as nxterm) which do not
727d522f475Smrg	support the background-color erase capability.
728d522f475Smrg
729d522f475Smrg  --with-pcre             use PCRE for regular-expressions
730d522f475Smrg
731d522f475Smrg	If regular expressions are not disable (--disable-regex), use PCRE
732d522f475Smrg	rather than the POSIX regular expressions.
733d522f475Smrg
73420d2c4d2Smrg  --with-pkg-config{=path} enable/disable use of pkg-config
73520d2c4d2Smrg
73620d2c4d2Smrg	The configure script looks for certain libraries which have well
73720d2c4d2Smrg	established pkg-config scripts, and will use those settings if
73820d2c4d2Smrg	available.  Not all pkg-config scripts work; this option suppresses
73920d2c4d2Smrg	the check and relies on normal library search paths.
74020d2c4d2Smrg
741d522f475Smrg  --with-reference=XXX    program to use as permissions-reference
742d522f475Smrg
743d522f475Smrg	To install xterm with setuid permissions, the scripts usually compare
744d522f475Smrg	it with a previous install.  That works well for individual
745d522f475Smrg	maintainers, but can be a problem for packagers who may be
746d522f475Smrg	cross-compiling, etc.  This option lets the package builder specify
747d522f475Smrg	the file used for permissions reference.
748d522f475Smrg
749d522f475Smrg  --with-setuid=XXX       use the given setuid user
750d522f475Smrg
751d522f475Smrg	Install xterm setuid'd to the given user.  If no parameter value
752d522f475Smrg	is given, assume it is root.
753d522f475Smrg
754d522f475Smrg	See also --with-utmp-setgid and --with-utempter, which manipulate
755d522f475Smrg	the setgid group.
756d522f475Smrg
757d522f475Smrg  --with-tty-group=XXX    use XXX for the tty-group
758d522f475Smrg
759d522f475Smrg	If xterm is installed setuid'd to root, change the group of the tty
760d522f475Smrg	device to the given value on startup.  Three cases are possible:
76101037d57Smrg
762d522f475Smrg	a) If this option is not given, the configure script will attempt to
763d522f475Smrg	   find a suitable value (usually "tty"), and verify that it exists in
764d522f475Smrg	   the group database.
765d522f475Smrg
766d522f475Smrg	b) If the option value is given, it will use the value even if it does
767d522f475Smrg	   not exist in the group database (allowing packagers to work about
768d522f475Smrg	   deficient environments).
769d522f475Smrg
770d522f475Smrg	c) If the option is disabled, e.g., --without-tty-group, the
771d522f475Smrg	   permissions change will use the group-id of the process.
772d522f475Smrg
773d522f475Smrg	If xterm is not installed setuid'd to root, this option is not needed,
774d522f475Smrg	since it cannot change the tty device's ownership.
775d522f475Smrg
7760bd37d32Smrg  --with-valgrind         test: use valgrind
7770bd37d32Smrg
7780bd37d32Smrg	Activate the --disable-leaks option, and ensure that "-g" is added to
7790bd37d32Smrg	CFLAGS.
7800bd37d32Smrg
7812e4f8982Smrg  --without-xinerama      do not use Xinerama extension for multiple screens
7822e4f8982Smrg
7832e4f8982Smrg	Xinerama is an X server extension that allows multiple physical
7842e4f8982Smrg	screens to behave as a single screen.  If you do not need the feature
7852e4f8982Smrg	(or do not want the extra library dependency), use this option to
7862e4f8982Smrg	suppress it.
7872e4f8982Smrg
7880bd37d32Smrg  --with-xpm=DIR          use Xpm library for colored icon, may specify path
7890bd37d32Smrg
7900bd37d32Smrg 	Use Xpm library to show colored icon in window decoration, e.g.,
7910bd37d32Smrg	title area.
7920bd37d32Smrg
7930bd37d32Smrg	Use --without-xpm to suppress this feature.
7940bd37d32Smrg
795d522f475Smrg  --with-xterm-symlink=XXX  make symbolic link to installed xterm
796d522f475Smrg
797d522f475Smrg	If any of the configure options to modify the program name i.e.,
798d522f475Smrg	--program-prefix, --program-suffix or --program-transform-name
799d522f475Smrg	are given, this option allows the makefile to create a symbolic link,
800d522f475Smrg	e.g., to "xterm" on install.  The option value gives the name for
801d522f475Smrg	the link, which defaults to "xterm".
802d522f475Smrg
803d522f475Smrg	Use --without-xterm-symlink to disable a link to "xterm" if none
804d522f475Smrg	is wanted.
805d522f475Smrg
80601037d57Smrg	Corresponding links are also made for "resize", "uxterm" and
80701037d57Smrg	"koi8rxterm", as well as the xterm manpage.
80801037d57Smrg
809d522f475Smrg  --with-terminal-id[=V]  set default decTerminalID (default: vt100)
810d522f475Smrg
811d522f475Smrg  	Set the default emulation level.
812d522f475Smrg
813d522f475Smrg	DEC terminals vt52/vt100/vt220/etc form a series where succeeding
814d522f475Smrg	models emulate features of the older terminals.  While most
815d522f475Smrg	features of these terminals are recognized by xterm at all levels,
816d522f475Smrg	a few behave differently according to the emulation level.
817d522f475Smrg
818d522f475Smrg	You can always override this with the command-line option "-ti".
819d522f475Smrg
820d522f475Smrg  --with-terminal-type=T  set default $TERM (default: xterm)
821d522f475Smrg
822d522f475Smrg	Set the default value for $TERM.  Xterm supports legacy termcap
823d522f475Smrg	applications by constructing a modified version of the $TERMCAP
824d522f475Smrg	variable at initialization, which supplies the resulting screen
825d522f475Smrg	size.  It also sets $TERM, if not already set, for use by programs
826d522f475Smrg	running within xterm.
827d522f475Smrg
828d522f475Smrg	The default value "xterm", can be overridden to avoid conflict
829d522f475Smrg	with older versions of xterm, e.g., those that do not implement
830d522f475Smrg	vt220 emulation.
831d522f475Smrg
832d522f475Smrg	You can always override this with the command-line option "-tn".
833d522f475Smrg
834d522f475Smrg  --with-utempter         use utempter library for access to utmp
835d522f475Smrg
836d522f475Smrg	The utempter library is a set-uid wrapper for the utmp facility.
837d522f475Smrg	On systems with Unix98 pty's, xterm can use this library when
838d522f475Smrg	available so it need not be installed set-uid.
839d522f475Smrg
840d522f475Smrg  --with-utmp-setgid=XXX  use setgid for access to utmp
841d522f475Smrg
842d522f475Smrg	The option value specifies a group to use when installing.
843d522f475Smrg	xterm will be installed with setgid privilege to this group.
844d522f475Smrg	At runtime, xterm will drop the setuid privilege immediately
845d522f475Smrg	after opening the pseudo-terminal, and will have only the
846d522f475Smrg	group privilege needed to access the utmp file.  This relies
847d522f475Smrg	on having POSIX setuid behavior.
848d522f475Smrg
849d522f475Smrg-- vile:txtmode
850