comparison INSTALL @ 1338:314c4e18dda0

[xemacs-hg @ 2003-03-03 10:35:29 by stephent] synch INSTALL to configure.usage <87fzq44u43.fsf@tleepslib.sk.tsukuba.ac.jp>
author stephent
date Mon, 03 Mar 2003 10:35:29 +0000
parents 32bc2bab419c
children 0b6d70f7d49c
comparison
equal deleted inserted replaced
1337:5f6cef39d81f 1338:314c4e18dda0
1 XEmacs Installation Guide 1 XEmacs Installation Guide
2
2 Copyright (c) 1994, 1995, 1996 Board of Trustees, University of Illinois 3 Copyright (c) 1994, 1995, 1996 Board of Trustees, University of Illinois
3 Copyright (c) 1994-1999 Free Software Foundation, Inc. 4 Copyright (c) 1994-1999, 2003 Free Software Foundation, Inc.
4 5
5 Permission is granted to anyone to make or distribute verbatim copies 6 Permission is granted to anyone to make or distribute verbatim copies
6 of this document as received, in any medium, provided that the 7 of this document as received, in any medium, provided that the
7 copyright notice and permission notice are preserved, 8 copyright notice and permission notice are preserved,
8 and that the distributor grants the recipient permission 9 and that the distributor grants the recipient permission
13 under the above conditions, provided also that they 14 under the above conditions, provided also that they
14 carry prominent notices stating who last changed them, 15 carry prominent notices stating who last changed them,
15 and that any new or changed statements about the activities 16 and that any new or changed statements about the activities
16 of the Free Software Foundation are approved by the Foundation. 17 of the Free Software Foundation are approved by the Foundation.
17 18
19 Last modified by Stephen J. Turnbull <stephen@xemacs.org> 2003-02-12
18 20
19 BUILDING AND INSTALLATION FOR UNIX AND CYGWIN 21 BUILDING AND INSTALLATION FOR UNIX AND CYGWIN
20 22
21 (for Microsoft Windows, see nt/README also.) 23 (for Microsoft Windows, see nt/README also.)
22 24
23 PREREQUISITES 25 PREREQUISITES
24 ============= 26 =============
25 27
26 Make sure your system has enough swapping space allocated to handle a 28 Make sure your system has enough swapping space allocated to handle a
27 program whose pure code is 900k bytes and whose data area is at least 29 program whose pure code is 900k bytes and whose data area is at least
28 400k and can reach 8Mb or more. Note that a typical XEmacs build is 30 400k and can reach 8Mb or more. Note that a typical XEmacs process
29 much bigger. If the swapping space is insufficient, you will get an 31 can get much bigger: the instance this sentence was written with is
32 over 100MB! If the swapping space is insufficient, you will get an
30 error in the command `temacs -batch -l loadup dump', found in 33 error in the command `temacs -batch -l loadup dump', found in
31 `./src/Makefile.in.in', or possibly when running the final dumped 34 `./src/Makefile.in.in', or possibly when running the final dumped
32 XEmacs. 35 XEmacs.
33 36
34 Verify that your users have a high enough stack limit. On some systems 37 Verify that your users have a high enough stack limit. On some systems
35 such as OpenBSD and OSF/Tru64 the default is 2MB which is too low. On 38 such as OpenBSD and OSF/Tru64 the default is 2MB which is too low. On
36 MacOS/X (Darwin), it's 512kB. See 'PROBLEMS' for details. 39 MacOS/X (Darwin), it's 512kB. See 'PROBLEMS' for details.
37 40
38 Building XEmacs requires about 100 Mb of disk space (including the 41 Building XEmacs requires about 100 Mb of disk space (including the
39 XEmacs sources). Once installed, XEmacs occupies between 20 and 100 Mb 42 XEmacs sources). Once installed, XEmacs occupies between 20 and 100
40 in the file system where it is installed; this includes the executable files, 43 MB in the file system where it is installed; this includes the
41 Lisp libraries, miscellaneous data files, and on-line documentation. The 44 executable files, Lisp libraries, miscellaneous data files, and
42 exact amount depends greatly on the number of extra lisp packages that are 45 on-line documentation. The exact amount depends greatly on the number
43 installed 46 of extra Lisp packages that are installed.
44 47
45 XEmacs requires an ANSI C compiler, such as GCC. If you wish to build 48 XEmacs requires an ANSI C compiler, such as GCC. If you wish to build
46 the documentation yourself, you will need at least version 1.68 of 49 the documentation yourself, you will need at least version 1.68 of
47 makeinfo (GNU texinfo-3.11). GNU Texinfo 4.2 is recommended; it is 50 makeinfo (GNU texinfo-3.11). GNU Texinfo 4.2 is recommended; it is
48 necessary for building packages, and we may move to it for the core. 51 necessary for building Lisp packages, and we may move to it for the core.
52
53 A note on terminology: unfortunately the terms "library" and "package"
54 are heavily overloaded. In the following, "library" refers to an
55 external body of executable code which may be linked with XEmacs at
56 build time to provide support for system features, such as images,
57 audio, stream compression, databases, and input methods. A "Lisp
58 library" is a file of Lisp code which may be loaded into XEmacs at
59 run-time to provide editor features. A "package" is a specially
60 prepared Lisp library or set of Lisp libraries, providing for easy
61 installation, upgrade, and removal of applications written in Lisp.
62
63 PACKAGE SYSTEM
64 ==============
65
66 The file README.packages contain information vital to have a fully
67 working XEmacs. It includes a description of available packages, and
68 how to bootstrap XEmacs from a minimal or a complete set of packages.
69 This information was not included in this file only because it is too
70 large for this terse INSTALL. Please read README.packages now!
49 71
50 ADD-ON LIBRARIES 72 ADD-ON LIBRARIES
51 ================ 73 ================
52 74
53 Decide on what other software packages you would like to use with 75 Decide which libraries you would like to use with XEmacs, but are not
54 XEmacs, but are not yet available on your system. On some systems, 76 yet available on your system. On some systems, Motif and CDE are
55 Motif and CDE are optional additions. On Solaris, the SUNWaudmo 77 optional additions. On Solaris, the SUNWaudmo package enables native
56 package enables native sound support. There are also a number of free 78 sound support. There are also a number of free software applications
57 software packages that XEmacs can use. If these are not yet available 79 that XEmacs can use. If these are not yet available on your system,
58 on your system, obtain, build and install those external packages 80 obtain, build and install those external libraries before building
59 before building XEmacs. The packages XEmacs can use are: 81 XEmacs. The libraries XEmacs can use are:
60 82
61 Xaw3d, XPM, JPEG, compface, PNG, zlib, GNU DBM, Berkeley DB, socks, 83 Xaw3d, XPM, JPEG, compface, PNG, zlib, GNU DBM, Berkeley DB, socks,
62 term, NAS, Canna, Kinput2, SJ3, Wnn. 84 term, NAS, Canna, Kinput2, SJ3, Wnn, PostgreSQL, LDAP.
63 85
64 You can get (most of) them from the XEmacs ftp site at 86 You can get (most of) them from the XEmacs FTP archive at
65 ftp://ftp.xemacs.org/pub/xemacs/aux 87 <ftp://ftp.xemacs.org/pub/xemacs/aux>. Information about what
66 88 each library does is available in the file
67 If you want users on other systems to be able to use the XEmacs you 89 <ftp://ftp.xemacs.org/pub/xemacs/aux/00README.txt>.
68 have built, try to build those packages so that the generated 90
69 libraries are statically linked. 91 Use the `--site-includes' and `--site-libraries' options when building
70 92 XEmacs to allow configure to find the external software packages. For
71 Use the --site-includes and --site-libraries options when building 93 your convenience these can be set together by using the
72 XEmacs to allow configure to find the external software packages. 94 `--with-site-prefix' option. This will set these variables as needed
73 If you link with dynamic (``.so'') external package libraries, which 95 assuming your libraries are organised as a typical /usr tree.
74 is not recommended, you will also need to add the library directories 96
75 to the --site-runtime-libraries option. For your convenience these can 97 If you link dynamically with external libraries, usually denoted by
76 be set together by using the --with-site-prefix command. This will set 98 ".so" (Unix), ".dll" (Windows), or ".dylib" (MacOS) file extensions,
77 these variables as needed assuming your libraries are organised as a 99 on some systems you may also need to add the library directories to
78 typical /usr tree. 100 the `--site-runtime-libraries' option. It is typically necessary only
79 101 if you link with dynamic libraries that are installed in non-standard
80 PACKAGE SYSTEM 102 directories, or if you expect some of the libraries used to build
81 ============== 103 XEmacs to be in a different directory at run time than at build time.
82 104
83 The file README.packages contain information vital to have a fully 105 NOTE: This option has unusual semantics. ONLY libraries found in the
84 working XEmacs. This information was not included in this file only 106 directories specified in this option will be used at runtime. This
85 because it is too large for this terse INSTALL. Please read 107 means you must specify ALL directories you want searched at runtime in
86 README.packages now! 108 this option (perhaps excluding a very small number of standard system
109 library paths).
110
111 Directories specified with `--site-libraries' are NOT automatically
112 added. The rationale is that most users will not need this option,
113 and this allows the builder to specify exactly the needed directories.
114 Specifying unnecessary directories leads to obscure problems
115 (typically startup delays) if those directories are mounted over a
116 network, and the automounter configuration changes. Not all systems
117 need this option; it's best to avoid using it if you can.
118
119 Dynamic linking has pros and cons. Dynamically linking 3rd party
120 libraries to XEmacs decreases the size of the binary, and means you
121 don't need to rebuild XEmacs to take advantage of improvements in the
122 libraries. On the other hand, XEmacs can fail subtly if the semantics
123 of a library changes, other users may not be able to use your
124 "private" copies of the libraries, and you may have to relink XEmacs,
125 or even omit the feature, if the ABI changes when the libraries are
126 upgraded.
87 127
88 CONFIGURATION OPTIONS 128 CONFIGURATION OPTIONS
89 ===================== 129 =====================
90 130
91 In the top level directory of the XEmacs distribution, run the 131 In the top level directory of the XEmacs distribution, run the
92 program `configure' as follows: 132 program `configure' as follows:
93 133
94 ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ... 134 ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ...
135
136 Controlling the Host Type
137 -------------------------
95 138
96 Almost always, you should let `configure' (actually the shell script 139 Almost always, you should let `configure' (actually the shell script
97 `config.guess') guess your host type, by omitting the 140 `config.guess') guess your host type, by omitting the
98 CONFIGURATION-NAME argument. If you like to experiment, specify a 141 CONFIGURATION-NAME argument. If you like to experiment, specify a
99 configuration name in the form MACHINE-VENDOR-OPSYS, for example: 142 configuration name in the form MACHINE-VENDOR-OPSYS, for example:
102 145
103 See config.guess and configure.in for valid values for MACHINE, 146 See config.guess and configure.in for valid values for MACHINE,
104 VENDOR, and OPSYS. Also check `./etc/MACHINES' for advice on building 147 VENDOR, and OPSYS. Also check `./etc/MACHINES' for advice on building
105 on particular machines. 148 on particular machines.
106 149
107 If you don't want X support, specify `--without-x'. If you omit this 150 Specifying Location of Headers and Libraries
108 option, `configure' will try to autodetect whether your system has X, 151 --------------------------------------------
109 and arrange to use it if present. 152
153 The `--site-includes=DIR' and `--site-libraries=DIR' options allow you
154 to specify additional places the compiler should look for include
155 files and object libraries. You may specify multiple DIR's by
156 enclosing the list in quotes. All the external libraries you want to
157 use with XEmacs (e.g. xpm, wnn, ...) described later should have their
158 include and library directories defined using these options.
159
160 The `--site-runtime-libraries=DIR' option specifies directories to
161 search for shared libraries at run time. If you use this option, you
162 must specify ALL of the directories containing shared libraries at run
163 time, including system directories. Please read the information about
164 "ADD-ON LIBRARIES" above very carefully.
110 165
111 The `--x-includes=DIR' and `--x-libraries=DIR' options tell the build 166 The `--x-includes=DIR' and `--x-libraries=DIR' options tell the build
112 process where the compiler should look for the include files and 167 process where the compiler should look for the include files and
113 object libraries used with the X Window System. Normally, `configure' 168 object libraries used with the X Window System. Normally, `configure'
114 is able to find them; these options are necessary if you have your X 169 is able to find them; these options are necessary if you have your X
115 Window System files installed in unusual places. 170 Window System files installed in unusual places.
116 171
117 The `--site-includes=DIR' and `--site-libraries=DIR' options allow you 172 Configuring the Build Process
118 to specify additional places the compiler should look for include 173 -----------------------------
119 files and object libraries. You may specify multiple DIR's by 174
120 enclosing the list in quotes. All the external packages you want to 175 The `--with-gcc=PROGRAM' option specifies that the build process
121 use with XEmacs (e.g. xpm, wnn, ...) described later should have their 176 should compile XEmacs using GCC. The `--compiler' option allows you
122 include and library directories defined using these options. 177 to specify some other compiler to be used to compile XEmacs. If
123 178 neither option is specified, the environment variable CC is used
124 The `--site-runtime-libraries=DIR' option specifies directories to 179 instead. Otherwise the compiler will then default to 'cc'.
125 search for shared libraries at run time. This may be necessary if you 180
126 link with dynamic libraries that are installed in non-standard 181 The `--xemacs-compiler=PROGRAM' option specifies the compiler control
127 directories, or if you expect some of the libraries used to build 182 program for the xemacs binary only. Other C code will be compiled
128 XEmacs to be in a different directory at run time than at build time. 183 according to the `--with-gcc' and `--compiler' options above. This is
129 Usually this will add a `-R' to each directory specified and use that 184 useful if you wish to compile XEmacs with a C++ compiler, because the
130 when linking XEmacs. If you use this option, you must specify ALL of 185 utilities in ./lib-src cannot be compiled as C++. This option is
131 the directories containing shared libraries at run time, including 186 primarily intended for use by the maintainers.
132 system directories. 187
133 188 The `--cflags=FLAGS' option specifies all of the CFLAGS the build process
134 Rationale: Some people think that directories in --site-libraries 189 should use when compiling XEmacs, except for flags controlling warning
135 should be automatically used to update --site-runtime-libraries. 190 generation. Otherwise the value of the environment variable CFLAGS is
136 Here's a real-life scenario that explains why this is not done: You 191 consulted. If that is also undefined, CFLAGS defaults to "-g -O" for
137 build binaries for your company using static libs in 192 gcc and "-g" for all other compilers.
138 /net/toy/hack/lib. XEmacs adds /net/toy/hack/lib to the runpath of 193
139 the executable you've built. Since there are only static libs there, 194 The `--cflags_warning=FLAGS' option specifies the warnings to be
140 the system runtime loader will look in this dir, and ignore it, 195 generated. There is normally no reason to use this flag, as XEmacs
141 causing only a .01 second delay in starting XEmacs. You leave the 196 turns on as many warnings as possible, and is still expected to build
142 company for a job at a small Silicon Valley startup. Time passes. 197 with no, or at most a few warnings.
143 The next guy who inherits your machine objects to working on a machine
144 named `toy', and gets the sysadmin to rename the machine `godzilla'.
145 The SA forgets to remove the old entry for `toy' from the hosts file.
146 Now the system loader will still try to access /net/toy/, and the
147 automounter will hang trying to access /net/toy. XEmacs suddenly
148 takes 30 seconds longer to start up, no one can figure out why, and
149 everyone at your old company curses your name, thinking that you've
150 put a time bomb into XEmacs. And they're right!
151
152 The `--with-gcc' option specifies that the build process should
153 compile XEmacs using GCC. The `--compiler' option allows you to
154 specify some other compiler to be used to compile XEmacs. If neither
155 option is specified, the environment variable CC is used instead.
156 Otherwise the compiler will then default to 'cc'.
157
158 The `--cflags' option specifies the CFLAGS the build process should
159 use when compiling XEmacs. Otherwise the value of the environment
160 variable CFLAGS is consulted. If that is also undefined, CFLAGS
161 defaults to "-g -O" for gcc and "-g" for all other compilers.
162
163 The xemacs executable can be built using a C++ compiler. However,
164 because configure and programs in lib-src require a C compiler, two
165 compilers must be used at different times during the build process.
166 Use something like `configure --compiler=gcc --xemacs-compiler=g++'.
167 This option is intended for use by the maintainers.
168 198
169 The `--dynamic' option specifies that configure should try to link 199 The `--dynamic' option specifies that configure should try to link
170 emacs dynamically rather than statically. 200 emacs dynamically rather than statically.
171 201
172 You can build XEmacs for several different machine types from a single 202 You can build XEmacs for several different machine types from a single
173 source directory. To do this, you must use a version of `make' that 203 source directory. To do this, you must use a version of `make' that
174 supports the `VPATH' variable, such as GNU `make'. Create separate 204 supports the `VPATH' variable, such as GNU `make'. Create separate
175 build directories for the different configuration types, and in each 205 build directories for the different configuration types, and in each
176 one, run the XEmacs `configure' script. `configure' looks for the 206 one, run the XEmacs `configure' script. `configure' looks for the
177 Emacs source code in the directory that `configure' is in. 207 Emacs source code in the directory that `configure' is in. The
208 `--srcdir' option may not work correctly (traditionally it was
209 overridden by the directory containing `configure').
210
211 Configuring the Installation Layout
212 -----------------------------------
178 213
179 The `--prefix=PREFIXDIR' option specifies where the installation process 214 The `--prefix=PREFIXDIR' option specifies where the installation process
180 should put XEmacs and its data files. This defaults to `/usr/local'. 215 should put XEmacs and its data files. This defaults to `/usr/local'.
181 - XEmacs (and the other utilities users run) go in PREFIXDIR/bin 216 - XEmacs (and the other utilities users run) go in PREFIXDIR/bin
182 (unless the `--exec-prefix' option says otherwise). 217 (unless the `--exec-prefix' option says otherwise).
195 EXECDIR/lib/xemacs-VERSION/CONFIGURATION-NAME. 230 EXECDIR/lib/xemacs-VERSION/CONFIGURATION-NAME.
196 EXECDIR/bin should be a directory that is normally in users' PATHs. 231 EXECDIR/bin should be a directory that is normally in users' PATHs.
197 232
198 If you specify --prefix (or any of the other installation directory 233 If you specify --prefix (or any of the other installation directory
199 options), they will get compiled into the xemacs executable so it will 234 options), they will get compiled into the xemacs executable so it will
200 be able to find its various associated file. However, XEmacs has 235 be able to find its various associated files. However, XEmacs has
201 quite elaborate logic to find out the locations of these directories 236 quite elaborate logic to find out the locations of these directories
202 dynamically. Sometimes, it is desirable *not* to compile these 237 dynamically. Sometimes, it is desirable *not* to compile these
203 directories into the executable so you can move the XEmacs 238 directories into the executable so you can move the XEmacs
204 installation around (as whole) at will. This is true for binary kits, 239 installation around (as whole) at will. This is true for binary kits,
205 for instance. Therefore, you can specify --without-prefix on the 240 for instance. Therefore, you can specify --without-prefix on the
206 configure command line to prevent the installation prefix to become 241 configure command line to prevent the installation prefix to become
207 part of the generated executable; everything else will continue to 242 part of the generated executable; everything else will continue to
208 work as usual. 243 work as usual.
209 244
245 Configuring Feature Support
246 ---------------------------
247
248 If you don't want X Window System support, specify `--without-x'. If
249 you omit this option, `configure' will try to autodetect whether your
250 system has X Window System support, and arrange to use it if present.
251
252 The `--without-xmu' option can be used if your vendor doesn't ship
253 the Xmu library.
254
210 The `--with-menubars=TYPE' option allows you to specify which X 255 The `--with-menubars=TYPE' option allows you to specify which X
211 toolkit you wish to use for the menubar. The valid options are 256 toolkit you wish to use for the menubar. The valid options are
212 `lucid', `motif' and `no'. The default is `lucid' which is a 257 `lucid', `motif' and `no'. The default is `lucid' which is a
213 Motif-lookalike menubar. We highly recommend its usage over the real 258 Motif-lookalike menubar. We highly recommend its usage over the real
214 Motif menubar. (In fact, the Motif menubar is currently broken.) If 259 Motif menubar. (In fact, the Motif menubar is currently broken.) If
227 found the default is `motif'. Otherwise, the default is `athena'. If 272 found the default is `motif'. Otherwise, the default is `athena'. If
228 `no' is specified then support for dialog boxes will not be compiled 273 `no' is specified then support for dialog boxes will not be compiled
229 in. 274 in.
230 275
231 The `--with-toolbars' option allows you to enable or disable toolbar 276 The `--with-toolbars' option allows you to enable or disable toolbar
232 support. The default is `yes' as long as support for a windowing 277 support. The default is `yes' if support for a windowing system is
233 system is included. 278 included.
234 279
235 The `--with-xpm' option specifies that XEmacs should support X11 280 The `--with-xpm' option specifies that XEmacs should support X11
236 Pixmaps. `configure' will attempt to detect if you have the Xpm 281 Pixmaps. `configure' will attempt to detect if you have the Xpm
237 libraries and define `--with-xpm' for you. 282 libraries and define `--with-xpm' for you.
238 283
239 The `--with-xface' option specifies that XEmacs should support 284 The `--with-xface' option specifies that XEmacs should support
240 X-Faces. `configure' will attempt to detect if you have the compface 285 X-Faces. `configure' will attempt to detect if you have the compface
241 library and define `--with-xface' for you. 286 library and define `--with-xface' for you.
242 287
243 The `--with-database' option specifies that XEmacs should be built 288 The `--with-database' option specifies that XEmacs should be built
244 with additional database support. The valid options are `no' or a 289 with simple database support. The valid options are `no' or a
245 comma-separated list of one or more of `dbm', `gnudbm' or `berkdb'. 290 comma-separated list of one or more of `dbm', `gnudbm' or `berkdb'.
246 `configure' will attempt to detect the necessary libraries and header 291 `configure' will attempt to detect the necessary libraries and header
247 files and define `--with-database' for you. 292 files and define `--with-database' for you.
248 293
294 The `--with-postgresql' option specifies that XEmacs should be built
295 with PostgreSQL support, linking with libpq. `configure' will attempt
296 to detect whether PostgreSQL support is available, and automatically
297 define `--with-postgresql' for you.
298
299 The `--with-ldap' option specifies that XEmacs should be build with
300 LDAP support, using the OpenLDAP libraries. `configure' will attempt
301 to detect whether LDAP support is available, and automatically define
302 `--with-ldap' for you.
303
249 The `--with-socks' option specifies that XEmacs should be built with 304 The `--with-socks' option specifies that XEmacs should be built with
250 SOCKS support. This requires the libsocks library. 305 SOCKS support. This requires the libsocks library.
251
252 The `--with-tooltalk' option specifies that XEmacs should be built
253 with ToolTalk support for interconnecting with other applications.
254 ToolTalk is not yet supported on all architectures. If you use this
255 option, you should have the tooltalk package (see etc/PACKAGES)
256 installed prior to building XEmacs.
257
258 The `--with-sparcworks' option specifies that XEmacs should be built
259 with support for Sun Sparcworks 3.0.1 and up (including Sun WorkShop).
260 This functionality is only of use on SunOS 4.1.x and Solaris 2.x
261 systems. If you use this option, you should have the Sun package (see
262 etc/PACKAGES) installed prior to building XEmacs.
263
264 The `--with-cde' option allows you to enable or disable CDE drag and
265 drop support. `configure' will attempt to detect this option and
266 define `--with-cde' for you.
267
268 The `--with-offix' option allows you to enable or disable OffiX drag
269 and drop support. This requires no external library support, so if
270 X11 support is available, then this option defaults to `yes'. OffiX
271 support can be explicitly disabled via the `--with-offix=no' option.
272 306
273 The `--external-widget' option specifies that XEmacs should be built 307 The `--external-widget' option specifies that XEmacs should be built
274 with support for being used as a widget by other X11 applications. 308 with support for being used as a widget by other X11 applications.
275 This functionality should be considered beta. 309 This functionality should be considered beta.
276
277 The `--without-xmu' option can be used if your vendor doesn't ship
278 the Xmu library.
279 310
280 The `--with-sound=TYPE' option specifies that XEmacs should be built 311 The `--with-sound=TYPE' option specifies that XEmacs should be built
281 with sound support. Native (`--with-sound=native') sound support is 312 with sound support. Native (`--with-sound=native') sound support is
282 currently available only on Sun SparcStations, SGI's, HP9000s, and 313 currently available only on Sun SparcStations, SGI's, HP9000s, and
283 systems (such as Linux) with soundcard.h. Network Audio Support (NAS) 314 systems (such as Linux) with soundcard.h. Network Audio Support (NAS)
289 define --with-sound for you. If your native sound library is not in a 320 define --with-sound for you. If your native sound library is not in a
290 standard location you can specify it with the `--native-sound-lib=LIB' 321 standard location you can specify it with the `--native-sound-lib=LIB'
291 flag. For Linux, `/dev/audio' is required for SunAudio files and 322 flag. For Linux, `/dev/audio' is required for SunAudio files and
292 `/dev/dsp' is required for raw data and WAVE format files. 323 `/dev/dsp' is required for raw data and WAVE format files.
293 324
294 The `--rel-alloc' option can be used to either enable or disable use 325 The `--with-tooltalk' option specifies that XEmacs should be built
295 of the relocating allocator. Turning on --rel-alloc will allow XEmacs 326 with ToolTalk support for interconnecting with other applications.
296 to return unused memory to the operating system, thereby reducing its 327 ToolTalk is not yet supported on all architectures. If you use this
297 memory footprint. However, it may make XEmacs runs more slowly, 328 option, you should have the tooltalk package (see etc/PACKAGES)
298 especially if your system's `mmap' implementation is missing or 329 installed prior to building XEmacs.
299 inefficient. Generally, it's best to go with the default 330
300 configuration for your system. You can tweak this based on how you 331 The `--with-sparcworks' option specifies that XEmacs should be built
301 use XEmacs, and the memory and cpu resources available on your system. 332 with support for Sun Sparcworks 3.0.1 and up (including Sun WorkShop).
302 333 This functionality is only of use on SunOS 4.1.x and Solaris 2.x
303 The `--with-system-malloc' option can be use to either enable or 334 systems. If you use this option, you should have the Sun package (see
304 disable use of the system malloc. Generally, it's best to go with the 335 etc/PACKAGES) installed prior to building XEmacs.
305 default configuration for your system. Note that on many systems 336
306 using the system malloc disables the use of the relocating allocator. 337 The `--with-cde' option allows you to enable or disable CDE drag and
307 338 drop support. `configure' will attempt to detect this option and
308 The `--with-debug-malloc' option can be used to link a special debugging 339 define `--with-cde' for you.
309 version of malloc. Debug Malloc is not included with XEmacs, is 340
310 intended for use only by the developers and may be obtained from 341 The `--with-offix' option allows you to enable or disable OffiX drag
311 <URL:http://www.letters.com/dmalloc/>. 342 and drop support. This requires no external library support, so if
312 343 X11 support is available, then this option defaults to `yes'. OffiX
313 The `--debug' and `--error-checking' options are primarily useful to the 344 support can be explicitly disabled via the `--with-offix=no' option.
314 developers. `--debug' incorporates code for performing various tests, 345
315 but does not impose a speed penalty. `--error-checking' adds additional 346 Internationalization Options
316 tests to many of the commonly used macros, and imposes a speed penalty. 347 ----------------------------
317 Neither is especially useful in most common debugging situations. 348
318 349 The `--with-mule' option enables MUlti-Lingual Emacs (Mule) support,
319 The `--verbose' and `--extra-verbose' options are intended for use 350 needed to support non-Latin-1 (including Asian) languages. Mule
320 only by the developers. `--verbose' causes the results of all 351 support is required for Asian language and Unicode (multibyte and wide
321 configure tests to be displayed. `--extra-verbose' displays 352 character) support. With the advent of the Euro and European
322 additional information, useful for debugging. Another help for 353 Community expansion, Mule support is also recommended for Western
323 determining configure failures is the file `config.log', which 354 Europeans. Enabling Mule support requires the mule-base package
324 contains the results of the compile and link tests used by configure. 355 installed prior to building XEmacs. The `--with-xim', --with-xfs',
325 356 `--with-canna', `--with-wnn' and `--with-wnn6' options require
326 The `--with-mule' option enables (MUlti-Lingual Emacs) support, needed 357 Mule support.
327 to support non-Latin-1 (including Asian) languages. Mule support is
328 required for Asian language and Unicode (multibyte and wide character)
329 support. With the advent of the Euro and European Community
330 expansion, Mule support is also recommended for Western Europeans.
331 Enabling Mule support requires the mule-base package installed prior
332 to building XEmacs. The following options require Mule support:
333 358
334 The `--with-xim' option enables use of the X11 XIM mechanism to allow 359 The `--with-xim' option enables use of the X11 XIM mechanism to allow
335 an input method to input text into XEmacs. The input method is shared 360 an input method to input text into XEmacs. The input method is shared
336 among all the X applications sharing an X display and using the same 361 among all the X applications sharing an X display and using the same
337 language. The XIM support comes in two flavors: `motif' and `xlib'. 362 language. The XIM support comes in two flavors: `motif' and `xlib'.
374 399
375 Please note that it is safe to build with as many of the options 400 Please note that it is safe to build with as many of the options
376 `--with-xim', `--with-canna' and `--with-wnn' as your system 401 `--with-xim', `--with-canna' and `--with-wnn' as your system
377 supports. 402 supports.
378 403
404 Options for Developers and Special Requirements
405 -----------------------------------------------
406
407 The `--rel-alloc' option can be used to either enable or disable use
408 of the relocating allocator. Turning on --rel-alloc will allow XEmacs
409 to return unused memory to the operating system, thereby reducing its
410 memory footprint. However, it may make XEmacs runs more slowly,
411 especially if your system's `mmap' implementation is missing or
412 inefficient. Generally, it's best to go with the default
413 configuration for your system. You can tweak this based on how you
414 use XEmacs, and the memory and cpu resources available on your system.
415
416 The `--with-system-malloc' option can be used to either enable or
417 disable use of the system malloc. Generally, it's best to go with the
418 default configuration for your system. Note that on many systems
419 using the system malloc disables the use of the relocating allocator.
420
421 The `--with-debug-malloc' option can be used to link a special
422 debugging version of malloc. Debug Malloc is not included with XEmacs
423 and is intended for use only by the developers. It may be obtained
424 from <URL:http://www.letters.com/dmalloc/>.
425
426 The `--debug' and `--error-checking' options are primarily useful to
427 the developers. `--debug' incorporates code for performing various
428 tests, but does not impose a speed penalty. `--error-checking' adds
429 additional tests to many of the commonly used macros, and imposes a
430 speed penalty. Using either or both of these options can make bug
431 reports more useful to the developers.
432
433 The `--verbose' and `--extra-verbose' options are useful only to the
434 developers. `--verbose' causes the results of all configure tests to
435 be displayed. `--extra-verbose' displays additional information,
436 useful for debugging `configure'.
437
379 MAIL LOCKING 438 MAIL LOCKING
380 ============ 439 ============
381 440
382 For most platforms, configure or the src/s file have the preferred 441 For most platforms, configure or the src/s file have the preferred
383 method for locking mail spool files preconfigured. Otherwise you must 442 method for locking mail spool files preconfigured. Otherwise you must
384 find out for youself. Do not choose a locking protocol "on the 443 find out for youself. Do not choose a locking protocol "on the
385 objective merits." XEmacs must use the same method as other mail 444 objective merits." XEmacs must use the same method as other mail
386 utilities on your system, or you will lose mail. 445 utilities on your system, or you WILL lose mail.
387 446
388 Presently, XEmacs supports lockf, flock, and dot locking. Specify the 447 Presently, XEmacs supports lockf, flock, and dot locking. Specify the
389 locking method via the --mail-locking=METHOD option to configure. 448 locking method via the --mail-locking=METHOD option to configure.
390 Valid values for METHOD are --mail-locking are `lockf', `flock', and 449 Valid values for METHOD are --mail-locking are `lockf', `flock', and
391 `dot'. 450 `dot'.
393 RUNNING CONFIGURE 452 RUNNING CONFIGURE
394 ================= 453 =================
395 454
396 `configure' doesn't do any compilation or installation itself. It 455 `configure' doesn't do any compilation or installation itself. It
397 just creates the files that influence those things: `./src/config.h', 456 just creates the files that influence those things: `./src/config.h',
398 and all the Makefile's in the build tree. 457 and all the Makefiles in the build tree.
399 458
400 When it is done, `configure' prints a description of what it did and 459 When it is done, `configure' prints a description of what it did and
401 creates a shell script `config.status' which, when run, recreates the 460 creates a shell script `config.status' which, when run, recreates the
402 same configuration. If `configure' exits with an error after 461 same configuration. If `configure' exits with an error after
403 disturbing the status quo, it removes `config.status'. 462 disturbing the status quo, it removes `config.status'. If `configure'
463 doesn't work as expected, the file `config.log' contains details of
464 the tests run and their results.
404 465
405 AUXILIARY PATHS 466 AUXILIARY PATHS
406 =============== 467 ===============
407 468
408 Look at `./lisp/paths.el'; if some of those values are not right for 469 Look at `./lisp/paths.el'; if some of those values are not right for
457 RUNNING MAKE 518 RUNNING MAKE
458 ============ 519 ============
459 520
460 Run `make' in the top directory of the XEmacs distribution to finish 521 Run `make' in the top directory of the XEmacs distribution to finish
461 building XEmacs in the standard way. The final executable file is 522 building XEmacs in the standard way. The final executable file is
462 named `src/emacs'. You can execute this file "in place" without 523 named `src/xemacs'. You can execute this file in place without
463 copying it, if you wish; then it automatically uses the sibling 524 copying it, if you wish; then it automatically uses the sibling
464 directories ../lisp, ../lib-src, ../info. 525 directories ../lisp, ../lib-src, ../info.
465 526
466 Or you can "install" the executable and the other XEmacs into their 527 Or you can install the executable and the other XEmacs into their
467 installed locations, with `make install'. By default, XEmacs's files 528 permanent locations, with `make install'. By default, XEmacs's files
468 are installed in the following directories: 529 are installed in the following directories:
469
470 By default, XEmacs installs its files in the following directories:
471 530
472 `/usr/local/bin' holds the executable programs users normally run - 531 `/usr/local/bin' holds the executable programs users normally run -
473 `xemacs', `etags', `ctags', `b2m', `emacsclient', `ellcc', 532 `xemacs', `etags', `ctags', `b2m', `emacsclient', `ellcc',
474 `gnuclient', `gnudoit', `gnuattach', and `rcs-checkin'. 533 `gnuclient', `gnudoit', `gnuattach', and `rcs-checkin'.
475 534
572 `libdir' indicates where to put architecture-specific data files that 631 `libdir' indicates where to put architecture-specific data files that
573 XEmacs refers to as it runs; it too defaults to `/usr/local/lib'. 632 XEmacs refers to as it runs; it too defaults to `/usr/local/lib'.
574 We create the following subdirectories under `libdir': 633 We create the following subdirectories under `libdir':
575 - `xemacs-VERSION/CONFIGURATION-NAME', containing executable 634 - `xemacs-VERSION/CONFIGURATION-NAME', containing executable
576 programs used by XEmacs that users are not expected to run 635 programs used by XEmacs that users are not expected to run
577 themselves and the DOC file. 636 themselves, and the DOC file.
578 `VERSION' is the number of the XEmacs version you are installing, 637 `VERSION' is the number of the XEmacs version you are installing,
579 and `CONFIGURATION-NAME' is the host type of your system. 638 and `CONFIGURATION-NAME' is the host type of your system.
580 Since these files are specific to the version of XEmacs, 639 Since these files are specific to the version of XEmacs,
581 operating system, and architecture in use, including the 640 operating system, and architecture in use, including the
582 configuration name in the path allows you to have several 641 configuration name in the path allows you to have several
700 Do it! 759 Do it!
701 760
702 PROBLEMS 761 PROBLEMS
703 ======== 762 ========
704 763
705 The most likely problem is that you forgot to read and follow the 764 The most common problem is that you forgot to read and follow the
706 directions in README.packages. You can not have a working XEmacs 765 directions in README.packages. You can not have a normal XEmacs
707 without downloading some additional packages. 766 without downloading some additional packages.
708 767
709 See the file PROBLEMS in this directory for a list of various problems 768 See the file PROBLEMS in this directory for a list of various problems
710 sometimes encountered, and what to do about them. PROBLEMS is also 769 sometimes encountered, and what to do about them. PROBLEMS is also
711 the place where platform-specific build notes can be found. 770 the place where platform-specific build notes can be found.