diff options
| author | Richard M. Stallman | 1994-02-24 19:15:08 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1994-02-24 19:15:08 +0000 |
| commit | 42db5687794d86add3a4b5966fa2d0157b5db060 (patch) | |
| tree | aa5e451366218662028cf9b46ff21caf10682996 | |
| parent | 0fa767e7a9d4562fa6541af7b7f2f17a2b38d419 (diff) | |
| download | emacs-42db5687794d86add3a4b5966fa2d0157b5db060.tar.gz emacs-42db5687794d86add3a4b5966fa2d0157b5db060.zip | |
Formerly INSTALL.~20~
| -rw-r--r-- | INSTALL | 94 |
1 files changed, 64 insertions, 30 deletions
| @@ -16,17 +16,22 @@ Copyright (c) 1992 Free software Foundation, Inc. | |||
| 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 |
| @@ -56,6 +61,10 @@ 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 |
| @@ -72,6 +81,11 @@ 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. |
| 74 | 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'. | ||
| 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 |
| @@ -134,8 +148,12 @@ 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 |
| @@ -217,7 +235,11 @@ information on this. | |||
| 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 |
| @@ -313,14 +335,15 @@ 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 |
| @@ -375,31 +398,27 @@ 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 |
| 408 | example, to change the location of the lock directory, you might use | ||
| 385 | 409 | ||
| 386 | 4) Typing `make src/Makefile lib-src/Makefile' builds the | 410 | ./configure --lockdir=/nfs/emacslock |
| 387 | makefiles for the subdirectories, editing in the values for the path | ||
| 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 | 415 | ||
| 396 | |||
| 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 |
| @@ -420,8 +439,8 @@ 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 |
| @@ -487,3 +506,18 @@ 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. | ||