Mercurial > emacs
comparison INSTALL @ 108966:6f4e41648c3f
Make compressing the info files optional.
* configure.in (--without-compress-info): New option.
(GZIP_INFO): New output variable.
* Makefile.in (GZIP_INFO): New, set by configure.
(install-arch-indep): Don't gzip info pages if GZIP_INFO is nil.
Handle man pages in the same way.
* etc/NEWS: Re-order installation section, and add new item.
author | Glenn Morris <rgm@gnu.org> |
---|---|
date | Thu, 10 Jun 2010 20:35:40 -0700 |
parents | dedcf813aa69 |
children | 83458f5cdc38 |
comparison
equal
deleted
inserted
replaced
108965:89ec3a7ebb87 | 108966:6f4e41648c3f |
---|---|
4 Free Software Foundation, Inc. | 4 Free Software Foundation, Inc. |
5 See the end of the file for license conditions. | 5 See the end of the file for license conditions. |
6 | 6 |
7 | 7 |
8 This file contains general information. For more specific information | 8 This file contains general information. For more specific information |
9 for the Windows, GNUstep/Mac OS X, and MS-DOS ports, also see the files | 9 for the MS-Windows, GNUstep/Mac OS X, and MS-DOS ports, also see the files |
10 nt/INSTALL nextstep/INSTALL, and msdos/INSTALL. For information | 10 nt/INSTALL, nextstep/INSTALL, and msdos/INSTALL. For information |
11 specific to building from a Bazaar checkout (rather than a release), see | 11 specific to building from a Bazaar checkout (rather than a release), see |
12 the file INSTALL.BZR. | 12 the file INSTALL.BZR. |
13 | 13 |
14 | 14 |
15 BASIC INSTALLATION | 15 BASIC INSTALLATION |
16 | 16 |
17 The simplest way to build Emacs is to use the `configure' shell script | 17 On most Unix systems, you can build Emacs by first running the |
18 which attempts to guess correct values for various system-dependent | 18 `configure' shell script. This attempts to deduce correct values for |
19 variables and features and find the directories where various system | 19 various system-dependent variables and features, and find the |
20 headers and libraries are kept. It then creates a `Makefile' in each | 20 directories where certain system headers and libraries are kept. |
21 subdirectory and a `config.h' file containing system-dependent | 21 In a few cases, you may need to explicitly tell configure where to |
22 definitions. Running the `make' utility then builds the package for | 22 find some things, or what options to use. |
23 your system. | 23 |
24 `configure' creates a `Makefile' in several subdirectories, and a | |
25 `src/config.h' file containing system-dependent definitions. | |
26 Running the `make' utility then builds the package for your system. | |
24 | 27 |
25 Here's the procedure to build Emacs using `configure' on systems which | 28 Here's the procedure to build Emacs using `configure' on systems which |
26 are supported by it. If this simplified procedure fails, or if you | 29 are supported by it. In rare cases, if the simplified procedure fails, |
27 are using a platform such as MS-Windows, where `configure' script | 30 you might need to use various non-default options, and maybe perform |
28 doesn't work, you might need to use various non-default options, and | 31 some of the steps manually. The more detailed description in the rest |
29 maybe perform some of the steps manually. The more detailed | 32 of the sections of this guide will help you do that, so please refer |
30 description in the rest of the sections of this guide will help you do | 33 to those sections if you need to. |
31 that, so please refer to them if the simple procedure does not work. | 34 |
32 | 35 1. Make sure your system has at least 230 MB of free disk space. |
33 1. Make sure your system has at least 120 MB of free disk space. | 36 This is for Emacs 23.2; Emacs gets bigger as more features are added. |
37 The size of the final installed Emacs is about half this; see below. | |
38 This includes the space-saving that comes from automatically | |
39 compressing the Lisp source files on installation. | |
34 | 40 |
35 2a. `cd' to the directory where you unpacked Emacs and invoke the | 41 2a. `cd' to the directory where you unpacked Emacs and invoke the |
36 `configure' script: | 42 `configure' script: |
37 | 43 |
38 ./configure | 44 ./configure |
50 about the system configuration. Read those details carefully | 56 about the system configuration. Read those details carefully |
51 looking for anything suspicious, such as wrong CPU and operating | 57 looking for anything suspicious, such as wrong CPU and operating |
52 system names, wrong places for headers or libraries, missing | 58 system names, wrong places for headers or libraries, missing |
53 libraries that you know are installed on your system, etc. | 59 libraries that you know are installed on your system, etc. |
54 | 60 |
55 If you find anything wrong, you will have to pass to `configure' | 61 If you find anything wrong, you may have to pass to `configure' |
56 explicit machine configuration name, and one or more options | 62 one or more options specifying the explicit machine configuration |
57 which tell it where to find various headers and libraries; refer | 63 name, where to find various headers and libraries, etc. |
58 to DETAILED BUILDING AND INSTALLATION section below. | 64 Refer to the section DETAILED BUILDING AND INSTALLATION below. |
59 | 65 |
60 If `configure' didn't find some image support libraries, such as | 66 If `configure' didn't find some (optional) image support libraries, |
61 Xpm, jpeg, etc., and you want to use them refer to the subsection | 67 such as Xpm, jpeg, etc., and you want to use them refer to the |
62 "Image support libraries", below. | 68 subsection "Image support libraries" below. |
63 | 69 |
64 If the details printed by `configure' don't make any sense to | 70 If the details printed by `configure' don't make any sense to |
65 you, assume that `configure' did its job and proceed. | 71 you, but there are no obvious errors, assume that `configure' did |
72 its job and proceed. | |
66 | 73 |
67 4. If you need to run the `configure' script more than once (e.g., | 74 4. If you need to run the `configure' script more than once (e.g., |
68 with some non-default options), always clean the source | 75 with some non-default options), always clean the source |
69 directories before running `configure' again: | 76 directories before running `configure' again: |
70 | 77 |
77 | 84 |
78 6. If `make' succeeds, it will build an executable program `emacs' | 85 6. If `make' succeeds, it will build an executable program `emacs' |
79 in the `src' directory. You can try this program, to make sure | 86 in the `src' directory. You can try this program, to make sure |
80 it works: | 87 it works: |
81 | 88 |
82 src/emacs -q | 89 src/emacs -Q |
83 | 90 |
84 7. Assuming that the program `src/emacs' starts and displays its | 91 7. Assuming that the program `src/emacs' starts and displays its |
85 opening screen, you can install the program and its auxiliary | 92 opening screen, you can install the program and its auxiliary |
86 files into their installation directories: | 93 files into their installation directories: |
87 | 94 |
91 you may remove the program binaries and object files from the | 98 you may remove the program binaries and object files from the |
92 directory where you built Emacs: | 99 directory where you built Emacs: |
93 | 100 |
94 make clean | 101 make clean |
95 | 102 |
96 You can also save some space by compressing (with `gzip') Info files | 103 You can delete the entire build directory if you do not plan to |
97 and installed Lisp source (.el) files which have corresponding .elc | 104 build Emacs again. |
98 versions. | 105 |
106 Note that the install automatically saves space by compressing | |
107 (provided you have the `gzip' program) those installed Lisp source (.el) | |
108 files that have corresponding .elc versions. You may also wish | |
109 to compress the installed Info files. | |
99 | 110 |
100 | 111 |
101 ADDITIONAL DISTRIBUTION FILES | 112 ADDITIONAL DISTRIBUTION FILES |
102 | 113 |
103 * Complex Text Layout support libraries | 114 * Complex Text Layout support libraries |
155 contain header files and a library archive. Otherwise, you can | 166 contain header files and a library archive. Otherwise, you can |
156 download and build libraries from sources. None of them are vital for | 167 download and build libraries from sources. None of them are vital for |
157 running Emacs; however, note that Emacs will not be able to use | 168 running Emacs; however, note that Emacs will not be able to use |
158 colored icons in the toolbar if XPM support is not compiled in. | 169 colored icons in the toolbar if XPM support is not compiled in. |
159 | 170 |
160 Here's the list of these optional libraries, and the URLs where they | 171 Here's the list of some of these optional libraries, and the URLs |
161 can be found: | 172 where they can be found (in the unlikely event that your distribution |
162 | 173 does not provide them): |
163 . libXaw3d for fancy 3D-style | 174 |
164 scroll bars: ftp://ftp.x.org/contrib/widgets/Xaw3d/ | 175 . libXaw3d http://directory.fsf.org/project/xaw3d/ |
165 . libxpm for XPM: ftp://ftp.x.org/contrib/libraries/ | 176 . libxpm for XPM: http://www.x.org/releases/current/src/lib/ |
166 Get version 3.4k or later, which lets Emacs | 177 . libpng for PNG: http://www.libpng.org/ |
167 use its own color allocation functions. | |
168 . libpng for PNG: ftp://ftp.simplesystems.org/pub/libpng/png/ | |
169 . libz (for PNG): http://www.zlib.net/ | 178 . libz (for PNG): http://www.zlib.net/ |
170 . libjpeg for JPEG: ftp://ftp.uu.net/graphics/jpeg/ | 179 . libjpeg for JPEG: http://www.ijg.org/ (use a version newer than 6a) |
171 Get version 6b -- 6a is reported to fail in | |
172 Emacs. | |
173 . libtiff for TIFF: http://www.libtiff.org/ | 180 . libtiff for TIFF: http://www.libtiff.org/ |
174 . libgif for GIF: http://sourceforge.net/projects/giflib/ | 181 . libgif for GIF: http://sourceforge.net/projects/giflib/ |
175 | 182 |
176 Emacs will configure itself to build with these libraries if the | 183 Emacs will configure itself to build with these libraries if the |
177 `configure' script finds them on your system, unless you supply the | 184 `configure' script finds them on your system, unless you supply the |
181 --without-LIB options to `configure'. See below for more details. | 188 --without-LIB options to `configure'. See below for more details. |
182 | 189 |
183 * Extra fonts | 190 * Extra fonts |
184 | 191 |
185 The Emacs distribution does not include fonts and does not install | 192 The Emacs distribution does not include fonts and does not install |
186 them. You must do that yourself. | 193 them. You must do that yourself, if you need more fonts than your |
194 distribution normally provides. | |
187 | 195 |
188 Emacs running on the GNU system supports both X fonts and local fonts | 196 Emacs running on the GNU system supports both X fonts and local fonts |
189 (i.e. the fonts managed by the fontconfig library). | 197 (i.e. the fonts managed by the fontconfig library). |
190 | 198 |
191 For `Unicode' (ISO 10646) X fonts, see | 199 For `Unicode' (ISO 10646) X fonts, see |
192 <URL:http://czyborra.com/unifont/> (packaged in Debian), | 200 <URL:http://czyborra.com/unifont/> (packaged in Debian), |
193 <URL:http://openlab.ring.gr.jp/efont/> (packaged in Debian). (In | 201 <URL:http://openlab.ring.gr.jp/efont/> (packaged in Debian). |
194 recent Debian versions, there is an extensive `misc-fixed' iso10646-1 | 202 (In recent Debian versions, there is an extensive `misc-fixed' |
195 in the default X installation.) Perhaps also see | 203 iso10646-1 in the default X installation.) Perhaps also see |
196 <URL:http://www.cl.cam.ac.uk/%7Emgk25/ucs-fonts.html>. | 204 <URL:http://www.cl.cam.ac.uk/%7Emgk25/ucs-fonts.html>. |
197 | 205 |
198 <URL:http://czyborra.com/charsets/> has basic fonts for Emacs's | 206 <URL:http://czyborra.com/charsets/> has basic fonts for Emacs's |
199 ISO-8859 charsets. | 207 ISO-8859 charsets. |
200 | |
201 XFree86 release 4 (from <URL:ftp://ftp.xfree86.org/pub/XFree86/> and mirrors) | |
202 contains font support for most, if not all, of the charsets that Emacs | |
203 currently supports, including iso10646-1 encoded fonts for use with | |
204 the mule-unicode charsets. The font files should also be usable with | |
205 older X releases. Note that XFree 4 contains many iso10646-1 fonts | |
206 with minimal character repertoires, which can cause problems -- see | |
207 etc/PROBLEMS. | |
208 | 208 |
209 BDF Unicode fonts etl-unicode.tar.gz are available from | 209 BDF Unicode fonts etl-unicode.tar.gz are available from |
210 <URL:ftp://ftp.x.org/contrib/fonts/> and | 210 <URL:ftp://ftp.x.org/contrib/fonts/> and |
211 <URL:ftp://ftp.xfree86.org/pub/mirror/X.Org/contrib/fonts/>. These | 211 <URL:ftp://ftp.xfree86.org/pub/mirror/X.Org/contrib/fonts/>. These |
212 fonts can also be used by ps-print and ps-mule to print Unicode | 212 fonts can also be used by ps-print and ps-mule to print Unicode |
215 Finally, the Web page <URL:http://www.gnu.org/software/freefont/> | 215 Finally, the Web page <URL:http://www.gnu.org/software/freefont/> |
216 lists a large number of free Unicode fonts. | 216 lists a large number of free Unicode fonts. |
217 | 217 |
218 * GNU/Linux development packages | 218 * GNU/Linux development packages |
219 | 219 |
220 Many GNU/Linux systems do not come with development packages by | 220 Many GNU/Linux systems do not come with development packages by default; |
221 default; they just include the files that you need to run Emacs, but | 221 they include the files that you need to run Emacs, but not those you |
222 not those you need to compile it. For example, to compile Emacs with | 222 need to compile it. For example, to compile Emacs with support for X |
223 X11 support, you may need to install the special `X11 development' | 223 and graphics libraries, you may need to install the `X development' |
224 package. For example, in April 2003, the package names to install | 224 package(s) and development versions of the jpeg, png, etc. packages. |
225 were `XFree86-devel' and `Xaw3d-devel' on Red Hat. On Debian, the | 225 |
226 packages necessary to build the installed version should be | 226 The names of the packages that you need varies according to the |
227 sufficient; they can be installed using `apt-get build-dep emacs21' in | 227 GNU/Linux distribution that you use, and the options that you want to |
228 Debian 3 and above. | 228 configure Emacs with. On Debian-based systems, you can install all the |
229 packages needed to build the installed version of Emacs with a command | |
230 like `apt-get build-dep emacs23'. | |
229 | 231 |
230 | 232 |
231 DETAILED BUILDING AND INSTALLATION: | 233 DETAILED BUILDING AND INSTALLATION: |
232 | 234 |
233 (This is for a Unix or Unix-like system. For MS-DOS and Windows 3.X, | 235 (This is for a Unix or Unix-like system. For MS-DOS and Windows 3.X, |
238 1) Make sure your system has enough swapping space allocated to handle | 240 1) Make sure your system has enough swapping space allocated to handle |
239 a program whose pure code is 1.5 MB and whose data area is at | 241 a program whose pure code is 1.5 MB and whose data area is at |
240 least 2.8 MB and can reach 100 MB or more. If the swapping space is | 242 least 2.8 MB and can reach 100 MB or more. If the swapping space is |
241 insufficient, you will get an error in the command `temacs -batch -l | 243 insufficient, you will get an error in the command `temacs -batch -l |
242 loadup dump', found in `./src/Makefile.in', or possibly when | 244 loadup dump', found in `./src/Makefile.in', or possibly when |
243 running the final dumped Emacs. | 245 running the final dumped Emacs. (This should not be an issue |
244 | 246 on any recent system.) |
245 Building Emacs requires about 140 MB of disk space (including the | 247 |
246 Emacs sources) Once installed, Emacs occupies about 77 MB in the file | 248 Building Emacs requires about 230 MB of disk space (including the |
249 Emacs sources). Once installed, Emacs occupies about 120 MB in the file | |
247 system where it is installed; this includes the executable files, Lisp | 250 system where it is installed; this includes the executable files, Lisp |
248 libraries, miscellaneous data files, and on-line documentation. If | 251 libraries, miscellaneous data files, and on-line documentation. If |
249 the building and installation take place in different directories, | 252 the building and installation take place in different directories, |
250 then the installation procedure momentarily requires 140+77 MB. | 253 then the installation procedure momentarily requires 230+120 MB. |
251 | 254 |
252 2) Consult `./etc/MACHINES' to see what configuration name you should | 255 2) In the unlikely event that `configure' does not detect your system |
253 give to the `configure' program. That file offers hints for | 256 type correctly, consult `./etc/MACHINES' to see what --host, --build |
254 getting around some possible installation problems. The file lists | 257 options you should pass to `configure'. That file also offers hints |
255 many different configurations, but only the part for your machine and | 258 for getting around some possible installation problems. |
256 operating system is relevant. (The list is arranged in alphabetical | |
257 order by the vendor name.) | |
258 | 259 |
259 3) You can build Emacs in the top-level Emacs source directory | 260 3) You can build Emacs in the top-level Emacs source directory |
260 or in a separate directory. | 261 or in a separate directory. |
261 | 262 |
262 3a) To build in the top-level Emacs source directory, go to that | 263 3a) To build in the top-level Emacs source directory, go to that |
263 directory and run the program `configure' as follows: | 264 directory and run the program `configure' as follows: |
264 | 265 |
265 ./configure [CONFIGURATION-NAME] [--OPTION[=VALUE]] ... | 266 ./configure [--OPTION[=VALUE]] ... |
266 | 267 |
267 The CONFIGURATION-NAME argument should be a configuration name given | 268 If `configure' cannot determine your system type, try again |
268 in `./etc/MACHINES', with the system version number added at the end. | 269 specifying the proper --build, --host options explicitly. |
269 | |
270 You should try first omitting CONFIGURATION-NAME. This way, | |
271 `configure' will try to guess your system type. If it cannot guess, | |
272 or if something goes wrong in building or installing Emacs this way, | |
273 try again specifying the proper CONFIGURATION-NAME explicitly. | |
274 | 270 |
275 If you don't want X support, specify `--with-x=no'. If you omit this | 271 If you don't want X support, specify `--with-x=no'. If you omit this |
276 option, `configure' will try to figure out for itself whether your | 272 option, `configure' will try to figure out for itself whether your |
277 system has X, and arrange to use it if present. | 273 system has X, and arrange to use it if present. |
278 | 274 |
281 object libraries used with the X Window System. Normally, `configure' | 277 object libraries used with the X Window System. Normally, `configure' |
282 is able to find them; these options are necessary if you have your X | 278 is able to find them; these options are necessary if you have your X |
283 Window System files installed in unusual places. These options also | 279 Window System files installed in unusual places. These options also |
284 accept a list of directories, separated with colons. | 280 accept a list of directories, separated with colons. |
285 | 281 |
282 [gtk is default] | |
286 To get more attractive menus, you can specify an X toolkit when you | 283 To get more attractive menus, you can specify an X toolkit when you |
287 configure Emacs; use the option `--with-x-toolkit=TOOLKIT', where | 284 configure Emacs; use the option `--with-x-toolkit=TOOLKIT', where |
288 TOOLKIT is `athena', `motif' or `gtk' (`yes' and `lucid' are synonyms | 285 TOOLKIT is `gtk', `athena', or `motif' (`yes' and `lucid' are synonyms |
289 for `athena'). On some systems, it does not work to use a toolkit | 286 for `athena'). On some systems, it does not work to use a toolkit |
290 with shared libraries. A free implementation of Motif, called | 287 with shared libraries. A free implementation of Motif, called |
291 LessTif, is available from <http://www.lesstif.org>. Compiling with | 288 LessTif, is available from <http://www.lesstif.org>. Compiling with |
292 LessTif or Motif causes a standard File Selection Dialog to pop up | 289 LessTif or Motif causes a standard File Selection Dialog to pop up |
293 when you invoke file commands with the mouse. You can get fancy | 290 when you invoke file commands with the mouse. You can get fancy |
294 3D-style scroll bars, even without LessTif/Motif, if you have the | 291 3D-style scroll bars, even without Gtk or LessTif/Motif, if you have the |
295 Xaw3d library installed (see "Image support libraries" above for Xaw3d | 292 Xaw3d library installed (see "Image support libraries" above for Xaw3d |
296 availability). | 293 availability). |
297 | 294 |
298 If `--with-x-toolkit=gtk' is specified, you can tell configure where | 295 If `--with-x-toolkit=gtk' is specified, you can tell configure where |
299 to search for GTK by specifying `--with-pkg-config-prog=PATH' where | 296 to search for GTK by specifying `--with-pkg-config-prog=PATH' where |
323 --without-png for PNG image support | 320 --without-png for PNG image support |
324 | 321 |
325 Use --without-toolkit-scroll-bars to disable LessTif/Motif or Xaw3d | 322 Use --without-toolkit-scroll-bars to disable LessTif/Motif or Xaw3d |
326 scroll bars. | 323 scroll bars. |
327 | 324 |
328 Use --without-xim to inhibit the default use of X Input Methods. In | 325 Use --without-xim to inhibit the default use of X Input Methods. |
329 this case, the X resource useXIM can be used to turn on use of XIM. | 326 In this case, the X resource useXIM can be used to turn on use of XIM. |
330 | 327 |
331 Use --disable-largefile omits support for files larger than 2GB on | 328 Use --disable-largefile to omit support for files larger than 2GB on |
332 systems which support that. | 329 systems which support that. |
333 | 330 |
334 Use --without-sound to disable sound support. | 331 Use --without-sound to disable sound support. |
335 | 332 |
336 The `--prefix=PREFIXDIR' option specifies where the installation process | 333 The `--prefix=PREFIXDIR' option specifies where the installation process |
337 should put emacs and its data files. This defaults to `/usr/local'. | 334 should put emacs and its data files. This defaults to `/usr/local'. |
338 - Emacs (and the other utilities users run) go in PREFIXDIR/bin | 335 - Emacs (and the other utilities users run) go in PREFIXDIR/bin |
339 (unless the `--exec-prefix' option says otherwise). | 336 (unless the `--exec-prefix' option says otherwise). |
340 - The architecture-independent files go in PREFIXDIR/share/emacs/VERSION | 337 - The architecture-independent files go in PREFIXDIR/share/emacs/VERSION |
341 (where VERSION is the version number of Emacs, like `19.27'). | 338 (where VERSION is the version number of Emacs, like `23.2'). |
342 - The architecture-dependent files go in | 339 - The architecture-dependent files go in |
343 PREFIXDIR/libexec/emacs/VERSION/CONFIGURATION | 340 PREFIXDIR/libexec/emacs/VERSION/CONFIGURATION |
344 (where CONFIGURATION is the configuration name, like mips-dec-ultrix4.2), | 341 (where CONFIGURATION is the configuration name, like |
345 unless the `--exec-prefix' option says otherwise. | 342 i686-pc-linux-gnu), unless the `--exec-prefix' option says otherwise. |
346 | 343 |
347 The `--exec-prefix=EXECDIR' option allows you to specify a separate | 344 The `--exec-prefix=EXECDIR' option allows you to specify a separate |
348 portion of the directory tree for installing architecture-specific | 345 portion of the directory tree for installing architecture-specific |
349 files, like executables and utility programs. If specified, | 346 files, like executables and utility programs. If specified, |
350 - Emacs (and the other utilities users run) go in EXECDIR/bin, and | 347 - Emacs (and the other utilities users run) go in EXECDIR/bin, and |
352 EXECDIR/libexec/emacs/VERSION/CONFIGURATION. | 349 EXECDIR/libexec/emacs/VERSION/CONFIGURATION. |
353 EXECDIR/bin should be a directory that is normally in users' PATHs. | 350 EXECDIR/bin should be a directory that is normally in users' PATHs. |
354 | 351 |
355 For example, the command | 352 For example, the command |
356 | 353 |
357 ./configure mips-dec-ultrix --with-x11 | 354 ./configure --build=i386-linux-gnu --without-sound |
358 | 355 |
359 configures Emacs to build for a DECstation running Ultrix, with | 356 configures Emacs to build for a 32-bit GNU/Linux distribution, |
360 support for the X11 window system. | 357 without sound. |
361 | 358 |
362 `configure' doesn't do any compilation or installation | 359 `configure' doesn't do any compilation or installation itself. |
363 itself. It just creates the files that influence those things: | 360 It just creates the files that influence those things: |
364 `./Makefile', `lib-src/Makefile', `oldXMenu/Makefile', | 361 `./Makefile' in the top-level directory and several subdirectories; |
365 `lwlib/Makefile', `src/Makefile', and `./src/config.h'. For details | 362 and `./src/config.h'. For details on exactly what it does, see the |
366 on exactly what it does, see the section called `CONFIGURATION BY | 363 section called `CONFIGURATION BY HAND', below. |
367 HAND', below. | |
368 | 364 |
369 When it is done, `configure' prints a description of what it did and | 365 When it is done, `configure' prints a description of what it did and |
370 creates a shell script `config.status' which, when run, recreates the | 366 creates a shell script `config.status' which, when run, recreates the |
371 same configuration. If `configure' exits with an error after | 367 same configuration. If `configure' exits with an error after |
372 disturbing the status quo, it removes `config.status'. `configure' | 368 disturbing the status quo, it removes `config.status'. `configure' |
434 Emacs source code in the directory that `configure' is in. | 430 Emacs source code in the directory that `configure' is in. |
435 | 431 |
436 To build in a separate directory, you must use a version of `make' | 432 To build in a separate directory, you must use a version of `make' |
437 that supports the `VPATH' variable, such as GNU `make'. | 433 that supports the `VPATH' variable, such as GNU `make'. |
438 | 434 |
439 3c) Some people try to build in a separate directory by filling | 435 (Do not try to build in a separate directory by creating many links |
440 it full of symlinks to the files in the real source directory. | 436 to the real source directory -- there is no need, and installation |
441 If you do that, `make all' does work, but `make install' fails: | 437 will fail.) |
442 it copies the symbolic links rather than the actual files. | |
443 | |
444 As far as is known, there is no particular reason to use | |
445 a directory full of links rather than use the standard GNU | |
446 facilities to build in a separate directory (see 3b above). | |
447 | 438 |
448 4) Look at `./lisp/paths.el'; if some of those values are not right | 439 4) Look at `./lisp/paths.el'; if some of those values are not right |
449 for your system, set up the file `./lisp/site-init.el' with Emacs | 440 for your system, set up the file `./lisp/site-init.el' with Emacs |
450 Lisp code to override them; it is not a good idea to edit paths.el | 441 Lisp code to override them; it is not a good idea to edit paths.el |
451 itself. YOU MUST USE THE LISP FUNCTION `setq' TO ASSIGN VALUES, | 442 itself. YOU MUST USE THE LISP FUNCTION `setq' TO ASSIGN VALUES, |
452 rather than `defvar', as used by `./lisp/paths.el'. For example, | 443 rather than `defvar', as used by `./lisp/paths.el'. For example, |
453 | 444 |
454 (setq news-inews-program "/usr/bin/inews") | 445 (setq news-inews-program "/usr/bin/inews") |
455 | 446 |
456 is how you would override the default value of the variable | 447 is how you would override the default value of the variable |
457 news-inews-program (which is "/usr/local/inews"). | 448 news-inews-program. |
458 | 449 |
459 Before you override a variable this way, *look at the value* that the | 450 Before you override a variable this way, *look at the value* that the |
460 variable gets by default! Make sure you know what kind of value the | 451 variable gets by default! Make sure you know what kind of value the |
461 variable should have. If you don't pay attention to what you are | 452 variable should have. If you don't pay attention to what you are |
462 doing, you'll make a mistake. | 453 doing, you'll make a mistake. |
471 | 462 |
472 If you set load-path to a different value in site-init.el or | 463 If you set load-path to a different value in site-init.el or |
473 site-load.el, Emacs will use *precisely* that value when it starts up | 464 site-load.el, Emacs will use *precisely* that value when it starts up |
474 again. If you do this, you are on your own! | 465 again. If you do this, you are on your own! |
475 | 466 |
476 Note that, on some systems, the code you place in site-init.el must | |
477 not use expand-file-name or any other function which may look | |
478 something up in the system's password and user information database. | |
479 See `./etc/PROBLEMS' for more details on which systems this affects. | |
480 | |
481 The `site-*.el' files are nonexistent in the distribution. You do not | 467 The `site-*.el' files are nonexistent in the distribution. You do not |
482 need to create them if you have nothing to put in them. | 468 need to create them if you have nothing to put in them. |
483 | 469 |
484 6) Refer to the file `./etc/TERMS' for information on fields you may | 470 6) Refer to the file `./etc/TERMS' for information on fields you may |
485 wish to add to various termcap entries. The files `./etc/termcap.ucb' | 471 wish to add to various termcap entries. |
486 and `./etc/termcap.dat' may already contain appropriately-modified | |
487 entries. | |
488 | 472 |
489 7) Run `make' in the top directory of the Emacs distribution to finish | 473 7) Run `make' in the top directory of the Emacs distribution to finish |
490 building Emacs in the standard way. The final executable file is | 474 building Emacs in the standard way. The final executable file is |
491 named `src/emacs'. You can execute this file "in place" without | 475 named `src/emacs'. You can execute this file "in place" without |
492 copying it, if you wish; then it automatically uses the sibling | 476 copying it, if you wish; then it automatically uses the sibling |
496 installed locations, with `make install'. By default, Emacs's files | 480 installed locations, with `make install'. By default, Emacs's files |
497 are installed in the following directories: | 481 are installed in the following directories: |
498 | 482 |
499 `/usr/local/bin' holds the executable programs users normally run - | 483 `/usr/local/bin' holds the executable programs users normally run - |
500 `emacs', `etags', `ctags', `b2m', `emacsclient', | 484 `emacs', `etags', `ctags', `b2m', `emacsclient', |
501 and `rcs-checkin'. | 485 `grep-changelog', and `rcs-checkin'. |
502 | 486 |
503 `/usr/local/share/emacs/VERSION/lisp' holds the Emacs Lisp library; | 487 `/usr/local/share/emacs/VERSION/lisp' holds the Emacs Lisp library; |
504 `VERSION' stands for the number of the Emacs version | 488 `VERSION' stands for the number of the Emacs version |
505 you are installing, like `18.59' or `19.27'. Since the | 489 you are installing, like `23.1' or `23.2'. Since the |
506 Lisp library changes from one version of Emacs to | 490 Lisp library changes from one version of Emacs to |
507 another, including the version number in the path | 491 another, including the version number in the path |
508 allows you to have several versions of Emacs installed | 492 allows you to have several versions of Emacs installed |
509 at the same time; in particular, you don't have to | 493 at the same time; in particular, you don't have to |
510 make Emacs unavailable while installing a new version. | 494 make Emacs unavailable while installing a new version. |
511 | 495 |
512 `/usr/local/share/emacs/VERSION/etc' holds the Emacs tutorial, the DOC | 496 `/usr/local/share/emacs/VERSION/etc' holds the Emacs tutorial, the DOC |
513 file, the `yow' database, and other | 497 file, and other architecture-independent files Emacs |
514 architecture-independent files Emacs might need while | 498 might need while running. |
515 running. VERSION is as specified for `.../lisp'. | |
516 | 499 |
517 `/usr/local/libexec/emacs/VERSION/CONFIGURATION-NAME' contains executable | 500 `/usr/local/libexec/emacs/VERSION/CONFIGURATION-NAME' contains executable |
518 programs used by Emacs that users are not expected to | 501 programs used by Emacs that users are not expected to |
519 run themselves. | 502 run themselves. |
520 `VERSION' is the number of the Emacs version you are | 503 `VERSION' is the number of the Emacs version you are |
521 installing, and `CONFIGURATION-NAME' is the argument | 504 installing, and `CONFIGURATION-NAME' is the value |
522 you gave to the `configure' program to identify the | 505 deduced by the `configure' program to identify the |
523 architecture and operating system of your machine, | 506 architecture and operating system of your machine, |
524 like `mips-dec-ultrix' or `sparc-sun-sunos'. Since | 507 like `i686-pc-linux-gnu' or `sparc-sun-sunos'. Since |
525 these files are specific to the version of Emacs, | 508 these files are specific to the version of Emacs, |
526 operating system, and architecture in use, including | 509 operating system, and architecture in use, including |
527 the configuration name in the path allows you to have | 510 the configuration name in the path allows you to have |
528 several versions of Emacs for any mix of machines and | 511 several versions of Emacs for any mix of machines and |
529 operating systems installed at the same time; this is | 512 operating systems installed at the same time; this is |
531 share the file system Emacs is installed on. | 514 share the file system Emacs is installed on. |
532 | 515 |
533 `/usr/local/share/info' holds the on-line documentation for Emacs, | 516 `/usr/local/share/info' holds the on-line documentation for Emacs, |
534 known as "info files". Many other GNU programs are | 517 known as "info files". Many other GNU programs are |
535 documented using info files as well, so this directory | 518 documented using info files as well, so this directory |
536 stands apart from the other, Emacs-specific | 519 stands apart from the other, Emacs-specific directories. |
537 directories. | 520 |
538 | 521 `/usr/local/share/man/man1' holds the man pages for the programs installed |
539 `/usr/local/man/man1' holds the man pages for the programs installed | |
540 in `/usr/local/bin'. | 522 in `/usr/local/bin'. |
541 | 523 |
542 Any version of Emacs, whether installed or not, also looks for Lisp | 524 Any version of Emacs, whether installed or not, also looks for Lisp |
543 files in these directories. | 525 files in these directories. |
544 | 526 |
597 `datadir' indicates where to put the architecture-independent | 579 `datadir' indicates where to put the architecture-independent |
598 read-only data files that Emacs refers to while it runs; it | 580 read-only data files that Emacs refers to while it runs; it |
599 defaults to /usr/local/share. We create the following | 581 defaults to /usr/local/share. We create the following |
600 subdirectories under `datadir': | 582 subdirectories under `datadir': |
601 - `emacs/VERSION/lisp', containing the Emacs Lisp library, and | 583 - `emacs/VERSION/lisp', containing the Emacs Lisp library, and |
602 - `emacs/VERSION/etc', containing the Emacs tutorial, the DOC | 584 - `emacs/VERSION/etc', containing the tutorials, DOC file, etc. |
603 file, and the `yow' database. | |
604 `VERSION' is the number of the Emacs version you are installing, | 585 `VERSION' is the number of the Emacs version you are installing, |
605 like `18.59' or `19.0'. Since these files vary from one version | 586 like `23.1' or `23.2'. Since these files vary from one version |
606 of Emacs to another, including the version number in the path | 587 of Emacs to another, including the version number in the path |
607 allows you to have several versions of Emacs installed at the | 588 allows you to have several versions of Emacs installed at the |
608 same time; this means that you don't have to make Emacs | 589 same time; this means that you don't have to make Emacs |
609 unavailable while installing a new version. | 590 unavailable while installing a new version. |
610 | 591 |
613 We create the following subdirectories under `libexecdir': | 594 We create the following subdirectories under `libexecdir': |
614 - `emacs/VERSION/CONFIGURATION-NAME', containing executable | 595 - `emacs/VERSION/CONFIGURATION-NAME', containing executable |
615 programs used by Emacs that users are not expected to run | 596 programs used by Emacs that users are not expected to run |
616 themselves. | 597 themselves. |
617 `VERSION' is the number of the Emacs version you are installing, | 598 `VERSION' is the number of the Emacs version you are installing, |
618 and `CONFIGURATION-NAME' is the argument you gave to the | 599 and `CONFIGURATION-NAME' is the value deduced by the |
619 `configure' program to identify the architecture and operating | 600 `configure' program to identify the architecture and operating |
620 system of your machine, like `mips-dec-ultrix' or | 601 system of your machine, like `i686-pc-linux-gnu' or `sparc-sun-sunos'. |
621 `sparc-sun-sunos'. Since these files are specific to the version | 602 Since these files are specific to the version of Emacs, |
622 of Emacs, operating system, and architecture in use, including | 603 operating system, and architecture in use, including the |
623 the configuration name in the path allows you to have several | 604 configuration name in the path allows you to have several |
624 versions of Emacs for any mix of machines and operating systems | 605 versions of Emacs for any mix of machines and operating |
625 installed at the same time; this is useful for sites at which | 606 systems installed at the same time; this is useful for sites |
626 different kinds of machines share the file system Emacs is | 607 at which different kinds of machines share the file system |
627 installed on. | 608 Emacs is installed on. |
628 | 609 |
629 `infodir' indicates where to put the info files distributed with | 610 `infodir' indicates where to put the info files distributed with |
630 Emacs; it defaults to `/usr/local/share/info'. | 611 Emacs; it defaults to `/usr/local/share/info'. |
631 | 612 |
632 `mandir' indicates where to put the man pages for Emacs and its | 613 `mandir' indicates where to put the man pages for Emacs and its |
633 utilities (like `etags'); it defaults to | 614 utilities (like `etags'); it defaults to |
634 `/usr/local/man/man1'. | 615 `/usr/local/share/man/man1'. |
616 | |
617 [here] | |
635 | 618 |
636 `manext' gives the extension the man pages should be installed with. | 619 `manext' gives the extension the man pages should be installed with. |
637 It should contain a period, followed by the appropriate | 620 It should contain a period, followed by the appropriate |
638 digit. It defaults to `.1'. For example given the default | 621 digit. It defaults to `.1'. For example given the default |
639 values for `mandir' and `manext', the Emacs man page would be | 622 values for `mandir' and `manext', the Emacs man page would be |