root/foundation-apps/mxterm-maxx/INSTALL

Revision 8, 24.1 KB (checked in by emasson, 3 years ago)

initial import for the community edition

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