comparison INSTALL @ 2648:68a5da07c189

[xemacs-hg @ 2005-03-10 11:49:00 by malcolmp] Autoconf 2.5 documentation updates.
author malcolmp
date Thu, 10 Mar 2005 11:49:00 +0000
parents 97dd9f867cef
children 31e656a27dae
comparison
equal deleted inserted replaced
2647:89e2f8e3f660 2648:68a5da07c189
34 `./src/Makefile.in.in', or possibly when running the final dumped 34 `./src/Makefile.in.in', or possibly when running the final dumped
35 XEmacs. 35 XEmacs.
36 36
37 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
38 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
39 MacOS/X (Darwin), it's 512kB. See 'PROBLEMS' for details. 39 MacOS/X (Darwin) before 10.3, it's 512kB. See 'PROBLEMS' for details.
40 40
41 Building XEmacs requires about 100 Mb of disk space (including the 41 Building XEmacs requires about 100 Mb of disk space (including the
42 XEmacs sources). Once installed, XEmacs occupies between 20 and 100 42 XEmacs sources). Once installed, XEmacs occupies between 20 and 100
43 MB in the file system where it is installed; this includes the 43 MB in the file system where it is installed; this includes the
44 executable files, Lisp libraries, miscellaneous data files, and 44 executable files, Lisp libraries, miscellaneous data files, and
91 You can get (most of) them from the XEmacs FTP archive at 91 You can get (most of) them from the XEmacs FTP archive at
92 <ftp://ftp.xemacs.org/pub/xemacs/aux>. Information about what 92 <ftp://ftp.xemacs.org/pub/xemacs/aux>. Information about what
93 each library does is available in the file 93 each library does is available in the file
94 <ftp://ftp.xemacs.org/pub/xemacs/aux/00README.txt>. 94 <ftp://ftp.xemacs.org/pub/xemacs/aux/00README.txt>.
95 95
96 Use the `--site-includes' and `--site-libraries' options when building 96 Use the `--with-site-includes' and `--with-site-libraries' options when
97 XEmacs to allow configure to find the external software packages. For 97 building XEmacs to allow configure to find the external software
98 your convenience these can be set together by using the 98 packages. For your convenience these can be set together by using the
99 `--with-site-prefix' option. This will set these variables as needed 99 `--with-site-prefixes' option. This will set these variables as needed
100 assuming your libraries are organised as a typical /usr tree. 100 assuming your libraries are organised as a typical /usr tree.
101 101
102 If you link dynamically with external libraries, usually denoted by 102 If you link dynamically with external libraries, usually denoted by
103 ".so" (Unix), ".dll" (Windows), or ".dylib" (MacOS) file extensions, 103 ".so" (Unix), ".dll" (Windows), or ".dylib" (MacOS) file extensions, on
104 on some systems you may also need to add the library directories to 104 some systems you may also need to add the library directories to the
105 the `--site-runtime-libraries' option. It is typically necessary only 105 `--with-site-runtime-libraries' option. It is typically necessary only
106 if you link with dynamic libraries that are installed in non-standard 106 if you link with dynamic libraries that are installed in non-standard
107 directories, or if you expect some of the libraries used to build 107 directories, or if you expect some of the libraries used to build XEmacs
108 XEmacs to be in a different directory at run time than at build time. 108 to be in a different directory at run time than at build time.
109 109
110 NOTE: This option has unusual semantics. ONLY libraries found in the 110 NOTE: This option has unusual semantics. ONLY libraries found in the
111 directories specified in this option will be used at runtime. This 111 directories specified in this option will be used at runtime. This
112 means you must specify ALL directories you want searched at runtime in 112 means you must specify ALL directories you want searched at runtime in
113 this option (perhaps excluding a very small number of standard system 113 this option (perhaps excluding a very small number of standard system
114 library paths). 114 library paths).
115 115
116 Directories specified with `--site-libraries' are NOT automatically 116 Directories specified with `--with-site-libraries' are NOT automatically
117 added. The rationale is that most users will not need this option, 117 added. The rationale is that most users will not need this option, and
118 and this allows the builder to specify exactly the needed directories. 118 this allows the builder to specify exactly the needed directories.
119 Specifying unnecessary directories leads to obscure problems 119 Specifying unnecessary directories leads to obscure problems (typically
120 (typically startup delays) if those directories are mounted over a 120 startup delays) if those directories are mounted over a network, and the
121 network, and the automounter configuration changes. Not all systems 121 automounter configuration changes. Not all systems need this option;
122 need this option; it's best to avoid using it if you can. 122 it's best to avoid using it if you can.
123 123
124 Dynamic linking has pros and cons. Dynamically linking 3rd party 124 Dynamic linking has pros and cons. Dynamically linking 3rd party
125 libraries to XEmacs decreases the size of the binary, and means you 125 libraries to XEmacs decreases the size of the binary, and means you
126 don't need to rebuild XEmacs to take advantage of improvements in the 126 don't need to rebuild XEmacs to take advantage of improvements in the
127 libraries. On the other hand, XEmacs can fail subtly if the semantics 127 libraries. On the other hand, XEmacs can fail subtly if the semantics
153 on particular machines. 153 on particular machines.
154 154
155 Specifying Location of Headers and Libraries 155 Specifying Location of Headers and Libraries
156 -------------------------------------------- 156 --------------------------------------------
157 157
158 The `--site-includes=DIR' and `--site-libraries=DIR' options allow you 158 The `--with-site-includes=DIR' and `--with-site-libraries=DIR' options
159 to specify additional places the compiler should look for include 159 allow you to specify additional places the compiler should look for
160 files and object libraries. You may specify multiple DIR's by 160 include files and object libraries. You may specify multiple DIR's by
161 enclosing the list in quotes. All the external libraries you want to 161 enclosing the list in quotes. All the external libraries you want to
162 use with XEmacs (e.g. xpm, wnn, ...) described later should have their 162 use with XEmacs (e.g. xpm, wnn, ...) described later should have their
163 include and library directories defined using these options. 163 include and library directories defined using these options.
164 164
165 The `--site-runtime-libraries=DIR' option specifies directories to 165 The `--with-site-runtime-libraries=DIR' option specifies directories to
166 search for shared libraries at run time. If you use this option, you 166 search for shared libraries at run time. If you use this option, you
167 must specify ALL of the directories containing shared libraries at run 167 must specify ALL of the directories containing shared libraries at run
168 time, including system directories. Please read the information about 168 time, including system directories. Please read the information about
169 "ADD-ON LIBRARIES" above very carefully. 169 "ADD-ON LIBRARIES" above very carefully.
170 170
175 Window System files installed in unusual places. 175 Window System files installed in unusual places.
176 176
177 Configuring the Build Process 177 Configuring the Build Process
178 ----------------------------- 178 -----------------------------
179 179
180 The `--with-gcc=PROGRAM' option specifies that the build process 180 The `--with-gcc=PROGRAM' option specifies that the build process should
181 should compile XEmacs using GCC. The `--compiler' option allows you 181 compile XEmacs using GCC. The `--with-compiler' option allows you to
182 to specify some other compiler to be used to compile XEmacs. If 182 specify some other compiler to be used to compile XEmacs. If neither
183 neither option is specified, the environment variable CC is used 183 option is specified, the environment variable CC is used instead.
184 instead. Otherwise the compiler will then default to 'cc'. 184 Otherwise the compiler will then default to 'cc'.
185 185
186 The `--xemacs-compiler=PROGRAM' option specifies the compiler control 186 The `--with-xemacs-compiler=PROGRAM' option specifies the compiler
187 program for the xemacs binary only. Other C code will be compiled 187 control program for the xemacs binary only. Other C code will be
188 according to the `--with-gcc' and `--compiler' options above. This is 188 compiled according to the `--with-gcc' and `--with-compiler' options
189 useful if you wish to compile XEmacs with a C++ compiler, because the 189 above. This is useful if you wish to compile XEmacs with a C++
190 utilities in ./lib-src cannot be compiled as C++. This option is 190 compiler, because the utilities in ./lib-src cannot be compiled as C++.
191 primarily intended for use by the maintainers. 191 This option is primarily intended for use by the maintainers.
192 192
193 The `--cflags=FLAGS' option specifies all of the CFLAGS the build process 193 The `--with-cflags=FLAGS' option specifies all of the CFLAGS the build
194 should use when compiling XEmacs, except for flags controlling warning 194 process should use when compiling XEmacs, except for flags controlling
195 generation. Otherwise the value of the environment variable CFLAGS is 195 warning generation. Otherwise the value of the environment variable
196 consulted. If that is also undefined, CFLAGS defaults to "-g -O" for 196 CFLAGS is consulted. If that is also undefined, CFLAGS defaults to "-g
197 gcc and "-g" for all other compilers. 197 -O" for gcc and "-g" for all other compilers.
198 198
199 The `--cflags_warning=FLAGS' option specifies the warnings to be 199 The `--with-cflags-warning=FLAGS' option specifies the warnings to be
200 generated. There is normally no reason to use this flag, as XEmacs 200 generated. There is normally no reason to use this flag, as XEmacs
201 turns on as many warnings as possible, and is still expected to build 201 turns on as many warnings as possible, and is still expected to build
202 with no, or at most a few warnings. 202 with no, or at most a few warnings.
203 203
204 The `--dynamic' option specifies that configure should try to link 204 The `--with-cflags-optimization=FLAGS' option specifies the
205 optimizations to be used. There is normally no reason to use this flag,
206 as XEmacs will already set the maximum safe
207 optimization flags appropriate for the compiler being invoked.
208
209 The `--with-cflags-debugging=FLAGS' option specifies debugging
210 information to be generated. There is normally no reason to use this
211 flag, as XEmacs will include debugging information whenever possible
212 (i.e. unless optimization is turned on and the compiler does not permit
213 debugging and optimization simultaneously).
214
215 The `--with-dynamic' option specifies that configure should try to link
205 emacs dynamically rather than statically. 216 emacs dynamically rather than statically.
206 217
207 You can build XEmacs for several different machine types from a single 218 You can build XEmacs for several different machine types from a single
208 source directory. To do this, you must use a version of `make' that 219 source directory. To do this, you must use a version of `make' that
209 supports the `VPATH' variable, such as GNU `make'. Create separate 220 supports the `VPATH' variable, such as GNU `make'. Create separate
255 system has X Window System support, and arrange to use it if present. 266 system has X Window System support, and arrange to use it if present.
256 267
257 The `--without-xmu' option can be used if your vendor doesn't ship 268 The `--without-xmu' option can be used if your vendor doesn't ship
258 the Xmu library. 269 the Xmu library.
259 270
260 The `--with-menubars=TYPE' option allows you to specify which X 271 The `--enable-menubars=TYPE' option allows you to specify which X
261 toolkit you wish to use for the menubar. The valid options are 272 toolkit you wish to use for the menubar. The valid options are
262 `lucid', `motif' and `no'. The default is `lucid' which is a 273 `lucid', `motif' and `no'. The default is `lucid' which is a
263 Motif-lookalike menubar. We highly recommend its usage over the real 274 Motif-lookalike menubar. We highly recommend its usage over the real
264 Motif menubar. (In fact, the Motif menubar is currently broken.) If 275 Motif menubar. (In fact, the Motif menubar is currently broken.) If
265 `no' is specified then support for menubars will not be compiled in. 276 `no' is specified then support for menubars will not be compiled in.
266 277
267 The `--with-scrollbars=TYPE' option allows you to specify which X 278 The `--enable-scrollbars=TYPE' option allows you to specify which X
268 toolkit you wish to use for the scrollbars. The valid options are 279 toolkit you wish to use for the scrollbars. The valid options are
269 `lucid', `motif', `athena', `athena3d', and `no'. The default is 280 `lucid', `motif', `athena', `athena3d', and `no'. The default is
270 `lucid' which is a Motif-lookalike scrollbar. If `no' is specified 281 `lucid' which is a Motif-lookalike scrollbar. If `no' is specified then
271 then support for scrollbars will not be compiled in. 282 support for scrollbars will not be compiled in.
272 283
273 The `--with-dialogs=TYPE' option allows you to specify which X toolkit 284 The `--enable-dialogs=TYPE' option allows you to specify which X toolkit
274 you wish to use for the dialog boxes. The valid options are `athena', 285 you wish to use for the dialog boxes. The valid options are `athena',
275 `athena3d', `motif, and `no. The `lucid' option is accepted and will 286 `athena3d', `motif, and `no. The `lucid' option is accepted and will
276 result in the `athena' toolkit being used. If the Motif toolkit can be 287 result in the `athena' toolkit being used. If the Motif toolkit can be
277 found the default is `motif'. Otherwise, the default is `athena'. If 288 found the default is `motif'. Otherwise, the default is `athena'. If
278 `no' is specified then support for dialog boxes will not be compiled 289 `no' is specified then support for dialog boxes will not be compiled in.
279 in. 290
280 291 The `--enable-toolbars' option allows you to enable or disable toolbar
281 The `--with-toolbars' option allows you to enable or disable toolbar
282 support. The default is `yes' if support for a windowing system is 292 support. The default is `yes' if support for a windowing system is
283 included. 293 included.
284 294
285 The `--with-xpm' option specifies that XEmacs should support X11 295 The `--with-xpm' option specifies that XEmacs should support X11
286 Pixmaps. `configure' will attempt to detect if you have the Xpm 296 Pixmaps. `configure' will attempt to detect if you have the Xpm
288 298
289 The `--with-xface' option specifies that XEmacs should support 299 The `--with-xface' option specifies that XEmacs should support
290 X-Faces. `configure' will attempt to detect if you have the compface 300 X-Faces. `configure' will attempt to detect if you have the compface
291 library and define `--with-xface' for you. 301 library and define `--with-xface' for you.
292 302
293 The `--with-database' option specifies that XEmacs should be built 303 The `--enable-database' option specifies that XEmacs should be built
294 with simple database support. The valid options are `no' or a 304 with simple database support. The valid options are `no' or a
295 comma-separated list of one or more of `dbm', `gnudbm' or `berkdb'. 305 comma-separated list of one or more of `dbm', `gnudbm' or `berkdb'.
296 `configure' will attempt to detect the necessary libraries and header 306 `configure' will attempt to detect the necessary libraries and header
297 files and define `--with-database' for you. 307 files and define `--enable-database' for you.
298 308
299 The `--with-postgresql' option specifies that XEmacs should be built 309 The `--with-postgresql' option specifies that XEmacs should be built
300 with PostgreSQL support, linking with libpq. `configure' will attempt 310 with PostgreSQL support, linking with libpq. `configure' will attempt
301 to detect whether PostgreSQL support is available, and automatically 311 to detect whether PostgreSQL support is available, and automatically
302 define `--with-postgresql' for you. 312 define `--with-postgresql' for you.
307 `--with-ldap' for you. 317 `--with-ldap' for you.
308 318
309 The `--with-socks' option specifies that XEmacs should be built with 319 The `--with-socks' option specifies that XEmacs should be built with
310 SOCKS support. This requires the libsocks library. 320 SOCKS support. This requires the libsocks library.
311 321
312 The `--external-widget' option specifies that XEmacs should be built 322 The `--enable-external-widget' option specifies that XEmacs should be
313 with support for being used as a widget by other X11 applications. 323 built with support for being used as a widget by other X11 applications.
314 This functionality should be considered beta. 324 This functionality should be considered beta.
315 325
316 The `--with-sound=TYPE' option specifies that XEmacs should be built 326 The `--enable-sound=TYPE' option specifies that XEmacs should be built
317 with sound support. Native (`--with-sound=native') sound support is 327 with sound support. Native (`--enable-sound=native') sound support is
318 currently available only on Sun SparcStations, SGI's, HP9000s, and 328 currently available only on Sun SparcStations, SGI's, HP9000s, and
319 systems (such as Linux) with soundcard.h. Network Audio Support (NAS) 329 systems (such as Linux) with soundcard.h. Network Audio Support (NAS)
320 (`--with-sound=nas' or `--with-sound=both') is an extension to X that 330 (`--enable-sound=nas') is an extension to X that you may or may not have
321 you may or may not have for your system. For NAS, you will probably 331 for your system. For NAS, you will probably need to provide the paths
322 need to provide the paths to the nas include and library directories 332 to the nas include and library directories to configure. If
323 to configure. If `--with-sound' is not specified, `configure' will 333 `--enable-sound' is not specified, `configure' will attempt to determine
324 attempt to determine if your configuration supports native sound and 334 if your configuration supports native sound and define --enable-sound
325 define --with-sound for you. If your native sound library is not in a 335 for you. If your native sound library is not in a standard location you
326 standard location you can specify it with the `--native-sound-lib=LIB' 336 can specify it with the `--with-native-sound-lib=LIB' flag. For Linux,
327 flag. For Linux, `/dev/audio' is required for SunAudio files and 337 `/dev/audio' is required for SunAudio files and `/dev/dsp' is required
328 `/dev/dsp' is required for raw data and WAVE format files. 338 for raw data and WAVE format files.
329 339
330 The `--with-tooltalk' option specifies that XEmacs should be built 340 The `--with-tooltalk' option specifies that XEmacs should be built
331 with ToolTalk support for interconnecting with other applications. 341 with ToolTalk support for interconnecting with other applications.
332 ToolTalk is not yet supported on all architectures. If you use this 342 ToolTalk is not yet supported on all architectures. If you use this
333 option, you should have the tooltalk package (see etc/PACKAGES) 343 option, you should have the tooltalk package (see etc/PACKAGES)
349 support can be explicitly disabled via the `--with-offix=no' option. 359 support can be explicitly disabled via the `--with-offix=no' option.
350 360
351 Internationalization Options 361 Internationalization Options
352 ---------------------------- 362 ----------------------------
353 363
354 The `--with-mule' option enables MUlti-Lingual Emacs (Mule) support, 364 The `--enable-mule' option enables MUlti-Lingual Emacs (Mule) support,
355 needed to support non-Latin-1 (including Asian) languages. Mule 365 needed to support non-Latin-1 (including Asian) languages. Mule
356 support is required for Asian language and Unicode (multibyte and wide 366 support is required for Asian language and Unicode (multibyte and wide
357 character) support. With the advent of the Euro and European 367 character) support. With the advent of the Euro and European
358 Community expansion, Mule support is also recommended for Western 368 Community expansion, Mule support is also recommended for Western
359 Europeans. Enabling Mule support requires the mule-base package 369 Europeans. Enabling Mule support requires the mule-base package
407 supports. 417 supports.
408 418
409 Options for Developers and Special Requirements 419 Options for Developers and Special Requirements
410 ----------------------------------------------- 420 -----------------------------------------------
411 421
412 The `--rel-alloc' option can be used to either enable or disable use 422 The `--with-rel-alloc' option can be used to either enable or disable
413 of the relocating allocator. Turning on --rel-alloc will allow XEmacs 423 use of the relocating allocator. Turning on --with-rel-alloc will allow
414 to return unused memory to the operating system, thereby reducing its 424 XEmacs to return unused memory to the operating system, thereby reducing
415 memory footprint. However, it may make XEmacs runs more slowly, 425 its memory footprint. However, it may make XEmacs runs more slowly,
416 especially if your system's `mmap' implementation is missing or 426 especially if your system's `mmap' implementation is missing or
417 inefficient. Generally, it's best to go with the default 427 inefficient. Generally, it's best to go with the default configuration
418 configuration for your system. You can tweak this based on how you 428 for your system. You can tweak this based on how you use XEmacs, and
419 use XEmacs, and the memory and cpu resources available on your system. 429 the memory and cpu resources available on your system.
420 430
421 The `--with-system-malloc' option can be used to either enable or 431 The `--with-system-malloc' option can be used to either enable or
422 disable use of the system malloc. Generally, it's best to go with the 432 disable use of the system malloc. Generally, it's best to go with the
423 default configuration for your system. Note that on many systems 433 default configuration for your system. Note that on many systems
424 using the system malloc disables the use of the relocating allocator. 434 using the system malloc disables the use of the relocating allocator.
426 The `--with-debug-malloc' option can be used to link a special 436 The `--with-debug-malloc' option can be used to link a special
427 debugging version of malloc. Debug Malloc is not included with XEmacs 437 debugging version of malloc. Debug Malloc is not included with XEmacs
428 and is intended for use only by the developers. It may be obtained 438 and is intended for use only by the developers. It may be obtained
429 from <URL:http://www.letters.com/dmalloc/>. 439 from <URL:http://www.letters.com/dmalloc/>.
430 440
431 The `--debug' and `--error-checking' options are primarily useful to 441 The `--enable-debug' and `--enable-error-checking' options are primarily
432 the developers. `--debug' incorporates code for performing various 442 useful to the developers. `--enable-debug' incorporates code for
433 tests, but does not impose a speed penalty. `--error-checking' adds 443 performing various tests, but does not impose a speed penalty.
434 additional tests to many of the commonly used macros, and imposes a 444 `--enable-error-checking' adds additional tests to many of the commonly
435 speed penalty. Using either or both of these options can make bug 445 used macros, and imposes a speed penalty. Using either or both of these
436 reports more useful to the developers. 446 options can make bug reports more useful to the developers.
437 447
438 The `--verbose' and `--extra-verbose' options are useful only to the 448 The `--verbose' option is useful only to the developers. It displays
439 developers. `--verbose' causes the results of all configure tests to 449 additional information, useful for debugging `configure'.
440 be displayed. `--extra-verbose' displays additional information,
441 useful for debugging `configure'.
442 450
443 MAIL LOCKING 451 MAIL LOCKING
444 ============ 452 ============
445 453
446 For most platforms, configure or the src/s file have the preferred 454 For most platforms, configure or the src/s file have the preferred
448 find out for youself. Do not choose a locking protocol "on the 456 find out for youself. Do not choose a locking protocol "on the
449 objective merits." XEmacs must use the same method as other mail 457 objective merits." XEmacs must use the same method as other mail
450 utilities on your system, or you WILL lose mail. 458 utilities on your system, or you WILL lose mail.
451 459
452 Presently, XEmacs supports lockf, flock, and dot locking. Specify the 460 Presently, XEmacs supports lockf, flock, and dot locking. Specify the
453 locking method via the --mail-locking=METHOD option to configure. 461 locking method via the --with-mail-locking=METHOD option to configure.
454 Valid values for METHOD are --mail-locking are `lockf', `flock', and 462 Valid values for METHOD are --with-mail-locking are `lockf', `flock',
455 `dot'. 463 and `dot'.
456 464
457 RUNNING CONFIGURE 465 RUNNING CONFIGURE
458 ================= 466 =================
459 467
460 `configure' doesn't do any compilation or installation itself. It 468 `configure' doesn't do any compilation or installation itself. It