Annotation of GNUtools/emacs/INSTALL, revision 1.1

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:  But you don't have to change it yourself.  `build-install' and `make'
        !            44:  edit `src/paths.h' automatically.
        !            45: 
        !            46:  If you are using the shell-script `build-install'
        !            47:  edit the assignment that sets the variable `EMACS'.
        !            48:  If you are using `make' in the main Emacs directory to do
        !            49:  the installation, edit the definition of `LIBDIR' in `Makefile'
        !            50:  in that directory.
        !            51: 
        !            52:  If you are doing the building by hand (not using `build-install' or
        !            53:  `make') then you yourself must copy $BUILD/src/paths.h-dist to
        !            54:  paths.h, and edit it to contain the correct directory names:
        !            55:  $EMACS/lisp for the directory for Lisp libraries, and $EMACS/etc for
        !            56:  the directory for executables and text files.
        !            57: 
        !            58:  Emacs will use these names once it has been built.
        !            59:  During building, Emacs searches the directory ../lisp for
        !            60:  Lisp files before the directories specified in paths.h, and
        !            61:  executable files are found in ../etc.  So the main Emacs
        !            62:  directory $BUILD can be anywhere while Emacs is built, but
        !            63:  must be renamed to $EMACS afterwards in order for Emacs to
        !            64:  work properly.
        !            65: 
        !            66: 4) Look at $BUILD/lisp/paths.el; if some of those values
        !            67:  are not right for your system, create a file
        !            68:  $BUILD/lisp/site-init.el containing Lisp code to override them.
        !            69:  You would use the Lisp function `setq'.  For example,
        !            70: 
        !            71:      (setq news-inews-program "/usr/bin/inews")
        !            72: 
        !            73:  is how you would override the default value of the
        !            74:  variable news-inews-program (which is "/usr/local/inews").
        !            75: 
        !            76: 5) Put into $BUILD/lisp/site-init.el any Lisp code
        !            77:  you want loaded into Emacs before it is dumped out.
        !            78: 
        !            79:  This file is nonexistent in the distribution.
        !            80:  You do not need to create it, if you have nothing
        !            81:  to put in it.
        !            82: 
        !            83: 6) Decide what compiler switches to use.
        !            84:  For example, if you would like to compile with optimization, 
        !            85:  you might want to change the definition of CFLAGS in
        !            86:  the file $BUILD/src/ymakefile to use C_OPTIMIZE_SWITCH
        !            87:  instead of C_DEBUG_SWITCH.
        !            88: 
        !            89:  Note that many Unix compilers have bugs that affect -O; if you use
        !            90:  -O, be prepared to recompile without -O if you have any trouble.
        !            91: 
        !            92:  Note that many (most?) versions of debuggers
        !            93:  other than GDB do not know how to handle programs like Emacs
        !            94:  that use raw or cbreak mode, change other terminal status bits,
        !            95:  and use asynchronous SIGIO signals for terminal input.
        !            96:  However, most debuggers may work if Emacs uses a separate terminal
        !            97:  from the one being used by the debugger, or if Emacs is using
        !            98:  its own X window.
        !            99: 
        !           100:  If you do have a debugger that works, it is probably best to use `-g'
        !           101:  so that you are not helpless in the face of a problem.
        !           102: 
        !           103:  With GCC, you can use -O and -g together.  The easiest way to do this
        !           104:  is to change C_DEBUG_SWITCH to include both -O and -g.  GCC is probably
        !           105:  more reliable with -O than without, as it is tested more with -O.
        !           106: 
        !           107:  The way to specify use of GCC is to set the environment variable CC
        !           108:  to `gcc' before you do `make install'
        !           109: 
        !           110: 7) If you wish to compile with GCC, you may need to use -traditional
        !           111:  or run fixincludes.  This is needed if your system's header files
        !           112:  are incompatible with ANSI C.  If your system header files are designed
        !           113:  for ANSI C, then GCC should handle them properly.  For more info, refer
        !           114:  the INSTALL file of GCC.
        !           115: 
        !           116:  If your system header files are non-ANSI and you don't use -traditional
        !           117:  or fixincludes to compensate, the usual effect is that the ioctl
        !           118:  system call does not work.  The result is an Emacs that almost completely
        !           119:  fails to work.  
        !           120: 
        !           121: 8) Refer to the file $BUILD/etc/TERMS for information on
        !           122:  fields you may wish to add to various termcap entries.
        !           123: 
        !           124: 9) Run `make install' in the main directory of the Emacs distribution
        !           125:  to finish building and installing Emacs in the standard way.
        !           126:  You are done!
        !           127: 
        !           128: (On system V, you need to use `make install.sysv' instead of `make install'.
        !           129: On Xenix, use `make install.xenix'.
        !           130: On AIX, use `make install.aix'.
        !           131: You can also try `make INSTALL=./install.sh install'
        !           132: on any kind of system.)
        !           133: 
        !           134: The last step of building Emacs involves running Emacs in a special
        !           135: way.  At this time, if the directories that Emacs will refer to during
        !           136: use for Lisp code and executables do not already exist, Emacs will
        !           137: print a warning to this effect.  If you plan to have `make' create
        !           138: these directories while it installs Emacs, then do not be alarmed by
        !           139: the warnings.
        !           140: 
        !           141: The shell script `build-install' is an alternative to `make install'.
        !           142: It is a little less sophisticated than the makefile, but probably
        !           143: easier to customize for nonstandard kinds of installation.  If you
        !           144: want to install in precisely the usual fashion, we recommend using
        !           145: `make' rather than `build-install'.
        !           146: 
        !           147: 
        !           148: BUILDING GNU EMACS
        !           149: `make install' and its variants start with these steps to compile Emacs.
        !           150: 
        !           151: 1) Cd to $BUILD/etc and run `make'.
        !           152:  This creates files named `ctags' and `etags' and `wakeup'
        !           153:  and `make-docfile' and `digest-doc' and `test-distrib'.  And others.
        !           154: 
        !           155: 2) Cd to $BUILD/src and Run `make'
        !           156:  This refers to files in the $BUILD/lisp and $BUILD/etc subdirectories
        !           157:  using names ../lisp and ../etc.
        !           158: 
        !           159:  This creates a file $BUILD/src/xemacs which is the runnable Emacs,
        !           160:  assigning it a new version number by incrementing the version
        !           161:  stored in $BUILD/lisp/version.el.
        !           162: 
        !           163:  It also creates a file in $BUILD/etc, whose name is
        !           164:  DOC followed by the current Emacs version.
        !           165:  This file contains documentation strings for all the
        !           166:  functions in Emacs.  Each time you run make to make a new xemacs,
        !           167:  a new DOC file with a new name is made.  You must keep
        !           168:  the DOC file for an Emacs version as long as you keep using
        !           169:  that Emacs version.
        !           170: 
        !           171: 
        !           172: INSTALLATION
        !           173: 
        !           174: After compilation, `make install' and its variants continue with these steps
        !           175: to install the Emacs already compiled.
        !           176: 
        !           177: 0) Move files from $BUILD to $EMACS if they are not the same directory.
        !           178:  The files that you need include at least the subdirectories
        !           179:  lisp, etc and info.  After this, the directory in which you said
        !           180:  (in paths.h) Emacs would be installed actually contains the necessary
        !           181:  parts of Emacs.
        !           182: 
        !           183: 1) Move the file $EMACS/xemacs to /usr/local/bin/emacs,
        !           184:  or some other name in users' search paths.
        !           185:  `xemacs' has an alternate name $EMACS/src/emacs-EMACSVERSION;
        !           186:  you may wish to make a symbolic link
        !           187:  named /usr/local/bin/emacs pointing to that alternate name,
        !           188:  as an easy way of installing different versions.
        !           189: 
        !           190:  You can delete $EMACS/src/temacs.
        !           191: 
        !           192: 3) Move the programs ctags, etags and emacsclient from $EMACS/etc
        !           193:  to /usr/local/bin.  These programs are run by users as shell commands.
        !           194: 
        !           195:  The program $EMACS/etc/wakeup is invoked by Emacs when appropriate.
        !           196: 
        !           197:  The programs $EMACS/etc/make-docfile and $EMACS/etc/test-distrib
        !           198:  are not used any more; they were used in building Emacs.
        !           199: 
        !           200:  $EMACS/etc/digest-doc can be used to convert DOC into a
        !           201:  file for users to read.  There is no important reason to move it.
        !           202: 
        !           203: 4) The files in $EMACS/src subdirectory, except for xemacs,
        !           204:  are not used by Emacs once it is built.
        !           205: 
        !           206: 
        !           207: See the file PROBLEMS in this directory for a list of various
        !           208: problems sometimes encountered, and what to do about them.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.