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