Mercurial > hg > xemacs-beta
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. |