comparison INSTALL @ 442:abe6d1db359e r21-2-36

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