annotate INSTALL @ 2951:b694dfd2f40e

[xemacs-hg @ 2005-09-26 08:13:00 by ben] Compile Windows with gmp, ldap, postgresql, db, etc. README: Major rewrite. Document how to compile various optional libs. config.inc.samp: Update to recent versions of optional libs. Add support for gmp, db, postgresql, ldap. Turn on optimization when not debug. minitar.c: Include config.h. xemacs.mak: Figure out VC++ version and use it to set debug and browser flags appropriately. Add support for building gmp, db, postgresql, ldap. Rewrite handling of optional stuff so it is all added to single variables OPT_* rather than to various FOO_* variables. Pass -I$(SRC) to minitar.c so it compiles. Pass module sources, not objects, to make-docfile. Delete more stuff in `make clean'.
author ben
date Mon, 26 Sep 2005 08:13:00 +0000
parents 68a5da07c189
children 31e656a27dae
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
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
39 MacOS/X (Darwin) before 10.3, 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
2427
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2283
diff changeset
48 XEmacs requires an ANSI C compiler, such as GCC. If you wish to build the
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2283
diff changeset
49 documentation yourself, you will need at least version 1.68 of makeinfo (GNU
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2283
diff changeset
50 texinfo-3.11). GNU Texinfo 4.2 is recommended; it is necessary for building
97dd9f867cef [xemacs-hg @ 2004-12-07 12:52:30 by malcolmp]
malcolmp
parents: 2283
diff changeset
51 Lisp packages, and we may move to it for the core.
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
52
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
53 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
54 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
55 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
56 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
57 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
58 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
59 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
60 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
61 installation, upgrade, and removal of applications written in Lisp.
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents: 392
diff changeset
62
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
63 PACKAGE SYSTEM
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
64 ==============
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
65
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
66 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
67 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
68 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
69 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
70 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
71
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
72 ADD-ON LIBRARIES
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
73 ================
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 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
76 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
77 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
78 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
79 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
80 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
81 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
82 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
83 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
84 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
85 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
86 use are:
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
87
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
88 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
89 term, NAS, Canna, Kinput2, SJ3, Wnn, PostgreSQL, LDAP.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
90
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
91 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
92 <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
93 each library does is available in the file
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
94 <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
95
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
96 Use the `--with-site-includes' and `--with-site-libraries' options when
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
97 building XEmacs to allow configure to find the external software
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
98 packages. For your convenience these can be set together by using the
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
99 `--with-site-prefixes' option. This will set these variables as needed
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
100 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
101
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
102 If you link dynamically with external libraries, usually denoted by
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
103 ".so" (Unix), ".dll" (Windows), or ".dylib" (MacOS) file extensions, on
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
104 some systems you may also need to add the library directories to the
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
105 `--with-site-runtime-libraries' option. It is typically necessary only
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
106 if you link with dynamic libraries that are installed in non-standard
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
107 directories, or if you expect some of the libraries used to build XEmacs
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
108 to be in a different directory at run time than at build time.
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
109
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
110 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
111 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
112 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
113 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
114 library paths).
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
115
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
116 Directories specified with `--with-site-libraries' are NOT automatically
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
117 added. The rationale is that most users will not need this option, and
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
118 this allows the builder to specify exactly the needed directories.
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
119 Specifying unnecessary directories leads to obscure problems (typically
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
120 startup delays) if those directories are mounted over a network, and the
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
121 automounter configuration changes. Not all systems need this option;
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
122 it's best to avoid using it if you can.
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
123
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
124 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
125 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
126 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
127 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
128 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
129 "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
130 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
131 upgraded.
424
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
132
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
133 CONFIGURATION OPTIONS
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
134 =====================
269
b2472a1930f2 Import from CVS: tag r20-5b33
cvs
parents: 255
diff changeset
135
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
136 In the top level directory of the XEmacs distribution, run the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
137 program `configure' as follows:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
139 ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ...
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
141 Controlling the Host Type
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
142 -------------------------
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
143
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
144 Almost always, you should let `configure' (actually the shell script
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
145 `config.guess') guess your host type, by omitting the
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
146 CONFIGURATION-NAME argument. If you like to experiment, specify a
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
147 configuration name in the form MACHINE-VENDOR-OPSYS, for example:
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
148
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
149 sparc-sun-solaris2.6
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
150
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
151 See config.guess and configure.in for valid values for MACHINE,
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
152 VENDOR, and OPSYS. Also check `./etc/MACHINES' for advice on building
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
153 on particular machines.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
155 Specifying Location of Headers and Libraries
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
156 --------------------------------------------
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
157
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
158 The `--with-site-includes=DIR' and `--with-site-libraries=DIR' options
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
159 allow you to specify additional places the compiler should look for
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
160 include files and object libraries. You may specify multiple DIR's by
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
161 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
162 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
163 include and library directories defined using these options.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
164
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
165 The `--with-site-runtime-libraries=DIR' option specifies directories to
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
166 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
167 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
168 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
169 "ADD-ON LIBRARIES" above very carefully.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171 The `--x-includes=DIR' and `--x-libraries=DIR' options tell the build
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172 process where the compiler should look for the include files and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173 object libraries used with the X Window System. Normally, `configure'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 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
175 Window System files installed in unusual places.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
177 Configuring the Build Process
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
178 -----------------------------
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
179
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
180 The `--with-gcc=PROGRAM' option specifies that the build process should
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
181 compile XEmacs using GCC. The `--with-compiler' option allows you to
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
182 specify some other compiler to be used to compile XEmacs. If neither
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
183 option is specified, the environment variable CC is used instead.
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
184 Otherwise the compiler will then default to 'cc'.
201
eb5470882647 Import from CVS: tag r20-3b27
cvs
parents: 185
diff changeset
185
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
186 The `--with-xemacs-compiler=PROGRAM' option specifies the compiler
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
187 control program for the xemacs binary only. Other C code will be
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
188 compiled according to the `--with-gcc' and `--with-compiler' options
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
189 above. This is useful if you wish to compile XEmacs with a C++
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
190 compiler, because the utilities in ./lib-src cannot be compiled as C++.
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
191 This option is primarily intended for use by the maintainers.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
193 The `--with-cflags=FLAGS' option specifies all of the CFLAGS the build
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
194 process should use when compiling XEmacs, except for flags controlling
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
195 warning generation. Otherwise the value of the environment variable
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
196 CFLAGS is consulted. If that is also undefined, CFLAGS defaults to "-g
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
197 -O" for gcc and "-g" for all other compilers.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
198
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
199 The `--with-cflags-warning=FLAGS' option specifies the warnings to be
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
200 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
201 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
202 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
203
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
204 The `--with-cflags-optimization=FLAGS' option specifies the
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
205 optimizations to be used. There is normally no reason to use this flag,
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
206 as XEmacs will already set the maximum safe
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
207 optimization flags appropriate for the compiler being invoked.
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
208
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
209 The `--with-cflags-debugging=FLAGS' option specifies debugging
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
210 information to be generated. There is normally no reason to use this
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
211 flag, as XEmacs will include debugging information whenever possible
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
212 (i.e. unless optimization is turned on and the compiler does not permit
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
213 debugging and optimization simultaneously).
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
214
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
215 The `--with-dynamic' option specifies that configure should try to link
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216 emacs dynamically rather than statically.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
218 You can build XEmacs for several different machine types from a single
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219 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
220 supports the `VPATH' variable, such as GNU `make'. Create separate
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221 build directories for the different configuration types, and in each
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 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
223 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
224 `--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
225 overridden by the directory containing `configure').
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
226
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
227 Configuring the Installation Layout
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
228 -----------------------------------
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230 The `--prefix=PREFIXDIR' option specifies where the installation process
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 should put XEmacs and its data files. This defaults to `/usr/local'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 - XEmacs (and the other utilities users run) go in PREFIXDIR/bin
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233 (unless the `--exec-prefix' option says otherwise).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234 - The architecture-independent files go in PREFIXDIR/lib/xemacs-VERSION
276
6330739388db Import from CVS: tag r21-0b36
cvs
parents: 274
diff changeset
235 (where VERSION is the version number of XEmacs, like `21.0').
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
236 - The architecture-dependent files go in
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
237 PREFIXDIR/lib/xemacs-VERSION/CONFIGURATION-NAME
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
238 (where CONFIGURATION-NAME is the host type, like mips-dec-ultrix4.2),
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
239 unless the `--exec-prefix' option says otherwise.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
241 The `--exec-prefix=EXECDIR' option allows you to specify a separate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
242 portion of the directory tree for installing architecture-specific
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243 files, like executables and utility programs. If specified,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
244 - XEmacs (and the other utilities users run) go in EXECDIR/bin, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
245 - The architecture-dependent files go in
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
246 EXECDIR/lib/xemacs-VERSION/CONFIGURATION-NAME.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
247 EXECDIR/bin should be a directory that is normally in users' PATHs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
248
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
249 If you specify --prefix (or any of the other installation directory
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
250 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
251 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
252 quite elaborate logic to find out the locations of these directories
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
253 dynamically. Sometimes, it is desirable *not* to compile these
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
254 directories into the executable so you can move the XEmacs
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
255 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
256 for instance. Therefore, you can specify --without-prefix on the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
257 configure command line to prevent the installation prefix to become
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
258 part of the generated executable; everything else will continue to
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
259 work as usual.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
260
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
261 Configuring Feature Support
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
262 ---------------------------
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
263
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
264 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
265 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
266 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
267
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
268 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
269 the Xmu library.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
270
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
271 The `--enable-menubars=TYPE' option allows you to specify which X
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272 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
273 `lucid', `motif' and `no'. The default is `lucid' which is a
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
274 Motif-lookalike menubar. We highly recommend its usage over the real
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
275 Motif menubar. (In fact, the Motif menubar is currently broken.) If
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
276 `no' is specified then support for menubars will not be compiled in.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
277
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
278 The `--enable-scrollbars=TYPE' option allows you to specify which X
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279 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
280 `lucid', `motif', `athena', `athena3d', and `no'. The default is
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
281 `lucid' which is a Motif-lookalike scrollbar. If `no' is specified then
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
282 support for scrollbars will not be compiled in.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
283
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
284 The `--enable-dialogs=TYPE' option allows you to specify which X toolkit
219
262b8bb4a523 Import from CVS: tag r20-4b8
cvs
parents: 217
diff changeset
285 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
286 `athena3d', `motif, and `no. The `lucid' option is accepted and will
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
287 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
288 found the default is `motif'. Otherwise, the default is `athena'. If
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
289 `no' is specified then support for dialog boxes will not be compiled in.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
290
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
291 The `--enable-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
292 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
293 included.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
294
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
295 The `--with-xpm' option specifies that XEmacs should support X11
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
296 Pixmaps. `configure' will attempt to detect if you have the Xpm
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297 libraries and define `--with-xpm' for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
298
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
299 The `--with-xface' option specifies that XEmacs should support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
300 X-Faces. `configure' will attempt to detect if you have the compface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
301 library and define `--with-xface' for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
302
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
303 The `--enable-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
304 with simple database support. The valid options are `no' or a
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
305 comma-separated list of one or more of `dbm', `gnudbm' or `berkdb'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
306 `configure' will attempt to detect the necessary libraries and header
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
307 files and define `--enable-database' for you.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
308
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
309 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
310 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
311 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
312 define `--with-postgresql' for you.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
313
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
314 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
315 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
316 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
317 `--with-ldap' for you.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
318
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
319 The `--with-socks' option specifies that XEmacs should be built with
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
320 SOCKS support. This requires the libsocks library.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
321
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
322 The `--enable-external-widget' option specifies that XEmacs should be
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
323 built with support for being used as a widget by other X11 applications.
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
324 This functionality should be considered beta.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
325
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
326 The `--enable-sound=TYPE' option specifies that XEmacs should be built
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
327 with sound support. Native (`--enable-sound=native') sound support is
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
328 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
329 systems (such as Linux) with soundcard.h. Network Audio Support (NAS)
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
330 (`--enable-sound=nas') is an extension to X that you may or may not have
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
331 for your system. For NAS, you will probably need to provide the paths
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
332 to the nas include and library directories to configure. If
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
333 `--enable-sound' is not specified, `configure' will attempt to determine
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
334 if your configuration supports native sound and define --enable-sound
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
335 for you. If your native sound library is not in a standard location you
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
336 can specify it with the `--with-native-sound-lib=LIB' flag. For Linux,
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
337 `/dev/audio' is required for SunAudio files and `/dev/dsp' is required
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
338 for raw data and WAVE format files.
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
339
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
340 The `--with-tooltalk' option specifies that XEmacs should be built
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
341 with ToolTalk support for interconnecting with other applications.
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
342 ToolTalk is not yet supported on all architectures. If you use this
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
343 option, you should have the tooltalk package (see etc/PACKAGES)
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
344 installed prior to building XEmacs.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
345
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
346 The `--with-sparcworks' option specifies that XEmacs should be built
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
347 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
348 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
349 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
350 etc/PACKAGES) installed prior to building XEmacs.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
351
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
352 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
353 drop support. `configure' will attempt to detect this option and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
354 define `--with-cde' for you.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
355
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
356 The `--with-offix' option allows you to enable or disable OffiX drag
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
357 and drop support. This requires no external library support, so if
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
358 X11 support is available, then this option defaults to `yes'. OffiX
274
ca9a9ec9c1c1 Import from CVS: tag r21-0b35
cvs
parents: 272
diff changeset
359 support can be explicitly disabled via the `--with-offix=no' option.
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
360
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
361 Internationalization Options
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
362 ----------------------------
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
363
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
364 The `--enable-mule' option enables MUlti-Lingual Emacs (Mule) support,
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
365 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
366 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
367 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
368 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
369 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
370 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
371 `--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
372 Mule support.
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
373
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
374 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
375 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
376 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
377 language. The XIM support comes in two flavors: `motif' and `xlib'.
59463afc5666 Import from CVS: tag r20-3b2
cvs
parents: 149
diff changeset
378 The Motif support (the XmIm* functions) is preferred when available.
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
379 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
380 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
381 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
382 X11 must be recompiled with X_LOCALE defined because glibc is lacking
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
383 localization for Japanese. The XIM support defaults to `no' except
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
384 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
385 support in Lesstif (a Free Motif replacement) does not work as of
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
386 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
387 the `locale' package which contains localized Splash screens and
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
388 Menubars.
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
389
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
390 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
391 present time, only Japanese and French locales are supported. In
272
c5d627a313b1 Import from CVS: tag r21-0b34
cvs
parents: 269
diff changeset
392 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
393 installed. The `locale' package does not have to be installed when
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
394 building XEmacs.
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
395
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
396 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
397 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
398 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
399 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
400 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
401 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
402 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
403 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
404 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
405 install in order to use it.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
406
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
407 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
408 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
409 the Free version of WNN. `--with-wnn6' is for compiling against WNN6,
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
410 the commercial version of WNN available from OMRON Corporation. This is
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
411 stable code and fairly well tested. In order to build with this
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
412 option, you will need to have the `egg-its' lisp package already
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
413 installed.
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
414
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
415 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
416 `--with-xim', `--with-canna' and `--with-wnn' as your system
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
417 supports.
104
cf808b4c4290 Import from CVS: tag r20-1b4
cvs
parents: 70
diff changeset
418
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
419 Options for Developers and Special Requirements
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
420 -----------------------------------------------
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
421
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
422 The `--with-rel-alloc' option can be used to either enable or disable
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
423 use of the relocating allocator. Turning on --with-rel-alloc will allow
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
424 XEmacs to return unused memory to the operating system, thereby reducing
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
425 its memory footprint. However, it may make XEmacs runs more slowly,
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
426 especially if your system's `mmap' implementation is missing or
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
427 inefficient. Generally, it's best to go with the default configuration
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
428 for your system. You can tweak this based on how you use XEmacs, and
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
429 the memory and cpu resources available on your system.
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
430
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
431 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
432 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
433 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
434 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
435
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
436 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
437 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
438 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
439 from <URL:http://www.letters.com/dmalloc/>.
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
440
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
441 The `--enable-debug' and `--enable-error-checking' options are primarily
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
442 useful to the developers. `--enable-debug' incorporates code for
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
443 performing various tests, but does not impose a speed penalty.
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
444 `--enable-error-checking' adds additional tests to many of the commonly
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
445 used macros, and imposes a speed penalty. Using either or both of these
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
446 options can make bug reports more useful to the developers.
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
447
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
448 The `--verbose' option is useful only to the developers. It displays
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
449 additional information, useful for debugging `configure'.
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
450
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
451 MAIL LOCKING
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
452 ============
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
453
845
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
454 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
455 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
456 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
457 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
458 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
459
77624ff6e2da [xemacs-hg @ 2002-05-16 15:11:22 by stephent]
stephent
parents: 594
diff changeset
460 Presently, XEmacs supports lockf, flock, and dot locking. Specify the
2648
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
461 locking method via the --with-mail-locking=METHOD option to configure.
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
462 Valid values for METHOD are --with-mail-locking are `lockf', `flock',
68a5da07c189 [xemacs-hg @ 2005-03-10 11:49:00 by malcolmp]
malcolmp
parents: 2427
diff changeset
463 and `dot'.
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
464
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
465 RUNNING CONFIGURE
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
466 =================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
467
149
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
468 `configure' doesn't do any compilation or installation itself. It
538048ae2ab8 Import from CVS: tag r20-3b1
cvs
parents: 126
diff changeset
469 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
470 and all the Makefiles in the build tree.
104
cf808b4c4290 Import from CVS: tag r20-1b4
cvs
parents: 70
diff changeset
471
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
472 When it is done, `configure' prints a description of what it did and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
473 creates a shell script `config.status' which, when run, recreates the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
474 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
475 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
476 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
477 the tests run and their results.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
478
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
479 AUXILIARY PATHS
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
480 ===============
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
481
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
482 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
483 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
484 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
485 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
486 `defvar', as used by `./lisp/paths.el'. For example,
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
487
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
488 (setq news-inews-program "/usr/bin/inews")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
489
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
490 is how you would override the default value of the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
491 news-inews-program (which is "/usr/local/inews").
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
492
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
493 Before you override a variable this way, *look at the value* that the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
494 variable gets by default! Make sure you know what kind of value the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
495 variable should have. If you don't pay attention to what you are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
496 doing, you'll make a mistake.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
497
392
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
498 Things may malfunction if the variable `directory-abbrev-alist' is not
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
499 set up to translate "temporary" automounter mount points into the
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
500 canonical form. XEmacs tries to detect how your automounter is
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
501 configured. If you have an unusual automounter configuration that
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
502 XEmacs cannot detect, you may need to change the value of
1f50e6fe4f3f Import from CVS: tag r21-2-11
cvs
parents: 388
diff changeset
503 `directory-abbrev-alist'.
371
cc15677e0335 Import from CVS: tag r21-2b1
cvs
parents: 367
diff changeset
504
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
505 SITE-SPECIFIC STARTUP CODE
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
506 ==========================
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
507
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
508 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
509 code you want XEmacs to load before it is dumped out. Use
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
510 site-load.el for additional libraries if you arrange for their
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
511 documentation strings to be in the lib-src/DOC file (see
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
512 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
513 else, use site-init.el.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
514
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
515 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
516 not use expand-file-name or any other function which may look
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
517 something up in the system's password and user information database.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
518 See `./PROBLEMS' for more details on which systems this affects.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
519
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
520 The `site-*.el' files are nonexistent in the distribution. You do not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
521 need to create them if you have nothing to put in them.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
522
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
523 TERMCAP CONFIGURATION
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
524 =====================
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 Refer to the file `./etc/TERMS' for information on fields you may
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
527 wish to add to various termcap entries. The files `./etc/termcap.ucb'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
528 and `./etc/termcap.dat' may already contain appropriately-modified
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
529 entries.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
530
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
531 RUNNING MAKE
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
532 ============
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
533
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
534 Run `make' in the top directory of the XEmacs distribution to finish
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
535 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
536 named `src/xemacs'. You can execute this file in place without
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
537 copying it, if you wish; then it automatically uses the sibling
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
538 directories ../lisp, ../lib-src, ../info.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
539
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
540 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
541 permanent locations, with `make install'. By default, XEmacs's files
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
542 are installed in the following directories:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
543
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
544 `/usr/local/bin' holds the executable programs users normally run -
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
545 `xemacs', `etags', `ctags', `b2m', `emacsclient', `ellcc',
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
546 `gnuclient', `gnudoit', `gnuattach', and `rcs-checkin'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
547
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
548 `/usr/local/lib/xemacs-VERSION/lisp' holds the Emacs Lisp libraries;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
549 `VERSION' stands for the number of the XEmacs version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
550 you are installing, like `18.59' or `19.14'. Since
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
551 the lisp libraries change from one version of XEmacs to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
552 another, including the version number in the path
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
553 allows you to have several versions of XEmacs installed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
554 at the same time; this means that you don't have to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
555 make XEmacs unavailable while installing a new version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
556
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
557 XEmacs searches for its lisp files in these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
558 directories, and then in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
559 `/usr/local/lib/xemacs/site-lisp/*'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
560
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
561 `/usr/local/lib/xemacs-VERSION/etc' holds the XEmacs tutorial, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
562 `yow' database, and other architecture-independent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
563 files XEmacs might need while running. VERSION is as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
564 specified for `.../lisp'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
565
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
566 `/usr/local/lib/xemacs/lock' contains files indicating who is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
567 editing what, so XEmacs can detect editing clashes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
568 between users.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
569
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
570 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME' contains executable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
571 programs used by XEmacs that users are not expected to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
572 run themselves, and the DOC file. `VERSION' is the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
573 number of the XEmacs version you are installing, and
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
574 `CONFIGURATION-NAME' is the host type of your system.
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
575 Since these files are specific to the version of
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
576 XEmacs, operating system, and architecture in use,
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
577 including the configuration name in the path allows
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
578 you to have several versions of XEmacs for any mix of
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
579 machines and operating systems installed at the same
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
580 time; this is useful for sites at which different
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
581 kinds of machines share the file system XEmacs is
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
582 installed on.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
583
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
584 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME/modules' holds the Emacs
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
585 dynamically loadable modules. These are special programs
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
586 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
587 way that Lisp packages are. Not all systems support
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
588 dynamic modules, so do not be alarmed if this directory
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
589 does not exist or is empty.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
590
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
591 XEmacs searches for modules in this directory, or any
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
592 sub-directory of it, and then in
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
593 `/usr/local/lib/xemacs/site-modules/*'.
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
594
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
595 `/usr/local/lib/xemacs-VERSION/info' holds the on-line documentation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
596 for XEmacs, known as "info files".
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
597
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
598 `/usr/local/man/man1' holds the man pages for the programs installed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
599 in `/usr/local/bin'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
600
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
601 If these directories are not what you want, you can specify where to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
602 install XEmacs's libraries and data files or where XEmacs should search
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
603 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
604 the command.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
605
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
606 You can change where the build process installs XEmacs and its data
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
607 files by specifying values for `make' variables as part of the `make'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
608 command line. For example, if you type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
609
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
610 make install bindir=/usr/local/gnubin
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
611
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
612 the `bindir=/usr/local/gnubin' argument indicates that the XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
613 executable files should go in `/usr/local/gnubin', not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
614 `/usr/local/bin'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
615
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
616 Here is a complete list of the variables you may want to set.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
617
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
618 `bindir' indicates where to put executable programs that users can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
619 run. This defaults to /usr/local/bin.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
620
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
621 `datadir' indicates where to put the architecture-independent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
622 read-only data files that XEmacs refers to while it runs; it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
623 defaults to /usr/local/lib. We create the following
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
624 subdirectories under `datadir':
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
625 - `xemacs-VERSION/lisp', containing the XEmacs lisp libraries, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
626
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
627 - `xemacs-VERSION/etc', containing the XEmacs tutorial and the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
628 `yow' database.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
629 `VERSION' is the number of the XEmacs version you are installing,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
630 like `18.59' or `19.14'. Since these files vary from one version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
631 of XEmacs to another, including the version number in the path
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
632 allows you to have several versions of XEmacs installed at the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
633 same time; this means that you don't have to make XEmacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
634 unavailable while installing a new version.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
635
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
636 `statedir' indicates where to put architecture-independent data files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
637 that XEmacs modifies while it runs; it defaults to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
638 /usr/local/lib as well. We create the following
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
639 subdirectories under `statedir':
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
640 - `xemacs/lock', containing files indicating who is editing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
641 what, so XEmacs can detect editing clashes between
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
642 users.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
643
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
644 `libdir' indicates where to put architecture-specific data files that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
645 XEmacs refers to as it runs; it too defaults to `/usr/local/lib'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
646 We create the following subdirectories under `libdir':
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
647 - `xemacs-VERSION/CONFIGURATION-NAME', containing executable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
648 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
649 themselves, and the DOC file.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
650 `VERSION' is the number of the XEmacs version you are installing,
243
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
651 and `CONFIGURATION-NAME' is the host type of your system.
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
652 Since these files are specific to the version of XEmacs,
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
653 operating system, and architecture in use, including the
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
654 configuration name in the path allows you to have several
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
655 versions of XEmacs for any mix of machines and operating
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
656 systems installed at the same time; this is useful for sites
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
657 at which different kinds of machines share the file system
f220cc83d72e Import from CVS: tag r20-5b20
cvs
parents: 227
diff changeset
658 XEmacs is installed on.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
659
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
660 `infodir' indicates where to put the info files distributed with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
661 XEmacs; it defaults to `/usr/local/lib/xemacs-VERSION/info'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
662
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
663 `mandir' indicates where to put the man pages for XEmacs and its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
664 utilities (like `etags'); it defaults to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
665 `/usr/local/man/man1'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
666
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
667 `prefix' doesn't give a path for any specific part of XEmacs; instead,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
668 its value is used to determine the defaults for all the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
669 architecture-independent path variables - `datadir',
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
670 `statedir', `infodir', and `mandir'. Its default value is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
671 `/usr/local'; the other variables add on `lib' or `man' to it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
672 by default.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
673
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
674 For example, suppose your site generally places GNU software
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
675 under `/usr/users/software/gnusoft' instead of `/usr/local'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
676 By including
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
677 `prefix=/usr/users/software/gnusoft'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
678 in the arguments to `make', you can instruct the build process
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
679 to place all of the XEmacs data files in the appropriate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
680 directories under that path.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
681
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
682 `exec_prefix' serves the same purpose as `prefix', but instead
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
683 determines the default values for the architecture-dependent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
684 path variables - `bindir' and `libdir'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
685
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
686 The above variables serve analogous purposes in the makefiles for all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
687 GNU software; here are some variables specific to XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
688
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
689 `lispdir' indicates where XEmacs installs and expects its lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
690 libraries. Its default value, based on `datadir' (see above),
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
691 is `/usr/local/lib/xemacs-VERSION/lisp' (where `VERSION' is as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
692 described above).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
693
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
694 `sitelispdir' indicates where XEmacs should search for lisp libraries
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
695 specific to your site. XEmacs checks them in order before
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
696 checking `lispdir'. Its default value, based on `datadir'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
697 (see above), is `/usr/local/lib/xemacs/site-lisp'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
698
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
699 `etcdir' indicates where XEmacs should install and expect the rest of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
700 its architecture-independent data, like the tutorial and yow
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
701 database. Its default value, based on `datadir'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
702 (see above), is `/usr/local/lib/xemacs-VERSION/etc' (where
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
703 `VERSION' is as described above).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
704
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
705 `lockdir' indicates the directory where XEmacs keeps track of its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
706 locking information. Its default value, based on `statedir'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
707 (see above), is `/usr/local/lib/xemacs/lock'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
708
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
709 `archlibdir' indicates where XEmacs installs and expects the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
710 executable files and other architecture-dependent data it uses
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
711 while running. Its default value, based on `libdir' (see
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
712 above), is `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
713 (where VERSION and CONFIGURATION-NAME are as described above).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
714
420
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
715 `docdir' indicates where to put Lisp documentation strings that XEmacs
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
716 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
717 (see above).
41dbb7a9d5f2 Import from CVS: tag r21-2-18
cvs
parents: 412
diff changeset
718
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
719 `moduledir' indicates where XEmacs installs and expects to find
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
720 any dynamic modules. Its default value, based on
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
721 `archlibdir' (see above) is
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
722 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME/modules'
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
723 (where VERSION and CONFIGURATION-NAME are as described above).
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
724 By their very nature, dynamic loadable modules are architecture-
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
725 dependent, and care should be taken not to set this directory
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
726 to a system- or architecture-independent directory.
388
aabb7f5b1c81 Import from CVS: tag r21-2-9
cvs
parents: 380
diff changeset
727
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
728 Remember that you must specify any variable values you need each time
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
729 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
730 xemacs, test it, and then run `make' again to install the files, you
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
731 must provide the same variable settings each time. To make the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
732 settings persist, you can edit them into the `Makefile' in the top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
733 directory, but be aware that running the `configure' program erases
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
734 `Makefile' and rebuilds it from `Makefile.in'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
735
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
736 The top-level Makefile stores the variable settings it used in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
737 Makefiles for the subdirectories, so you don't have to specify them
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
738 when running make in the subdirectories.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
739
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
740 Using GNU Make allows for simultaneous builds with and without the
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
741 --srcdir option.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
742
1283
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
743 STRIPPING BINARIES
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
744 ==================
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
745
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
746 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
747 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
748 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
749 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
750 table, anyway. Don't strip the XEmacs binary.
32bc2bab419c [xemacs-hg @ 2003-02-10 14:28:09 by stephent]
stephent
parents: 1202
diff changeset
751
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
752 MAIL-LOCKING POST-INSTALLATION
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
753 ==============================
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
754
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
755 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
756 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
757 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
758 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
759 executables.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
760
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
761 CLEANING UP
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
762 ==========
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
763
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
764 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
765 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
766 remove the files that `configure' created (so you can compile XEmacs
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
767 for a different configuration), type `make distclean'.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
768
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
769 READ README.packages
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
770 ====================
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
771
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
772 Do it!
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
773
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
774 PROBLEMS
442
abe6d1db359e Import from CVS: tag r21-2-36
cvs
parents: 426
diff changeset
775 ========
398
74fd4e045ea6 Import from CVS: tag r21-2-29
cvs
parents: 392
diff changeset
776
1338
314c4e18dda0 [xemacs-hg @ 2003-03-03 10:35:29 by stephent]
stephent
parents: 1283
diff changeset
777 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
778 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
779 without downloading some additional packages.
11054d720c21 Import from CVS: tag r21-2-20
cvs
parents: 420
diff changeset
780
1036
b33a835c21cc [xemacs-hg @ 2002-10-08 03:11:48 by stephent]
stephent
parents: 845
diff changeset
781 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
782 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
783 the place where platform-specific build notes can be found.