annotate INSTALL @ 2420:ad56e5a6d09f

[xemacs-hg @ 2004-12-06 03:46:06 by ben] (none) README.packages: Document use of --package-prefix. Fix error in specifying standard package location. make-docfile.c: Use QXE_PATH_MAX. info.el: Correct doc string giving example package path. menubar-items.el: Move Prefix Rectangle command up one level. xemacs/packages.texi: Add long form of Lisp Reference Manual to links. Add links pointing to Lisp Reference Manual for more detailed package discussion. lispref/range-tables.texi: Document range-table changes. internals/internals.texi: Update history section. elhash.c, elhash.h, profile.c: Create inchash_eq() to allow direct incrementing of hash-table entry. Use in profile.c to try to reduce profiling overhead. Increase initial size of profile hash tables to reduce profiling overhead. buffer.c, device-msw.c, dialog-msw.c, dired-msw.c, editfns.c, event-msw.c, events.c, glyphs-msw.c, keymap.c, objects-msw.c, process-nt.c, syswindows.h, text.c, text.h, unexnt.c: Rename xetcs* -> qxetcs* for consistency with qxestr*. Rename ei*_c(_*) -> ei*_ascii(_*) since they work with ASCII-only strings not "C strings", whatever those are. This is the last place where "c" was incorrectly being used for "ascii". dialog-msw.c, dumper.c, event-msw.c, fileio.c, glyphs-gtk.c, glyphs-x.c, nt.c, process-nt.c, realpath.c, sysdep.c, sysfile.h, unexcw.c, unexnext.c, unexnt.c: Try to avoid differences in systems that do or do not include final null byte in PATH_MAX. Create PATH_MAX_INTERNAL and PATH_MAX_EXTERNAL and use them everywhere. Rewrite code in dumper.c to avoid use of PATH_MAX. When necessary in nt.c, use _MAX_PATH instead of MAX_PATH to be consistent with other places. text.c: Code to short-circuit when binary or Unicode was not working due to EOL wrapping. Fix this code to work when either no EOL autodetection or no CR's or LF's in the text. lisp.h, rangetab.c, rangetab.h, regex.c, search.c: Implement different types of ranges (open/closed start and end). Change default to be start-closed, end-open.
author ben
date Mon, 06 Dec 2004 03:46:07 +0000
parents f512fee90bfb
children 97dd9f867cef
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 XEmacs Installation Guide
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
2
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 Copyright (c) 1994, 1995, 1996 Board of Trustees, University of Illinois
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
4 Copyright (c) 1994-1999, 2003 Free Software Foundation, Inc.
412
697ef44129c6 Import from CVS: tag r21-2-14
cvs
parents: 410
diff changeset
5
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 Permission is granted to anyone to make or distribute verbatim copies
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 of this document as received, in any medium, provided that the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 copyright notice and permission notice are preserved,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 and that the distributor grants the recipient permission
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 for further redistribution as permitted by this notice.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 Permission is granted to distribute modified versions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 of this document, or of portions of it,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 under the above conditions, provided also that they
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 carry prominent notices stating who last changed them,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 and that any new or changed statements about the activities
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17 of the Free Software Foundation are approved by the Foundation.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
19 Last modified by Stephen J. Turnbull <stephen@xemacs.org> 2003-02-12
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
21 BUILDING AND INSTALLATION FOR UNIX AND CYGWIN
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
22
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
23 (for Microsoft Windows, see nt/README also.)
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
24
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
25 PREREQUISITES
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
26 =============
404
2f8bb876ab1d Import from CVS: tag r21-2-32
cvs
parents: 400
diff changeset
27
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
28 Make sure your system has enough swapping space allocated to handle a
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
29 program whose pure code is 900k bytes and whose data area is at least
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
30 400k and can reach 8Mb or more. Note that a typical XEmacs process
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
31 can get much bigger: the instance this sentence was written with is
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
32 over 100MB! If the swapping space is insufficient, you will get an
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
33 error in the command `temacs -batch -l loadup dump', found in
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
34 `./src/Makefile.in.in', or possibly when running the final dumped
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
35 XEmacs.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
37 Verify that your users have a high enough stack limit. On some systems
1036
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 845
diff changeset
38 such as OpenBSD and OSF/Tru64 the default is 2MB which is too low. On
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 845
diff changeset
39 MacOS/X (Darwin), it's 512kB. See 'PROBLEMS' for details.
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
40
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
41 Building XEmacs requires about 100 Mb of disk space (including the
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
42 XEmacs sources). Once installed, XEmacs occupies between 20 and 100
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
43 MB in the file system where it is installed; this includes the
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
44 executable files, Lisp libraries, miscellaneous data files, and
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
45 on-line documentation. The exact amount depends greatly on the number
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
46 of extra Lisp packages that are installed.
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
47
2259
e77c2aea9fd8 [xemacs-hg @ 2004-09-10 11:58:06 by malcolmp]
malcolmp
parents: 1375
diff changeset
48 XEmacs requires an ANSI C compiler, such as GCC, and a POSIX compatible
e77c2aea9fd8 [xemacs-hg @ 2004-09-10 11:58:06 by malcolmp]
malcolmp
parents: 1375
diff changeset
49 make, such as GNU Make. If you wish to build the documentation
e77c2aea9fd8 [xemacs-hg @ 2004-09-10 11:58:06 by malcolmp]
malcolmp
parents: 1375
diff changeset
50 yourself, you will need at least version 1.68 of makeinfo (GNU
e77c2aea9fd8 [xemacs-hg @ 2004-09-10 11:58:06 by malcolmp]
malcolmp
parents: 1375
diff changeset
51 texinfo-3.11). GNU Texinfo 4.2 is recommended; it is necessary for
e77c2aea9fd8 [xemacs-hg @ 2004-09-10 11:58:06 by malcolmp]
malcolmp
parents: 1375
diff changeset
52 building Lisp packages, and we may move to it for the core.
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
53
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
54 A note on terminology: unfortunately the terms "library" and "package"
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
55 are heavily overloaded. In the following, "library" refers to an
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
56 external body of executable code which may be linked with XEmacs at
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
57 build time to provide support for system features, such as images,
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
58 audio, stream compression, databases, and input methods. A "Lisp
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
59 library" is a file of Lisp code which may be loaded into XEmacs at
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
60 run-time to provide editor features. A "package" is a specially
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
61 prepared Lisp library or set of Lisp libraries, providing for easy
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
62 installation, upgrade, and removal of applications written in Lisp.
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents: 392
diff changeset
63
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
64 PACKAGE SYSTEM
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
65 ==============
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
66
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
67 The file README.packages contain information vital to have a fully
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
68 working XEmacs. It includes a description of available packages, and
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
69 how to bootstrap XEmacs from a minimal or a complete set of packages.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
70 This information was not included in this file only because it is too
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
71 large for this terse INSTALL. Please read README.packages now!
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
72
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
73 ADD-ON LIBRARIES
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
74 ================
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
75
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
76 Decide which libraries you would like to use with XEmacs, but are not
1375
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
77 yet available on your system. On some systems, X11, Motif and CDE are
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
78 optional additions. On MacOS/X systems, you may download X11R6 for
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
79 Mac OS X from http://www.apple.com/macosx/x11/download/. You need
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
80 both the runtime libraries and the SDK (in a sidebar of that page at
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
81 the time of writing). There is also a 3rd-party implementation of
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
82 X11R6 for the Mac at http://www.xdarwin.org/. On Solaris, the
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
83 SUNWaudmo package enables native sound support. There are also a
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
84 number of free software applications that XEmacs can use. If these
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
85 are not yet available on your system, obtain, build and install those
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
86 external libraries before building XEmacs. The libraries XEmacs can
0b6d70f7d49c [xemacs-hg @ 2003-03-24 14:13:40 by stephent]
stephent
parents: 1338
diff changeset
87 use are:
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
88
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
89 Xaw3d, XPM, JPEG, compface, PNG, zlib, GNU DBM, Berkeley DB, socks,
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
90 term, NAS, Canna, Kinput2, SJ3, Wnn, PostgreSQL, LDAP.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
91
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
92 You can get (most of) them from the XEmacs FTP archive at
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
93 <ftp://ftp.xemacs.org/pub/xemacs/aux>. Information about what
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
94 each library does is available in the file
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
95 <ftp://ftp.xemacs.org/pub/xemacs/aux/00README.txt>.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
96
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
97 Use the `--site-includes' and `--site-libraries' options when building
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
98 XEmacs to allow configure to find the external software packages. For
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
99 your convenience these can be set together by using the
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
100 `--with-site-prefix' option. This will set these variables as needed
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
101 assuming your libraries are organised as a typical /usr tree.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
102
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
103 If you link dynamically with external libraries, usually denoted by
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
104 ".so" (Unix), ".dll" (Windows), or ".dylib" (MacOS) file extensions,
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
105 on some systems you may also need to add the library directories to
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
106 the `--site-runtime-libraries' option. It is typically necessary only
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
107 if you link with dynamic libraries that are installed in non-standard
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
108 directories, or if you expect some of the libraries used to build
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
109 XEmacs to be in a different directory at run time than at build time.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
110
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
111 NOTE: This option has unusual semantics. ONLY libraries found in the
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
112 directories specified in this option will be used at runtime. This
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
113 means you must specify ALL directories you want searched at runtime in
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
114 this option (perhaps excluding a very small number of standard system
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
115 library paths).
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
116
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
117 Directories specified with `--site-libraries' are NOT automatically
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
118 added. The rationale is that most users will not need this option,
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
119 and this allows the builder to specify exactly the needed directories.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
120 Specifying unnecessary directories leads to obscure problems
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
121 (typically startup delays) if those directories are mounted over a
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
122 network, and the automounter configuration changes. Not all systems
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
123 need this option; it's best to avoid using it if you can.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
124
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
125 Dynamic linking has pros and cons. Dynamically linking 3rd party
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
126 libraries to XEmacs decreases the size of the binary, and means you
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
127 don't need to rebuild XEmacs to take advantage of improvements in the
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
128 libraries. On the other hand, XEmacs can fail subtly if the semantics
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
129 of a library changes, other users may not be able to use your
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
130 "private" copies of the libraries, and you may have to relink XEmacs,
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
131 or even omit the feature, if the ABI changes when the libraries are
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
132 upgraded.
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
133
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
134 CONFIGURATION OPTIONS
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
135 =====================
269
b2472a1930f2 Import from CVS: tag r20-5b33
cvs
parents: 255
diff changeset
136
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
137 In the top level directory of the XEmacs distribution, run the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
138 program `configure' as follows:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
140 ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ...
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
142 Controlling the Host Type
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
143 -------------------------
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
144
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
145 Almost always, you should let `configure' (actually the shell script
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
146 `config.guess') guess your host type, by omitting the
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
147 CONFIGURATION-NAME argument. If you like to experiment, specify a
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
148 configuration name in the form MACHINE-VENDOR-OPSYS, for example:
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
150 sparc-sun-solaris2.6
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
151
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
152 See config.guess and configure.in for valid values for MACHINE,
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
153 VENDOR, and OPSYS. Also check `./etc/MACHINES' for advice on building
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
154 on particular machines.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
156 Specifying Location of Headers and Libraries
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
157 --------------------------------------------
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
158
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
159 The `--site-includes=DIR' and `--site-libraries=DIR' options allow you
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
160 to specify additional places the compiler should look for include
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
161 files and object libraries. You may specify multiple DIR's by
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
162 enclosing the list in quotes. All the external libraries you want to
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
163 use with XEmacs (e.g. xpm, wnn, ...) described later should have their
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
164 include and library directories defined using these options.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
165
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
166 The `--site-runtime-libraries=DIR' option specifies directories to
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
167 search for shared libraries at run time. If you use this option, you
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
168 must specify ALL of the directories containing shared libraries at run
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
169 time, including system directories. Please read the information about
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
170 "ADD-ON LIBRARIES" above very carefully.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172 The `--x-includes=DIR' and `--x-libraries=DIR' options tell the build
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173 process where the compiler should look for the include files and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 object libraries used with the X Window System. Normally, `configure'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175 is able to find them; these options are necessary if you have your X
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176 Window System files installed in unusual places.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
177
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
178 Configuring the Build Process
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
179 -----------------------------
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
180
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
181 The `--with-gcc=PROGRAM' option specifies that the build process
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
182 should compile XEmacs using GCC. The `--compiler' option allows you
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
183 to specify some other compiler to be used to compile XEmacs. If
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
184 neither option is specified, the environment variable CC is used
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
185 instead. Otherwise the compiler will then default to 'cc'.
201
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
186
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
187 The `--xemacs-compiler=PROGRAM' option specifies the compiler control
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
188 program for the xemacs binary only. Other C code will be compiled
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
189 according to the `--with-gcc' and `--compiler' options above. This is
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
190 useful if you wish to compile XEmacs with a C++ compiler, because the
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
191 utilities in ./lib-src cannot be compiled as C++. This option is
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
192 primarily intended for use by the maintainers.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
193
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
194 The `--cflags=FLAGS' option specifies all of the CFLAGS the build process
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
195 should use when compiling XEmacs, except for flags controlling warning
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
196 generation. Otherwise the value of the environment variable CFLAGS is
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
197 consulted. If that is also undefined, CFLAGS defaults to "-g -O" for
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
198 gcc and "-g" for all other compilers.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
199
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
200 The `--cflags_warning=FLAGS' option specifies the warnings to be
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
201 generated. There is normally no reason to use this flag, as XEmacs
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
202 turns on as many warnings as possible, and is still expected to build
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
203 with no, or at most a few warnings.
594
fd49b88b9f06 [xemacs-hg @ 2001-05-31 12:47:21 by ben]
ben
parents: 442
diff changeset
204
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
205 The `--dynamic' option specifies that configure should try to link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
206 emacs dynamically rather than statically.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
207
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208 You can build XEmacs for several different machine types from a single
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
209 source directory. To do this, you must use a version of `make' that
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
210 supports the `VPATH' variable, such as GNU `make'. Create separate
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
211 build directories for the different configuration types, and in each
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212 one, run the XEmacs `configure' script. `configure' looks for the
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
213 Emacs source code in the directory that `configure' is in. The
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
214 `--srcdir' option may not work correctly (traditionally it was
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
215 overridden by the directory containing `configure').
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
216
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
217 Configuring the Installation Layout
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
218 -----------------------------------
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
220 The `--prefix=PREFIXDIR' option specifies where the installation process
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221 should put XEmacs and its data files. This defaults to `/usr/local'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 - XEmacs (and the other utilities users run) go in PREFIXDIR/bin
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 (unless the `--exec-prefix' option says otherwise).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224 - The architecture-independent files go in PREFIXDIR/lib/xemacs-VERSION
276
6330739388db Import from CVS: tag r21-0b36
cvs
parents: 274
diff changeset
225 (where VERSION is the version number of XEmacs, like `21.0').
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226 - The architecture-dependent files go in
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
227 PREFIXDIR/lib/xemacs-VERSION/CONFIGURATION-NAME
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
228 (where CONFIGURATION-NAME is the host type, like mips-dec-ultrix4.2),
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229 unless the `--exec-prefix' option says otherwise.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 The `--exec-prefix=EXECDIR' option allows you to specify a separate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 portion of the directory tree for installing architecture-specific
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233 files, like executables and utility programs. If specified,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234 - XEmacs (and the other utilities users run) go in EXECDIR/bin, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235 - The architecture-dependent files go in
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
236 EXECDIR/lib/xemacs-VERSION/CONFIGURATION-NAME.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237 EXECDIR/bin should be a directory that is normally in users' PATHs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
239 If you specify --prefix (or any of the other installation directory
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
240 options), they will get compiled into the xemacs executable so it will
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
241 be able to find its various associated files. However, XEmacs has
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
242 quite elaborate logic to find out the locations of these directories
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
243 dynamically. Sometimes, it is desirable *not* to compile these
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
244 directories into the executable so you can move the XEmacs
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
245 installation around (as whole) at will. This is true for binary kits,
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
246 for instance. Therefore, you can specify --without-prefix on the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
247 configure command line to prevent the installation prefix to become
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
248 part of the generated executable; everything else will continue to
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
249 work as usual.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
250
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
251 Configuring Feature Support
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
252 ---------------------------
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
253
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
254 If you don't want X Window System support, specify `--without-x'. If
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
255 you omit this option, `configure' will try to autodetect whether your
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
256 system has X Window System support, and arrange to use it if present.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
257
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
258 The `--without-xmu' option can be used if your vendor doesn't ship
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
259 the Xmu library.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
260
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
261 The `--with-menubars=TYPE' option allows you to specify which X
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
262 toolkit you wish to use for the menubar. The valid options are
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
263 `lucid', `motif' and `no'. The default is `lucid' which is a
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
264 Motif-lookalike menubar. We highly recommend its usage over the real
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
265 Motif menubar. (In fact, the Motif menubar is currently broken.) If
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
266 `no' is specified then support for menubars will not be compiled in.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
267
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
268 The `--with-scrollbars=TYPE' option allows you to specify which X
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
269 toolkit you wish to use for the scrollbars. The valid options are
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
270 `lucid', `motif', `athena', `athena3d', and `no'. The default is
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
271 `lucid' which is a Motif-lookalike scrollbar. If `no' is specified
104
cf808b4c4290 Import from CVS: tag r20-1b4
cvs
parents: 70
diff changeset
272 then support for scrollbars will not be compiled in.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
273
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
274 The `--with-dialogs=TYPE' option allows you to specify which X toolkit
219
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents: 217
diff changeset
275 you wish to use for the dialog boxes. The valid options are `athena',
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
276 `athena3d', `motif, and `no. The `lucid' option is accepted and will
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
277 result in the `athena' toolkit being used. If the Motif toolkit can be
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
278 found the default is `motif'. Otherwise, the default is `athena'. If
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
279 `no' is specified then support for dialog boxes will not be compiled
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
280 in.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
281
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
282 The `--with-toolbars' option allows you to enable or disable toolbar
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
283 support. The default is `yes' if support for a windowing system is
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
284 included.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
285
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
286 The `--with-xpm' option specifies that XEmacs should support X11
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
287 Pixmaps. `configure' will attempt to detect if you have the Xpm
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
288 libraries and define `--with-xpm' for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
289
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
290 The `--with-xface' option specifies that XEmacs should support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
291 X-Faces. `configure' will attempt to detect if you have the compface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
292 library and define `--with-xface' for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
293
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
294 The `--with-database' option specifies that XEmacs should be built
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
295 with simple database support. The valid options are `no' or a
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
296 comma-separated list of one or more of `dbm', `gnudbm' or `berkdb'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297 `configure' will attempt to detect the necessary libraries and header
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
298 files and define `--with-database' for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
299
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
300 The `--with-postgresql' option specifies that XEmacs should be built
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
301 with PostgreSQL support, linking with libpq. `configure' will attempt
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
302 to detect whether PostgreSQL support is available, and automatically
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
303 define `--with-postgresql' for you.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
304
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
305 The `--with-ldap' option specifies that XEmacs should be build with
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
306 LDAP support, using the OpenLDAP libraries. `configure' will attempt
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
307 to detect whether LDAP support is available, and automatically define
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
308 `--with-ldap' for you.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
309
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
310 The `--with-socks' option specifies that XEmacs should be built with
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
311 SOCKS support. This requires the libsocks library.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
312
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
313 The `--external-widget' option specifies that XEmacs should be built
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
314 with support for being used as a widget by other X11 applications.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
315 This functionality should be considered beta.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
316
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
317 The `--with-sound=TYPE' option specifies that XEmacs should be built
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
318 with sound support. Native (`--with-sound=native') sound support is
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
319 currently available only on Sun SparcStations, SGI's, HP9000s, and
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
320 systems (such as Linux) with soundcard.h. Network Audio Support (NAS)
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
321 (`--with-sound=nas' or `--with-sound=both') is an extension to X that
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
322 you may or may not have for your system. For NAS, you will probably
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
323 need to provide the paths to the nas include and library directories
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
324 to configure. If `--with-sound' is not specified, `configure' will
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
325 attempt to determine if your configuration supports native sound and
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
326 define --with-sound for you. If your native sound library is not in a
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
327 standard location you can specify it with the `--native-sound-lib=LIB'
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
328 flag. For Linux, `/dev/audio' is required for SunAudio files and
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
329 `/dev/dsp' is required for raw data and WAVE format files.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
330
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
331 The `--with-tooltalk' option specifies that XEmacs should be built
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
332 with ToolTalk support for interconnecting with other applications.
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
333 ToolTalk is not yet supported on all architectures. If you use this
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
334 option, you should have the tooltalk package (see etc/PACKAGES)
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
335 installed prior to building XEmacs.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
336
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
337 The `--with-sparcworks' option specifies that XEmacs should be built
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
338 with support for Sun Sparcworks 3.0.1 and up (including Sun WorkShop).
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
339 This functionality is only of use on SunOS 4.1.x and Solaris 2.x
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
340 systems. If you use this option, you should have the Sun package (see
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
341 etc/PACKAGES) installed prior to building XEmacs.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
342
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
343 The `--with-cde' option allows you to enable or disable CDE drag and
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
344 drop support. `configure' will attempt to detect this option and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
345 define `--with-cde' for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
346
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
347 The `--with-offix' option allows you to enable or disable OffiX drag
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
348 and drop support. This requires no external library support, so if
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
349 X11 support is available, then this option defaults to `yes'. OffiX
274
ca9a9ec9c1c1 Import from CVS: tag r21-0b35
cvs
parents: 272
diff changeset
350 support can be explicitly disabled via the `--with-offix=no' option.
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
351
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
352 Internationalization Options
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
353 ----------------------------
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
354
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
355 The `--with-mule' option enables MUlti-Lingual Emacs (Mule) support,
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
356 needed to support non-Latin-1 (including Asian) languages. Mule
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
357 support is required for Asian language and Unicode (multibyte and wide
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
358 character) support. With the advent of the Euro and European
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
359 Community expansion, Mule support is also recommended for Western
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
360 Europeans. Enabling Mule support requires the mule-base package
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
361 installed prior to building XEmacs. The `--with-xim', --with-xfs',
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
362 `--with-canna', `--with-wnn' and `--with-wnn6' options require
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
363 Mule support.
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
364
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
365 The `--with-xim' option enables use of the X11 XIM mechanism to allow
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
366 an input method to input text into XEmacs. The input method is shared
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
367 among all the X applications sharing an X display and using the same
151
59463afc5666 Import from CVS: tag r20-3b2
cvs
parents: 149
diff changeset
368 language. The XIM support comes in two flavors: `motif' and `xlib'.
59463afc5666 Import from CVS: tag r20-3b2
cvs
parents: 149
diff changeset
369 The Motif support (the XmIm* functions) is preferred when available.
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
370 The xlib XIM support works reasonably well so long as the X11 libraries
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
371 are recent enough. It has been fairly well tested on Linux with glibc
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
372 2.0.5 and 2.0.6 and Kinput2 as an XIM server. In this configuration
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
373 X11 must be recompiled with X_LOCALE defined because glibc is lacking
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
374 localization for Japanese. The XIM support defaults to `no' except
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
375 when Motif is detected where it is stable with OSF libraries. The XIM
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
376 support in Lesstif (a Free Motif replacement) does not work as of
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
377 v0.82. If you enable this option, you will probably wish to install
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
378 the `locale' package which contains localized Splash screens and
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
379 Menubars.
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
380
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
381 The `--with-xfs' option enables use of a multilingual Menubar. At the
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
382 present time, only Japanese and French locales are supported. In
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
383 order to use a multilingual Menubar you must have the `locale' package
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
384 installed. The `locale' package does not have to be installed when
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
385 building XEmacs.
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
386
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
387 The `--with-canna' option enables the use of the Canna Japanese input
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
388 method. This is stable code and fairly well tested. In order to use
2283
f512fee90bfb [xemacs-hg @ 2004-09-20 18:00:38 by james]
james
parents: 2259
diff changeset
389 it, you will have to have the Canna server installed and running. Canna
f512fee90bfb [xemacs-hg @ 2004-09-20 18:00:38 by james]
james
parents: 2259
diff changeset
390 versions 3.2pl2, 3.5b2, and 3.7p3 are known to work. Version 3.2pl2 is
f512fee90bfb [xemacs-hg @ 2004-09-20 18:00:38 by james]
james
parents: 2259
diff changeset
391 considered more stable than version 3.5b2; the stability of 3.7p3 is
f512fee90bfb [xemacs-hg @ 2004-09-20 18:00:38 by james]
james
parents: 2259
diff changeset
392 still unknown. If Canna is already installed, configure will autodetect
f512fee90bfb [xemacs-hg @ 2004-09-20 18:00:38 by james]
james
parents: 2259
diff changeset
393 it, so you never need to explicitly use this option unless your Canna
f512fee90bfb [xemacs-hg @ 2004-09-20 18:00:38 by james]
james
parents: 2259
diff changeset
394 libraries are somewhere strange. Canna run time support is currently
f512fee90bfb [xemacs-hg @ 2004-09-20 18:00:38 by james]
james
parents: 2259
diff changeset
395 bundled with the `mule-base' package so there is nothing additional to
f512fee90bfb [xemacs-hg @ 2004-09-20 18:00:38 by james]
james
parents: 2259
diff changeset
396 install in order to use it.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
397
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
398 The `--with-wnn' and `--with-wnn6' options are for compiling with the Wnn
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
399 multi-language input method. `--with-wnn' is for compiling with Wnn-4.2,
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
400 the Free version of WNN. `--with-wnn6' is for compiling against WNN6,
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
401 the commercial version of WNN available from OMRON Corporation. This is
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
402 stable code and fairly well tested. In order to build with this
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
403 option, you will need to have the `egg-its' lisp package already
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
404 installed.
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
405
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
406 Please note that it is safe to build with as many of the options
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
407 `--with-xim', `--with-canna' and `--with-wnn' as your system
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
408 supports.
104
cf808b4c4290 Import from CVS: tag r20-1b4
cvs
parents: 70
diff changeset
409
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
410 Options for Developers and Special Requirements
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
411 -----------------------------------------------
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
412
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
413 The `--rel-alloc' option can be used to either enable or disable use
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
414 of the relocating allocator. Turning on --rel-alloc will allow XEmacs
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
415 to return unused memory to the operating system, thereby reducing its
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
416 memory footprint. However, it may make XEmacs runs more slowly,
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
417 especially if your system's `mmap' implementation is missing or
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
418 inefficient. Generally, it's best to go with the default
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
419 configuration for your system. You can tweak this based on how you
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
420 use XEmacs, and the memory and cpu resources available on your system.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
421
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
422 The `--with-system-malloc' option can be used to either enable or
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
423 disable use of the system malloc. Generally, it's best to go with the
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
424 default configuration for your system. Note that on many systems
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
425 using the system malloc disables the use of the relocating allocator.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
426
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
427 The `--with-debug-malloc' option can be used to link a special
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
428 debugging version of malloc. Debug Malloc is not included with XEmacs
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
429 and is intended for use only by the developers. It may be obtained
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
430 from <URL:http://www.letters.com/dmalloc/>.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
431
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
432 The `--debug' and `--error-checking' options are primarily useful to
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
433 the developers. `--debug' incorporates code for performing various
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
434 tests, but does not impose a speed penalty. `--error-checking' adds
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
435 additional tests to many of the commonly used macros, and imposes a
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
436 speed penalty. Using either or both of these options can make bug
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
437 reports more useful to the developers.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
438
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
439 The `--verbose' and `--extra-verbose' options are useful only to the
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
440 developers. `--verbose' causes the results of all configure tests to
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
441 be displayed. `--extra-verbose' displays additional information,
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
442 useful for debugging `configure'.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
443
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
444 MAIL LOCKING
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
445 ============
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
446
845
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
447 For most platforms, configure or the src/s file have the preferred
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
448 method for locking mail spool files preconfigured. Otherwise you must
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
449 find out for youself. Do not choose a locking protocol "on the
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
450 objective merits." XEmacs must use the same method as other mail
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
451 utilities on your system, or you WILL lose mail.
845
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
452
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
453 Presently, XEmacs supports lockf, flock, and dot locking. Specify the
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
454 locking method via the --mail-locking=METHOD option to configure.
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
455 Valid values for METHOD are --mail-locking are `lockf', `flock', and
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
456 `dot'.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
457
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
458 RUNNING CONFIGURE
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
459 =================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
460
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
461 `configure' doesn't do any compilation or installation itself. It
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
462 just creates the files that influence those things: `./src/config.h',
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
463 and all the Makefiles in the build tree.
104
cf808b4c4290 Import from CVS: tag r20-1b4
cvs
parents: 70
diff changeset
464
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
465 When it is done, `configure' prints a description of what it did and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
466 creates a shell script `config.status' which, when run, recreates the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
467 same configuration. If `configure' exits with an error after
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
468 disturbing the status quo, it removes `config.status'. If `configure'
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
469 doesn't work as expected, the file `config.log' contains details of
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
470 the tests run and their results.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
471
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
472 AUXILIARY PATHS
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
473 ===============
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
474
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
475 Look at `./lisp/paths.el'; if some of those values are not right for
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
476 your system, set up the file `./lisp/site-init.el' with XEmacs Lisp
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
477 code to override them; it is not a good idea to edit paths.el itself.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
478 YOU MUST USE THE LISP FUNCTION `setq' TO ASSIGN VALUES, rather than
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
479 `defvar', as used by `./lisp/paths.el'. For example,
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
480
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
481 (setq news-inews-program "/usr/bin/inews")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
482
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
483 is how you would override the default value of the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
484 news-inews-program (which is "/usr/local/inews").
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
485
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
486 Before you override a variable this way, *look at the value* that the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
487 variable gets by default! Make sure you know what kind of value the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
488 variable should have. If you don't pay attention to what you are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
489 doing, you'll make a mistake.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
490
392
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
491 Things may malfunction if the variable `directory-abbrev-alist' is not
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
492 set up to translate "temporary" automounter mount points into the
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
493 canonical form. XEmacs tries to detect how your automounter is
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
494 configured. If you have an unusual automounter configuration that
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
495 XEmacs cannot detect, you may need to change the value of
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
496 `directory-abbrev-alist'.
371
cc15677e0335 Import from CVS: tag r21-2b1
cvs
parents: 367
diff changeset
497
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
498 SITE-SPECIFIC STARTUP CODE
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
499 ==========================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
500
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
501 Put into `./lisp/site-init.el' or `./lisp/site-load.el' any Emacs Lisp
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
502 code you want XEmacs to load before it is dumped out. Use
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
503 site-load.el for additional libraries if you arrange for their
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
504 documentation strings to be in the lib-src/DOC file (see
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
505 src/Makefile.in.in if you wish to figure out how to do that). For all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
506 else, use site-init.el.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
507
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
508 Note that, on some systems, the code you place in site-init.el must
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
509 not use expand-file-name or any other function which may look
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
510 something up in the system's password and user information database.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
511 See `./PROBLEMS' for more details on which systems this affects.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
512
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
513 The `site-*.el' files are nonexistent in the distribution. You do not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
514 need to create them if you have nothing to put in them.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
515
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
516 TERMCAP CONFIGURATION
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
517 =====================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
518
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
519 Refer to the file `./etc/TERMS' for information on fields you may
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
520 wish to add to various termcap entries. The files `./etc/termcap.ucb'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
521 and `./etc/termcap.dat' may already contain appropriately-modified
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
522 entries.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
523
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
524 RUNNING MAKE
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
525 ============
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
526
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
527 Run `make' in the top directory of the XEmacs distribution to finish
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
528 building XEmacs in the standard way. The final executable file is
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
529 named `src/xemacs'. You can execute this file in place without
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
530 copying it, if you wish; then it automatically uses the sibling
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
531 directories ../lisp, ../lib-src, ../info.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
532
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
533 Or you can install the executable and the other XEmacs into their
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
534 permanent locations, with `make install'. By default, XEmacs's files
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
535 are installed in the following directories:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
536
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
537 `/usr/local/bin' holds the executable programs users normally run -
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
538 `xemacs', `etags', `ctags', `b2m', `emacsclient', `ellcc',
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
539 `gnuclient', `gnudoit', `gnuattach', and `rcs-checkin'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
540
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
541 `/usr/local/lib/xemacs-VERSION/lisp' holds the Emacs Lisp libraries;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
542 `VERSION' stands for the number of the XEmacs version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
543 you are installing, like `18.59' or `19.14'. Since
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
544 the lisp libraries change from one version of XEmacs to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
545 another, including the version number in the path
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
546 allows you to have several versions of XEmacs installed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
547 at the same time; this means that you don't have to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
548 make XEmacs unavailable while installing a new version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
549
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
550 XEmacs searches for its lisp files in these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
551 directories, and then in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
552 `/usr/local/lib/xemacs/site-lisp/*'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
553
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
554 `/usr/local/lib/xemacs-VERSION/etc' holds the XEmacs tutorial, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
555 `yow' database, and other architecture-independent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
556 files XEmacs might need while running. VERSION is as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
557 specified for `.../lisp'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
558
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
559 `/usr/local/lib/xemacs/lock' contains files indicating who is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
560 editing what, so XEmacs can detect editing clashes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
561 between users.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
562
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
563 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME' contains executable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
564 programs used by XEmacs that users are not expected to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
565 run themselves, and the DOC file. `VERSION' is the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
566 number of the XEmacs version you are installing, and
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
567 `CONFIGURATION-NAME' is the host type of your system.
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
568 Since these files are specific to the version of
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
569 XEmacs, operating system, and architecture in use,
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
570 including the configuration name in the path allows
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
571 you to have several versions of XEmacs for any mix of
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
572 machines and operating systems installed at the same
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
573 time; this is useful for sites at which different
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
574 kinds of machines share the file system XEmacs is
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
575 installed on.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
576
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
577 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME/modules' holds the Emacs
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
578 dynamically loadable modules. These are special programs
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
579 typically written in C that can be loaded in much the same
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
580 way that Lisp packages are. Not all systems support
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
581 dynamic modules, so do not be alarmed if this directory
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
582 does not exist or is empty.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
583
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
584 XEmacs searches for modules in this directory, or any
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
585 sub-directory of it, and then in
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
586 `/usr/local/lib/xemacs/site-modules/*'.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
587
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
588 `/usr/local/lib/xemacs-VERSION/info' holds the on-line documentation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
589 for XEmacs, known as "info files".
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
590
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
591 `/usr/local/man/man1' holds the man pages for the programs installed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
592 in `/usr/local/bin'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
593
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
594 If these directories are not what you want, you can specify where to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
595 install XEmacs's libraries and data files or where XEmacs should search
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
596 for its lisp files by giving values for `make' variables as part of
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
597 the command.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
598
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
599 You can change where the build process installs XEmacs and its data
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
600 files by specifying values for `make' variables as part of the `make'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
601 command line. For example, if you type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
602
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
603 make install bindir=/usr/local/gnubin
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
604
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
605 the `bindir=/usr/local/gnubin' argument indicates that the XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
606 executable files should go in `/usr/local/gnubin', not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
607 `/usr/local/bin'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
608
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
609 Here is a complete list of the variables you may want to set.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
610
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
611 `bindir' indicates where to put executable programs that users can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
612 run. This defaults to /usr/local/bin.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
613
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
614 `datadir' indicates where to put the architecture-independent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
615 read-only data files that XEmacs refers to while it runs; it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
616 defaults to /usr/local/lib. We create the following
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
617 subdirectories under `datadir':
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
618 - `xemacs-VERSION/lisp', containing the XEmacs lisp libraries, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
619
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
620 - `xemacs-VERSION/etc', containing the XEmacs tutorial and the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
621 `yow' database.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
622 `VERSION' is the number of the XEmacs version you are installing,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
623 like `18.59' or `19.14'. Since these files vary from one version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
624 of XEmacs to another, including the version number in the path
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
625 allows you to have several versions of XEmacs installed at the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
626 same time; this means that you don't have to make XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
627 unavailable while installing a new version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
628
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
629 `statedir' indicates where to put architecture-independent data files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
630 that XEmacs modifies while it runs; it defaults to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
631 /usr/local/lib as well. We create the following
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
632 subdirectories under `statedir':
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
633 - `xemacs/lock', containing files indicating who is editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
634 what, so XEmacs can detect editing clashes between
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
635 users.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
636
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
637 `libdir' indicates where to put architecture-specific data files that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
638 XEmacs refers to as it runs; it too defaults to `/usr/local/lib'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
639 We create the following subdirectories under `libdir':
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
640 - `xemacs-VERSION/CONFIGURATION-NAME', containing executable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
641 programs used by XEmacs that users are not expected to run
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
642 themselves, and the DOC file.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
643 `VERSION' is the number of the XEmacs version you are installing,
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
644 and `CONFIGURATION-NAME' is the host type of your system.
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
645 Since these files are specific to the version of XEmacs,
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
646 operating system, and architecture in use, including the
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
647 configuration name in the path allows you to have several
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
648 versions of XEmacs for any mix of machines and operating
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
649 systems installed at the same time; this is useful for sites
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
650 at which different kinds of machines share the file system
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
651 XEmacs is installed on.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
652
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
653 `infodir' indicates where to put the info files distributed with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
654 XEmacs; it defaults to `/usr/local/lib/xemacs-VERSION/info'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
655
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
656 `mandir' indicates where to put the man pages for XEmacs and its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
657 utilities (like `etags'); it defaults to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
658 `/usr/local/man/man1'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
659
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
660 `prefix' doesn't give a path for any specific part of XEmacs; instead,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
661 its value is used to determine the defaults for all the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
662 architecture-independent path variables - `datadir',
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
663 `statedir', `infodir', and `mandir'. Its default value is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
664 `/usr/local'; the other variables add on `lib' or `man' to it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
665 by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
666
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
667 For example, suppose your site generally places GNU software
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
668 under `/usr/users/software/gnusoft' instead of `/usr/local'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
669 By including
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
670 `prefix=/usr/users/software/gnusoft'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
671 in the arguments to `make', you can instruct the build process
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
672 to place all of the XEmacs data files in the appropriate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
673 directories under that path.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
674
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
675 `exec_prefix' serves the same purpose as `prefix', but instead
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
676 determines the default values for the architecture-dependent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
677 path variables - `bindir' and `libdir'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
678
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
679 The above variables serve analogous purposes in the makefiles for all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
680 GNU software; here are some variables specific to XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
681
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
682 `lispdir' indicates where XEmacs installs and expects its lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
683 libraries. Its default value, based on `datadir' (see above),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
684 is `/usr/local/lib/xemacs-VERSION/lisp' (where `VERSION' is as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
685 described above).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
686
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
687 `sitelispdir' indicates where XEmacs should search for lisp libraries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
688 specific to your site. XEmacs checks them in order before
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
689 checking `lispdir'. Its default value, based on `datadir'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
690 (see above), is `/usr/local/lib/xemacs/site-lisp'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
691
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
692 `etcdir' indicates where XEmacs should install and expect the rest of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
693 its architecture-independent data, like the tutorial and yow
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
694 database. Its default value, based on `datadir'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
695 (see above), is `/usr/local/lib/xemacs-VERSION/etc' (where
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
696 `VERSION' is as described above).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
697
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
698 `lockdir' indicates the directory where XEmacs keeps track of its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
699 locking information. Its default value, based on `statedir'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
700 (see above), is `/usr/local/lib/xemacs/lock'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
701
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
702 `archlibdir' indicates where XEmacs installs and expects the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
703 executable files and other architecture-dependent data it uses
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
704 while running. Its default value, based on `libdir' (see
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
705 above), is `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
706 (where VERSION and CONFIGURATION-NAME are as described above).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
707
420
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
708 `docdir' indicates where to put Lisp documentation strings that XEmacs
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
709 refers to as it runs. It defaults to the value of `archlibdir'
420
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
710 (see above).
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
711
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
712 `moduledir' indicates where XEmacs installs and expects to find
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
713 any dynamic modules. Its default value, based on
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
714 `archlibdir' (see above) is
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
715 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME/modules'
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
716 (where VERSION and CONFIGURATION-NAME are as described above).
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
717 By their very nature, dynamic loadable modules are architecture-
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
718 dependent, and care should be taken not to set this directory
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
719 to a system- or architecture-independent directory.
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
720
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
721 Remember that you must specify any variable values you need each time
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
722 you run `make' in the top directory. If you run `make' once to build
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
723 xemacs, test it, and then run `make' again to install the files, you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
724 must provide the same variable settings each time. To make the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
725 settings persist, you can edit them into the `Makefile' in the top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
726 directory, but be aware that running the `configure' program erases
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
727 `Makefile' and rebuilds it from `Makefile.in'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
728
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
729 The top-level Makefile stores the variable settings it used in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
730 Makefiles for the subdirectories, so you don't have to specify them
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
731 when running make in the subdirectories.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
732
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
733 Using GNU Make allows for simultaneous builds with and without the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
734 --srcdir option.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
735
1283
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
736 STRIPPING BINARIES
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
737 ==================
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
738
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
739 This saves nothing but a small (by modern standards) amount of disk
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
740 space; the symbol table is not loaded into memory at execution time.
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
741 If you do encounter a crash or other serious bug, the first thing the
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
742 developers will do is ask you to build an XEmacs with a full symbol
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
743 table, anyway. Don't strip the XEmacs binary.
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
744
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
745 MAIL-LOCKING POST-INSTALLATION
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
746 ==============================
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
747
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
748 If your system uses dot-locking to interlock access to mailer inbox
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
749 files, then you might need to make the movemail program setuid or
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
750 setgid to enable it to write the lock files. We believe this is safe.
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
751 The setuid/setgid bits need not be set on any other XEmacs-related
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
752 executables.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
753
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
754 CLEANING UP
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
755 ==========
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
756
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
757 You are done with the hard part! You can remove executables and
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
758 object files from the build directory by typing `make clean'. To also
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
759 remove the files that `configure' created (so you can compile XEmacs
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
760 for a different configuration), type `make distclean'.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
761
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
762 READ README.packages
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
763 ====================
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
764
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
765 Do it!
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
766
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
767 PROBLEMS
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
768 ========
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents: 392
diff changeset
769
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
770 The most common problem is that you forgot to read and follow the
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
771 directions in README.packages. You can not have a normal XEmacs
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
772 without downloading some additional packages.
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
773
1036
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 845
diff changeset
774 See the file PROBLEMS in this directory for a list of various problems
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 845
diff changeset
775 sometimes encountered, and what to do about them. PROBLEMS is also
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 845
diff changeset
776 the place where platform-specific build notes can be found.