diff options
| author | David J. MacKenzie | 1994-10-31 14:54:47 +0000 |
|---|---|---|
| committer | David J. MacKenzie | 1994-10-31 14:54:47 +0000 |
| commit | f40423fa6a288806af3c7f0b5fca1ba258a5127d (patch) | |
| tree | c483ee0d43c246c954edebabab442c6b89d4d77c | |
| parent | dc7deb17a4dc45888d6b492e714f271d35fb17f1 (diff) | |
| download | emacs-f40423fa6a288806af3c7f0b5fca1ba258a5127d.tar.gz emacs-f40423fa6a288806af3c7f0b5fca1ba258a5127d.zip | |
update for Autoconf 2.0 and other recent changes.
| -rw-r--r-- | INSTALL | 109 |
1 files changed, 44 insertions, 65 deletions
| @@ -34,7 +34,7 @@ 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 |
| @@ -44,63 +44,45 @@ getting around some possible installation problems. | |||
| 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. | ||
| 50 | 49 | ||
| 51 | The `--with-x', `--with-x11', and `--with-x10' options specify which | 50 | If you don't want X support, specify `--with-x=no'. If you omit this |
| 52 | window system Emacs should support. If you don't want X support, | 51 | option, `configure' will try to figure out for itself whether your |
| 53 | specify `--with-x=no'. If all of these options are omitted, | 52 | system has X, and arrange to use it if present. |
| 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. | ||
| 63 | 59 | ||
| 64 | You can specify toolkit operation when you configure Emacs; use the | 60 | To get more attractive menus, you can specify an X toolkit when you |
| 65 | option --with-x-toolkit. | 61 | configure Emacs; use the option `--with-x-toolkit=TOOLKIT', where |
| 66 | 62 | TOOLKIT is `athena' or `motif' (`yes' and `lucid' are synonyms for | |
| 67 | Note: 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 |
| 68 | libraries. | 64 | shared 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 | ||
| @@ -109,7 +91,7 @@ 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 |
| @@ -119,10 +101,7 @@ For example, the command | |||
| 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 |
| @@ -130,10 +109,15 @@ 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 |
| @@ -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. | |||
| 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! |
| @@ -419,12 +403,7 @@ 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 | ||