INSTALL revision 956cc18d
1956cc18dSsnj-- $XTermId: INSTALL,v 1.121 2009/08/06 00:39:09 tom Exp $
2d522f475Smrg-------------------------------------------------------------------------------
32eaa94a1Schristos-- Copyright 1997-2007,2008 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
32d522f475SmrgXterm is normally built as part of the X Window System source tree, using
33d522f475Smrgimake to generate a Makefile from Imakefile.  You can also use the
34d522f475Smrgconfigure script to generate a Makefile from Makefile.in:
35d522f475Smrg
36d522f475Smrg	+ If you have imake (or xmkmf), then you can use those directly,
37d522f475Smrg	  or use the configure script, which normally uses those tools
38d522f475Smrg	  to obtain the special definitions needed to build xterm.
39d522f475Smrg
40d522f475Smrg	  Ultimately, imake will not be necessary, since it is possible
41d522f475Smrg	  to add configure tests that derive the information that imake
42d522f475Smrg	  would supply.
43d522f475Smrg
44d522f475Smrg	+ You need the Athena widgets (or a clone, such as Xaw3d or
45d522f475Smrg	  neXtaw), to provide the popup menus.
46d522f475Smrg
47d522f475SmrgEven if you have imake, the configure script is still convenient because
48d522f475Smrgit allows you to build different configurations more easily than with
49d522f475Smrgimake, simply by specifying options to the configure script.
50d522f475Smrg
51d522f475SmrgOptions:
52d522f475Smrg-------
53d522f475Smrg
54d522f475SmrgAutoconf configure scripts recognize two types of application-defined
55d522f475Smrgoptions, enable/disable and with/without.  The latter, by convention, are
56d522f475Smrgused for denoting inclusion of external packages, while the former denote
57d522f475Smrgenabling/disabling of internal features.  The configure --help option lists
58d522f475Smrgthe available options.  This script uses "enable" and "disable" to indicate
59d522f475Smrgthe sense of the default behavior.
60d522f475Smrg
61d522f475SmrgThe options (in alphabetic order):
62d522f475Smrg
63d522f475Smrg  --disable-16-color      disable 16-color support
64d522f475Smrg
65d522f475Smrg	Do not compile-in code to recognize aixterm-style control sequences
66d522f475Smrg	that support color values 8-15.
67d522f475Smrg
68d522f475Smrg	Most color applications know only about 8 ANSI colors, but some
69d522f475Smrg	(e.g., ones built with ncurses) do.
70d522f475Smrg
71d522f475Smrg  --disable-active-icon   disable X11R6.3 active-icon feature
72d522f475Smrg
73d522f475Smrg	Do not compile-in code to support the active-icon feature.  This is
74d522f475Smrg	not configured on systems (e.g., X11R5) which lack the library
75d522f475Smrg	support needed.
76d522f475Smrg
77d522f475Smrg	Xterms with an active icon continue to respond to input and update
78d522f475Smrg	their display when iconified.  Not all window managers support
79d522f475Smrg	active icons.  Those that do include fvwm, olvwm and mwm.
80d522f475Smrg
81d522f475Smrg  --disable-ansi-color    disable ANSI color
82d522f475Smrg
83d522f475Smrg  	Do not compile-in code for ANSI colors.
84d522f475Smrg
85d522f475Smrg  --disable-blink-cursor  disable support for blinking cursor
86d522f475Smrg
87d522f475Smrg	Do not compile-in code that implements a blinking cursor.  The blinking
88d522f475Smrg	cursor is enabled either by resource setting or by popup menu entry.
89d522f475Smrg
90d522f475Smrg  --disable-bold-color    disable PC-style mapping of bold colors
91d522f475Smrg
92d522f475Smrg	Do not compile-in code that maps colors 8-15 to bold versions of
93d522f475Smrg	colors 0-7.
94d522f475Smrg
95d522f475Smrg	Some applications have hardcoded logic that assumes this.  It does
96d522f475Smrg	not interfere with the 16-color support.
97d522f475Smrg
98d522f475Smrg  --disable-boxchars      disable fallback-support for box chars
99d522f475Smrg
100d522f475Smrg  	Do not compile-in code to generate approximations for box/graphic
101d522f475Smrg	characters.
102d522f475Smrg
103d522f475Smrg	Most fonts do not contain the vt100-style graphic characters in
104d522f475Smrg	positions 0-31.  Many applications use the line-drawing characters,
105d522f475Smrg	e.g., to make boxes.  When xterm loads a font, it checks if those
106d522f475Smrg	characters are present, and draws its own if they are missing.
107d522f475Smrg
108d522f475Smrg  --disable-c1-print      disallow -k8 option for printable 128-159],
109d522f475Smrg
110d522f475Smrg	Use this option to suppress support for nonstandard use of codes
111d522f475Smrg	128-159, which normally are considered control characters.  Some users
112d522f475Smrg	have fonts which use those positions.  The default value for the
113d522f475Smrg	allowC1Printable resource is false, so this feature does not impact
114d522f475Smrg	normal users.
115d522f475Smrg
116d522f475Smrg  --disable-color-class   disable color class resources
117d522f475Smrg
118d522f475Smrg	Use this option to change most of the color resources to use Foreground
119d522f475Smrg	as the color class.  This is the older (before patch #157) behavior
120d522f475Smrg	which has the drawback that setting the Foreground resource on most
121d522f475Smrg	platforms prevents use of color since the class is evaluated before
122d522f475Smrg	the instance.
123d522f475Smrg
124d522f475Smrg  --disable-color-mode    disable default colorMode resource
125d522f475Smrg
126d522f475Smrg  	Do not compile-in code that sets the default value of the colorMode
127d522f475Smrg	resource to ``true''.
128d522f475Smrg
129d522f475Smrg  --disable-desktop       disable install of xterm desktop files
130d522f475Smrg
131d522f475Smrg	Do not install the xterm desktop files, used in menus.
132d522f475Smrg	These use the icons installed in the --with-icondir option.
133d522f475Smrg	Use the environment variable $DESKTOP_FLAGS to supply options
134d522f475Smrg	required by desktop-file-install.
135d522f475Smrg
136d522f475Smrg	Note: If desktop-utils is not found they will not be installed anyway.
137d522f475Smrg
138d522f475Smrg  --disable-doublechars   disable support for double-size chars
139d522f475Smrg
140d522f475Smrg  	Do not compile-in code that supports font-manipulation needed to
141d522f475Smrg	implement vt100-style double-sized characters.
142d522f475Smrg
143d522f475Smrg  --disable-echo          test: display "compiling" commands
144d522f475Smrg
145d522f475Smrg  	Modify the generated Makefile so that most compiler options are
146d522f475Smrg	not shown.  This makes it simpler to read a build log and see the
147d522f475Smrg	actual warning messages.
148d522f475Smrg
149956cc18dSsnj  --disable-fifo-lines    enable FIFO-storage for saved-lines
150956cc18dSsnj
151956cc18dSsnj	With patch #244, xterm by default stores saved-lines in a FIFO
152956cc18dSsnj	(circular buffer), which improves performance when the number of saved
153956cc18dSsnj	lines is large.  Disable this option to revert to the pre-244 layout.
154956cc18dSsnj
155d522f475Smrg  --disable-freetype      disable freetype library-support
156d522f475Smrg
157d522f475Smrg 	Do not use freetype libraries if they are found.  Normally they will
158d522f475Smrg	be used automatically.
159d522f475Smrg
160d522f475Smrg  --disable-full-tgetent  disable check for termcap library
161d522f475Smrg
162d522f475Smrg  	Do not look for the tgetent() function specifically in the termcap
163d522f475Smrg	library, accept the first library (from termlib, ncurses and curses)
164d522f475Smrg	which contains this function rather than continuing to search for
165d522f475Smrg	a termcap implementation rather than terminfo.  The former would
166d522f475Smrg	supply the complete $TERMCAP data needed for some legacy programs.
167d522f475Smrg
168d522f475Smrg  --disable-highlighting  disable support for color highlighting
169d522f475Smrg
170d522f475Smrg  	Do not compile-in code that allows the selected region to be a
171d522f475Smrg	different color than the reverse of foreground/background colors.
172d522f475Smrg
173d522f475Smrg	See the discussion of highlightColor in the manual.
174d522f475Smrg
175d522f475Smrg  --disable-i18n          disable internationalization
176d522f475Smrg
177d522f475Smrg  	Do not compile-in code to handle multi-byte characters.  This is
178d522f475Smrg	related to, but not identical with the input method logic.
179d522f475Smrg
180d522f475Smrg  --disable-imake         disable use of imake for definitions
181d522f475Smrg
182d522f475Smrg  	Do not attempt to use imake to determine compiler options.
183d522f475Smrg
184d522f475Smrg	The main.c file has many ifdef's which rely on obscure combinations
185d522f475Smrg	known only to imake.  The configure script implements only a
186d522f475Smrg	portion of the tests needed to supplant imake.
187d522f475Smrg
188d522f475Smrg  --disable-initial-erase disable setup for stty erase
189d522f475Smrg
190d522f475Smrg	Do not compile-in code which aligns the stty erase and the backarrow
191d522f475Smrg	key.  When compiled-in, xterm will optionally use the pty's sense
192d522f475Smrg	of stty erase and apply that to the backarrow mode (sending 8 or 127),
193d522f475Smrg	or go the other way, setting stty erase to match xterm's configuration.
194d522f475Smrg
195d522f475Smrg  --disable-input-method  disable input-method
196d522f475Smrg
197d522f475Smrg	Do not compile-in code for "input method".  This is an X11R6
198d522f475Smrg	feature which deals with translation of composite characters.
199d522f475Smrg
200d522f475Smrg	Some users report problems with their configuration, e.g., messages
201d522f475Smrg	stating that there is no input method defined for the given preedit
202d522f475Smrg	type.  If you do not need input method (and are troubled by the
203d522f475Smrg	warning messages), it is safe to disable this option.
204d522f475Smrg
205d522f475Smrg  --disable-leaks         test: set to test memory leaks
206d522f475Smrg
207d522f475Smrg  	Compile-in code which frees memory which might confuse a leak-testing
208d522f475Smrg	tool.  Normally these chunks of memory are retained as long as xterm
209d522f475Smrg	is running.
210d522f475Smrg
211d522f475Smrg  --disable-maximize      disable actions for iconify/deiconify/maximize/restore
212d522f475Smrg
213d522f475Smrg	Do not compile-in code that implements runtime 'actions' for
214d522f475Smrg	iconifying, maximizing, etc.
215d522f475Smrg
216d522f475Smrg	Most users will find that the window manager is more suitable for
217d522f475Smrg	this sort of manipulation than putting the capabilities into xterm.
218d522f475Smrg
219d522f475Smrg  --disable-num-lock      disable NumLock keypad support
220d522f475Smrg
221d522f475Smrg	Do not compile-in code that looks for the actual NumLock key to
222d522f475Smrg	support vt100/vt220 keypad translation.
223d522f475Smrg
224d522f475Smrg	This is used in xterm to simplify logic, and to workaround some
225d522f475Smrg	quirks of the keyboard tables.  Use the ``numLock'' resource to
226d522f475Smrg	disable this feature if you must customize xterm in some other way.
227d522f475Smrg
228d522f475Smrg	(The same ifdef controls the metaSendsEscape support).
229d522f475Smrg
2302eaa94a1Schristos  --disable-paste64       disable support for bracketed paste mode
2312eaa94a1Schristos
2322eaa94a1Schristos	Do not compile-in code to support experimental bracketed paste mode,
2332eaa94a1Schristos	i.e., provide functions for setting/getting the selection data.
2342eaa94a1Schristos
2352eaa94a1Schristos	(see ctlseqs.ms description of OSC 52).
2362eaa94a1Schristos
237d522f475Smrg  --disable-pty-handshake disable support for pty handshakes
238d522f475Smrg
239d522f475Smrg	This feature is used to ensure that the child process's terminal modes
240d522f475Smrg	match the parent's.  In particular, it addresses a problem where the
241d522f475Smrg	terminal size is not defined in the stty settings.
242d522f475Smrg
243d522f475Smrg  --disable-rectangles    disable VT420 rectangle support
244d522f475Smrg
245d522f475Smrg	Do not compile-in code to support VT420 rectangle control-sequences.
246d522f475Smrg
247d522f475Smrg  --disable-regex         disable regular-expression selections
248d522f475Smrg
249d522f475Smrg	Do not compile-in code to support the "regex" option for multiple
250d522f475Smrg	mouse clicks.
251d522f475Smrg
252d522f475Smrg  --disable-rightbar      disable right-scrollbar support
253d522f475Smrg
254d522f475Smrg  	Do not compile-in code that supports a scrollbar on the right.
255d522f475Smrg
256d522f475Smrg	Left/right scrollbars are a matter of taste.  Some older libraries
257d522f475Smrg	(e.g., X11R5) do not perform the geometry computation correctly,
258d522f475Smrg	leaving the right scrollbar incorrectly positioned after changing
259d522f475Smrg	the font size.
260d522f475Smrg
261d522f475Smrg  --disable-samename      disable check for redundant name-change
262d522f475Smrg
263d522f475Smrg	Do not compile-in code that suppresses redundant updates to the
264d522f475Smrg	titlebar when the text has not changed.
265d522f475Smrg
266d522f475Smrg  --disable-session-mgt   enable support for session management
267d522f475Smrg
268d522f475Smrg	Do not compile-in code which adds simple session management hooks
269d522f475Smrg	which are used when closing an xterm.  Normally the code is
270d522f475Smrg	compiled-in, except for systems which do not support it.
271d522f475Smrg
272d522f475Smrg  --disable-setgid        disable setgid
273d522f475Smrg
274d522f475Smrg	Do not install xterm using setuid/setgid permissions.  Drop setgid
275d522f475Smrg	permissions on startup.
276d522f475Smrg
277d522f475Smrg  --disable-setuid        disable setuid
278d522f475Smrg
279d522f475Smrg	Do not install xterm using setuid/setgid permissions.  Drop setuid
280d522f475Smrg	permissions on startup.
281d522f475Smrg
282d522f475Smrg  --disable-sun-fkeys
283d522f475Smrg
284d522f475Smrg  	Do not compile-in code to support Sun-style function keys.
285d522f475Smrg
286d522f475Smrg  --disable-tcap-fkeys    disable termcap function-keys
287d522f475Smrg
2882eaa94a1Schristos	Do not compile-in code to support feature which allows xterm to use the
289d522f475Smrg	function-key definitions from the termcap/terminfo entry which it used
290d522f475Smrg	to set the $TERM variable on startup.
291d522f475Smrg
2922eaa94a1Schristos  --disable-tcap-query    disable termcap query/report
2932eaa94a1Schristos
2942eaa94a1Schristos	Do not compile-in code to support DCS '+' control sequence, which
2952eaa94a1Schristos	allows an application to ask xterm what control sequences it would
2962eaa94a1Schristos	transmit for specified function keys, given the termcap or terminfo
2972eaa94a1Schristos	names.
2982eaa94a1Schristos
299d522f475Smrg  --disable-tek4014       disable tek4014 emulation
300d522f475Smrg
301d522f475Smrg  	Do not compile-in code to support Tektronix 4014 emulation.
302d522f475Smrg
303d522f475Smrg	This reduces the executable size by 17% (checked 1999/3/13).
304d522f475Smrg
305d522f475Smrg	Some people use the Tektronix emulation (which has been in xterm
306d522f475Smrg	for many years) as an example of code bloat, though this is not an
307d522f475Smrg	accurate impression.
308d522f475Smrg
309d522f475Smrg  --disable-vt52          disable VT52 emulation
310d522f475Smrg
311d522f475Smrg  	Do not compile-in code to support vt52 emulation.
312d522f475Smrg
313d522f475Smrg	A genuine vt100 emulates a vt52.
314d522f475Smrg
315d522f475Smrg  --disable-ziconbeep     disable -ziconbeep option
316d522f475Smrg
317d522f475Smrg	Do not compile-in code that modifies the icon's title and sounds a
318d522f475Smrg	beep when they receive output.
319d522f475Smrg
320956cc18dSsnj  --enable-16bit-chars    enable 16-bit characters support
321956cc18dSsnj
322956cc18dSsnj	Enable wide-character support, but store only 16-bits for each wide
323956cc18dSsnj	character.  Unicode values can be larger than 16-bits, up to 21-bits.
324956cc18dSsnj	This uses less memory, but is less complete.  However, most languages
325956cc18dSsnj	are covered by the 16-bit encoding.
326956cc18dSsnj
327d522f475Smrg  --enable-256-color      enable 256-color support
328d522f475Smrg
329d522f475Smrg  	Compile-in code that interprets SGR 38 and 48 for 256-colors.
330d522f475Smrg
331d522f475Smrg  --enable-88-color       enable 88-color support
332d522f475Smrg
333d522f475Smrg	Compile-in code that interprets SGR 38 and 48 for 88-colors.
334d522f475Smrg
335d522f475Smrg  --enable-broken-osc     allow broken Linux OSC-strings],
336d522f475Smrg
337d522f475Smrg	Compile-in code to accommodate scripts that write Linux's malformed
338d522f475Smrg	palette control strings without checking.  The result makes xterm
339d522f475Smrg	appear to freeze.  This workaround makes xterm ignore the strings,
340d522f475Smrg	and is compiled-in by default for Linux.
341d522f475Smrg
342d522f475Smrg  --enable-broken-st      allow broken string-terminators],
343d522f475Smrg
344d522f475Smrg	Compile-in code that works around a bug in some ISDN routers (and
345d522f475Smrg	possibly other applications written by the same people):  they send an
346d522f475Smrg	unterminated control string in their banner text, making xterm freeze.
347d522f475Smrg	The workaround tells xterm to stop processing the control string when
348d522f475Smrg	it receives one of the whitespace control characters such as newline.
349d522f475Smrg	That was the behavior before patch #171.
350d522f475Smrg
351d522f475Smrg  --enable-dabbrev        enable dynamic-abbreviation support
352d522f475Smrg
353d522f475Smrg	Compile-in support for "dabbrev-expand()" action and related key
354d522f475Smrg	translation.
355d522f475Smrg
356d522f475Smrg  --enable-dec-locator    enable DECterm Locator support
357d522f475Smrg	Add support for DEC Locator control sequences for xterm:
358d522f475Smrg
359d522f475Smrg		DECEFR - Enable Filter Rectangle
360d522f475Smrg	        DECELR - Enable Locator Reports
361d522f475Smrg		DECSLE - Select Locator Events
362d522f475Smrg		DECRQLP - Request Locator Position
363d522f475Smrg
364d522f475Smrg	This allows the xterm mouse to be used with applications that use the
365d522f475Smrg	DEC Locator sequences, such as VAX Tpu, or SMG$ based applications.
366d522f475Smrg
367d522f475Smrg  --enable-exec-xterm     enable "spawn-new-terminal" action
368d522f475Smrg
369d522f475Smrg  	If your platform supports the process filesystem "cwd" link,
370d522f475Smrg	compile-in support for the "spawn-new-terminal" action, which
371d522f475Smrg	allows you to define a key translation that runs a new xterm
372d522f475Smrg	using the same working directory as the current process within
373d522f475Smrg	xterm.
374d522f475Smrg
375d522f475Smrg  --enable-hp-fkeys       enable support for HP-style function keys
376d522f475Smrg
377d522f475Smrg  	Compile-in code to support HP-style function keys.
378d522f475Smrg
379d522f475Smrg  --enable-load-vt-fonts  enable load-vt-fonts() action
380d522f475Smrg
381d522f475Smrg  	Compile-in code that allows user to define load different VT-font
382d522f475Smrg	definitions at runtime.
383d522f475Smrg
384d522f475Smrg  --enable-logfile-exec   enable exec'd logfile filter
385d522f475Smrg
386d522f475Smrg  	Compile-in code that allows logging piped via an external filter.
387d522f475Smrg
388d522f475Smrg  --enable-logging        enable logging
389d522f475Smrg
390d522f475Smrg  	Compile-in code that allows logging.
391d522f475Smrg
392d522f475Smrg	Logging was disabled in X11R5 xterm because of security problems.
393d522f475Smrg	They were addressed in X11R6, but the feature was not reinstated.
394d522f475Smrg
395d522f475Smrg  --enable-luit           enable support for luit filter (Unicode translation)
396d522f475Smrg
397d522f475Smrg	Luit is a filter that can be run between an arbitrary application and a
398d522f475Smrg	UTF-8 terminal emulator.  It will convert application output from the
399d522f475Smrg	locale's encoding into UTF-8, and convert terminal input from UTF-8
400d522f475Smrg	into the locale's encoding.
401d522f475Smrg
402d522f475Smrg	This sets "--enable-wide-chars" as a side-effect.
403d522f475Smrg
404d522f475Smrg  --enable-mini-luit      enable support for poor man's luit filter (Latin-9)
405d522f475Smrg
406d522f475Smrg	Provide built-in support for Latin-9, relying on having specified
407d522f475Smrg	Unicode (ISO10646) fonts and setting the locale resource to "checkfont".
408d522f475Smrg
409d522f475Smrg	This sets "--enable-luit" as a side-effect.
410d522f475Smrg
411d522f475Smrg  --enable-narrowproto    enable narrow prototypes for X libraries
412d522f475Smrg
413d522f475Smrg	Originally xterm was built using imake rather than a configure script. 
414d522f475Smrg	One feature of imake that is not possible to guess within the
415d522f475Smrg	configure script is the wide-prototype compile-time definition
416d522f475Smrg	NARROWPROTO.  When this is not set properly, the Athena widget
417d522f475Smrg	scrollbars do not work properly.  xterm's configure script has a
418d522f475Smrg	fallback case which allows disabling imake.  However, this is moot
419d522f475Smrg	with the X.org "modular" build, whose compiler options are unrelated to
420d522f475Smrg	imake or older versions of any libraries that it may distribute.  In
421d522f475Smrg	this case, the configure script needs some help.  Use this option to
422d522f475Smrg	enable or disable NARROW proto (and disable imake with the
423d522f475Smrg	--disable-imake option) to match the whims of X.org hackers.
424d522f475Smrg
425d522f475Smrg	For instance
426d522f475Smrg
427d522f475Smrg		configure --disable-imake --disable-narrowproto
428d522f475Smrg
429d522f475Smrg  --enable-readline-mouse enable support for mouse in readline applications
430d522f475Smrg
431d522f475Smrg	Compile-in code to support experimental bracketed paste mode, i.e.,
432d522f475Smrg	provide functions for setting/getting the selection data.  Essentially
433d522f475Smrg	this puts xterm into a mode that sends special function-key strings to
434d522f475Smrg	bracket the data.
435d522f475Smrg
436d522f475Smrg	(See --enable-paste64, which fits xterm's protocol better).
437d522f475Smrg
438d522f475Smrg  --enable-sco-fkeys      enable support for SCO-style function keys
439d522f475Smrg
440d522f475Smrg  	Compile-in code to support SCO-style function keys.
441d522f475Smrg
442d522f475Smrg  --enable-sun-fkeys      enable support for Sun-style function keys
443d522f475Smrg
444d522f475Smrg  	Compile-in code to support Sun-style function keys.
445d522f475Smrg
446d522f475Smrg  --enable-toolbar        enable pulldown menus on toolbar
447d522f475Smrg
448d522f475Smrg  	Compile-in code that builds a toolbar with pulldown menus.  The
449d522f475Smrg	normal popup menus are still available.
450d522f475Smrg
451d522f475Smrg	This is an experimental option.  As of patch #206, it is known to
452d522f475Smrg	work well with fvwm, but not as well with some other window managers,
453d522f475Smrg	e.g., KDE's Kwin and IceWM.
454d522f475Smrg
455d522f475Smrg	In addition to isolated layout problems, it is reported that some
456d522f475Smrg	flavors of the Athena widget library perform badly with ISO-10646
457d522f475Smrg	fonts.  You can work around those by setting the menu fonts to
458d522f475Smrg	an ISO-8859 variant in your X resources.
459d522f475Smrg
460d522f475Smrg  --enable-trace          test: set to enable debugging traces
461d522f475Smrg
462d522f475Smrg  	Compile-in code to trace xterm's internal states.
463d522f475Smrg
464d522f475Smrg	This is a debugging feature.  It causes xterm to produce two files
465d522f475Smrg	(Trace-parent.out and Trace-child.out).
466d522f475Smrg
467d522f475Smrg  --enable-warnings       test: turn on GCC compiler warnings
468d522f475Smrg
469d522f475Smrg	Modify the generate Makefile to turn on gcc compiler warnings.
470d522f475Smrg
471d522f475Smrg	I use this option regularly, and correct all but a few (difficult)
472d522f475Smrg	problems.
473d522f475Smrg
474d522f475Smrg  --enable-wide-chars     enable wide-character support
475d522f475Smrg
476d522f475Smrg  	Compile-in code that supports 16-bit characters.  Includes support
477d522f475Smrg	for UTF-8.
478d522f475Smrg
479d522f475Smrg  --enable-xmc-glitch     test: enable xmc magic-cookie emulation
480d522f475Smrg
481d522f475Smrg  	Compile-in code that simulates the terminfo "magic cookie" glitch.
482d522f475Smrg
483d522f475Smrg	This is for testing ncurses.
484d522f475Smrg
485d522f475Smrg  --with-Xaw3d            link with Xaw 3d library
486d522f475Smrg
487d522f475Smrg  	Look for, compile and link with the Xaw 3d widget library.
488d522f475Smrg
489d522f475Smrg  --with-XawPlus          link with Athena-Plus library
490d522f475Smrg
491d522f475Smrg  	Look for, compile and link with the Xaw Plus widget library.
492d522f475Smrg
493d522f475Smrg  --with-app-defaults=DIR directory in which to install resource files (default: EPREFIX/lib/X11/app-defaults)
494d522f475Smrg
495d522f475Smrg	autoconf scripts assume that all of the files should be installed
496d522f475Smrg	under the same top-level directory.  But X applications defaults
497d522f475Smrg	must be installed into a special directory, e.g.,
498d522f475Smrg
499d522f475Smrg		/usr/X11/lib/app-defaults
500d522f475Smrg
501d522f475Smrg	However, there is no standard for this pathname.  The manual page
502d522f475Smrg	for X notes that the environment variable $XUSERFILESEARCHPATH can
503d522f475Smrg	specify a list of places where X searches for applications defaults.
504d522f475Smrg	Also, it may look in $XAPPLRESDIR, but that usually is not related
505d522f475Smrg	to where xterm might be installed.  To keep it simple, the configure
506d522f475Smrg	script uses
507d522f475Smrg
508d522f475Smrg		EPREFIX/lib/X11/app-defaults
509d522f475Smrg
510d522f475Smrg	as the default (EPREFIX is --prefix).  That makes it work normally
511d522f475Smrg	for most systems if --prefix is /usr.  For other installs, e.g., to
512d522f475Smrg	/usr/local, you should use this option to customize the location to
513d522f475Smrg	match your system configuration.
514d522f475Smrg
515d522f475Smrg	Use --without-app-defaults or --with-app-defaults=no to disable the
516d522f475Smrg	feature.
517d522f475Smrg
518d522f475Smrg  --with-freetype-cflags  -D/-I options for compiling with FreeType library
519d522f475Smrg
520d522f475Smrg	Override options provided by xft-config or freetype-config.
521d522f475Smrg
522d522f475Smrg  --with-freetype-libs    -L/-l options for linking with FreeType library
523d522f475Smrg
524d522f475Smrg	Override options provided by xft-config or freetype-config.
525d522f475Smrg
526d522f475Smrg  --with-icondir=DIR directory in which to install icon files (default: EPREFIX/share/pixmaps)
527d522f475Smrg
528d522f475Smrg	The X libraries may automatically search these locations:
529d522f475Smrg
530d522f475Smrg	$HOME/.icons
531d522f475Smrg	$XDG_DATA_DIRS/icons
532d522f475Smrg	/usr/share/pixmaps
533d522f475Smrg
534d522f475Smrg	See also
535d522f475Smrg	http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html
536d522f475Smrg
537d522f475Smrg	Use --without-icondir or --with-icondir=no to disable the feature.
538d522f475Smrg
539d522f475Smrg  --with-neXtaw           link with neXT Athena library
540d522f475Smrg
541d522f475Smrg  	Look for, compile and link with the neXT Athena widget library.
542d522f475Smrg
543d522f475Smrg  --with-own-terminfo=P   set default $TERMINFO (default: from environment)
544d522f475Smrg
545d522f475Smrg  	Modify the generated Makefile to set the target for the 'install-ti'
546d522f475Smrg	rule to point to the given directory.
547d522f475Smrg
548d522f475Smrg	If you have the $TERMINFO variable defined in your environment, the
549d522f475Smrg	configure script will use that value.  If no option and no variable
550d522f475Smrg	are are given, the configure script uses /usr/lib/terminfo, if it
551d522f475Smrg	exists.
552d522f475Smrg
553d522f475Smrg	You do not have to run "make install-ti", if there is already a
554d522f475Smrg	workable terminfo description.  Be advised, however, that the
555d522f475Smrg	common variety of "xterm-color" is not suited for xterm, but is
556d522f475Smrg	directed to other variations (such as nxterm) which do not
557d522f475Smrg	support the background-color erase capability.
558d522f475Smrg
559d522f475Smrg  --with-pcre             use PCRE for regular-expressions
560d522f475Smrg
561d522f475Smrg	If regular expressions are not disable (--disable-regex), use PCRE
562d522f475Smrg	rather than the POSIX regular expressions.
563d522f475Smrg
564d522f475Smrg  --with-reference=XXX    program to use as permissions-reference
565d522f475Smrg
566d522f475Smrg	To install xterm with setuid permissions, the scripts usually compare
567d522f475Smrg	it with a previous install.  That works well for individual
568d522f475Smrg	maintainers, but can be a problem for packagers who may be
569d522f475Smrg	cross-compiling, etc.  This option lets the package builder specify
570d522f475Smrg	the file used for permissions reference.
571d522f475Smrg
572d522f475Smrg  --with-setuid=XXX       use the given setuid user
573d522f475Smrg
574d522f475Smrg	Install xterm setuid'd to the given user.  If no parameter value
575d522f475Smrg	is given, assume it is root.
576d522f475Smrg
577d522f475Smrg	See also --with-utmp-setgid and --with-utempter, which manipulate
578d522f475Smrg	the setgid group.
579d522f475Smrg
580d522f475Smrg  --with-tty-group=XXX    use XXX for the tty-group
581d522f475Smrg
582d522f475Smrg	If xterm is installed setuid'd to root, change the group of the tty
583d522f475Smrg	device to the given value on startup.  Three cases are possible:
584d522f475Smrg	
585d522f475Smrg	a) If this option is not given, the configure script will attempt to
586d522f475Smrg	   find a suitable value (usually "tty"), and verify that it exists in
587d522f475Smrg	   the group database.
588d522f475Smrg
589d522f475Smrg	b) If the option value is given, it will use the value even if it does
590d522f475Smrg	   not exist in the group database (allowing packagers to work about
591d522f475Smrg	   deficient environments).
592d522f475Smrg
593d522f475Smrg	c) If the option is disabled, e.g., --without-tty-group, the
594d522f475Smrg	   permissions change will use the group-id of the process.
595d522f475Smrg
596d522f475Smrg	If xterm is not installed setuid'd to root, this option is not needed,
597d522f475Smrg	since it cannot change the tty device's ownership.
598d522f475Smrg
599d522f475Smrg  --with-xterm-symlink=XXX  make symbolic link to installed xterm
600d522f475Smrg
601d522f475Smrg	If any of the configure options to modify the program name i.e.,
602d522f475Smrg	--program-prefix, --program-suffix or --program-transform-name
603d522f475Smrg	are given, this option allows the makefile to create a symbolic link,
604d522f475Smrg	e.g., to "xterm" on install.  The option value gives the name for
605d522f475Smrg	the link, which defaults to "xterm".
606d522f475Smrg
607d522f475Smrg	Use --without-xterm-symlink to disable a link to "xterm" if none
608d522f475Smrg	is wanted.
609d522f475Smrg
610d522f475Smrg  --with-terminal-id[=V]  set default decTerminalID (default: vt100)
611d522f475Smrg
612d522f475Smrg  	Set the default emulation level.
613d522f475Smrg
614d522f475Smrg	DEC terminals vt52/vt100/vt220/etc form a series where succeeding
615d522f475Smrg	models emulate features of the older terminals.  While most
616d522f475Smrg	features of these terminals are recognized by xterm at all levels,
617d522f475Smrg	a few behave differently according to the emulation level.
618d522f475Smrg
619d522f475Smrg	You can always override this with the command-line option "-ti".
620d522f475Smrg
621d522f475Smrg  --with-terminal-type=T  set default $TERM (default: xterm)
622d522f475Smrg
623d522f475Smrg	Set the default value for $TERM.  Xterm supports legacy termcap
624d522f475Smrg	applications by constructing a modified version of the $TERMCAP
625d522f475Smrg	variable at initialization, which supplies the resulting screen
626d522f475Smrg	size.  It also sets $TERM, if not already set, for use by programs
627d522f475Smrg	running within xterm.
628d522f475Smrg
629d522f475Smrg	The default value "xterm", can be overridden to avoid conflict
630d522f475Smrg	with older versions of xterm, e.g., those that do not implement
631d522f475Smrg	vt220 emulation.
632d522f475Smrg
633d522f475Smrg	You can always override this with the command-line option "-tn".
634d522f475Smrg
635d522f475Smrg  --with-utempter         use utempter library for access to utmp
636d522f475Smrg
637d522f475Smrg	The utempter library is a set-uid wrapper for the utmp facility.
638d522f475Smrg	On systems with Unix98 pty's, xterm can use this library when
639d522f475Smrg	available so it need not be installed set-uid.
640d522f475Smrg
641d522f475Smrg  --with-utmp-setgid=XXX  use setgid for access to utmp
642d522f475Smrg
643d522f475Smrg	The option value specifies a group to use when installing.
644d522f475Smrg	xterm will be installed with setgid privilege to this group.
645d522f475Smrg	At runtime, xterm will drop the setuid privilege immediately
646d522f475Smrg	after opening the pseudo-terminal, and will have only the
647d522f475Smrg	group privilege needed to access the utmp file.  This relies
648d522f475Smrg	on having POSIX setuid behavior.
649d522f475Smrg
650d522f475Smrg-- vile:txtmode
651