|
|
1.1 ! root 1: GNU Emacs Installation Guide ! 2: Copyright (c) 1988 Free software Foundation, Inc. ! 3: ! 4: Permission is granted to anyone to make or distribute verbatim copies ! 5: of this document as received, in any medium, provided that the ! 6: copyright notice and permission notice are preserved, ! 7: and that the distributor grants the recipient permission ! 8: for further redistribution as permitted by this notice. ! 9: ! 10: Permission is granted to distribute modified versions ! 11: of this document, or of portions of it, ! 12: under the above conditions, provided also that they ! 13: carry prominent notices stating who last changed them, ! 14: and that any new or changed statements about the activities ! 15: of the Free Software Foundation are approved by the Foundation. ! 16: ! 17: ! 18: PREPARATION ! 19: ! 20: 0) Make sure your system has enough swapping space allocated ! 21: to handle a program whose pure code is 400k bytes or ! 22: and whose data area is at least 150k and can reach 600k ! 23: bytes or much more. If the swapping space is insufficient, you ! 24: will get an error in the command temacs -l loadup inc dump, ! 25: found in $BUILD/src/ymakefile, or possibly when running the ! 26: final dumped Emacs. ! 27: ! 28: 1) Choose a place in the file structure for the main directory ! 29: of Emacs code to reside. This will ultimately have ! 30: subdirectories named src, lisp, etc, etc. Call this name ! 31: $EMACS. Let $BUILD stand for the name the directory has now. ! 32: ! 33: 2) Copy $BUILD/src/config.h-dist to $BUILD/src/config.h, ! 34: and edit it to set the right options for your system. The file ! 35: $BUILD/etc/MACHINES may help you decide what to put there. ! 36: If you need to override any of the definitions in the s- and m- ! 37: files for your system and machine, do so by editing config.h, ! 38: not by changing the s- and m- files. Occasionally you may ! 39: need to redefine parameters used in etc/movemail.c. ! 40: ! 41: 3) Declare the place in the file system where Emacs will ! 42: be once installed. This is done in the file `src/paths.h'. ! 43: ! 44: If you are using the shell-script `build-install' ! 45: edit the `set' command that sets the variable `EMACS'. ! 46: If you are using `make' in the main Emacs directory to do ! 47: the installation, edit the definition of `LIBDIR' in `Makefile' ! 48: in that directory. `build-install' and `make' edit `src/paths.h' ! 49: automatically. ! 50: ! 51: If you are doing the building by hand (not using `build-install' or ! 52: `make') then you yourself must copy $BUILD/src/paths.h-dist to ! 53: paths.h, and edit it to contain the correct directory names: ! 54: $EMACS/lisp for the directory for Lisp libraries, and $EMACS/etc for ! 55: the directory for executables and text files. ! 56: ! 57: Emacs will use these names once it has been built. ! 58: During building, Emacs searches the directory ../lisp for ! 59: Lisp files before the directories specified in paths.h, and ! 60: executable files are found in ../etc. So the main Emacs ! 61: directory $BUILD can be anywhere while Emacs is built, but ! 62: must be renamed to $EMACS afterwards in order for Emacs to ! 63: work properly. ! 64: ! 65: 4) Look at $BUILD/lisp/paths.el; if some of those values ! 66: are not right for your system, create a file ! 67: $BUILD/lisp/site-init.el containing Lisp code to override them. ! 68: You would use the Lisp function `setq'. For example, ! 69: ! 70: (setq news-inews-program "/usr/bin/inews") ! 71: ! 72: is how you would override the default value of the ! 73: variable news-inews-program (which is "/usr/local/inews"). ! 74: ! 75: 5) Put into $BUILD/lisp/site-init.el any Lisp code ! 76: you want loaded into Emacs before it is dumped out. ! 77: ! 78: This file is nonexistent in the distribution. ! 79: You do not need to create it, if you have nothing ! 80: to put in it. ! 81: ! 82: 6) Decide what compiler switches to use. ! 83: You might want to replace the `-g' in the file $BUILD/src/ymakefile ! 84: with `-O'. If you are not running on 4.2 on a vax, ! 85: it is possible that no debugger you have will be able ! 86: to run Emacs with its symbol table, so you might as well ! 87: use `-O' instead. If you do have a debugger that works, ! 88: it is probably best to use `-g' so that you are not ! 89: helpless in the face of a problem. ! 90: ! 91: 7) If you wish to compile with GCC, you should use -traditional. ! 92: This is needed for certain include files. For more info, refer ! 93: the INSTALL file of GCC. ! 94: ! 95: 8) Refer to the file $BUILD/etc/TERMS for information on ! 96: fields you may wish to add to various termcap entries. ! 97: ! 98: 9) Run `make' in the main directory of the Emacs distribution ! 99: to finish building and installing Emacs in the standard way. ! 100: You are done! ! 101: ! 102: ! 103: BUILDING GNU EMACS ! 104: The steps below are done by the shell script `build-install' ! 105: or by running `make' in the main directory of the Emacs distribution. ! 106: ! 107: 1) Cd to $BUILD/etc and run `make'. ! 108: This creates files named `ctags' and `etags' and `loadst' ! 109: and `make-docfile' and `digest-doc' and `test-distrib'. ! 110: ! 111: 2) Cd to $BUILD/src and Run `make' ! 112: This refers to files in the $BUILD/lisp and $BUILD/etc subdirectories ! 113: using names ../lisp and ../etc. ! 114: ! 115: This creates a file $BUILD/src/xemacs which is the runnable Emacs, ! 116: assigning it a new version number by incrementing the version ! 117: stored in $BUILD/lisp/version.el. ! 118: ! 119: It also creates a file in $BUILD/etc, whose name is ! 120: DOC followed by the current Emacs version. ! 121: This file contains documentation strings for all the ! 122: functions in Emacs. Each time you run make to make a new xemacs, ! 123: a new DOC file with a new name is made. You must keep ! 124: the DOC file for an Emacs version as long as you keep using ! 125: that Emacs version. ! 126: ! 127: ! 128: INSTALLATION ! 129: The steps below are done by the shell script `build-install' ! 130: or by running `make' in the main directory of the Emacs distribution. ! 131: ! 132: 0) mv $BUILD $EMACS if $BUILD and $EMACS are not the same. ! 133: This moves the main Emacs directory to the name you have told ! 134: Emacs (via paths.h) it is going to have. ! 135: ! 136: 1) Move the file $EMACS/xemacs to /usr/local/bin/emacs, ! 137: or some other name in users' search paths. ! 138: `xemacs' has an alternate name $EMACS/src/emacs-EMACSVERSION; ! 139: you may wish to make a symbolic link ! 140: named /usr/local/bin/emacs pointing to that alternate name, ! 141: as an easy way of installing different versions. ! 142: ! 143: You can delete $EMACS/src/temacs. ! 144: ! 145: 3) Move the programs ctags and etags from $EMACS/etc ! 146: to /usr/local/bin. These programs are run by users as shell commands. ! 147: ! 148: The program $EMACS/etc/loadst is invoked by Emacs when appropriate. ! 149: ! 150: The programs $EMACS/etc/make-docfile and $EMACS/etc/test-distrib ! 151: are not used any more; they were used in building Emacs. ! 152: ! 153: $EMACS/etc/digest-doc can be used to convert DOC into a ! 154: file for users to read. There is no important reason to move it. ! 155: ! 156: 4) The files in $EMACS/src subdirectory, except for xemacs, ! 157: are not used by Emacs once it is built. ! 158: ! 159: ! 160: See the file PROBLEMS in this directory for a list of various ! 161: problems sometimes encountered, and what to do about them.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.