aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid J. MacKenzie1994-10-31 14:54:47 +0000
committerDavid J. MacKenzie1994-10-31 14:54:47 +0000
commitf40423fa6a288806af3c7f0b5fca1ba258a5127d (patch)
treec483ee0d43c246c954edebabab442c6b89d4d77c
parentdc7deb17a4dc45888d6b492e714f271d35fb17f1 (diff)
downloademacs-f40423fa6a288806af3c7f0b5fca1ba258a5127d.tar.gz
emacs-f40423fa6a288806af3c7f0b5fca1ba258a5127d.zip
update for Autoconf 2.0 and other recent changes.
-rw-r--r--INSTALL109
1 files changed, 44 insertions, 65 deletions
diff --git a/INSTALL b/INSTALL
index b817abd2fbe..099e6e9362b 100644
--- a/INSTALL
+++ b/INSTALL
@@ -34,7 +34,7 @@ the building and installation take place in different directories,
34then the installation procedure momentarily requires 50+20 Mb. 34then the installation procedure momentarily requires 50+20 Mb.
35 35
362) Consult `./etc/MACHINES' to see what configuration name you should 362) Consult `./etc/MACHINES' to see what configuration name you should
37give to the `configure' program. That file sometimes offers hints for 37give to the `configure' program. That file offers hints for
38getting around some possible installation problems. 38getting around some possible installation problems.
39 39
403) In the top directory of the Emacs distribution, run the program 403) In the top directory of the Emacs distribution, run the program
@@ -44,63 +44,45 @@ getting around some possible installation problems.
44 44
45The CONFIGURATION-NAME argument should be a configuration name given 45The CONFIGURATION-NAME argument should be a configuration name given
46in `./etc/MACHINES'. If omitted, `configure' will try to guess your 46in `./etc/MACHINES'. If omitted, `configure' will try to guess your
47system type by inspecting its environment; if it cannot, you must find 47system type; if it cannot, you must find the appropriate configuration
48the appropriate configuration name in `./etc/MACHINES' and specify it 48name in `./etc/MACHINES' and specify it explicitly.
49explicitly.
50 49
51The `--with-x', `--with-x11', and `--with-x10' options specify which 50If you don't want X support, specify `--with-x=no'. If you omit this
52window system Emacs should support. If you don't want X support, 51option, `configure' will try to figure out for itself whether your
53specify `--with-x=no'. If all of these options are omitted, 52system has X, and arrange to use it if present.
54`configure' will try to figure out for itself whether your system has
55X11, and arrange to use it if present.
56 53
57The `--x-includes=DIR' and `--x-libraries=DIR' options tell the build 54The `--x-includes=DIR' and `--x-libraries=DIR' options tell the build
58process where the compiler should look for the include files and 55process where the compiler should look for the include files and
59object libraries used with the X Window System. Normally, your 56object libraries used with the X Window System. Normally, `configure'
60compiler should be able to find these by default; these options should 57is able to find them; these options are necessary if you have your X
61only be necessary if you have your X Window System files installed in 58Window System files installed in unusual places.
62unusual places.
63 59
64You can specify toolkit operation when you configure Emacs; use the 60To get more attractive menus, you can specify an X toolkit when you
65option --with-x-toolkit. 61configure Emacs; use the option `--with-x-toolkit=TOOLKIT', where
66 62TOOLKIT is `athena' or `motif' (`yes' and `lucid' are synonyms for
67Note: on some systems, it does not work to use the toolkit with shared 63`athena'). On some systems, it does not work to use a toolkit with
68libraries. 64shared libraries.
69
70The `--run-in-place' option sets up default values for the path
71variables in `./Makefile' so that Emacs will expect to find its data
72files (lisp libraries, runnable programs, and the like) in the same
73locations they occupy while Emacs builds. If you use `--run-in-place'
74then you don't need to do `make install'.
75
76`--run-in-place' is pretty much obsolete now. If you put the Emacs
77executable in a subdirectory named src, which has siblings named lisp,
78lib-src, etc, info and so on, Emacs automatically uses those sibling
79directories if the standard installation directory names don't contain
80what Emacs needs.
81 65
82The `--with-gcc' option specifies that the build process should 66The `--with-gcc' option specifies that the build process should
83compile Emacs using GCC. If you don't want to use GCC, specify 67compile Emacs using GCC. If you don't want to use GCC, specify
84`--with-gcc=no'. If this option is omitted, `configure' will search 68`--with-gcc=no'. If you omit this option, `configure' will search
85for GCC in your load path, and use it if present. 69for GCC in your path, and use it if present.
86 70
87The `--srcdir=DIR' option specifies that the configuration and build 71You can build Emacs for several different machine types from a single
88processes should look for the Emacs source code in DIR, when DIR is 72source directory. To do this, you must use a version of `make' that
89not the current directory. 73supports the `VPATH' variable, such as GNU `make'. Make separate
90 74build directories for the different configuration types, and in each
91You can use `--srcdir' to build Emacs for several different machine 75one, run the Emacs `configure' script. `configure' looks for the
92types from a single source directory. Make separate build directories 76Emacs source code in the directory that `configure' is in.
93for the different configuration types, and in each one, build Emacs
94specifying the common source directory with `--srcdir'.
95 77
96The `--prefix=PREFIXDIR' option specifies where the installation process 78The `--prefix=PREFIXDIR' option specifies where the installation process
97should put emacs and its data files. This defaults to `/usr/local'. 79should put emacs and its data files. This defaults to `/usr/local'.
98- Emacs (and the other utilities users run) go in PREFIXDIR/bin 80- Emacs (and the other utilities users run) go in PREFIXDIR/bin
99 (unless the `--exec-prefix' option says otherwise). 81 (unless the `--exec-prefix' option says otherwise).
100- The architecture-independent files go in PREFIXDIR/lib/emacs/VERSION 82- The architecture-independent files go in PREFIXDIR/share/emacs/VERSION
101 (where VERSION is the version number of Emacs, like `19.7'). 83 (where VERSION is the version number of Emacs, like `19.27').
102- The architecture-dependent files go in 84- The architecture-dependent files go in
103 PREFIXDIR/lib/emacs/VERSION/CONFIGURATION 85 PREFIXDIR/libexec/emacs/VERSION/CONFIGURATION
104 (where CONFIGURATION is the configuration name, like mips-dec-ultrix4.2), 86 (where CONFIGURATION is the configuration name, like mips-dec-ultrix4.2),
105 unless the `--exec-prefix' option says otherwise. 87 unless the `--exec-prefix' option says otherwise.
106 88
@@ -109,7 +91,7 @@ portion of the directory tree for installing architecture-specific
109files, like executables and utility programs. If specified, 91files, like executables and utility programs. If specified,
110- Emacs (and the other utilities users run) go in EXECDIR/bin, and 92- Emacs (and the other utilities users run) go in EXECDIR/bin, and
111- The architecture-dependent files go in 93- The architecture-dependent files go in
112 EXECDIR/lib/emacs/VERSION/CONFIGURATION. 94 EXECDIR/libexec/emacs/VERSION/CONFIGURATION.
113EXECDIR/bin should be a directory that is normally in users' PATHs. 95EXECDIR/bin should be a directory that is normally in users' PATHs.
114 96
115For example, the command 97For example, the command
@@ -119,10 +101,7 @@ For example, the command
119configures Emacs to build for a DECstation running Ultrix, with 101configures Emacs to build for a DECstation running Ultrix, with
120support for the X11 window system. 102support for the X11 window system.
121 103
122The `configure' program does not accept abbreviations for its 104`configure' doesn't do any compilation or installation
123options.
124
125Note that `configure' doesn't do any compilation or installation
126itself. It just creates the files that influence those things: 105itself. It just creates the files that influence those things:
127`./Makefile', `lib-src/Makefile', `oldXMenu/Makefile', 106`./Makefile', `lib-src/Makefile', `oldXMenu/Makefile',
128`lwlib/Makefile', `src/Makefile', and `./src/config.h'. For details 107`lwlib/Makefile', `src/Makefile', and `./src/config.h'. For details
@@ -130,10 +109,15 @@ on exactly what it does, see the section called `CONFIGURATION BY
130HAND', below. 109HAND', below.
131 110
132When it is done, `configure' prints a description of what it did and 111When it is done, `configure' prints a description of what it did and
133leaves a copy in the file `config.status'. That file is also a shell 112creates a shell script `config.status' which, when run, recreates the
134script which, when run, recreates the same configuration; it contains 113same configuration. If `configure' exits with an error after
135the verbal description as a comment. If `configure' exits with an 114disturbing the status quo, it removes `config.status'. `configure'
136error after disturbing the status quo, it removes `config.status'. 115also creates a file `config.cache' that saves the results of its tests
116to make reconfiguring faster, and a file `config.log' containing compiler
117output (useful mainly for debugging `configure'). You can give
118`configure' the option `--cache-file=FILE' to use the results of the
119tests in FILE instead of `config.cache'. Set FILE to `/dev/null' to
120disable caching, for debugging `configure'.
137 121
138The work of `configure' can be done by editing various files in the 122The work of `configure' can be done by editing various files in the
139distribution, but using `configure' is supposed to be simpler. See 123distribution, but using `configure' is supposed to be simpler. See
@@ -187,9 +171,9 @@ By default, Emacs installs its files in the following directories:
187 `emacs', `etags', `ctags', `b2m', `emacsclient', 171 `emacs', `etags', `ctags', `b2m', `emacsclient',
188 and `rcs-checkin'. 172 and `rcs-checkin'.
189 173
190`/usr/local/lib/emacs/VERSION/lisp' holds the Emacs Lisp library; 174`/usr/local/share/emacs/VERSION/lisp' holds the Emacs Lisp library;
191 `VERSION' stands for the number of the Emacs version 175 `VERSION' stands for the number of the Emacs version
192 you are installing, like `18.59' or `19.0'. Since the 176 you are installing, like `18.59' or `19.27'. Since the
193 lisp library changes from one version of Emacs to 177 lisp library changes from one version of Emacs to
194 another, including the version number in the path 178 another, including the version number in the path
195 allows you to have several versions of Emacs installed 179 allows you to have several versions of Emacs installed
@@ -198,19 +182,19 @@ By default, Emacs installs its files in the following directories:
198 version. 182 version.
199 183
200 Emacs searches for its lisp files in 184 Emacs searches for its lisp files in
201 `/usr/local/lib/emacs/site-lisp', then in this 185 `/usr/local/share/emacs/site-lisp', then in this
202 directory. 186 directory.
203 187
204`/usr/local/lib/emacs/VERSION/etc' holds the Emacs tutorial, the DOC 188`/usr/local/share/emacs/VERSION/etc' holds the Emacs tutorial, the DOC
205 file, the `yow' database, and other 189 file, the `yow' database, and other
206 architecture-independent files Emacs might need while 190 architecture-independent files Emacs might need while
207 running. VERSION is as specified for `.../lisp'. 191 running. VERSION is as specified for `.../lisp'.
208 192
209`/usr/local/lib/emacs/lock' contains files indicating who is editing 193`/usr/local/com/emacs/lock' contains files indicating who is editing
210 what, so Emacs can detect editing clashes between 194 what, so Emacs can detect editing clashes between
211 users. 195 users.
212 196
213`/usr/local/lib/emacs/VERSION/CONFIGURATION-NAME' contains executable 197`/usr/local/libexec/emacs/VERSION/CONFIGURATION-NAME' contains executable
214 programs used by Emacs that users are not expected to 198 programs used by Emacs that users are not expected to
215 run themselves. 199 run themselves.
216 `VERSION' is the number of the Emacs version you are 200 `VERSION' is the number of the Emacs version you are
@@ -245,7 +229,7 @@ information on this.
245info files. 229info files.
246 230
2479) If your system uses lock files to interlock access to mailer inbox files, 2319) If your system uses lock files to interlock access to mailer inbox files,
248then you might need to make the program arch-lib/movemail setuid or setgid 232then you might need to make the movemail program setuid or setgid
249to enable it to write the lock files. We believe this is safe. 233to enable it to write the lock files. We believe this is safe.
250 234
25110) You are done! 23510) You are done!
@@ -419,12 +403,7 @@ from the corresponding `Makefile.in' files. This isn't so hard,
419just a matter of substitution. 403just a matter of substitution.
420 404
421The `configure' script is built from `configure.in' by the `autoconf' 405The `configure' script is built from `configure.in' by the `autoconf'
422program. However, since Emacs has configuration requirements that 406program. You need version 2.0 or newer of `autoconf' to rebuild `configure'.
423autoconf can't meet, `configure.in' uses an marriage of custom-baked
424configuration code and autoconf macros. New versions of autoconf
425could very well break this arrangement, so it may be wise to avoid
426rebuilding `configure' from `configure.in' when possible.
427
428 407
429BUILDING GNU EMACS BY HAND 408BUILDING GNU EMACS BY HAND
430 409