Mercurial > hg > xemacs-beta
comparison INSTALL @ 5699:a95c89dc9695
Reorganize and update INSTALL.
author | Stephen J. Turnbull <stephen@xemacs.org> |
---|---|
date | Mon, 24 Dec 2012 04:16:31 +0900 |
parents | 3889ef128488 |
children | 37b107e878b8 |
comparison
equal
deleted
inserted
replaced
5698:0bd991c31cd1 | 5699:a95c89dc9695 |
---|---|
1 XEmacs Installation Guide | 1 XEmacs Installation Guide |
2 | 2 |
3 Copyright (c) 1994, 1995, 1996 Board of Trustees, University of Illinois | 3 Copyright (c) 1994-1996 Board of Trustees, University of Illinois |
4 Copyright (c) 1994-1999, 2003, 2008 Free Software Foundation, Inc. | 4 Copyright (c) 1994-1999, 2003, 2008, 2012 Free Software Foundation, Inc. |
5 | 5 |
6 Permission is granted to anyone to make or distribute verbatim copies | 6 Permission is granted to anyone to make or distribute verbatim copies |
7 of this document as received, in any medium, provided that the | 7 of this document as received, in any medium, provided that the |
8 copyright notice and permission notice are preserved, | 8 copyright notice and permission notice are preserved, |
9 and that the distributor grants the recipient permission | 9 and that the distributor grants the recipient permission |
18 | 18 |
19 BUILDING AND INSTALLATION FOR UNIX AND CYGWIN | 19 BUILDING AND INSTALLATION FOR UNIX AND CYGWIN |
20 | 20 |
21 (for Microsoft Windows, see nt/README also.) | 21 (for Microsoft Windows, see nt/README also.) |
22 | 22 |
23 This file is in the process of revision. Some random information that didn't | |
24 fit elsewhere is appended to the end of the file. | |
25 | |
23 PREREQUISITES | 26 PREREQUISITES |
24 ============= | 27 ============= |
25 | 28 |
26 Make sure your system has enough swapping space allocated to handle a | 29 Modern systems generally have more than enough RAM and virtual memory to run |
27 program whose pure code is 900k bytes and whose data area is at least | 30 XEmacs well. If you run into an "insufficient memory" error when building |
28 400k and can reach 8Mb or more. Note that a typical XEmacs process | 31 or on the first execution, see the 'PROBLEMS' file. In sufficient stack |
29 can get much bigger: the instance this sentence was written with is | 32 space is a separate problem, also address in 'PROBLEMS'. |
30 over 100MB! If the swapping space is insufficient, you will get an | 33 |
31 error in the command `temacs -batch -l loadup dump', found in | 34 Building XEmacs requires about 100 Mb of disk space (including the XEmacs |
32 `./src/Makefile.in.in', or possibly when running the final dumped | 35 sources). Once installed, XEmacs occupies about 200 MB in the file system |
33 XEmacs. | 36 where it is installed, including the executable files, Lisp libraries, |
34 | 37 miscellaneous data files, and on-line documentation. |
35 Verify that your users have a high enough stack limit. On some systems | |
36 such as OpenBSD and OSF/Tru64 the default is 2MB which is too low. On | |
37 MacOS/X (Darwin) before 10.3, it's 512kB. See 'PROBLEMS' for details. | |
38 | |
39 Building XEmacs requires about 100 Mb of disk space (including the | |
40 XEmacs sources). Once installed, XEmacs occupies between 20 and 100 | |
41 MB in the file system where it is installed; this includes the | |
42 executable files, Lisp libraries, miscellaneous data files, and | |
43 on-line documentation. The exact amount depends greatly on the number | |
44 of extra Lisp packages that are installed. | |
45 | 38 |
46 XEmacs requires an ANSI C compiler, such as GCC. If you wish to build the | 39 XEmacs requires an ANSI C compiler, such as GCC. If you wish to build the |
47 documentation yourself, you will need at least version 1.68 of makeinfo (GNU | 40 documentation yourself, you will need at least version 1.68 of makeinfo (GNU |
48 texinfo-3.11). GNU Texinfo 4.2 is recommended; it is necessary for building | 41 texinfo-3.11). GNU Texinfo 4.2 is strongly recommended; it is necessary for |
49 Lisp packages, and we may move to it for the core. | 42 building Lisp packages, and we may move to it for the core. |
50 | 43 |
51 A note on terminology: unfortunately the terms "library" and "package" | 44 BASIC INSTALLATION |
52 are heavily overloaded. In the following, "library" refers to an | 45 ================== |
53 external body of executable code which may be linked with XEmacs at | 46 |
54 build time to provide support for system features, such as images, | 47 Since you are reading this, we assume you have already acquired XEmacs in |
55 audio, stream compression, databases, and input methods. A "Lisp | 48 source form, and the packages as tarballs. If not, see www.xemacs.org. |
56 library" is a file of Lisp code which may be loaded into XEmacs at | 49 |
57 run-time to provide editor features. A "package" is a specially | 50 Building and installing XEmacs from source can be as simple as |
58 prepared Lisp library or set of Lisp libraries, providing for easy | 51 |
59 installation, upgrade, and removal of applications written in Lisp. | 52 cd /usr/local/src/xemacs; ./configure; make; make install |
60 | 53 |
61 PACKAGE SYSTEM | 54 followed by installing the packages |
62 ============== | 55 |
63 | 56 mkdir -p /usr/local/share/xemacs |
64 The FAQ sections 1.7 and 2.1 contain information vital to have a fully | 57 cd /usr/local/share/xemacs |
65 working XEmacs. It includes a description of available packages, and | 58 tar xzf /tmp/xemacs-sumo.tar.gz |
66 how to bootstrap XEmacs from a minimal or a complete set of packages. | 59 |
67 This information was not included in this file only because it is too | 60 However, this depends on the presence of relevant development resources on |
68 large for this terse INSTALL. The FAQ is available in Texinfo format | 61 your system, and there are a few frequently used features that are not built |
69 in man/xemacs-faq.texi, as an Info file once you build XEmacs, and | 62 in by default. To build XEmacs incorporating such features, the steps |
70 online at http://www.xemacs.org/Documentation/21.5/html/xemacs-faq_1.html. | 63 required are exactly as above, except that you need to start by confirming |
71 | 64 the availability of required libraries and headers, and select them by |
72 ADD-ON LIBRARIES | 65 invoking configure with the appropriate options. |
73 ================ | 66 |
74 | 67 Add-on Libraries |
75 Decide which libraries you would like to use with XEmacs, but are not | 68 ---------------- |
76 yet available on your system. On some systems, X11, Motif and CDE are | 69 |
77 optional additions. On MacOS/X systems prior to 10.2, you may download | 70 A note on terminology: unfortunately the terms "library" and "package" are |
78 X11R6 for Mac OS X from http://www.apple.com/macosx/x11/download/. In | 71 heavily overloaded. In this section, "library" refers to an external body of |
79 later releases X11 is available as an optional package on the | 72 executable code which may be linked with XEmacs at build time to provide |
80 installation CDs. In either case you need both the runtime libraries | 73 support for system features, such as images, audio, stream compression, |
81 and the SDK (in a sidebar of that page at the time of writing). There | 74 databases, and input methods. Libraries must be available when XEmacs is |
82 is also a 3rd-party implementation of X11R6 for the Mac at | 75 built. A "module" is also a dynamically loadable library, but it is built |
83 http://www.xdarwin.org/. On Solaris, the SUNWaudmo package enables | 76 from the XEmacs sources, after the XEmacs executable is built. |
84 native sound support. There are also a number of free software | 77 |
85 applications that XEmacs can use. If these are not yet available on | 78 We assume that your system has a GUI windowing system, specifically X11 (the |
86 your system, obtain, build and install those external libraries before | 79 X Window System) or Microsoft Windows. XEmacs can also use various toolkits |
87 building XEmacs. The libraries XEmacs can use are: | 80 and widget kits for X11, including Xt, GTK+/GNOME, and CDE, depending on |
88 | 81 platform. If you don't have a window system installed, XEmacs will be built |
89 Xaw3d, XPM, JPEG, compface, PNG, zlib, GNU DBM, Berkeley DB, socks, | 82 only with terminal support. (For unreleased ports to Qt/KDE and Mac OS X, |
90 term, NAS, Canna, Kinput2, SJ3, Wnn, PostgreSQL, LDAP. | 83 ask on the xemacs-beta@xemacs.org mailing list.) |
91 | 84 |
92 You can get (most of) them from the XEmacs FTP archive at | 85 XEmacs can use a large number of additional libraries that are commonly |
93 <ftp://ftp.xemacs.org/pub/xemacs/aux>. Information about what | 86 available in many operating system distributions. Many are also available as |
94 each library does is available in the file | 87 open source distributions. These include: |
95 <ftp://ftp.xemacs.org/pub/xemacs/aux/00README.txt>. | 88 |
96 | 89 GTK+, GNOME: |
97 Use the `--with-site-includes' and `--with-site-libraries' options when | 90 An alternative to the Xt toolkit on X11-based window systems. GNOME |
98 building XEmacs to allow configure to find the external software | 91 is the desktop environment usually used with GTK+. |
99 packages. For your convenience these can be set together by using the | 92 Xaw3d, XawNeXT, XawXPM, Xaw95: |
100 `--with-site-prefixes' option. This will set these variables as needed | 93 Variants on the basic Athena widgets, which change the "look and feel" |
101 assuming your libraries are organised as a typical /usr tree. | 94 of XEmacs built using the Xt toolkit. |
102 | 95 Motif, CDE, Tooltalk: |
103 If you link dynamically with external libraries, usually denoted by | 96 Mostly useful on Solaris systems (CDE and Tooltalk may be obsolete). |
104 ".so" (Unix), ".dll" (Windows), or ".dylib" (MacOS) file extensions, on | 97 Motif may be substituted for the Athena widgets on most systems |
105 some systems you may also need to add the library directories to the | 98 supporting X11. |
106 `--with-site-runtime-libraries' option. It is typically necessary only | 99 XPM, JPEG, TIFF, PNG, compface: |
107 if you link with dynamic libraries that are installed in non-standard | 100 Image format libraries. XPM and PNG are almost essential (they are |
108 directories, or if you expect some of the libraries used to build XEmacs | 101 used to display parts of the XEmacs GUI). |
109 to be in a different directory at run time than at build time. | 102 zlib: |
110 | 103 Supports gzip compression and decompression. |
111 NOTE: This option has unusual semantics. ONLY libraries found in the | 104 socks: |
112 directories specified in this option will be used at runtime. This | 105 An old system for passing firewalls (may be obsolete). |
113 means you must specify ALL directories you want searched at runtime in | 106 GMP, MP: |
114 this option (perhaps excluding a very small number of standard system | 107 Multiple precision arithmetic libraries ("bignums") from GNU and BSD. |
115 library paths). | 108 curses, ncurses, termcap: |
116 | 109 Character-based terminal support. |
117 Directories specified with `--with-site-libraries' are NOT automatically | 110 ALSA, OSS, ESD, NAS: |
118 added. The rationale is that most users will not need this option, and | 111 Various systems for audio output. |
119 this allows the builder to specify exactly the needed directories. | 112 Canna, SJ3, Wnn: |
120 Specifying unnecessary directories leads to obscure problems (typically | 113 Input systems for Japanese. (XEmacs accesses these libraries directly |
121 startup delays) if those directories are mounted over a network, and the | 114 rather than through more modern protocols such ibus and IIIMF. XEmacs |
122 automounter configuration changes. Not all systems need this option; | 115 can use XIM, but that is now considered obsolete.) |
123 it's best to avoid using it if you can. | 116 Databases: |
124 | 117 GNU DBM, Berkeley DB, PostgreSQL, LDAP. |
125 Dynamic linking has pros and cons. Dynamically linking 3rd party | 118 |
126 libraries to XEmacs decreases the size of the binary, and means you | 119 WARNING: In many distributions, you may have the necessary libraries |
127 don't need to rebuild XEmacs to take advantage of improvements in the | 120 installed, but not the "header files" which provide the APIs used by XEmacs |
128 libraries. On the other hand, XEmacs can fail subtly if the semantics | 121 to link to the libraries. Such distributions provide additional packages, |
129 of a library changes, other users may not be able to use your | 122 usually given names ending in "-dev" or "-devel", to supply the header files. |
130 "private" copies of the libraries, and you may have to relink XEmacs, | 123 |
131 or even omit the feature, if the ABI changes when the libraries are | 124 XEmacs looks only in the default system directories for header files and |
132 upgraded. | 125 libraries. This will be sufficient unless you have built and installed |
133 | 126 libraries yourself, or you use an add-on package manager like MacPorts on Mac |
134 CONFIGURATION OPTIONS | 127 OS X. In this case you will need to supply the "--with-site-prefixes" |
135 ===================== | 128 option, setting it to the root of the installation of such packages. Eg, the |
136 | 129 most common setting is "--with-site-prefixes=/usr/local", which tells the |
137 In the top level directory of the XEmacs distribution, run the | 130 build process to search for headers in "/usr/local/include" for libraries |
138 program `configure' as follows: | 131 under "/usr/local/lib". (Use a colon to separate multiple directories.) |
139 | 132 |
140 ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ... | 133 If you need help installing additional libraries and header files, the best |
141 | 134 resource is the help channels for your OS distribution. If that doesn't |
142 Options are generally of the form `--with-FEATURE' or | 135 help, or you think you have the right files installed but the built XEmacs |
143 `--enable-FEATURE' to use a feature or `--without-FEATURE' or | 136 doesn't seem to have all the corresponding features, check with the newsgroup |
144 `--disable-FEATURE' to not use a feature. Unlike the `configure' | 137 'comp.emacs.xemacs' or the mailing list 'xemacs-beta@xemacs.org'. |
145 program used in other applications, either `--with-FEATURE' or | 138 |
146 `--enable-FEATURE' can be used to use the same feature. | 139 SELECTING configure OPTIONS |
147 | 140 =========================== |
148 If you haven't built XEmacs 21.5 recently, the change from the | 141 |
149 configure script based on Autoconf 2.13 can be a shock. Appendix: | 142 Options are generally of the form `--with-FEATURE' to use a feature or |
150 Correspondence to Old Configure Options (at the end of this document) | 143 `--without-FEATURE' to not use a feature. (Unlike the `configure' program |
151 contains a list of old options and their new equivalents. | 144 used in other applications, either `--with-FEATURE' or `--enable-FEATURE' can |
152 | 145 be used to enable the same feature.) |
153 Controlling the Host Type | 146 |
154 ------------------------- | 147 To get a long list of options and usage for the `configure' script, use |
155 | 148 `./configure --help' (piped to less if you prefer that to scrolling your |
156 Almost always, you should let `configure' (actually the shell script | 149 terminal). |
157 `config.guess') guess your host type, by omitting the | 150 |
158 CONFIGURATION-NAME argument. If you like to experiment, specify a | 151 Each option's explanation says what its default is. For Boolean options, the |
159 configuration name in the form MACHINE-VENDOR-OPSYS, for example: | 152 default may be "yes", "no", or "auto". If the default is "no", the feature |
160 | 153 will not be included, and if any option that depends on it is enabled, |
161 sparc-sun-solaris2.6 | 154 configure will fail with a fatal error. If the default is "yes", the feature |
162 | 155 will be included, and configure will fail with a fatal error if any required |
163 See config.guess and configure.in for valid values for MACHINE, | 156 headers or libraries cannot be found. If the default is "auto", the feature |
164 VENDOR, and OPSYS. Also check `./etc/MACHINES' for advice on building | 157 will be included if configure can find the needed headers and libraries. |
165 on particular machines. | 158 |
166 | 159 Even if a feature's default is "auto", it is useful to explicitly request its |
167 Specifying Location of Headers and Libraries | 160 configuration. If the necessary headers or libraries aren't found, configure |
168 -------------------------------------------- | 161 will fail loudly instead of silently configuring an XEmacs without your |
169 | 162 favorite features. |
170 The `--with-site-includes=DIR' and `--with-site-libraries=DIR' options | 163 |
171 allow you to specify additional places the compiler should look for | 164 Configuring the Installation Locations |
172 include files and object libraries. You may specify multiple DIR's by | 165 -------------------------------------- |
173 enclosing the list in quotes. All the external libraries you want to | 166 |
174 use with XEmacs (e.g. xpm, wnn, ...) described later should have their | 167 Often the default location for the XEmacs installation ("/usr/local") is |
175 include and library directories defined using these options. | 168 appropriate. If you prefer to put the installation somewhere else, use the |
176 | 169 `--prefix' option, such as `--prefix=/opt/local/xemacs'. |
177 The `--with-site-runtime-libraries=DIR' option specifies directories to | 170 |
178 search for shared libraries at run time. If you use this option, you | 171 As of late 2011, XEmacs is transitioning from the traditional "$prefix/lib" |
179 must specify ALL of the directories containing shared libraries at run | 172 location to the FHS-conforming location "$prefix/share" for packages. If you |
180 time, including system directories. Please read the information about | 173 already have packages installed under, say, "/usr/local/lib" and would prefer |
181 "ADD-ON LIBRARIES" above very carefully. | 174 not to move them, use `--with-system-packages=/usr/local/lib/xemacs'. (The |
182 | 175 value of this option should be the name of the directory containing the |
183 The `--x-includes=DIR' and `--x-libraries=DIR' options tell the build | 176 "xemacs-packages", "mule-packages", and/or "site-packages" hierarchies.) |
184 process where the compiler should look for the include files and | 177 |
185 object libraries used with the X Window System. Normally, `configure' | 178 The standard configuration of XEmacs builds in absolute paths for its various |
186 is able to find them; these options are necessary if you have your X | 179 support files. It is possible to make the XEmacs installation relocatable by |
187 Window System files installed in unusual places. | 180 using the option `--without-prefix'. Then all paths are computed at runtime |
188 | 181 relative to the "bin" directory where the XEmacs executable is located. |
189 Configuring the Build Process | 182 |
190 ----------------------------- | 183 There are a plethora of additional options for controlling exactly where |
191 | 184 different parts of XEmacs are installed. We *strongly* recommend sticking |
192 The `--with-gcc=PROGRAM' option specifies that the build process should | 185 with the standard layout, except as just described. If you want to |
193 compile XEmacs using GCC. The `--with-compiler' option allows you to | 186 experiment, these additional configure options are described in a later |
194 specify some other compiler to be used to compile XEmacs. If neither | 187 section. |
195 option is specified, the environment variable CC is used instead. | |
196 Otherwise the compiler will then default to 'cc'. | |
197 | |
198 The `--with-xemacs-compiler=PROGRAM' option specifies the compiler | |
199 control program for the xemacs binary only. Other C code will be | |
200 compiled according to the `--with-gcc' and `--with-compiler' options | |
201 above. This is useful if you wish to compile XEmacs with a C++ | |
202 compiler, because the utilities in ./lib-src cannot be compiled as C++. | |
203 This option is primarily intended for use by the maintainers. | |
204 | |
205 The `--with-cflags=FLAGS' option specifies all of the CFLAGS the build | |
206 process should use when compiling XEmacs, except for flags controlling | |
207 warning generation. Otherwise the value of the environment variable | |
208 CFLAGS is consulted. If that is also undefined, CFLAGS defaults to "-g | |
209 -O" for gcc and "-g" for all other compilers. | |
210 | |
211 The `--with-cflags-warning=FLAGS' option specifies the warnings to be | |
212 generated. There is normally no reason to use this flag, as XEmacs | |
213 turns on as many warnings as possible, and is still intended to build | |
214 with no warnings. If you get any undocumented warnings, please report | |
215 them as bugs---they very often are, or at least indicate possible | |
216 bitrot. | |
217 | |
218 The `--with-cflags-optimization=FLAGS' option specifies the | |
219 optimizations to be used. There is normally no reason to use this | |
220 flag, as XEmacs will already set the maximum safe optimization flags | |
221 appropriate for the compiler being invoked. | |
222 | |
223 The `--with-cflags-debugging=FLAGS' option specifies debugging | |
224 information to be generated. You should avoid using this flag, as it | |
225 makes most severe or fatal bugs hard-to-impossible to diagnose and | |
226 fix. Debugging information does not slow down XEmacs at runtime, and | |
227 it doesn't make the binary very much bigger. | |
228 | |
229 The `--with-dynamic' option specifies that configure should try to | |
230 link XEmacs dynamically rather than statically. `--with-static' | |
231 specifies the reverse. XEmacs's configure script detects whether | |
232 dynamic linking can be done on all platforms we know of; these options | |
233 are normally unnecessary. | |
234 | |
235 The `--with-modules' option specifies that XEmacs be built with | |
236 support for runtime loadable modules. NOTE TO OEMS: XEmacs can be | |
237 distributed configured to support several options based on external | |
238 APIs (currently LDAP, PostgreSQL, and Canna) as loadable modules. You | |
239 can distribute an XEmacs binary package with these options enabled | |
240 without depending on the external package. XEmacs will fail | |
241 gracefully at runtime, issuing an error message indicating that the | |
242 required support was not found on the system. | |
243 | |
244 You can build XEmacs for several different machine types from a single | |
245 source directory. To do this, you must use a version of `make' that | |
246 supports the `VPATH' variable, such as GNU `make'. Create separate | |
247 build directories for the different configuration types, and in each | |
248 one, run the XEmacs `configure' script. `configure' looks for the | |
249 Emacs source code in the directory that `configure' is in. The | |
250 `--srcdir' option may not work correctly (traditionally it was | |
251 overridden by the directory containing `configure'). | |
252 | |
253 Configuring the Installation Layout | |
254 ----------------------------------- | |
255 | |
256 The `--prefix=PREFIXDIR' option specifies where the installation process | |
257 should put XEmacs and its data files. This defaults to `/usr/local'. | |
258 - XEmacs (and the other utilities users run) go in PREFIXDIR/bin | |
259 (unless the `--exec-prefix' option says otherwise). | |
260 - The architecture-independent files go in PREFIXDIR/share/xemacs-VERSION | |
261 (where VERSION is the version number of XEmacs, like `21.0'). | |
262 - The architecture-dependent files go in | |
263 PREFIXDIR/lib/xemacs-VERSION/CONFIGURATION-NAME | |
264 (where CONFIGURATION-NAME is the host type, like mips-dec-ultrix4.2), | |
265 unless the `--exec-prefix' option says otherwise. | |
266 | |
267 The `--exec-prefix=EXECDIR' option allows you to specify a separate | |
268 portion of the directory tree for installing architecture-specific | |
269 files, like executables and utility programs. If specified, | |
270 - XEmacs (and the other utilities users run) go in EXECDIR/bin, and | |
271 - The architecture-dependent files go in | |
272 EXECDIR/lib/xemacs-VERSION/CONFIGURATION-NAME. | |
273 EXECDIR/bin should be a directory that is normally in users' PATHs. | |
274 | |
275 If you specify --prefix (or any of the other installation directory | |
276 options), they will get compiled into the xemacs executable so it will | |
277 be able to find its various associated files. However, XEmacs has | |
278 quite elaborate logic to find out the locations of these directories | |
279 dynamically. Sometimes, it is desirable *not* to compile these | |
280 directories into the executable so you can move the XEmacs | |
281 installation around (as whole) at will. This is true for binary kits, | |
282 for instance. Therefore, you can specify --without-prefix on the | |
283 configure command line to prevent the installation prefix to become | |
284 part of the generated executable; everything else will continue to | |
285 work as usual. | |
286 | |
287 Unlike previous versions of XEmacs (21.4 or earlier), | |
288 architecture-independent files (in particular, the Lisp files and | |
289 package hierarchies) by default get installed under `/usr/local/share' | |
290 rather than `/usr/local/lib'. To create a setup as in previous | |
291 versions, use the `--datadir=/usr/local/lib' option to configure. | |
292 | |
293 Configuring Feature Support | |
294 --------------------------- | |
295 | |
296 If you don't want X Window System support, specify `--without-x'. If | |
297 you omit this option, `configure' will try to autodetect whether your | |
298 system has X Window System support, and arrange to use it if present. | |
299 | |
300 The `--with-menubars=TYPE' option allows you to specify which X | |
301 toolkit you wish to use for the menubar. The valid options are | |
302 `lucid', `motif' and `no'. The default is `lucid' which is a | |
303 Motif-lookalike menubar. We highly recommend its usage over the real | |
304 Motif menubar. (In fact, the Motif menubar is currently broken.) If | |
305 `no' is specified then support for menubars will not be compiled in. | |
306 | |
307 The `--with-scrollbars=TYPE' option allows you to specify which X | |
308 toolkit you wish to use for the scrollbars. The valid options are | |
309 `lucid', `motif', `athena', `athena3d', and `no'. The default is | |
310 `lucid' which is a Motif-lookalike scrollbar. If `no' is specified then | |
311 support for scrollbars will not be compiled in. | |
312 | |
313 The `--with-dialogs=TYPE' option allows you to specify which X toolkit | |
314 you wish to use for the dialog boxes. The valid options are `athena', | |
315 `athena3d', `motif, and `no. The `lucid' option is accepted and will | |
316 result in the `athena' toolkit being used. If the Motif toolkit can be | |
317 found the default is `motif'. Otherwise, the default is `athena'. If | |
318 `no' is specified then support for dialog boxes will not be compiled in. | |
319 | |
320 The `--with-toolbars' option allows you to enable or disable toolbar | |
321 support. The default is `yes' if support for a windowing system is | |
322 included. | |
323 | |
324 The `--with-xpm' option specifies that XEmacs should support X11 | |
325 Pixmaps. `configure' will attempt to detect if you have the Xpm | |
326 libraries and define `--with-xpm' for you. | |
327 | |
328 The `--with-xface' option specifies that XEmacs should support | |
329 X-Faces. `configure' will attempt to detect if you have the compface | |
330 library and define `--with-xface' for you. | |
331 | |
332 The `--with-database' option specifies that XEmacs should be built | |
333 with simple database support. The valid options are `no' or a | |
334 comma-separated list of one or more of `dbm', `gnudbm' or `berkdb'. | |
335 `configure' will attempt to detect the necessary libraries and header | |
336 files and define `--with-database' for you. | |
337 | |
338 The `--with-postgresql' option specifies that XEmacs should be built | |
339 with PostgreSQL support, linking with libpq. `configure' will attempt | |
340 to detect whether PostgreSQL support is available, and automatically | |
341 define `--with-postgresql' for you. NOTE TO OEMS: If modules are | |
342 supported and enabled, the libpq API support will be build as a | |
343 module. | |
344 | |
345 The `--with-ldap' option specifies that XEmacs should be build with | |
346 LDAP support, using the OpenLDAP libraries. `configure' will attempt | |
347 to detect whether LDAP support is available, and automatically define | |
348 `--with-ldap' for you. NOTE TO OEMS: If modules are supported and | |
349 enabled, the OpenLDAP API support will be build as a module. | |
350 | |
351 The `--with-socks' option specifies that XEmacs should be built with | |
352 SOCKS support. This requires the libsocks library. | |
353 | |
354 The `--with-external-widget' option specifies that XEmacs should be | |
355 built with support for being used as a widget by other X11 applications. | |
356 This functionality should be considered beta. | |
357 | |
358 The `--with-sound=TYPE' option specifies that XEmacs should be built | |
359 with sound support. Native (`--with-sound=native') sound support is | |
360 currently available only on Sun SparcStations, SGI's, HP9000s, and | |
361 systems (such as Linux) with soundcard.h. Network Audio Support (NAS) | |
362 (`--with-sound=nas') is an extension to X that you may or may not have | |
363 for your system. For NAS, you will probably need to provide the paths | |
364 to the nas include and library directories to configure. If | |
365 `--with-sound' is not specified, `configure' will attempt to determine | |
366 if your configuration supports native sound and define --with-sound | |
367 for you. If your native sound library is not in a standard location you | |
368 can specify it with the `--with-native-sound-lib=LIB' flag. For Linux, | |
369 `/dev/audio' is required for SunAudio files and `/dev/dsp' is required | |
370 for raw data and WAVE format files. | |
371 | |
372 The `--with-tooltalk' option specifies that XEmacs should be built | |
373 with ToolTalk support for interconnecting with other applications. | |
374 ToolTalk is not yet supported on all architectures. If you use this | |
375 option, you should have the tooltalk package (see etc/PACKAGES) | |
376 installed prior to building XEmacs. | |
377 | |
378 The `--with-sparcworks' option specifies that XEmacs should be built | |
379 with support for Sun Sparcworks 3.0.1 and up (including Sun WorkShop). | |
380 This functionality is only of use on SunOS 4.1.x and Solaris 2.x | |
381 systems. If you use this option, you should have the Sun package (see | |
382 etc/PACKAGES) installed prior to building XEmacs. | |
383 | |
384 The `--with-cde' option allows you to enable or disable CDE drag and | |
385 drop support. `configure' will attempt to detect this option and | |
386 define `--with-cde' for you. | |
387 | 188 |
388 Internationalization Options | 189 Internationalization Options |
389 ---------------------------- | 190 ---------------------------- |
390 | 191 |
391 The `--with-mule' option enables MUlti-Lingual Emacs (Mule) support, | 192 The `--with-mule' option enables MUlti-Lingual Emacs (Mule) support, |
394 character) support. With the advent of the Euro and European | 195 character) support. With the advent of the Euro and European |
395 Community expansion, Mule support is also recommended for Western | 196 Community expansion, Mule support is also recommended for Western |
396 Europeans. Enabling Mule support requires the mule-base package | 197 Europeans. Enabling Mule support requires the mule-base package |
397 installed prior to building XEmacs. The `--with-xim', --with-xfs', | 198 installed prior to building XEmacs. The `--with-xim', --with-xfs', |
398 `--with-canna', `--with-wnn' and `--with-wnn6' options require | 199 `--with-canna', `--with-wnn' and `--with-wnn6' options require |
399 Mule support. | 200 Mule support. (Default: no.) |
400 | 201 |
401 The `--with-xim' option enables use of the X11 XIM mechanism to allow | 202 The `--with-canna' option enables the use of the Canna Japanese input method. |
402 an input method to input text into XEmacs. The input method is shared | 203 This is stable code and fairly well tested. In order to use it, you will |
403 among all the X applications sharing an X display and using the same | 204 have to have the Canna server installed and running. Canna versions 3.2pl2, |
404 language. The XIM support comes in two flavors: `motif' and `xlib'. | 205 3.5b2, and 3.7p3 are known to work. Version 3.2pl2 is considered more stable |
405 The Motif support (the XmIm* functions) is preferred when available. | 206 than version 3.5b2; the stability of 3.7p3 is still unknown. If Canna is |
406 The xlib XIM support works reasonably well so long as the X11 libraries | 207 already installed, configure will autodetect it, so you never need to |
407 are recent enough. It has been fairly well tested on Linux with glibc | 208 explicitly use this option unless your Canna libraries are somewhere strange. |
408 2.0.5 and 2.0.6 and Kinput2 as an XIM server. In this configuration | 209 Canna run time support is currently bundled with the `mule-base' package so |
409 X11 must be recompiled with X_LOCALE defined because glibc is lacking | 210 there is nothing additional to install in order to use it. NOTE TO OEMS: If |
410 localization for Japanese. The XIM support defaults to `no' except | 211 modules are supported and enabled, the libcanna API support will be build as |
411 when Motif is detected where it is stable with OSF libraries. The XIM | 212 a module. (Default: no.) |
412 support in Lesstif (a Free Motif replacement) does not work as of | |
413 v0.82. If you enable this option, you will probably wish to install | |
414 the `locale' package which contains localized Splash screens and | |
415 Menubars. | |
416 | |
417 The `--with-xfs' option enables use of a multilingual Menubar. At the | |
418 present time, only Japanese and French locales are supported. In | |
419 order to use a multilingual Menubar you must have the `locale' package | |
420 installed. The `locale' package does not have to be installed when | |
421 building XEmacs. | |
422 | |
423 The `--with-canna' option enables the use of the Canna Japanese input | |
424 method. This is stable code and fairly well tested. In order to use | |
425 it, you will have to have the Canna server installed and running. Canna | |
426 versions 3.2pl2, 3.5b2, and 3.7p3 are known to work. Version 3.2pl2 is | |
427 considered more stable than version 3.5b2; the stability of 3.7p3 is | |
428 still unknown. If Canna is already installed, configure will autodetect | |
429 it, so you never need to explicitly use this option unless your Canna | |
430 libraries are somewhere strange. Canna run time support is currently | |
431 bundled with the `mule-base' package so there is nothing additional to | |
432 install in order to use it. NOTE TO OEMS: If modules are supported | |
433 and enabled, the libcanna API support will be build as a module. | |
434 | 213 |
435 The `--with-wnn' and `--with-wnn6' options are for compiling with the Wnn | 214 The `--with-wnn' and `--with-wnn6' options are for compiling with the Wnn |
436 multi-language input method. `--with-wnn' is for compiling with Wnn-4.2, | 215 multi-language input method. `--with-wnn' is for compiling with Wnn-4.2, the |
437 the Free version of WNN. `--with-wnn6' is for compiling against WNN6, | 216 Free version of WNN. `--with-wnn6' is for compiling against WNN6, the |
438 the commercial version of WNN available from OMRON Corporation. This is | 217 commercial version of WNN available from OMRON Corporation. This is stable |
439 stable code and fairly well tested. In order to build with this | 218 code and fairly well tested. In order to build with this option, you will |
440 option, you will need to have the `egg-its' lisp package already | 219 need to have the `egg-its' lisp package already installed. (Default: no.) |
441 installed. | 220 |
221 The `--with-xim' option enables use of the X11 XIM mechanism to allow an | |
222 input method to input text into XEmacs. The input method is shared among all | |
223 the X applications sharing an X display and using the same language. The XIM | |
224 support comes in two flavors: `motif' and `xlib'. The Motif support (the | |
225 XmIm* functions) is preferred when available. The XIM support defaults to | |
226 `no' except when Motif is detected where it is stable with OSF libraries. | |
227 The XIM support in Lesstif (a Free Motif replacement) does not work as of | |
228 v0.82. If you enable this option, you will probably wish to install the | |
229 `locale' package which contains localized Splash screens and Menubars. | |
230 | |
231 (This option is deprecated and will be removed.) The `--with-xfs' option | |
232 enables use of a multilingual Menubar. At the present time, only Japanese | |
233 and French locales are supported. In order to use a multilingual Menubar you | |
234 must have the `locale' package installed. The `locale' package does not have | |
235 to be installed when building XEmacs. (Default: no.) | |
442 | 236 |
443 Please note that it is safe to build with as many of the options | 237 Please note that it is safe to build with as many of the options |
444 `--with-xim', `--with-canna' and `--with-wnn' as your system | 238 `--with-xim', `--with-canna' and `--with-wnn' as your system |
445 supports. | 239 supports. |
446 | 240 |
447 Options for Developers and Special Requirements | 241 Configuring the Window System |
448 ----------------------------------------------- | 242 ----------------------------- |
449 | 243 |
450 The `--with-rel-alloc' option can be used to either enable or disable | 244 If you prefer the GTK+ look and feel to Xt, specify `--with-gtk'. You can |
451 use of the relocating allocator. Turning on --with-rel-alloc will allow | 245 also enable support for some GNOME desktop features with `--with-gnome'. You |
452 XEmacs to return unused memory to the operating system, thereby reducing | 246 cannot use both GTK+ and Xt at the same time. |
453 its memory footprint. However, it may make XEmacs runs more slowly, | 247 |
454 especially if your system's `mmap' implementation is missing or | 248 If you don't want X Window System support at all, specify `--without-x'. If |
455 inefficient. Generally, it's best to go with the default configuration | 249 you omit this option, `configure' will try to autodetect whether your system |
456 for your system. You can tweak this based on how you use XEmacs, and | 250 has X Window System support, and arrange to use it if present. |
457 the memory and cpu resources available on your system. | 251 |
458 | 252 On Cygwin, you can configure support for the "native" MS Windows GUI with |
459 The `--with-system-malloc' option can be used to either enable or | 253 `--with-msw'. XEmacs supports both `--with-msw' and `--with-x' at the same |
460 disable use of the system malloc. Generally, it's best to go with the | 254 time. |
461 default configuration for your system. Note that on many systems | 255 |
462 using the system malloc disables the use of the relocating allocator. | 256 The `--with-menubars=TYPE' option allows you to specify which X |
463 | 257 toolkit you wish to use for the menubar. The valid options are |
464 The `--with-debug-malloc' option can be used to link a special | 258 `lucid', `motif' and `no'. The default is `lucid' which is a |
465 debugging version of malloc. Debug Malloc is not included with XEmacs | 259 Motif-lookalike menubar. We highly recommend its usage over the real |
466 and is intended for use only by the developers. It may be obtained | 260 Motif menubar. (In fact, the Motif menubar is currently broken.) If |
467 from <URL:http://www.letters.com/dmalloc/>. | 261 `no' is specified then support for menubars will not be compiled in. |
468 | 262 |
469 The `--with-debug' and `--with-error-checking' options are primarily | 263 The `--with-scrollbars=TYPE' option allows you to specify which X toolkit you |
470 useful to the developers. `--with-debug' incorporates code for | 264 wish to use for the scrollbars. The valid options are `lucid', `motif', |
471 performing various tests, but does not impose a speed penalty. | 265 `athena', and `no'. The default is `lucid' which is a Motif-lookalike |
472 `--with-error-checking' adds additional tests to many of the commonly | 266 scrollbar. If `no' is specified then support for scrollbars will not be |
473 used macros, and imposes a speed penalty. Using either or both of these | 267 compiled in. |
474 options can make bug reports more useful to the developers. | 268 |
475 | 269 The `--with-dialogs=TYPE' option allows you to specify which X toolkit you |
476 The `--verbose' option is useful only to the developers. It displays | 270 wish to use for the dialog boxes. The valid options are `athena', `motif, |
477 additional information, useful for debugging `configure'. | 271 and `no. The `lucid' option is accepted and will result in the `athena' |
478 | 272 toolkit being used. If the Motif toolkit can be found the default is |
479 MAIL LOCKING | 273 `motif'. Otherwise, the default is `athena'. If `no' is specified then |
480 ============ | 274 support for dialog boxes will not be compiled in. |
481 | 275 |
482 For most platforms, configure or the src/s file have the preferred | 276 The `--with-toolbars' option allows you to enable or disable toolbar |
483 method for locking mail spool files preconfigured. Otherwise you must | 277 support. The default is `yes' if support for a windowing system is |
484 find out for yourself. Do not choose a locking protocol "on the | 278 included. |
485 objective merits." XEmacs must use the same method as other mail | 279 |
486 utilities on your system, or you WILL lose mail. | 280 The `--with-dragndrop' option compiles in the generic drag and drop API. |
487 | 281 This is automatically added if one of the drag and drop protocols is found |
488 Presently, XEmacs supports lockf, flock, and dot locking. Specify the | 282 (currently CDE, MSWindows, and GTK). *WARNING* The Drag'n'drop support is |
489 locking method via the --with-mail-locking=METHOD option to configure. | 283 under development and is considered experimental. |
490 Valid values for METHOD are --with-mail-locking are `lockf', `flock', | 284 |
491 and `dot'. | 285 Miscellaneous Features |
286 ---------------------- | |
287 | |
288 The `--with-xpm' option specifies that XEmacs should support X11 | |
289 Pixmaps. (Default: auto.) | |
290 | |
291 The `--with-xface' option specifies that XEmacs should support | |
292 X-Faces. (Default: auto.) | |
293 | |
294 The `--with-database' option specifies that XEmacs should be built with | |
295 simple database support. The valid options are `no' or a comma-separated | |
296 list of one or more of `dbm', `gnudbm' or `berkdb'. (Default: auto.) | |
297 | |
298 The `--with-postgresql' option specifies that XEmacs should be built with | |
299 PostgreSQL support, linking with libpq. (Default: auto.) NOTE TO OEMS: If | |
300 modules are enabled, the libpq API support will be build as a module. | |
301 | |
302 The `--with-ldap' option specifies that XEmacs should be build with LDAP | |
303 support, using the OpenLDAP libraries. (Default: auto.) NOTE TO OEMS: If | |
304 modules are enabled, the OpenLDAP API support will be build as a module. | |
305 | |
306 The `--with-socks' option specifies that XEmacs should be built with | |
307 SOCKS support. This requires the libsocks library. (Default: no.) | |
308 | |
309 The `--with-sound=TYPE' option specifies that XEmacs should be built with | |
310 sound support. Native (`--with-sound=native') sound support is currently | |
311 available only on Sun SparcStations, SGI's, HP9000s, and systems (such as | |
312 Linux) with soundcard.h. Network Audio Support (NAS) (`--with-sound=nas') is | |
313 an extension to X that you may or may not have for your system. For NAS, you | |
314 will probably need to provide the paths to the nas include and library | |
315 directories to configure. ESD ("Enlightened Sound Daemon") | |
316 (`--with-sound=esd') is a third-party library which interacts with a special | |
317 sound daemon. If `--with-sound' is not specified, `configure' will attempt | |
318 to determine if your configuration supports native sound and define | |
319 --with-sound for you. If your native sound library is not in a standard | |
320 location you can specify it with the `--with-native-sound-lib=LIB' flag. For | |
321 Linux, `/dev/audio' is required for SunAudio files and `/dev/dsp' is required | |
322 for raw data and WAVE format files. You may specify as many sound types as | |
323 your system supports, separated by commas: `--with-sound=nas,native'. | |
324 (Default: auto.) | |
325 | |
326 The `--with-tty' option enables TTY support. (Default: yes.) | |
327 | |
328 The `--with-ncurses' options specifies use of the ncurses library for tty | |
329 support. (Default: auto.) | |
330 | |
331 The `--with-gpm' option compiles in GPM mouse support for ttys. (Default: | |
332 no.) | |
333 | |
334 The `--with-external-widget' option specifies that XEmacs should be | |
335 built with support for being used as a widget by other X11 applications. | |
336 This functionality should be considered beta. (Default: no.) | |
337 | |
338 The `--with-tooltalk' option specifies that XEmacs should be built | |
339 with ToolTalk support for interconnecting with other applications. | |
340 ToolTalk is not yet supported on all architectures. If you use this | |
341 option, you should have the tooltalk package (see etc/PACKAGES) | |
342 installed prior to building XEmacs. (Default: no.) | |
343 | |
344 The `--with-sparcworks' option specifies that XEmacs should be built | |
345 with support for Sun Sparcworks 3.0.1 and up (including Sun WorkShop). | |
346 This functionality is only of use on SunOS 4.1.x and Solaris 2.x | |
347 systems. If you use this option, you should have the Sun package (see | |
348 etc/PACKAGES) installed prior to building XEmacs. (Default: no.) | |
349 | |
350 The `--with-cde' option allows you to enable or disable CDE drag and | |
351 drop support. `configure' will attempt to detect this option and | |
352 define `--with-cde' for you. (Default: no.) | |
492 | 353 |
493 RUNNING CONFIGURE | 354 RUNNING CONFIGURE |
494 ================= | 355 ================= |
495 | 356 |
496 `configure' doesn't do any compilation or installation itself. It | 357 `configure' doesn't do any compilation or installation itself. It just |
497 just creates the files that influence those things: `./src/config.h', | 358 creates the files that influence those things: `./src/config.h', and all the |
498 and all the Makefiles in the build tree. | 359 Makefiles in the build tree. |
499 | 360 |
500 When it is done, `configure' prints a description of what it did and | 361 XEmacs supports the implicit --srcdir option to allow building outside of the |
501 creates a shell script `config.status' which, when run, recreates the | 362 source tree. This is recommended; it only requires adding a single build |
502 same configuration. If `configure' exits with an error after | 363 directory, cd'ing there, and invoking configure: |
503 disturbing the status quo, it removes `config.status'. If `configure' | 364 |
504 doesn't work as expected, the file `config.log' contains details of | 365 mkdir +build |
505 the tests run and their results. | 366 cd +build |
506 | 367 ../configure [--OPTION[=VALUE]] ... |
507 AUXILIARY PATHS | 368 |
508 =============== | 369 If you want to build in the source tree for some reason, cd to the top level |
509 | 370 directory of the XEmacs distribution, and run the program `configure' as |
510 Look at `./lisp/paths.el'; if some of those values are not right for | 371 follows: |
511 your system, set up the file `./lisp/site-init.el' with XEmacs Lisp | 372 |
512 code to override them; it is not a good idea to edit paths.el itself. | 373 ./configure [--OPTION[=VALUE]] ... |
513 YOU MUST USE THE LISP FUNCTION `setq' TO ASSIGN VALUES, rather than | 374 |
514 `defvar', as used by `./lisp/paths.el'. For example, | 375 When it is done, `configure' prints a description of what it did and creates |
515 | 376 a shell script `config.status' which, when run, recreates the same |
516 (setq news-inews-program "/usr/bin/inews") | 377 configuration. If `configure' exits with an error after disturbing the |
517 | 378 status quo, it removes `config.status'. If `configure' doesn't work as |
518 is how you would override the default value of the variable | 379 expected, the file `config.log' contains details of the tests run and their |
519 news-inews-program (which is "/usr/local/inews"). | 380 results. |
520 | |
521 Before you override a variable this way, *look at the value* that the | |
522 variable gets by default! Make sure you know what kind of value the | |
523 variable should have. If you don't pay attention to what you are | |
524 doing, you'll make a mistake. | |
525 | |
526 Things may malfunction if the variable `directory-abbrev-alist' is not | |
527 set up to translate "temporary" automounter mount points into the | |
528 canonical form. XEmacs tries to detect how your automounter is | |
529 configured. If you have an unusual automounter configuration that | |
530 XEmacs cannot detect, you may need to change the value of | |
531 `directory-abbrev-alist'. | |
532 | |
533 SITE-SPECIFIC STARTUP CODE | |
534 ========================== | |
535 | |
536 Put into `./lisp/site-init.el' or `./lisp/site-load.el' any Emacs Lisp | |
537 code you want XEmacs to load before it is dumped out. Use | |
538 site-load.el for additional libraries if you arrange for their | |
539 documentation strings to be in the lib-src/DOC file (see | |
540 src/Makefile.in.in if you wish to figure out how to do that). For all | |
541 else, use site-init.el. | |
542 | |
543 Note that, on some systems, the code you place in site-init.el must | |
544 not use expand-file-name or any other function which may look | |
545 something up in the system's password and user information database. | |
546 See `./PROBLEMS' for more details on which systems this affects. | |
547 | |
548 The `site-*.el' files are nonexistent in the distribution. You do not | |
549 need to create them if you have nothing to put in them. | |
550 | |
551 TERMCAP CONFIGURATION | |
552 ===================== | |
553 | |
554 Refer to the file `./etc/TERMS' for information on fields you may | |
555 wish to add to various termcap entries. The files `./etc/termcap.ucb' | |
556 and `./etc/termcap.dat' may already contain appropriately-modified | |
557 entries. | |
558 | 381 |
559 RUNNING MAKE | 382 RUNNING MAKE |
560 ============ | 383 ============ |
561 | 384 |
562 Run `make' in the top directory of the XEmacs distribution to finish | 385 `configure' also creates an `Installation' file in the top directory of the |
563 building XEmacs in the standard way. The final executable file is | 386 build tree. Do read this file before running `make'! It's not very long. |
564 named `src/xemacs'. You can execute this file in place without | 387 You can save much grief by checking that expected features are listed there. |
565 copying it, if you wish; then it automatically uses the sibling | 388 |
566 directories ../lisp, ../lib-src, ../info. | 389 Run `make' in the top directory of the XEmacs distribution to finish building |
567 | 390 XEmacs in the standard way. The final executable file is named `src/xemacs'. |
568 Or you can install the executable and the other XEmacs into their | 391 You can execute this file in place without copying it, if you wish; then it |
569 permanent locations, with `make install'. By default, XEmacs's files | 392 automatically uses the sibling directories ../lisp, ../lib-src, ../info. |
570 are installed in the following directories: | 393 |
394 Or you can install the executable and the other XEmacs into their permanent | |
395 locations, with `make install'. By default, XEmacs's files are installed in | |
396 the following directories: | |
571 | 397 |
572 `/usr/local/bin' holds the executable programs users normally run - | 398 `/usr/local/bin' holds the executable programs users normally run - |
573 `xemacs', `etags', `ctags', `b2m', `emacsclient', `ellcc', | 399 `xemacs', `etags', `ctags', `b2m', `emacsclient', `ellcc', |
574 `gnuclient', `gnudoit', and `gnuattach'. | 400 `gnuclient', `gnudoit', and `gnuattach'. |
575 | 401 |
576 `/usr/local/share/xemacs-VERSION/lisp' holds the Emacs Lisp libraries; | 402 `/usr/local/share/xemacs-VERSION/lisp' holds the basic Emacs Lisp libraries |
403 (including core implementations of many Lisp primitives); | |
577 `VERSION' stands for the number of the XEmacs version | 404 `VERSION' stands for the number of the XEmacs version |
578 you are installing, like `18.59' or `19.14'. Since | 405 you are installing, like `19.14' or `21.5.31'. Since |
579 the lisp libraries change from one version of XEmacs to | 406 the lisp libraries change from one version of XEmacs to |
580 another, including the version number in the path | 407 another, including the version number in the path |
581 allows you to have several versions of XEmacs installed | 408 allows you to have several versions of XEmacs installed |
582 at the same time; this means that you don't have to | 409 at the same time; this means that you don't have to |
583 make XEmacs unavailable while installing a new version. | 410 make XEmacs unavailable while installing a new version. |
584 | 411 |
585 XEmacs searches for its lisp files in these | 412 `/usr/local/share/xemacs/xemacs-packages' |
586 directories, and then in | 413 `/usr/local/share/xemacs/mule-packages' |
587 `/usr/local/share/xemacs/site-lisp/*'. | 414 `/usr/local/share/xemacs/site-packages' |
415 XEmacs searches for "packaged" Emacs Lisp applications or | |
416 extensions and their support files in these hierarchies. | |
417 Each hierarchy has its own set of lisp, etc, info, lib-src, | |
418 and pkginfo subdirectories. The pkginfo subdirectory | |
419 contains "MANIFEST" files used when installing or removing | |
420 packages. Each of the others has the same purpose as the | |
421 similarly-named directory for "core XEmacs". | |
422 | |
423 `/usr/local/share/xemacs/site-lisp' | |
424 A last-resort location for Lisp files (optional). | |
588 | 425 |
589 `/usr/local/share/xemacs-VERSION/etc' holds the XEmacs tutorial, the | 426 `/usr/local/share/xemacs-VERSION/etc' holds the XEmacs tutorial, the |
590 Unicode database, and other architecture-independent | 427 Unicode database, and other architecture-independent |
591 files XEmacs might need while running. VERSION is as | 428 files XEmacs might need while running. VERSION is as |
592 specified for `.../lisp'. | 429 specified for `.../lisp'. |
624 for XEmacs, known as "info files". | 461 for XEmacs, known as "info files". |
625 | 462 |
626 `/usr/local/man/man1' holds the man pages for the programs installed | 463 `/usr/local/man/man1' holds the man pages for the programs installed |
627 in `/usr/local/bin'. | 464 in `/usr/local/bin'. |
628 | 465 |
629 If these directories are not what you want, you can specify where to | 466 If you have specified the `--prefix' option, it will replace "/usr/local" |
630 install XEmacs's libraries and data files or where XEmacs should search | 467 in the locations above. |
631 for its lisp files by giving values for `make' variables as part of | 468 |
632 the command. | 469 STRIPPING BINARIES |
633 | 470 ================== |
634 You can change where the build process installs XEmacs and its data | 471 |
635 files by specifying values for `make' variables as part of the `make' | 472 This saves nothing but a small (by modern standards) amount of disk space; |
636 command line. For example, if you type | 473 the symbol table is not loaded into memory at execution time. If you do |
474 encounter a crash or other serious bug, the first thing the developers will | |
475 do is ask you to build an XEmacs with a full symbol table, anyway. Don't | |
476 strip the XEmacs binary. | |
477 | |
478 MAIL-LOCKING POST-INSTALLATION | |
479 ============================== | |
480 | |
481 If your system uses dot-locking to interlock access to mailer inbox files, | |
482 then you might need to make the movemail program setuid or setgid to enable | |
483 it to write the lock files. We believe this is not a security hole. The | |
484 setuid/setgid bits need not be set on any other XEmacs-related executables. | |
485 | |
486 CLEANING UP | |
487 ========== | |
488 | |
489 You are done with the hard part! You can remove executables and object files | |
490 from the build directory by typing `make clean'. To also remove the files | |
491 that `configure' created (so you can compile XEmacs for a different | |
492 configuration), type `make distclean'. | |
493 | |
494 READ THE FAQ | |
495 ============ | |
496 | |
497 Do it! | |
498 | |
499 PROBLEMS | |
500 ======== | |
501 | |
502 The most common problem is that you forgot to read and follow the directions | |
503 for installing bootstrap packages in the FAQ. You can not have a normal | |
504 XEmacs without downloading some additional packages. | |
505 | |
506 See the file PROBLEMS in this directory for a list of various problems | |
507 sometimes encountered, and what to do about them. PROBLEMS is also the place | |
508 where platform-specific build notes can be found. | |
509 | |
510 ADVANCED CONFIGURATION | |
511 ====================== | |
512 | |
513 There are a large number of options to configure that can be used to control | |
514 the build and installation process. These are primarily of interest to | |
515 developers and OEMs. | |
516 | |
517 Controlling the Host Type | |
518 ------------------------- | |
519 | |
520 Almost always, you should let `configure' (actually the shell script | |
521 `config.guess') guess your host type, by omitting the CONFIGURATION-NAME | |
522 argument. If you like to experiment, specify a configuration name in the | |
523 form MACHINE-VENDOR-OPSYS, for example: | |
524 | |
525 sparc-sun-solaris2.6 | |
526 | |
527 using the command form | |
528 | |
529 ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ... | |
530 | |
531 See config.guess and configure.ac for valid values for MACHINE, VENDOR, and | |
532 OPSYS. Also check `./etc/MACHINES' for advice on building on particular | |
533 machines. | |
534 | |
535 Specifying Location of Headers and Libraries | |
536 -------------------------------------------- | |
537 | |
538 The `--with-site-includes=DIR' and `--with-site-libraries=DIR' options allow | |
539 you to specify additional places the compiler should look for include files | |
540 and object libraries. You may specify multiple DIR's by enclosing the list | |
541 in quotes. All the external libraries you want to use with XEmacs (e.g. xpm, | |
542 wnn, ...) described later should have their include and library directories | |
543 defined using these options. | |
544 | |
545 The `--with-site-runtime-libraries=DIR' option specifies directories to | |
546 search for shared libraries at run time. If you use this option, you must | |
547 specify ALL of the directories containing shared libraries at run time, | |
548 including system directories. Please read the information about "ADD-ON | |
549 LIBRARIES" above very carefully. | |
550 | |
551 The `--x-includes=DIR' and `--x-libraries=DIR' options tell the build process | |
552 where the compiler should look for the include files and object libraries | |
553 used with the X Window System. Normally, `configure' is able to find them; | |
554 these options are necessary if you have your X Window System files installed | |
555 in unusual places. | |
556 | |
557 Configuring the Build Process | |
558 ----------------------------- | |
559 | |
560 The `--with-gcc=PROGRAM' option specifies that the build process should | |
561 compile XEmacs using GCC. The `--with-compiler' option allows you to specify | |
562 some other compiler to be used to compile XEmacs. If neither option is | |
563 specified, the environment variable CC is used instead. Otherwise the | |
564 compiler will then default to 'cc'. | |
565 | |
566 The `--with-xemacs-compiler=PROGRAM' option specifies the compiler control | |
567 program for the xemacs binary only. Other C code will be compiled according | |
568 to the `--with-gcc' and `--with-compiler' options above. This is useful if | |
569 you wish to compile XEmacs with a C++ compiler, because the utilities in | |
570 ./lib-src cannot be compiled as C++. This option is primarily intended for | |
571 use by the maintainers. | |
572 | |
573 The `--with-cflags=FLAGS' option specifies all of the CFLAGS the build | |
574 process should use when compiling XEmacs, except for flags controlling | |
575 warning generation. Otherwise the value of the environment variable CFLAGS | |
576 is consulted. If that is also undefined, CFLAGS defaults to "-g -O" for gcc | |
577 and "-g" for all other compilers. | |
578 | |
579 The `--with-cflags-warning=FLAGS' option specifies the warnings to be | |
580 generated. There is normally no reason to use this flag, as XEmacs turns on | |
581 as many warnings as possible, and is still intended to build with no | |
582 warnings. If you get any undocumented warnings, please report them as | |
583 bugs---they very often are, or at least indicate possible bitrot. | |
584 | |
585 The `--with-cflags-optimization=FLAGS' option specifies the optimizations to | |
586 be used. There is normally no reason to use this flag, as XEmacs will | |
587 already set the maximum safe optimization flags appropriate for the compiler | |
588 being invoked. | |
589 | |
590 The `--with-cflags-debugging=FLAGS' option specifies debugging information to | |
591 be generated. You should avoid using this flag, as it makes most severe or | |
592 fatal bugs hard-to-impossible to diagnose and fix. Debugging information | |
593 does not slow down XEmacs at runtime, and it doesn't make the binary very | |
594 much bigger. | |
595 | |
596 The `--with-dynamic' option specifies that configure should try to link | |
597 XEmacs dynamically rather than statically. `--with-static' specifies the | |
598 reverse. XEmacs's configure script detects whether dynamic linking can be | |
599 done on all platforms we know of; these options are normally unnecessary. | |
600 | |
601 The `--with-modules' option specifies that XEmacs be built with support for | |
602 runtime loadable modules. NOTE TO OEMS: XEmacs can be distributed configured | |
603 to support several options based on external APIs (currently LDAP, | |
604 PostgreSQL, and Canna) as loadable modules. You can distribute an XEmacs | |
605 binary package with these options enabled without depending on the external | |
606 package. XEmacs will fail gracefully at runtime, issuing an error message | |
607 indicating that the required support was not found on the system. | |
608 | |
609 You can build XEmacs for several different machine types from a single source | |
610 directory. To do this, you must use a version of `make' that supports the | |
611 `VPATH' variable, such as GNU `make'. Create separate build directories for | |
612 the different configuration types, and in each one, run the XEmacs | |
613 `configure' script. `configure' looks for the Emacs source code in the | |
614 directory that `configure' is in. The `--srcdir' option may not work | |
615 correctly (traditionally it was overridden by the directory containing | |
616 `configure'). | |
617 | |
618 Configuring the Installation Layout | |
619 ----------------------------------- | |
620 | |
621 The `--prefix=PREFIXDIR' option specifies where the installation process | |
622 should put XEmacs and its data files. This defaults to `/usr/local'. | |
623 - XEmacs (and the other utilities users run) go in PREFIXDIR/bin | |
624 (unless the `--exec-prefix' option says otherwise). | |
625 - The architecture-independent files go in PREFIXDIR/share/xemacs-VERSION | |
626 (where VERSION is the version number of XEmacs, like `21.0'). | |
627 - The architecture-dependent files go in | |
628 PREFIXDIR/lib/xemacs-VERSION/CONFIGURATION-NAME | |
629 (where CONFIGURATION-NAME is the host type, like mips-dec-ultrix4.2), | |
630 unless the `--exec-prefix' option says otherwise. | |
631 | |
632 The `--exec-prefix=EXECDIR' option allows you to specify a separate portion | |
633 of the directory tree for installing architecture-specific files, like | |
634 executables and utility programs. If specified, | |
635 - XEmacs (and the other utilities users run) go in EXECDIR/bin, and | |
636 - The architecture-dependent files go in | |
637 EXECDIR/lib/xemacs-VERSION/CONFIGURATION-NAME. | |
638 EXECDIR/bin should be a directory that is normally in users' PATHs. | |
639 | |
640 If you specify --prefix (or any of the other installation directory options), | |
641 they will get compiled into the xemacs executable so it will be able to find | |
642 its various associated files. However, XEmacs has quite elaborate logic to | |
643 find out the locations of these directories dynamically. Sometimes, it is | |
644 desirable *not* to compile these directories into the executable so you can | |
645 move the XEmacs installation around (as whole) at will. This is true for | |
646 binary kits, for instance. Therefore, you can specify --without-prefix on | |
647 the configure command line to prevent the installation prefix to become part | |
648 of the generated executable; everything else will continue to work as usual. | |
649 | |
650 Unlike previous versions of XEmacs (21.4 or earlier), | |
651 architecture-independent files (in particular, the Lisp files and | |
652 package hierarchies) by default get installed under `/usr/local/share' | |
653 rather than `/usr/local/lib'. To create a setup as in previous | |
654 versions, use the `--datadir=/usr/local/lib' option to configure. | |
655 | |
656 Options for Developers and Special Requirements | |
657 ----------------------------------------------- | |
658 | |
659 The `--with-rel-alloc' option can be used to either enable or disable | |
660 use of the relocating allocator. Turning on --with-rel-alloc will allow | |
661 XEmacs to return unused memory to the operating system, thereby reducing | |
662 its memory footprint. However, it may make XEmacs runs more slowly, | |
663 especially if your system's `mmap' implementation is missing or | |
664 inefficient. Generally, it's best to go with the default configuration | |
665 for your system. You can tweak this based on how you use XEmacs, and | |
666 the memory and cpu resources available on your system. | |
667 | |
668 The `--with-system-malloc' option can be used to either enable or | |
669 disable use of the system malloc. Generally, it's best to go with the | |
670 default configuration for your system. Note that on many systems | |
671 using the system malloc disables the use of the relocating allocator. | |
672 | |
673 The `--with-debug-malloc' option can be used to link a special | |
674 debugging version of malloc. Debug Malloc is not included with XEmacs | |
675 and is intended for use only by the developers. It may be obtained | |
676 from <URL:http://www.letters.com/dmalloc/>. | |
677 | |
678 The `--with-debug' and `--with-error-checking' options are primarily | |
679 useful to the developers. `--with-debug' incorporates code for | |
680 performing various tests, but does not impose a speed penalty. | |
681 `--with-error-checking' adds additional tests to many of the commonly | |
682 used macros, and imposes a speed penalty. Using either or both of these | |
683 options can make bug reports more useful to the developers. | |
684 | |
685 The `--verbose' option is useful only to the developers. It displays | |
686 additional information, useful for debugging `configure'. | |
687 | |
688 AUXILIARY PATHS | |
689 =============== | |
690 | |
691 After configuring, look at `./lisp/paths.el'; if some of those values are not | |
692 right for your system, set up the file `./lisp/site-init.el' with XEmacs Lisp | |
693 code to override them; it is not a good idea to edit paths.el itself. YOU | |
694 MUST USE THE LISP FUNCTION `setq' TO ASSIGN VALUES, rather than `defvar', as | |
695 used by `./lisp/paths.el'. For example, | |
696 | |
697 (setq news-inews-program "/usr/bin/inews") | |
698 | |
699 is how you would override the default value of the variable | |
700 news-inews-program (which is "/usr/local/inews"). | |
701 | |
702 Before you override a variable this way, *look at the value* that the | |
703 variable gets by default! Make sure you know what kind of value the variable | |
704 should have. If you don't pay attention to what you are doing, you'll make a | |
705 mistake. | |
706 | |
707 Things may malfunction if the variable `directory-abbrev-alist' is not set up | |
708 to translate "temporary" automounter mount points into the canonical form. | |
709 XEmacs tries to detect how your automounter is configured. If you have an | |
710 unusual automounter configuration that XEmacs cannot detect, you may need to | |
711 change the value of `directory-abbrev-alist'. | |
712 | |
713 SITE-SPECIFIC STARTUP CODE | |
714 ========================== | |
715 | |
716 Put into `./lisp/site-init.el' or `./lisp/site-load.el' any Emacs Lisp code | |
717 you want XEmacs to load before it is dumped out. Use site-load.el for | |
718 additional libraries if you arrange for their documentation strings to be in | |
719 the lib-src/DOC file (see src/Makefile.in.in if you wish to figure out how to | |
720 do that). For all else, use site-init.el. | |
721 | |
722 Note that, on some systems, the code you place in site-init.el must not use | |
723 expand-file-name or any other function which may look something up in the | |
724 system's password and user information database. See `./PROBLEMS' for more | |
725 details on which systems this affects. | |
726 | |
727 The `site-*.el' files are nonexistent in the distribution. You do not need | |
728 to create them if you have nothing to put in them. | |
729 | |
730 TERMCAP CONFIGURATION | |
731 ===================== | |
732 | |
733 Refer to the file `./etc/TERMS' for information on fields you may wish to add | |
734 to various termcap entries. The files `./etc/termcap.ucb' and | |
735 `./etc/termcap.dat' may already contain appropriately-modified entries. | |
736 | |
737 ADVANCED MAKE | |
738 ============= | |
739 | |
740 If the default installation directories are not what you want, you can | |
741 specify where to install XEmacs's libraries and data files or where XEmacs | |
742 should search for its lisp files by giving values for `make' variables as | |
743 part of the command. | |
744 | |
745 You can change where the build process installs XEmacs and its data files by | |
746 specifying values for `make' variables as part of the `make' command line. | |
747 For example, if you type | |
637 | 748 |
638 make install bindir=/usr/local/gnubin | 749 make install bindir=/usr/local/gnubin |
639 | 750 |
640 the `bindir=/usr/local/gnubin' argument indicates that the XEmacs | 751 the `bindir=/usr/local/gnubin' argument indicates that the XEmacs executable |
641 executable files should go in `/usr/local/gnubin', not | 752 files should go in `/usr/local/gnubin', not `/usr/local/bin'. |
642 `/usr/local/bin'. | 753 |
643 | 754 Note that this is not tested or recommended, and specifying installation |
644 Here is a complete list of the variables you may want to set. | 755 locations here rather than via `configure' may not work as expected. Here |
756 is a complete list of the variables you may want to set. | |
645 | 757 |
646 `bindir' indicates where to put executable programs that users can | 758 `bindir' indicates where to put executable programs that users can |
647 run. This defaults to /usr/local/bin. | 759 run. This defaults to /usr/local/bin. |
648 | 760 |
649 `datadir' indicates where to put the architecture-independent | 761 `datadir' indicates where to put the architecture-independent |
716 | 828 |
717 `exec_prefix' serves the same purpose as `prefix', but instead | 829 `exec_prefix' serves the same purpose as `prefix', but instead |
718 determines the default values for the architecture-dependent | 830 determines the default values for the architecture-dependent |
719 path variables - `bindir' and `libdir'. | 831 path variables - `bindir' and `libdir'. |
720 | 832 |
721 The above variables serve analogous purposes in the makefiles for all | 833 The above variables serve analogous purposes in the makefiles for all GNU |
722 GNU software; here are some variables specific to XEmacs. | 834 software; here are some variables specific to XEmacs. |
723 | 835 |
724 `lispdir' indicates where XEmacs installs and expects its lisp | 836 `lispdir' indicates where XEmacs installs and expects its lisp |
725 libraries. Its default value, based on `datadir' (see above), | 837 libraries. Its default value, based on `datadir' (see above), |
726 is `/usr/local/share/xemacs-VERSION/lisp' (where `VERSION' is as | 838 is `/usr/local/share/xemacs-VERSION/lisp' (where `VERSION' is as |
727 described above). | 839 described above). |
758 (where VERSION and CONFIGURATION-NAME are as described above). | 870 (where VERSION and CONFIGURATION-NAME are as described above). |
759 By their very nature, dynamic loadable modules are architecture- | 871 By their very nature, dynamic loadable modules are architecture- |
760 dependent, and care should be taken not to set this directory | 872 dependent, and care should be taken not to set this directory |
761 to a system- or architecture-independent directory. | 873 to a system- or architecture-independent directory. |
762 | 874 |
763 Remember that you must specify any variable values you need each time | 875 Remember that you must specify any variable values you need each time you run |
764 you run `make' in the top directory. If you run `make' once to build | 876 `make' in the top directory. If you run `make' once to build xemacs, test |
765 xemacs, test it, and then run `make' again to install the files, you | 877 it, and then run `make' again to install the files, you must provide the same |
766 must provide the same variable settings each time. To make the | 878 variable settings each time. To make the settings persist, you can edit them |
767 settings persist, you can edit them into the `Makefile' in the top | 879 into the `Makefile' in the top directory, but be aware that running the |
768 directory, but be aware that running the `configure' program erases | 880 `configure' program erases `Makefile' and rebuilds it from `Makefile.in'. |
769 `Makefile' and rebuilds it from `Makefile.in'. | 881 |
770 | 882 The top-level Makefile stores the variable settings it used in the Makefiles |
771 The top-level Makefile stores the variable settings it used in the | 883 for the subdirectories, so you don't have to specify them when running make |
772 Makefiles for the subdirectories, so you don't have to specify them | 884 in the subdirectories. |
773 when running make in the subdirectories. | 885 |
774 | 886 Using GNU Make allows for simultaneous builds with and without the --srcdir |
775 Using GNU Make allows for simultaneous builds with and without the | 887 option. |
776 --srcdir option. | 888 |
777 | 889 MAIL LOCKING |
778 STRIPPING BINARIES | |
779 ================== | |
780 | |
781 This saves nothing but a small (by modern standards) amount of disk | |
782 space; the symbol table is not loaded into memory at execution time. | |
783 If you do encounter a crash or other serious bug, the first thing the | |
784 developers will do is ask you to build an XEmacs with a full symbol | |
785 table, anyway. Don't strip the XEmacs binary. | |
786 | |
787 MAIL-LOCKING POST-INSTALLATION | |
788 ============================== | |
789 | |
790 If your system uses dot-locking to interlock access to mailer inbox | |
791 files, then you might need to make the movemail program setuid or | |
792 setgid to enable it to write the lock files. We believe this is safe. | |
793 The setuid/setgid bits need not be set on any other XEmacs-related | |
794 executables. | |
795 | |
796 CLEANING UP | |
797 ========== | |
798 | |
799 You are done with the hard part! You can remove executables and | |
800 object files from the build directory by typing `make clean'. To also | |
801 remove the files that `configure' created (so you can compile XEmacs | |
802 for a different configuration), type `make distclean'. | |
803 | |
804 READ THE FAQ | |
805 ============ | 890 ============ |
806 | 891 |
807 Do it! | 892 For most platforms, configure or the src/s file have the preferred method for |
808 | 893 locking mail spool files preconfigured. Otherwise you must find out for |
809 PROBLEMS | 894 yourself. Do not choose a locking protocol "on the objective merits." |
810 ======== | 895 XEmacs must use the same method as other mail utilities on your system, or |
811 | 896 you WILL lose mail. |
812 The most common problem is that you forgot to read and follow the | 897 |
813 directions for installing bootstrap packages in the FAQ. You can not | 898 Presently, XEmacs supports lockf, flock, and dot locking. Specify the |
814 have a normal XEmacs without downloading some additional packages. | 899 locking method via the --with-mail-locking=METHOD option to configure. Valid |
815 | 900 values for METHOD are --with-mail-locking are `lockf', `flock', and `dot'. |
816 See the file PROBLEMS in this directory for a list of various problems | |
817 sometimes encountered, and what to do about them. PROBLEMS is also | |
818 the place where platform-specific build notes can be found. | |
819 | 901 |
820 APPENDIX: CORRESPONDENCE TO OLD CONFIGURE OPTIONS | 902 APPENDIX: CORRESPONDENCE TO OLD CONFIGURE OPTIONS |
821 ================================================= | 903 ================================================= |
822 | 904 |
823 Here is a full translation of command line arguments. Note that any | 905 Here is a full translation of command line arguments. Note that any option |
824 option starting with "--with" may also be specified with "--enable". | 906 starting with "--with" may also be specified with "--enable". This list may |
825 This list may not be up-to-date. | 907 not be up-to-date. |
826 | 908 |
827 Old | New | 909 Old | New |
828 ------------------------------------------ | 910 ------------------------------------------ |
829 General options: | 911 General options: |
830 ---------------- | 912 ---------------- |
998 --with-workshop Unchanged | 1080 --with-workshop Unchanged |
999 --pdump --with-pdump | 1081 --pdump --with-pdump |
1000 --use-kkcc --with-kkcc | 1082 --use-kkcc --with-kkcc |
1001 --with-modules Unchanged | 1083 --with-modules Unchanged |
1002 | 1084 |
1003 The output files produced by this new configure should be almost | 1085 The output files produced by this new configure should be almost identical to |
1004 identical to those produced by the old. This can be tested with the | 1086 those produced by the old. This can be tested with the provided regression |
1005 provided regression test script. This script runs the two versions of | 1087 test script. This script runs the two versions of configure with the |
1006 configure with the supplied list of command line arguments and reports | 1088 supplied list of command line arguments and reports any differences. Please |
1007 any differences. Please add your favorite configuration command lines | 1089 add your favorite configuration command lines to the list before running the |
1008 to the list before running the test. The script is run as: | 1090 test. The script is run as: |
1009 | 1091 |
1010 $ tests/autoconf/regressiontest.pl /absolute/path/to/2.13/configure \ | 1092 $ tests/autoconf/regressiontest.pl /absolute/path/to/2.13/configure \ |
1011 /absolute/path/to/2.59/configure >diffs.txt | 1093 /absolute/path/to/2.59/configure >diffs.txt |
1012 | 1094 |
1013 The only differences should be: | 1095 The only differences should be: |
1014 - those related to changes in the command line arguments | 1096 - those related to changes in the command line arguments |
1015 - the change of SYS_SIGLIST_DECLARED to HAVE_DECL_SYS_SIGLIST (because the old | 1097 - the change of SYS_SIGLIST_DECLARED to HAVE_DECL_SYS_SIGLIST (because the old |
1016 form has been removed), and | 1098 form has been removed), and |
1017 - The removal of trailing comments in src/config.h. | 1099 - The removal of trailing comments in src/config.h. |
1018 | 1100 |
1101 RANDOM NOTES | |
1102 ============ | |
1103 | |
1104 Definitions | |
1105 ----------- | |
1106 | |
1107 A note on terminology: unfortunately the terms "library" and "package" are | |
1108 heavily overloaded. In the following, "library" refers to an external body | |
1109 of executable code which may be linked with XEmacs at build time to provide | |
1110 support for system features, such as images, audio, stream compression, | |
1111 databases, and input methods. A "Lisp library" is a file of Lisp code which | |
1112 may be loaded into XEmacs at run-time to provide editor features. A | |
1113 "package" is a specially prepared Lisp library or set of Lisp libraries, | |
1114 providing for easy installation, upgrade, and removal of applications written | |
1115 in Lisp. | |
1116 | |
1117 Package System | |
1118 -------------- | |
1119 | |
1120 The FAQ sections 1.7 and 2.1 contain information vital to have a fully | |
1121 working XEmacs. It includes a description of available packages, and how to | |
1122 bootstrap XEmacs from a minimal or a complete set of packages. This | |
1123 information was not included in this file only because it is too large for | |
1124 this terse INSTALL. The FAQ is available in Texinfo format in | |
1125 man/xemacs-faq.texi, as an Info file once you build XEmacs, and online at | |
1126 http://www.xemacs.org/Documentation/21.5/html/xemacs-faq_1.html. | |
1127 | |
1128 Other | |
1129 ----- | |
1130 | |
1131 On some systems, X11, Motif and CDE are optional additions. On MacOS/X | |
1132 systems prior to 10.2, you may download X11R6 for Mac OS X from | |
1133 http://www.apple.com/macosx/x11/download/. In later releases X11 is | |
1134 available as an optional package on the installation CDs. In either case you | |
1135 need both the runtime libraries and the SDK (in a sidebar of that page at the | |
1136 time of writing). There is also a 3rd-party implementation of X11R6 for the | |
1137 Mac at http://www.xdarwin.org/. On Solaris, the SUNWaudmo package enables | |
1138 native sound support. | |
1139 | |
1140 You can get (most of) them from the XEmacs FTP archive at | |
1141 <ftp://ftp.xemacs.org/pub/xemacs/aux>. Information about what | |
1142 each library does is available in the file | |
1143 <ftp://ftp.xemacs.org/pub/xemacs/aux/00README.txt>. | |
1144 | |
1145 (This note is probably obsolete.) Dynamic linking has pros and cons. | |
1146 Dynamically linking 3rd party libraries to XEmacs decreases the size of the | |
1147 binary, and means you don't need to rebuild XEmacs to take advantage of | |
1148 improvements in the libraries. On the other hand, XEmacs can fail subtly if | |
1149 the semantics of a library changes, other users may not be able to use your | |
1150 "private" copies of the libraries, and you may have to relink XEmacs, or even | |
1151 omit the feature, if the ABI changes when the libraries are upgraded. | |
1152 | |
1153 Use the `--with-site-includes' and `--with-site-libraries' options when | |
1154 building XEmacs to allow configure to find the external software packages. | |
1155 For your convenience these can be set together by using the | |
1156 `--with-site-prefixes' option. This will set these variables as needed | |
1157 assuming your libraries are organised as a typical /usr tree. | |
1158 | |
1159 If you link dynamically with external libraries, usually denoted by ".so" | |
1160 (Unix), ".dll" (Windows), or ".dylib" (MacOS) file extensions, on some | |
1161 systems you may also need to add the library directories to the | |
1162 `--with-site-runtime-libraries' option. It is typically necessary only if | |
1163 you link with dynamic libraries that are installed in non-standard | |
1164 directories, or if you expect some of the libraries used to build XEmacs to | |
1165 be in a different directory at run time than at build time. | |
1166 | |
1167 NOTE: This option has unusual semantics. ONLY libraries found in the | |
1168 directories specified in this option will be used at runtime. This means you | |
1169 must specify ALL directories you want searched at runtime in this option | |
1170 (perhaps excluding a very small number of standard system library paths). | |
1171 | |
1172 Directories specified with `--with-site-libraries' are NOT automatically | |
1173 added. The rationale is that most users will not need this option, and this | |
1174 allows the builder to specify exactly the needed directories. Specifying | |
1175 unnecessary directories leads to obscure problems (typically startup delays) | |
1176 if those directories are mounted over a network, and the automounter | |
1177 configuration changes. Not all systems need this option; it's best to avoid | |
1178 using it if you can. | |
1179 | |
1180 If you haven't built XEmacs 21.5 recently, the change from the configure | |
1181 script based on Autoconf 2.13 can be a shock. Appendix: Correspondence to | |
1182 Old Configure Options (at the end of this document) contains a list of old | |
1183 options and their new equivalents. | |
1184 |