Mercurial > emacs
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. |