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