3a) To build in the top-level Emacs source directory, go to that
directory and run the program `configure' as follows:
- ./configure CONFIGURATION-NAME [--OPTION[=VALUE]] ...
+ ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ...
The CONFIGURATION-NAME argument should be a configuration name given
-in `./etc/MACHINES'. If omitted, `configure' will try to guess your
-system type; if it cannot, you must find the appropriate configuration
-name in `./etc/MACHINES' and specify it explicitly.
+in `./etc/MACHINES', with the system version number added at the end.
+
+You should try first omitting CONFIGURATION-NAME. This way,
+`configure' will try to guess your system type. If it cannot guess,
+or if something goes wrong in building or installing Emacs this way,
+try again specifying the proper CONFIGURATION-NAME explicitly.
If you don't want X support, specify `--with-x=no'. If you omit this
option, `configure' will try to figure out for itself whether your
To build in a separate directory, you must use a version of `make'
that supports the `VPATH' variable, such as GNU `make'.
+3c) Some people try to build in a separate directory by filling
+it full of symlinks to the files in the real source directory.
+If you do that, `make all' does work, but `make install' fails:
+it copies the symbolic links rather than the actual files.
+
+As far as is known, there is no particular reason to use
+a directory full of links rather than use the standard GNU
+facilities to build in a separate directory (see 3b above).
+
4) Look at `./lisp/paths.el'; if some of those values are not right
for your system, set up the file `./lisp/site-init.el' with Emacs
Lisp code to override them; it is not a good idea to edit paths.el
site-load.el for additional libraries if you arrange for their
documentation strings to be in the etc/DOC file (see
src/Makefile.in if you wish to figure out how to do that). For all
-else, use site-init.el.
+else, use site-init.el. Do not load byte-compiled code which
+was build with a non-nil value of `byte-compile-dynamic'.
If you set load-path to a different value in site-init.el or
site-load.el, Emacs will use *precisely* that value when it starts up
architecture-independent files Emacs might need while
running. VERSION is as specified for `.../lisp'.
-`/usr/local/com/emacs/lock' contains files indicating who is editing
- what, so Emacs can detect editing clashes between
- users.
-
`/usr/local/libexec/emacs/VERSION/CONFIGURATION-NAME' contains executable
programs used by Emacs that users are not expected to
run themselves.
same time; this means that you don't have to make Emacs
unavailable while installing a new version.
-`sharedstatedir' indicates where to put architecture-independent data files
- that Emacs modifies while it runs; it defaults to
- /usr/local/com. We create the following
- subdirectories under `sharedstatedir':
- - `emacs/lock', containing files indicating who is editing
- what, so Emacs can detect editing clashes between
- users.
-
`libexecdir' indicates where to put architecture-specific data files that
Emacs refers to as it runs; it defaults to `/usr/local/libexec'.
We create the following subdirectories under `libexecdir':
distribution. Instead, you should make sure that the existing `dir'
file contains an appropriate menu entry for the Emacs info.
-3) Create a directory for Emacs to use for clash detection, named as
-indicated by the PATH_LOCK macro in `./src/paths.h'.
-
-4) Copy `./src/emacs' to `/usr/local/bin', or to some other directory
+3) Copy `./src/emacs' to `/usr/local/bin', or to some other directory
in users' search paths. `./src/emacs' has an alternate name
`./src/emacs-EMACSVERSION'; you may wish to make a symbolic link named
`/usr/local/bin/emacs' pointing to that alternate name, as an easy way
You can delete `./src/temacs'.
-5) Copy the programs `b2m', `emacsclient', `ctags', `etags', and
+4) Copy the programs `b2m', `emacsclient', `ctags', `etags', and
`rcs-checkin' from `./lib-src' to `/usr/local/bin'. These programs are
intended for users to run.
-6) Copy the man pages in `./etc' for emacs, ctags, and etags into the
+5) Copy the man pages in `./etc' for emacs, ctags, and etags into the
appropriate man directories.
-7) The files in the `./src' subdirectory, except for `emacs', are not
+6) The files in the `./src' subdirectory, except for `emacs', are not
used by Emacs once it is built. However, it is very desirable to keep
the source on line for debugging.