Mercurial > emacs
comparison INSTALL @ 6062:e9768f0d0653
Formerly INSTALL.~20~
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Thu, 24 Feb 1994 19:15:08 +0000 |
parents | 8788744c0c64 |
children | 99cf43c08895 |
comparison
equal
deleted
inserted
replaced
6061:e40292d5c167 | 6062:e9768f0d0653 |
---|---|
14 and that any new or changed statements about the activities | 14 and that any new or changed statements about the activities |
15 of the Free Software Foundation are approved by the Foundation. | 15 of the Free Software Foundation are approved by the Foundation. |
16 | 16 |
17 | 17 |
18 BUILDING AND INSTALLATION: | 18 BUILDING AND INSTALLATION: |
19 (This is for a Unix or Unix-like system. For MSDOS, see below; | |
20 search for MSDOG.) | |
19 | 21 |
20 1) Make sure your system has enough swapping space allocated to handle | 22 1) Make sure your system has enough swapping space allocated to handle |
21 a program whose pure code is 900k bytes and whose data area is at | 23 a program whose pure code is 900k bytes and whose data area is at |
22 least 400k and can reach 8Mb or more. If the swapping space is | 24 least 400k and can reach 8Mb or more. If the swapping space is |
23 insufficient, you will get an error in the command `temacs -batch -l | 25 insufficient, you will get an error in the command `temacs -batch -l |
24 loadup dump', found in `./src/ymakefile', or possibly when running the | 26 loadup dump', found in `./src/Makefile.in.in', or possibly when |
25 final dumped Emacs. | 27 running the final dumped Emacs. |
26 | 28 |
27 Building Emacs requires about 30 Mb of disk space. Installed, Emacs | 29 Building Emacs requires about 30 Mb of disk space (including the Emacs |
28 occupies about 20 Mb; this includes the executable files, lisp | 30 sources). Once installed, Emacs occupies about 20 Mb in the file |
29 libraries, miscellaneous data files, and on-line documentation. | 31 system where it is installed; this includes the executable files, Lisp |
32 libraries, miscellaneous data files, and on-line documentation. If | |
33 the building and installation take place in different directories, | |
34 then the installation procedure momentarily requires 30+20 Mb. | |
30 | 35 |
31 2) Consult `./etc/MACHINES' to see what configuration name you should | 36 2) Consult `./etc/MACHINES' to see what configuration name you should |
32 give to the `configure' program. That file sometimes offers hints for | 37 give to the `configure' program. That file sometimes offers hints for |
33 getting around some possible installation problems. | 38 getting around some possible installation problems. |
34 | 39 |
54 object libraries used with the X Window System. Normally, your | 59 object libraries used with the X Window System. Normally, your |
55 compiler should be able to find these by default; these options should | 60 compiler should be able to find these by default; these options should |
56 only be necessary if you have your X Window System files installed in | 61 only be necessary if you have your X Window System files installed in |
57 unusual places. | 62 unusual places. |
58 | 63 |
64 You can specify toolkit operation when you configure Emacs; use the | |
65 option --with-x-toolkit=athena, --with-x-toolkit=motif, or | |
66 --with-x-toolkit=open-look. | |
67 | |
59 The `--run-in-place' option sets up default values for the path | 68 The `--run-in-place' option sets up default values for the path |
60 variables in `./Makefile' so that Emacs will expect to find its data | 69 variables in `./Makefile' so that Emacs will expect to find its data |
61 files (lisp libraries, runnable programs, and the like) in the same | 70 files (lisp libraries, runnable programs, and the like) in the same |
62 locations they occupy while Emacs builds. This means that you don't | 71 locations they occupy while Emacs builds. This means that you don't |
63 have to install Emacs in order to run it; it uses its data files as | 72 have to install Emacs in order to run it; it uses its data files as |
69 for GCC in your load path, and use it if present. | 78 for GCC in your load path, and use it if present. |
70 | 79 |
71 The `--srcdir=DIR' option specifies that the configuration and build | 80 The `--srcdir=DIR' option specifies that the configuration and build |
72 processes should look for the Emacs source code in DIR, when DIR is | 81 processes should look for the Emacs source code in DIR, when DIR is |
73 not the current directory. | 82 not the current directory. |
83 | |
84 You can use `--srcdir' to build Emacs for several different machine | |
85 types from a single source directory. Make separate build directories | |
86 for the different configuration types, and in each one, build Emacs | |
87 specifying the common source directory with `--srcdir'. | |
74 | 88 |
75 The `--prefix=PREFIXDIR' option specifies where the installation process | 89 The `--prefix=PREFIXDIR' option specifies where the installation process |
76 should put emacs and its data files. This defaults to `/usr/local'. | 90 should put emacs and its data files. This defaults to `/usr/local'. |
77 - Emacs (and the other utilities users run) go in PREFIXDIR/bin | 91 - Emacs (and the other utilities users run) go in PREFIXDIR/bin |
78 (unless the `--exec-prefix' option says otherwise). | 92 (unless the `--exec-prefix' option says otherwise). |
132 Note that, on some systems, the code you place in site-init.el must | 146 Note that, on some systems, the code you place in site-init.el must |
133 not use expand-file-name or any other function which may look | 147 not use expand-file-name or any other function which may look |
134 something up in the system's password and user information database. | 148 something up in the system's password and user information database. |
135 See `./PROBLEMS' for more details on which systems this affects. | 149 See `./PROBLEMS' for more details on which systems this affects. |
136 | 150 |
137 5) Put into `./lisp/site-init.el' any Emacs Lisp code you want Emacs | 151 5) Put into `./lisp/site-init.el' or `./lisp/site-load.el' any Emacs |
138 to load before it is dumped out. | 152 Lisp code you want Emacs to load before it is dumped out. Use |
153 site-load.el for additional libraries if you arrange for their | |
154 documentation strings to be in the etc/DOC file (see | |
155 src/Makefile.in.in if you wish to figure out how to do that). For all | |
156 else, use site-load.el. | |
139 | 157 |
140 Note that, on some systems, the code you place in site-init.el must | 158 Note that, on some systems, the code you place in site-init.el must |
141 not use expand-file-name or any other function which may look | 159 not use expand-file-name or any other function which may look |
142 something up in the system's password and user information database. | 160 something up in the system's password and user information database. |
143 See `./PROBLEMS' for more details on which systems this affects. | 161 See `./PROBLEMS' for more details on which systems this affects. |
215 | 233 |
216 8) Check the file `dir' in your site's info directory (usually | 234 8) Check the file `dir' in your site's info directory (usually |
217 /usr/local/info) to make sure that it has a menu entry for the Emacs | 235 /usr/local/info) to make sure that it has a menu entry for the Emacs |
218 info files. | 236 info files. |
219 | 237 |
220 9) You are done! | 238 9) If your system uses lock files to interlock access to mailer inbox files, |
239 then you might need to make the program arch-lib/movemail setuid or setgid | |
240 to enable it to write the lock files. We believe this is safe. | |
241 | |
242 10) You are done! | |
221 | 243 |
222 | 244 |
223 MAKE VARIABLES | 245 MAKE VARIABLES |
224 | 246 |
225 You can change where the build process installs Emacs and its data | 247 You can change where the build process installs Emacs and its data |
311 | 333 |
312 The above variables serve analogous purposes in the makefiles for all | 334 The above variables serve analogous purposes in the makefiles for all |
313 GNU software; here are some variables specific to Emacs. | 335 GNU software; here are some variables specific to Emacs. |
314 | 336 |
315 `lispdir' indicates where Emacs installs and expects its lisp | 337 `lispdir' indicates where Emacs installs and expects its lisp |
316 library. Its default value, based on `datadir' (which see), | 338 library. Its default value, based on `datadir' (see above), |
317 is `/usr/local/lib/emacs/VERSION/lisp' (where `VERSION' is as | 339 is `/usr/local/lib/emacs/VERSION/lisp' (where `VERSION' is as |
318 described above). | 340 described above). |
319 | 341 |
320 `locallisppath' indicates where Emacs should search for lisp files | 342 `locallisppath' indicates where Emacs should search for lisp files |
321 specific to your site. It should be a colon-separated list of | 343 specific to your site. It should be a colon-separated list of |
322 directories; Emacs checks them in order before checking | 344 directories; Emacs checks them in order before checking |
323 `lispdir'. | 345 `lispdir'. Its default value, based on `datadir' (see above), |
346 is `/usr/local/lib/emacs/site-lisp'. | |
324 | 347 |
325 `lisppath' is the complete list of directories Emacs should search for | 348 `lisppath' is the complete list of directories Emacs should search for |
326 its lisp files; its default value is the concatenation of | 349 its lisp files; its default value is the concatenation of |
327 `lispdir' and `locallisppath'. It should be a colon-separated | 350 `lispdir' and `locallisppath'. It should be a colon-separated |
328 list of directories; Emacs checks them in the order they | 351 list of directories; Emacs checks them in the order they |
373 you need to override any of the definitions in the s/*.h and m/*.h | 396 you need to override any of the definitions in the s/*.h and m/*.h |
374 files for your system and machine, do so by editing config.h, not by | 397 files for your system and machine, do so by editing config.h, not by |
375 changing the s/*.h and m/*.h files. Occasionally you may need to | 398 changing the s/*.h and m/*.h files. Occasionally you may need to |
376 redefine parameters used in `./lib-src/movemail.c'. | 399 redefine parameters used in `./lib-src/movemail.c'. |
377 | 400 |
378 3) If you're going to use the make utility to build Emacs, copy | 401 3) If you're going to use the make utility to build Emacs, you will |
379 `./Makefile.in' to `./Makefile', and then edit that to specify the | 402 still need to run `configure' first, giving theappropriate values for |
380 appropriate values for the variables in the sections entitled "Things | 403 the variables in the sections entitled "Things `configure' Might Edit" |
381 `configure' Might Edit" and "Where To Install Things." Note that you | 404 and "Where To Install Things." Note that you may only need to change |
382 may only need to change the variables `prefix' and `exec_prefix', | 405 the variables `prefix' and `exec_prefix', since the rest of the |
383 since the rest of the variables have reasonable defaults based on | 406 variables have reasonable defaults based on them. For each Makefile |
384 them. | 407 variable of this type, there is a corresponding configure option; for |
385 | 408 example, to change the location of the lock directory, you might use |
386 4) Typing `make src/Makefile lib-src/Makefile' builds the | 409 |
387 makefiles for the subdirectories, editing in the values for the path | 410 ./configure --lockdir=/nfs/emacslock |
388 variables you establed in step 3. | |
389 | |
390 -- or -- | |
391 | 411 |
392 4) If you're going to use the build-install script to build Emacs, | 412 4) If you're going to use the build-install script to build Emacs, |
393 copy `./build-install.in' to `./build-install', and edit the similar | 413 copy `./build-ins.in' to `./build-install', and edit the |
394 definitions found at the top of the script. | 414 definitions found at the top of the script. |
395 | |
396 | 415 |
397 The `configure' script is built from `configure.in' by the `autoconf' | 416 The `configure' script is built from `configure.in' by the `autoconf' |
398 program. However, since Emacs has configuration requirements that | 417 program. However, since Emacs has configuration requirements that |
399 autoconf can't meet, `configure.in' uses an unholy marriage of | 418 autoconf can't meet, `configure.in' uses an marriage of custom-baked |
400 custom-baked configuration code and autoconf macros. New versions of | 419 configuration code and autoconf macros. New versions of autoconf |
401 autoconf could very well break this arrangement, so it may be wise to | 420 could very well break this arrangement, so it may be wise to avoid |
402 avoid rebuilding `configure' from `configure.in' when possible. | 421 rebuilding `configure' from `configure.in' when possible. |
403 | 422 |
404 | 423 |
405 BUILDING GNU EMACS BY HAND | 424 BUILDING GNU EMACS BY HAND |
406 | 425 |
407 Once Emacs is configured, running `make' or running the shell script | 426 Once Emacs is configured, running `make' or running the shell script |
418 3) Cd to `./src' and Run `make'. This refers to files in the `./lisp' | 437 3) Cd to `./src' and Run `make'. This refers to files in the `./lisp' |
419 and `./lib-src' subdirectories using names `../lisp' and | 438 and `./lib-src' subdirectories using names `../lisp' and |
420 `../lib-src'. | 439 `../lib-src'. |
421 | 440 |
422 This creates a file `./src/emacs' which is the runnable Emacs, | 441 This creates a file `./src/emacs' which is the runnable Emacs, |
423 assigning it a new version number by incrementing the version stored | 442 assigning it a new build version number by incrementing the build |
424 in `./lisp/version.el'. | 443 version stored in `./lisp/version.el'. |
425 | 444 |
426 It also creates a file in `./etc' whose name is `DOC' followed by the | 445 It also creates a file in `./etc' whose name is `DOC' followed by the |
427 current Emacs version. This file contains documentation strings for | 446 current Emacs version. This file contains documentation strings for |
428 all the functions in Emacs. Each time you run make to make a new | 447 all the functions in Emacs. Each time you run make to make a new |
429 emacs, a new DOC file with a new name is made. You must keep the DOC | 448 emacs, a new DOC file with a new name is made. You must keep the DOC |
485 | 504 |
486 See the file PROBLEMS in this directory for a list of various | 505 See the file PROBLEMS in this directory for a list of various |
487 problems sometimes encountered, and what to do about them. | 506 problems sometimes encountered, and what to do about them. |
488 | 507 |
489 | 508 |
509 Installation on MSDOG (a.k.a. MSDOS) | |
510 | |
511 To install on MSDOG, you need to have the GNU C compiler (also known | |
512 as djgpp), GNU Make, rm, mv, chmod, and sed. Type these commands: | |
513 | |
514 config msdos | |
515 make install | |
516 | |
517 To save disk space, Emacs is built in-place. As the /usr/local/ | |
518 subtree does not exist on most MSDOG systems, the executables are | |
519 placed in /emacs/bin/. | |
520 | |
521 MSDOG is a not a multi-tasking operating system, so Emacs features | |
522 that depend on multitasking will not work. Synchronous subprocesses | |
523 do work. |