comparison INSTALL @ 412:697ef44129c6 r21-2-14

Import from CVS: tag r21-2-14
author cvs
date Mon, 13 Aug 2007 11:20:41 +0200
parents de805c49cfc1
children 41dbb7a9d5f2
comparison
equal deleted inserted replaced
411:12e008d41344 412:697ef44129c6
1 XEmacs Installation Guide 1 XEmacs Installation Guide
2 Copyright (c) 1994, 1995, 1996 Board of Trustees, University of Illinois 2 Copyright (c) 1994, 1995, 1996 Board of Trustees, University of Illinois
3 Copyright (c) 1994-1999 Free Software Foundation, Inc. 3 Copyright (c) 1994 Free Software Foundation, Inc.
4
5 Synched up with: FSF 19.30.
4 6
5 Permission is granted to anyone to make or distribute verbatim copies 7 Permission is granted to anyone to make or distribute verbatim copies
6 of this document as received, in any medium, provided that the 8 of this document as received, in any medium, provided that the
7 copyright notice and permission notice are preserved, 9 copyright notice and permission notice are preserved,
8 and that the distributor grants the recipient permission 10 and that the distributor grants the recipient permission
14 carry prominent notices stating who last changed them, 16 carry prominent notices stating who last changed them,
15 and that any new or changed statements about the activities 17 and that any new or changed statements about the activities
16 of the Free Software Foundation are approved by the Foundation. 18 of the Free Software Foundation are approved by the Foundation.
17 19
18 20
19 BUILDING AND INSTALLATION FOR UNIX AND CYGWIN 21 BUILDING AND INSTALLATION (Unix and Cygwin, see the file nt/README
20 22 for instructions on building under Microsoft Windows):
21 (for Microsoft Windows, see nt/README also.) 23
22 24 1) Make sure your system has enough swapping space allocated to handle
23 PREREQUISITES 25 a program whose pure code is 900k bytes and whose data area is at
24 ============= 26 least 400k and can reach 8Mb or more. If the swapping space is
25 27 insufficient, you will get an error in the command `temacs -batch
26 Make sure your system has enough swapping space allocated to handle a 28 -l loadup dump', found in `./src/Makefile.in.in', or possibly when
27 program whose pure code is 900k bytes and whose data area is at least 29 running the final dumped XEmacs.
28 400k and can reach 8Mb or more. Note that a typical XEmacs build is 30
29 much bigger. If the swapping space is insufficient, you will get an 31 Building XEmacs requires about 41 Mb of disk space (including the
30 error in the command `temacs -batch -l loadup dump', found in 32 XEmacs sources). Once installed, XEmacs occupies about 16 Mb in the
31 `./src/Makefile.in.in', or possibly when running the final dumped 33 file system where it is installed; this includes the executable files,
32 XEmacs. 34 Lisp libraries, miscellaneous data files, and on-line documentation.
33 35 The amount of storage of the Lisp directories may be reduced by
34 Verify that your users have a high enough stack limit. On some systems 36 compressing the .el files. If the building and installation take place
35 such as OpenBSD and OSF/Tru64 the default is 2MB which is too low. See 37 in different directories, then the installation procedure temporarily
36 'PROBLEMS' for details. 38 requires 41+16 Mb. Adjust this value upwards depending upon what
37 39 additional Lisp support is installed.
38 Building XEmacs requires about 100 Mb of disk space (including the
39 XEmacs sources). Once installed, XEmacs occupies between 20 and 100 Mb
40 in the file system where it is installed; this includes the executable files,
41 Lisp libraries, miscellaneous data files, and on-line documentation. The
42 exact amount depends greatly on the number of extra lisp packages that are
43 installed
44 40
45 XEmacs requires an ANSI C compiler, such as GCC. If you wish to build 41 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 42 the documentation yourself, you will need at least version 1.68 of
47 makeinfo (GNU texinfo-3.11). 43 makeinfo (GNU texinfo-3.11).
48 44
49 ADD-ON LIBRARIES 45
50 ================ 46 2) Decide on what other software packages you would like to use with
51
52 Decide on what other software packages you would like to use with
53 XEmacs, but are not yet available on your system. On some systems, 47 XEmacs, but are not yet available on your system. On some systems,
54 Motif and CDE are optional additions. On Solaris, the SUNWaudmo 48 Motif and CDE are optional additions. On Solaris, the SUNWaudmo
55 package enables native sound support. There are also a number of free 49 package enables native sound support. There are also a number of free
56 software packages that XEmacs can use. If these are not yet available 50 software packages that XEmacs can use. If these are not yet available
57 on your system, obtain, build and install those external packages 51 on your system, obtain, build and install those external packages
69 63
70 Use the --site-includes and --site-libraries options when building 64 Use the --site-includes and --site-libraries options when building
71 XEmacs to allow configure to find the external software packages. 65 XEmacs to allow configure to find the external software packages.
72 If you link with dynamic (``.so'') external package libraries, which 66 If you link with dynamic (``.so'') external package libraries, which
73 is not recommended, you will also need to add the library directories 67 is not recommended, you will also need to add the library directories
74 to the --site-runtime-libraries option. For your convenience these can 68 to the --site-runtime-libraries option.
75 be set together by using the --with-site-prefix command. This will set 69
76 these variables as needed assuming your libraries are organised as a 70
77 typical /usr tree. 71 3) Decide what Initial Lisp you need with XEmacs. XEmacs is
78 72 distributed separately from most of its runtime environment. This is
79 PACKAGE SYSTEM 73 done to make it easier for administrators to tune an installation for
80 ============== 74 what the local users need. See the file etc/PACKAGES for an overview
81 75 of what is available and which packages need to be installed prior to
82 The file README.packages contain information vital to have a fully 76 building XEmacs. At this point you only need a minimum to get started
83 working XEmacs. This information was not included in this file only 77 at which point you may install what you wish without further changes
84 because it is too large for this terse INSTALL. Please read 78 to the XEmacs binary. A sample minimum configuration for a Linux
85 README.packages now! 79 system using Mule and Wnn6 from OMRON corporation would be the
86 80 packages `mule-base' and `egg-its'. By default, packages will be
87 CONFIGURATION OPTIONS 81 searched for in the path
88 ===================== 82
89 83 ~/.xemacs::$prefix/lib/xemacs-${version}/mule-packages:$prefix/lib/xemacs/mule-packages:$prefix/lib/xemacs-${version}/xemacs-packages:$prefix/lib/xemacs/xemacs-packages
90 In the top level directory of the XEmacs distribution, run the 84
91 program `configure' as follows: 85 This may be changed by specifying a different value with the
86 --package-path configuration option.
87
88 4) In the top level directory of the XEmacs distribution, run the
89 program `configure' as follows:
92 90
93 ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ... 91 ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ...
94 92
95 Almost always, you should let `configure' (actually the shell script 93 Almost always, you should let `configure' (actually the shell script
96 `config.guess') guess your host type, by omitting the 94 `config.guess') guess your host type, by omitting the
160 defaults to "-g -O" for gcc and "-g" for all other compilers. 158 defaults to "-g -O" for gcc and "-g" for all other compilers.
161 159
162 The `--dynamic' option specifies that configure should try to link 160 The `--dynamic' option specifies that configure should try to link
163 emacs dynamically rather than statically. 161 emacs dynamically rather than statically.
164 162
163 The `--const-is-losing' option is for use if you have trouble
164 compiling due to the `const' storage class in C. This is defined by
165 default. Most users should have no need to change this.
166
165 You can build XEmacs for several different machine types from a single 167 You can build XEmacs for several different machine types from a single
166 source directory. To do this, you must use a version of `make' that 168 source directory. To do this, you must use a version of `make' that
167 supports the `VPATH' variable, such as GNU `make'. Create separate 169 supports the `VPATH' variable, such as GNU `make'. Make separate
168 build directories for the different configuration types, and in each 170 build directories for the different configuration types, and in each
169 one, run the XEmacs `configure' script. `configure' looks for the 171 one, run the XEmacs `configure' script. `configure' looks for the
170 Emacs source code in the directory that `configure' is in. 172 Emacs source code in the directory that `configure' is in.
171 173
172 The `--prefix=PREFIXDIR' option specifies where the installation process 174 The `--prefix=PREFIXDIR' option specifies where the installation process
186 - XEmacs (and the other utilities users run) go in EXECDIR/bin, and 188 - XEmacs (and the other utilities users run) go in EXECDIR/bin, and
187 - The architecture-dependent files go in 189 - The architecture-dependent files go in
188 EXECDIR/lib/xemacs-VERSION/CONFIGURATION-NAME. 190 EXECDIR/lib/xemacs-VERSION/CONFIGURATION-NAME.
189 EXECDIR/bin should be a directory that is normally in users' PATHs. 191 EXECDIR/bin should be a directory that is normally in users' PATHs.
190 192
191 If you specify --prefix (or any of the other installation directory 193 For example, the command
192 options), they will get compiled into the xemacs executable so it will 194
193 be able to find its various associated file. However, XEmacs has 195 ./configure mips-dec-ultrix --with-x11=yes
194 quite elaborate logic to find out the locations of these directories 196
195 dynamically. Sometimes, it is desirable *not* to compile these 197 configures XEmacs to build for a DECstation running Ultrix, with
196 directories into the executable so you can move the XEmacs 198 support for the X11 window system.
197 installation around (as whole) at will. This is true for binary kits,
198 for instance. Therefore, you can specify --without-prefix on the
199 configure command line to prevent the installation prefix to become
200 part of the generated executable; everything else will continue to
201 work as usual.
202 199
203 The `--with-menubars=TYPE' option allows you to specify which X 200 The `--with-menubars=TYPE' option allows you to specify which X
204 toolkit you wish to use for the menubar. The valid options are 201 toolkit you wish to use for the menubar. The valid options are
205 `lucid', `motif' and `no'. The default is `lucid' which is a 202 `lucid', `motif' and `no'. The default is `lucid' which is a
206 Motif-lookalike menubar. We highly recommend its usage over the real 203 Motif-lookalike menubar. We highly recommend its usage over the real
290 287
291 The `--rel-alloc' option can be used to either enable or disable use 288 The `--rel-alloc' option can be used to either enable or disable use
292 of the relocating allocator. Turning on --rel-alloc will allow XEmacs 289 of the relocating allocator. Turning on --rel-alloc will allow XEmacs
293 to return unused memory to the operating system, thereby reducing its 290 to return unused memory to the operating system, thereby reducing its
294 memory footprint. However, it may make XEmacs runs more slowly, 291 memory footprint. However, it may make XEmacs runs more slowly,
295 especially if your system's `mmap' implementation is missing or 292 especially if your system's `mmap' implemntation is missing or
296 inefficient. Generally, it's best to go with the default 293 inefficient. Generally, it's best to go with the default
297 configuration for your system. You can tweak this based on how you 294 configuration for your system. You can tweak this based on how you
298 use XEmacs, and the memory and cpu resources available on your system. 295 use XEmacs, and the memory and cpu resources available on your system.
299 296
300 The `--with-system-malloc' option can be use to either enable or 297 The `--use-system-malloc' option can be use to either enable or
301 disable use of the system malloc. Generally, it's best to go with the 298 disable use of the system malloc. Generally, it's best to go with the
302 default configuration for your system. Note that on many systems 299 default configuration for your system. Note that on many systems
303 using the system malloc disables the use of the relocating allocator. 300 using the system malloc disables the use of the relocating allocator.
304 301
305 The `--with-debug-malloc' option can be used to link a special debugging 302 The `--use-debug-malloc' option can be used to link a special debugging
306 version of malloc. Debug Malloc is not included with XEmacs, is 303 version of malloc. Debug Malloc is not included with XEmacs, is
307 intended for use only by the developers and may be obtained from 304 intended for use only by the developers and may be obtained from
308 <URL:http://www.letters.com/dmalloc/>. 305 <URL:http://www.letters.com/dmalloc/>.
309 306
310 The `--debug' and `--error-checking' options are intended for use only 307 The `--debug' and `--error-checking' options are intended for use only
318 additional information, useful for debugging. Another help for 315 additional information, useful for debugging. Another help for
319 determining configure failures is the file `config.log', which 316 determining configure failures is the file `config.log', which
320 contains the results of the compile and link tests used by configure. 317 contains the results of the compile and link tests used by configure.
321 318
322 The `--with-mule' option enables (MUlti-Lingual Emacs) support, needed 319 The `--with-mule' option enables (MUlti-Lingual Emacs) support, needed
323 to support non-Latin-1 (including Asian) languages. The Mule support 320 to suport non-Latin-1 (including Asian) languages. The Mule support
324 is not yet as stable or efficient as the `Latin1' support. Enabling 321 is not yet as stable or efficient as the `Latin1' support. Enabling
325 Mule support requires the mule-base package installed prior to 322 Mule support requires the mule-base package installed prior to
326 building XEmacs. The following options require Mule support: 323 building XEmacs. The following options require Mule support:
327 324
328 The `--with-xim' option enables use of the X11 XIM mechanism to allow 325 The `--with-xim' option enables use of the X11 XIM mechanism to allow
368 365
369 Please note that it is safe to build with as many of the options 366 Please note that it is safe to build with as many of the options
370 `--with-xim', `--with-canna' and `--with-wnn' as your system 367 `--with-xim', `--with-canna' and `--with-wnn' as your system
371 supports. 368 supports.
372 369
373 MAIL LOCKING
374 ============
375
376 Find out what the preferred method for locking mail spool files is in
377 your environment. Presently, XEmacs supports lockf, flock, and dot
378 locking. Specify the locking method via the --mail-locking=METHOD
379 option to configure. Valid values for METHOD are --mail-locking are
380 `lockf', `flock', and `dot'.
381
382 RUNNING CONFIGURE
383 =================
384
385 `configure' doesn't do any compilation or installation itself. It 370 `configure' doesn't do any compilation or installation itself. It
386 just creates the files that influence those things: `./src/config.h', 371 just creates the files that influence those things: `./src/config.h',
387 and all the Makefile's in the build tree. 372 and all the Makefile's in the build tree.
373
374 The `--with-pop', `--with-hesiod', and `--with-kerberos' options are used
375 in conjunction with movemail. As of XEmacs 20.1, movemail is identical
376 to the one used in Emacs.
388 377
389 When it is done, `configure' prints a description of what it did and 378 When it is done, `configure' prints a description of what it did and
390 creates a shell script `config.status' which, when run, recreates the 379 creates a shell script `config.status' which, when run, recreates the
391 same configuration. If `configure' exits with an error after 380 same configuration. If `configure' exits with an error after
392 disturbing the status quo, it removes `config.status'. 381 disturbing the status quo, it removes `config.status'.
393 382
394 AUXILIARY PATHS 383 4) Look at `./lisp/paths.el'; if some of those values are not right
395 =============== 384 for your system, set up the file `./lisp/site-init.el' with XEmacs
396 385 Lisp code to override them; it is not a good idea to edit paths.el
397 Look at `./lisp/paths.el'; if some of those values are not right for 386 itself. YOU MUST USE THE LISP FUNCTION `setq' TO ASSIGN VALUES,
398 your system, set up the file `./lisp/site-init.el' with XEmacs Lisp 387 rather than `defvar', as used by `./lisp/paths.el'. For example,
399 code to override them; it is not a good idea to edit paths.el itself.
400 YOU MUST USE THE LISP FUNCTION `setq' TO ASSIGN VALUES, rather than
401 `defvar', as used by `./lisp/paths.el'. For example,
402 388
403 (setq news-inews-program "/usr/bin/inews") 389 (setq news-inews-program "/usr/bin/inews")
404 390
405 is how you would override the default value of the variable 391 is how you would override the default value of the variable
406 news-inews-program (which is "/usr/local/inews"). 392 news-inews-program (which is "/usr/local/inews").
415 canonical form. XEmacs tries to detect how your automounter is 401 canonical form. XEmacs tries to detect how your automounter is
416 configured. If you have an unusual automounter configuration that 402 configured. If you have an unusual automounter configuration that
417 XEmacs cannot detect, you may need to change the value of 403 XEmacs cannot detect, you may need to change the value of
418 `directory-abbrev-alist'. 404 `directory-abbrev-alist'.
419 405
420 SITE-SPECIFIC STARTUP CODE 406 5) Put into `./lisp/site-init.el' or `./lisp/site-load.el' any Emacs
421 ========================== 407 Lisp code you want XEmacs to load before it is dumped out. Use
422
423 Put into `./lisp/site-init.el' or `./lisp/site-load.el' any Emacs Lisp
424 code you want XEmacs to load before it is dumped out. Use
425 site-load.el for additional libraries if you arrange for their 408 site-load.el for additional libraries if you arrange for their
426 documentation strings to be in the lib-src/DOC file (see 409 documentation strings to be in the lib-src/DOC file (see
427 src/Makefile.in.in if you wish to figure out how to do that). For all 410 src/Makefile.in.in if you wish to figure out how to do that). For all
428 else, use site-init.el. 411 else, use site-init.el.
429 412
413 If you set load-path to a different value in site-init.el or
414 site-load.el, XEmacs will use *precisely* that value when it starts up
415 again. If you do this, you are on your own!
416
430 Note that, on some systems, the code you place in site-init.el must 417 Note that, on some systems, the code you place in site-init.el must
431 not use expand-file-name or any other function which may look 418 not use expand-file-name or any other function which may look
432 something up in the system's password and user information database. 419 something up in the system's password and user information database.
433 See `./PROBLEMS' for more details on which systems this affects. 420 See `./PROBLEMS' for more details on which systems this affects.
434 421
435 The `site-*.el' files are nonexistent in the distribution. You do not 422 The `site-*.el' files are nonexistent in the distribution. You do not
436 need to create them if you have nothing to put in them. 423 need to create them if you have nothing to put in them.
437 424
438 TERMCAP CONFIGURATION 425 6) Refer to the file `./etc/TERMS' for information on fields you may
439 =====================
440
441 Refer to the file `./etc/TERMS' for information on fields you may
442 wish to add to various termcap entries. The files `./etc/termcap.ucb' 426 wish to add to various termcap entries. The files `./etc/termcap.ucb'
443 and `./etc/termcap.dat' may already contain appropriately-modified 427 and `./etc/termcap.dat' may already contain appropriately-modified
444 entries. 428 entries.
445 429
446 RUNNING MAKE 430 7) Run `make' in the top directory of the XEmacs distribution to finish
447 ============
448
449 Run `make' in the top directory of the XEmacs distribution to finish
450 building XEmacs in the standard way. The final executable file is 431 building XEmacs in the standard way. The final executable file is
451 named `src/emacs'. You can execute this file "in place" without 432 named `src/emacs'. You can execute this file "in place" without
452 copying it, if you wish; then it automatically uses the sibling 433 copying it, if you wish; then it automatically uses the sibling
453 directories ../lisp, ../lib-src, ../info. 434 directories ../lisp, ../lib-src, ../info.
454 435
516 in `/usr/local/bin'. 497 in `/usr/local/bin'.
517 498
518 If these directories are not what you want, you can specify where to 499 If these directories are not what you want, you can specify where to
519 install XEmacs's libraries and data files or where XEmacs should search 500 install XEmacs's libraries and data files or where XEmacs should search
520 for its lisp files by giving values for `make' variables as part of 501 for its lisp files by giving values for `make' variables as part of
521 the command. 502 the command. See the section below called `MAKE VARIABLES' for more
503 information on this.
504
505 Using GNU Make allows for simultaneous builds with and without the
506 --srcdir option.
507
508 8) If your system uses lock files to interlock access to mailer inbox files,
509 then you might need to make the movemail program setuid or setgid
510 to enable it to write the lock files. We believe this is safe.
511 The setuid/setgid bits need not be set on any other XEmacs-related
512 executables.
513
514 9) You are done with the hard part! You can remove executables and
515 object files from the build directory by typing `make clean'. To also
516 remove the files that `configure' created (so you can compile XEmacs
517 for a different configuration), type `make distclean'.
518
519 10) You should now go to the XEmacs web page at http://www.xemacs.org/
520 and decide what additional Lisp support you wish to have.
521
522 MAKE VARIABLES
522 523
523 You can change where the build process installs XEmacs and its data 524 You can change where the build process installs XEmacs and its data
524 files by specifying values for `make' variables as part of the `make' 525 files by specifying values for `make' variables as part of the `make'
525 command line. For example, if you type 526 command line. For example, if you type
526 527
627 executable files and other architecture-dependent data it uses 628 executable files and other architecture-dependent data it uses
628 while running. Its default value, based on `libdir' (see 629 while running. Its default value, based on `libdir' (see
629 above), is `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME' 630 above), is `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME'
630 (where VERSION and CONFIGURATION-NAME are as described above). 631 (where VERSION and CONFIGURATION-NAME are as described above).
631 632
632 `docdir' indicates where to put Lisp documentation strings that XEmacs
633 refers to as it runs. It defaults to the value of `archlibdir'
634 (see above).
635
636 `moduledir' indicates where XEmacs installs and expects to find 633 `moduledir' indicates where XEmacs installs and expects to find
637 any dynamic modules. Its default value, based on 634 any dynamic modules. Its default value, based on
638 `archlibdir' (see above) is 635 `archlibdir' (see above) is
639 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME/modules' 636 `/usr/local/lib/xemacs-VERSION/CONFIGURATION-NAME/modules'
640 (where VERSION and CONFIGURATION-NAME are as described above). 637 (where VERSION and CONFIGURATION-NAME are as described above).
641 By their very nature, dynamic loadable modules are architecture- 638 By their very nature, dynamic loadable modules are architecture-
642 dependent, and care should be taken not to set this directory 639 dependant, and care should be taken not to set this directory
643 to a system- or architecture-independent directory. 640 to a system- or architecture-independant directory.
644 641
645 Remember that you must specify any variable values you need each time 642 Remember that you must specify any variable values you need each time
646 you run `make' in the top directory. If you run `make' once to build 643 you run `make' in the top directory. If you run `make' once to build
647 xemacs, test it, and then run `make' again to install the files, you 644 xemacs, test it, and then run `make' again to install the files, you
648 must provide the same variable settings each time. To make the 645 must provide the same variable settings each time. To make the
652 649
653 The top-level Makefile stores the variable settings it used in the 650 The top-level Makefile stores the variable settings it used in the
654 Makefiles for the subdirectories, so you don't have to specify them 651 Makefiles for the subdirectories, so you don't have to specify them
655 when running make in the subdirectories. 652 when running make in the subdirectories.
656 653
657 Using GNU Make allows for simultaneous builds with and without the 654
658 --srcdir option. 655 CONFIGURATION BY HAND
659 656
660 MAIL-LOCKING POST-INSTALLATION 657 Instead of running the `configure' program, you have to perform the
661 ============================== 658 following steps.
662 659
663 If your system uses dot-locking to interlock access to mailer inbox 660 1) Copy `./src/config.h.in' to `./src/config.h'.
664 files, then you might need to make the movemail program setuid or 661
665 setgid to enable it to write the lock files. We believe this is safe. 662 2) Consult `./etc/MACHINES' to see what configuration name you should
666 The setuid/setgid bits need not be set on any other XEmacs-related 663 use for your system. Look at the code of the `configure' script to
667 executables. 664 see which operating system and architecture description files from
668 665 `src/s' and `src/m' should be used for that configuration name. Edit
669 CLEANING UP 666 `src/config.h', and change the two `#include' directives to include
670 ========== 667 the appropriate system and architecture description files.
671 668
672 You are done with the hard part! You can remove executables and 669 2) Edit `./src/config.h' to set the right options for your system. If
673 object files from the build directory by typing `make clean'. To also 670 you need to override any of the definitions in the s/*.h and m/*.h
674 remove the files that `configure' created (so you can compile XEmacs 671 files for your system and machine, do so by editing config.h, not by
675 for a different configuration), type `make distclean'. 672 changing the s/*.h and m/*.h files. Occasionally you may need to
676 673 redefine parameters used in `./lib-src/movemail.c'.
677 READ README.packages 674
678 ==================== 675 3) If you're going to use the make utility to build XEmacs, you will
679 676 still need to run `configure' first, giving the appropriate values for
680 Do it! 677 the variables in the sections entitled "Things `configure' Might Edit"
678 and "Where To Install Things." Note that you may only need to change
679 the variables `prefix' and `exec_prefix', since the rest of the
680 variables have reasonable defaults based on them. For each Makefile
681 variable of this type, there is a corresponding configure option; for
682 example, to change the location of the lock directory, you might use
683
684 ./configure --lockdir=/nfs/xemacslock
685
686 The `configure' script is built from `configure.in' by the `autoconf'
687 program. However, since XEmacs has configuration requirements that
688 autoconf can't meet, `configure.in' uses a marriage of custom-baked
689 configuration code and autoconf macros. New versions of autoconf
690 could very well break this arrangement, so it may be wise to avoid
691 rebuilding `configure' from `configure.in' when possible.
692
693
694 BUILDING XEMACS BY HAND
695
696 Once XEmacs is configured, running `make' in the top directory performs
697 the following steps.
698
699 1) Run `make src/paths.h' in the top directory. This produces
700 `./src/paths.h' from the template file `./src/paths.h.in', changing
701 the paths to the values specified in `./Makefile'.
702
703 2) Cd to `./lib-src' and run `make'. This creates executables named
704 `ctags' and `etags' and `wakeup' and `make-docfile' and `digest-doc'
705 and `test-distrib'. And others.
706
707 3) Cd to `./src' and Run `make'. This refers to files in the `./lisp'
708 and `./lib-src' subdirectories using names `../lisp' and
709 `../lib-src'.
710
711 This creates a file `./src/xemacs' which is the runnable XEmacs,
712 assigning it a new build version number by incrementing the build
713 version stored in `./lisp/version.el'.
714
715 It also creates a file in `./lib-src' whose name is `DOC' followed by
716 the current XEmacs version. This file contains documentation strings
717 for all the functions in XEmacs. Each time you run make to make a new
718 xemacs, a new DOC file with a new name is made. You must keep the DOC
719 file for an XEmacs version as long as you keep using that XEmacs
720 version.
721
722
723 INSTALLATION BY HAND
724
725 The steps below are done by running `make install' in the main
726 directory of the XEmacs distribution.
727
728 1) Copy `./lisp' and its subdirectories, `./etc', and the executables
729 in `./lib-src' to their final destinations, as selected in `./src/paths.h'.
730
731 Strictly speaking, not all of the executables in `./lib-src' need be copied.
732 - The programs `cvtmail', `emacsserver', `env', `fakemail', `hexl',
733 `movemail', `timer', `vcdiff', `wakeup', and `yow' are used by
734 XEmacs; they do need to be copied.
735 - The programs `etags', `ctags', `emacsclient', `b2m', `rcs2log',
736 `gnuclient', `gnudoit', and `gnuattach' are intended to be run
737 by users; they are handled below.
738 - The programs `make-docfile' and `test-distrib' were
739 used in building XEmacs, and are not needed any more.
740 - The programs `digest-doc' and `sorted-doc' convert a `DOC' file into
741 a file for users to read. There is no important reason to move them.
742
743 2) Copy the files in `./info' to the place specified in
744 `./lisp/site-init.el' or `./lisp/paths.el'. Note that if the
745 destination directory already contains a file named `dir', you
746 probably don't want to replace it with the `dir' file in the XEmacs
747 distribution. Instead, you should make sure that the existing `dir'
748 file contains an appropriate menu entry for the XEmacs info.
749
750 3) Create a directory for XEmacs to use for clash detection, named as
751 indicated by the PATH_LOCK macro in `./src/paths.h'.
752
753 4) Copy `./src/xemacs' to `/usr/local/bin', or to some other directory
754 in users' search paths. `./src/xemacs' has an alternate name
755 `./src/emacs-EMACSVERSION'; you may wish to make a symbolic link named
756 `/usr/local/bin/xemacs' pointing to that alternate name, as an easy way
757 of installing different versions.
758
759 You can delete `./src/temacs'.
760
761 5) Copy the programs `b2m', `emacsclient', `ctags', `etags', `rcs2log',
762 `gnuclient', `gnudoit', and `gnuattach' from `./lib-src' to
763 `/usr/local/bin'. These programs are intended for users to run.
764
765 6) Copy the man pages in `./etc' for xemacs, ctags, etags, and gnuserv
766 into the appropriate man directories.
767
768 7) The files in the `./src' subdirectory, except for `xemacs', are not
769 used by XEmacs once it is built. The source would be handy for
770 debugging.
771
681 772
682 PROBLEMS 773 PROBLEMS
683 ========
684
685 The most likely problem is that you forgot to read and follow the
686 directions in README.packages. You can not have a working XEmacs
687 without downloading some additional packages.
688 774
689 See the file PROBLEMS in this directory for a list of various 775 See the file PROBLEMS in this directory for a list of various
690 problems sometimes encountered, and what to do about them. 776 problems sometimes encountered, and what to do about them.
777
778
779 If all else fails, please see etc/InstallGuide courtesy
780 of Jonathan Seth Hayward.