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