comparison INSTALL @ 9760:05fbcd364e6e

update for Autoconf 2.0 and other recent changes.
author David J. MacKenzie <djm@gnu.org>
date Mon, 31 Oct 1994 14:54:47 +0000
parents 6773cf9c2e75
children 0582cd3a31a6
comparison
equal deleted inserted replaced
9759:ebe611f49450 9760:05fbcd364e6e
32 libraries, miscellaneous data files, and on-line documentation. If 32 libraries, miscellaneous data files, and on-line documentation. If
33 the building and installation take place in different directories, 33 the building and installation take place in different directories,
34 then the installation procedure momentarily requires 50+20 Mb. 34 then the installation procedure momentarily requires 50+20 Mb.
35 35
36 2) Consult `./etc/MACHINES' to see what configuration name you should 36 2) Consult `./etc/MACHINES' to see what configuration name you should
37 give to the `configure' program. That file sometimes offers hints for 37 give to the `configure' program. That file offers hints for
38 getting around some possible installation problems. 38 getting around some possible installation problems.
39 39
40 3) In the top directory of the Emacs distribution, run the program 40 3) In the top directory of the Emacs distribution, run the program
41 `configure' as follows: 41 `configure' as follows:
42 42
43 ./configure CONFIGURATION-NAME [--OPTION[=VALUE]] ... 43 ./configure CONFIGURATION-NAME [--OPTION[=VALUE]] ...
44 44
45 The CONFIGURATION-NAME argument should be a configuration name given 45 The CONFIGURATION-NAME argument should be a configuration name given
46 in `./etc/MACHINES'. If omitted, `configure' will try to guess your 46 in `./etc/MACHINES'. If omitted, `configure' will try to guess your
47 system type by inspecting its environment; if it cannot, you must find 47 system type; if it cannot, you must find the appropriate configuration
48 the appropriate configuration name in `./etc/MACHINES' and specify it 48 name in `./etc/MACHINES' and specify it explicitly.
49 explicitly. 49
50 50 If you don't want X support, specify `--with-x=no'. If you omit this
51 The `--with-x', `--with-x11', and `--with-x10' options specify which 51 option, `configure' will try to figure out for itself whether your
52 window system Emacs should support. If you don't want X support, 52 system has X, and arrange to use it if present.
53 specify `--with-x=no'. If all of these options are omitted,
54 `configure' will try to figure out for itself whether your system has
55 X11, and arrange to use it if present.
56 53
57 The `--x-includes=DIR' and `--x-libraries=DIR' options tell the build 54 The `--x-includes=DIR' and `--x-libraries=DIR' options tell the build
58 process where the compiler should look for the include files and 55 process where the compiler should look for the include files and
59 object libraries used with the X Window System. Normally, your 56 object libraries used with the X Window System. Normally, `configure'
60 compiler should be able to find these by default; these options should 57 is able to find them; these options are necessary if you have your X
61 only be necessary if you have your X Window System files installed in 58 Window System files installed in unusual places.
62 unusual places. 59
63 60 To get more attractive menus, you can specify an X toolkit when you
64 You can specify toolkit operation when you configure Emacs; use the 61 configure Emacs; use the option `--with-x-toolkit=TOOLKIT', where
65 option --with-x-toolkit. 62 TOOLKIT is `athena' or `motif' (`yes' and `lucid' are synonyms for
66 63 `athena'). On some systems, it does not work to use a toolkit with
67 Note: on some systems, it does not work to use the toolkit with shared 64 shared libraries.
68 libraries.
69
70 The `--run-in-place' option sets up default values for the path
71 variables in `./Makefile' so that Emacs will expect to find its data
72 files (lisp libraries, runnable programs, and the like) in the same
73 locations they occupy while Emacs builds. If you use `--run-in-place'
74 then you don't need to do `make install'.
75
76 `--run-in-place' is pretty much obsolete now. If you put the Emacs
77 executable in a subdirectory named src, which has siblings named lisp,
78 lib-src, etc, info and so on, Emacs automatically uses those sibling
79 directories if the standard installation directory names don't contain
80 what Emacs needs.
81 65
82 The `--with-gcc' option specifies that the build process should 66 The `--with-gcc' option specifies that the build process should
83 compile Emacs using GCC. If you don't want to use GCC, specify 67 compile 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
85 for GCC in your load path, and use it if present. 69 for GCC in your path, and use it if present.
86 70
87 The `--srcdir=DIR' option specifies that the configuration and build 71 You can build Emacs for several different machine types from a single
88 processes should look for the Emacs source code in DIR, when DIR is 72 source directory. To do this, you must use a version of `make' that
89 not the current directory. 73 supports the `VPATH' variable, such as GNU `make'. Make separate
90 74 build directories for the different configuration types, and in each
91 You can use `--srcdir' to build Emacs for several different machine 75 one, run the Emacs `configure' script. `configure' looks for the
92 types from a single source directory. Make separate build directories 76 Emacs source code in the directory that `configure' is in.
93 for the different configuration types, and in each one, build Emacs
94 specifying the common source directory with `--srcdir'.
95 77
96 The `--prefix=PREFIXDIR' option specifies where the installation process 78 The `--prefix=PREFIXDIR' option specifies where the installation process
97 should put emacs and its data files. This defaults to `/usr/local'. 79 should 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
107 The `--exec-prefix=EXECDIR' option allows you to specify a separate 89 The `--exec-prefix=EXECDIR' option allows you to specify a separate
108 portion of the directory tree for installing architecture-specific 90 portion of the directory tree for installing architecture-specific
109 files, like executables and utility programs. If specified, 91 files, 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.
113 EXECDIR/bin should be a directory that is normally in users' PATHs. 95 EXECDIR/bin should be a directory that is normally in users' PATHs.
114 96
115 For example, the command 97 For example, the command
116 98
117 ./configure mips-dec-ultrix --with-x11 99 ./configure mips-dec-ultrix --with-x11
118 100
119 configures Emacs to build for a DECstation running Ultrix, with 101 configures Emacs to build for a DECstation running Ultrix, with
120 support for the X11 window system. 102 support for the X11 window system.
121 103
122 The `configure' program does not accept abbreviations for its 104 `configure' doesn't do any compilation or installation
123 options.
124
125 Note that `configure' doesn't do any compilation or installation
126 itself. It just creates the files that influence those things: 105 itself. 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
129 on exactly what it does, see the section called `CONFIGURATION BY 108 on exactly what it does, see the section called `CONFIGURATION BY
130 HAND', below. 109 HAND', below.
131 110
132 When it is done, `configure' prints a description of what it did and 111 When it is done, `configure' prints a description of what it did and
133 leaves a copy in the file `config.status'. That file is also a shell 112 creates a shell script `config.status' which, when run, recreates the
134 script which, when run, recreates the same configuration; it contains 113 same configuration. If `configure' exits with an error after
135 the verbal description as a comment. If `configure' exits with an 114 disturbing the status quo, it removes `config.status'. `configure'
136 error after disturbing the status quo, it removes `config.status'. 115 also creates a file `config.cache' that saves the results of its tests
116 to make reconfiguring faster, and a file `config.log' containing compiler
117 output (useful mainly for debugging `configure'). You can give
118 `configure' the option `--cache-file=FILE' to use the results of the
119 tests in FILE instead of `config.cache'. Set FILE to `/dev/null' to
120 disable caching, for debugging `configure'.
137 121
138 The work of `configure' can be done by editing various files in the 122 The work of `configure' can be done by editing various files in the
139 distribution, but using `configure' is supposed to be simpler. See 123 distribution, but using `configure' is supposed to be simpler. See
140 the section called "CONFIGURATION BY HAND" below if you want to do the 124 the section called "CONFIGURATION BY HAND" below if you want to do the
141 configuration yourself. 125 configuration yourself.
185 169
186 `/usr/local/bin' holds the executable programs users normally run - 170 `/usr/local/bin' holds the executable programs users normally run -
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
196 at the same time; this means that you don't have to 180 at the same time; this means that you don't have to
197 make Emacs unavailable while installing a new 181 make Emacs unavailable while installing a new
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
217 installing, and `CONFIGURATION-NAME' is the argument 201 installing, and `CONFIGURATION-NAME' is the argument
218 you gave to the `configure' program to identify the 202 you gave to the `configure' program to identify the
243 8) Check the file `dir' in your site's info directory (usually 227 8) Check the file `dir' in your site's info directory (usually
244 /usr/local/info) to make sure that it has a menu entry for the Emacs 228 /usr/local/info) to make sure that it has a menu entry for the Emacs
245 info files. 229 info files.
246 230
247 9) If your system uses lock files to interlock access to mailer inbox files, 231 9) If your system uses lock files to interlock access to mailer inbox files,
248 then you might need to make the program arch-lib/movemail setuid or setgid 232 then you might need to make the movemail program setuid or setgid
249 to enable it to write the lock files. We believe this is safe. 233 to enable it to write the lock files. We believe this is safe.
250 234
251 10) You are done! 235 10) You are done!
252 236
253 237
417 4) Create `Makefile' files in various other directories 401 4) Create `Makefile' files in various other directories
418 from the corresponding `Makefile.in' files. This isn't so hard, 402 from the corresponding `Makefile.in' files. This isn't so hard,
419 just a matter of substitution. 403 just a matter of substitution.
420 404
421 The `configure' script is built from `configure.in' by the `autoconf' 405 The `configure' script is built from `configure.in' by the `autoconf'
422 program. However, since Emacs has configuration requirements that 406 program. You need version 2.0 or newer of `autoconf' to rebuild `configure'.
423 autoconf can't meet, `configure.in' uses an marriage of custom-baked
424 configuration code and autoconf macros. New versions of autoconf
425 could very well break this arrangement, so it may be wise to avoid
426 rebuilding `configure' from `configure.in' when possible.
427
428 407
429 BUILDING GNU EMACS BY HAND 408 BUILDING GNU EMACS BY HAND
430 409
431 Once Emacs is configured, running `make' in the top directory performs 410 Once Emacs is configured, running `make' in the top directory performs
432 the following steps. 411 the following steps.