aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2000-12-27 16:14:51 +0000
committerEli Zaretskii2000-12-27 16:14:51 +0000
commit071fcb2cebd24233fbc75ce5168834571a26eadc (patch)
treee1e1a16651f3a7d9123f991000f7fe0260726517
parent14ec09d77ec49c6e061026fea83bcf5065fcc829 (diff)
downloademacs-071fcb2cebd24233fbc75ce5168834571a26eadc.tar.gz
emacs-071fcb2cebd24233fbc75ce5168834571a26eadc.zip
Add basic installation procedure which assumes `configure' does its job.
Elaborate on image support libraries. Add a pointer to Xaw3d library. Add advice about solving configure-time problems by looking in config.log and setting variables in the envoronment.
-rw-r--r--INSTALL208
1 files changed, 174 insertions, 34 deletions
diff --git a/INSTALL b/INSTALL
index bec3af547c0..80cb1f150ce 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
1GNU Emacs Installation Guide 1GNU Emacs Installation Guide
2Copyright (c) 1992, 1994, 1996, 1997 Free software Foundation, Inc. 2Copyright (c) 1992, 1994, 1996, 1997, 2000 Free software Foundation, Inc.
3 3
4 Permission is granted to anyone to make or distribute verbatim copies 4 Permission is granted to anyone to make or distribute verbatim copies
5 of this document as received, in any medium, provided that the 5 of this document as received, in any medium, provided that the
@@ -14,16 +14,105 @@ Copyright (c) 1992, 1994, 1996, 1997 Free software Foundation, Inc.
14 and that any new or changed statements about the activities 14 and that any new or changed statements about the activities
15 of the Free Software Foundation are approved by the Foundation. 15 of the Free Software Foundation are approved by the Foundation.
16 16
17BASIC INSTALLATION
18
19The simplest way to build Emacs is to use the `configure' shell script
20which attempts to guess correct values for various system-dependent
21variables and features and find the directories where various system
22headers and libraries are kept. It then creates a `Makefile' in each
23subdirectory and a `config.h' file containing system-dependent
24definitions. Running the Make utility then builds the package for
25your system.
26
27Here's the procedure to build Emacs using `configure' on systems which
28are supported by it. If this simplified procedure fails, or if you
29are using a platform such as MS-Windows where `configure' script
30doesn't work, you might need to use various non-default options, and
31maybe perform some of the steps manually. The more detailed
32description in the rest of the sections of this guide will help you do
33that, so please refer to them if the simple procedure does not work.
34
35 1. If you want to be able to input international characters which
36 your keyboard doesn't support directly (i.e., you cannot type
37 them at the shell prompt), download the leim-M.N.tar.gz
38 distribution and unpack it into the same directory where you have
39 unpacked the main Emacs distribution. See ADDITIONAL
40 DISTRIBUTION FILES, below, for more about this.
41
42 2. Make sure your system has at least 120 MB of free disk space.
43
44 3a. `cd' to the directory where you unpacked Emacs and invoke the
45 `configure' script:
46
47 ./configure
48
49 3b. Alternatively, create a separate directory, outside the source
50 directory, where you want to build Emacs, and invoke `configure'
51 from there:
52
53 SOURCE-DIR/configure
54
55 where SOURCE-DIR is the top-level Emacs source directory.
56
57 4. When `configure' finishes, it prints several lines of details
58 about the system configuration. Read those details carefully
59 looking for anything suspicious, such as wrong CPU and operating
60 system names, wrong places for headers or libraries, missing
61 libraries that you know are installed on your system, etc.
62
63 If you find anything wrong, you will have to pass to `configure'
64 explicit machine configuration name, and one or more options
65 which tell it where to find various headers and libraries; refer
66 to DETAILED BUILDING AND INSTALLATION section below.
67
68 If `configure' didn't find some image support libraries, such as
69 Xpm, jpeg, etc., refer to the subsection "Image support
70 libraries", below.
71
72 If the details printed by `configure' don't make any sense to
73 you, assume that `configure' did its job and proceed.
74
75 5. If you need to run the `configure' script more than once (e.g.,
76 with some non-default options), always clean the source
77 directories before running `configure' again:
78
79 make distclean
80 ./configure
81
82 6. Invoke the Make program:
83
84 make
85
86 7. If Make succeeds, it will build an executable program `emacs' in
87 the `src' directory. You can try this program, to make sure it
88 works:
89
90 src/emacs -q
91
92 8. Assuming that the program `src/emacs' starts and displays its
93 opening screen, you can install the program and its auxiliary
94 files into their installation directories:
95
96 make install
97
98 You are now ready to use Emacs. If you wish to conserve disk space,
99 you may remove the program binaries and object files from the
100 directory where you built Emacs:
101
102 make clean
103
17 104
18ADDITIONAL DISTRIBUTION FILES 105ADDITIONAL DISTRIBUTION FILES
19 106
20* leim-M.N.tar.gz 107* leim-M.N.tar.gz
21 108
22The Emacs Lisp code for input methods for various international 109The Emacs Lisp code for input methods for various international
23character scripts is distributed in a separate tar file because it 110character scripts allows you to input characters in scripts which are
24amounts to a significant fraction of the size of the distribution. 111not directly supported by your keyboard. It is distributed in a
25This tar file is called leim-M.N.tar.gz, with the same version number 112separate tar file because it amounts to a significant fraction of the
26as Emacs, and it unpacks into the directory emacs-M.N/leim. 113size of the distribution. This tar file is called leim-M.N.tar.gz,
114with the same version number as Emacs, and it unpacks into the
115directory emacs-M.N/leim.
27 116
28You should unpack leim-M.N.tar.gz into the same directory where you 117You should unpack leim-M.N.tar.gz into the same directory where you
29have previously unpacked the main Emacs distribution. It fills in the 118have previously unpacked the main Emacs distribution. It fills in the
@@ -40,13 +129,14 @@ first, just unpack Leim, build Emacs again, and install it again.
40The intlfonts distribution contains X11 fonts that Emacs needs in 129The intlfonts distribution contains X11 fonts that Emacs needs in
41order to display international characters. If you see a non-ASCII 130order to display international characters. If you see a non-ASCII
42character appear as a hollow box, that means you don't have a font for 131character appear as a hollow box, that means you don't have a font for
43it. You might find a font in the intlfonts distribution. If some 132it. You might find a font in the intlfonts distribution. If you do
44characters don't look right, or appear improperly aligned, a font 133have a font for a non-ASCII character, but some characters don't look
45from the intlfonts distribution might look better. 134right, or appear improperly aligned, a font from the intlfonts
135distribution might look better.
46 136
47The fonts in the intlfonts distribution are also used by the ps-print 137The fonts in the intlfonts distribution are also used by the ps-print
48package for printing international characters. The file 138package for printing international characters. The file
49lisp/ps-mule.el defines the .bdf font files required for printing 139lisp/ps-mule.el defines the *.bdf font files required for printing
50each character set. 140each character set.
51 141
52The intlfonts distribution contains its own installation instructions, 142The intlfonts distribution contains its own installation instructions,
@@ -55,12 +145,16 @@ in the intlfonts/README file.
55* elisp-manual-M.N.tar.gz 145* elisp-manual-M.N.tar.gz
56 146
57This distribution contains the Emacs Lisp Reference Manual which 147This distribution contains the Emacs Lisp Reference Manual which
58complements the Emacs Lisp Manual. It is a good idea to install the 148complements the Emacs Manual. (The Emacs Manual is accessible from
59Emacs Lisp Reference Manual after installing Emacs, to complete the 149within the editor by typing "C-h i", then selecting the "Emacs" item
60on-line documentation of Emacs in Info. 150from the menu, or by clicking "Help" in the menu bar and selecting
151"Read Emacs Manual".) It is a good idea to install the Emacs Lisp
152Reference Manual after installing Emacs, to complete the on-line
153documentation of Emacs in Info.
61 154
62If you have installed Texinfo, you can install the Emacs Lisp 155If you have installed Texinfo, you can install the Emacs Lisp
63Reference Manual this way: 156Reference Manual this way (after unpacking the elisp-manual-M.N.tar.gz
157file):
64 158
65 cd elisp-manual-M.N 159 cd elisp-manual-M.N
66 ./configure --prefix=PREFIXDIR 160 ./configure --prefix=PREFIXDIR
@@ -76,16 +170,19 @@ that file `dir' in this directory contains an entry like this:
76* Image support libraries 170* Image support libraries
77 171
78Emacs needs optional libraries to be able to display images (with the 172Emacs needs optional libraries to be able to display images (with the
79exception of PBM and XBM images whose support is built-in). On some 173exception of PBM and XBM images whose support is built-in).
80systems these may already be present or available as additional 174
81packages, particularly on GNU/Linux. (In some cases older versions 175On some systems, particularly on GNU/Linux, these libraries may
82won't work because some routines are missing, and configure should 176already be present or available as additional packages. If not, you
83avoid such old versions.) 177can download and build them from sources. None of them are vital for
178running Emacs; however, note that Emacs will not be able to use color
179icons in the toolbar if the XPM support is not available.
84 180
85If necessary, you can build them from source. None are vital for 181Here's the list of these optional libraries, and the URLs where they
86running Emacs. Here's the list of these optional libraries, and the 182can be found:
87URLs where they can be found:
88 183
184 . libXaw3d for fancy 3D-style
185 scroll bars: ftp://ftp.x.org/contrib/widgets/Xaw3d/
89 . libxpm for XPM: ftp://ftp.x.org/contrib/libraries/ 186 . libxpm for XPM: ftp://ftp.x.org/contrib/libraries/
90 . libpng for PNG: ftp://www.libpng.org/pub/png/ 187 . libpng for PNG: ftp://www.libpng.org/pub/png/
91 . libz (for PNG): http://www.info-zip.org/pub/infozip/zlib/ 188 . libz (for PNG): http://www.info-zip.org/pub/infozip/zlib/
@@ -94,19 +191,20 @@ URLs where they can be found:
94 . libungif for GIF: 191 . libungif for GIF:
95 http://prtr-13.ucsc.edu/~badger/software/libungif/index.shtml 192 http://prtr-13.ucsc.edu/~badger/software/libungif/index.shtml
96 193
97[libungif-4.1.0 can crash Emacs with uncompressed GIFs -- use 194Emacs will configure itself to build with these libraries if the
98libungif-4.1.0b1.] 195`configure' script finds them on your system, unless you supply the
196appropriate --without-LIB option. In some cases, older versions of
197these libraries won't work because some routines are missing, and
198configure should avoid such old versions. If that happens, use the
199--without-LIB options to `configure'. See below for more details.
99 200
100Emacs will configure itself to build with these libraries if configure
101finds them on your system unless you supply the appropriate
102--without-LIB option. See below for more details.
103 201
202DETAILED BUILDING AND INSTALLATION:
104 203
105BUILDING AND INSTALLATION: 204(This is for a Unix or Unix-like system. For MS-DOS and Windows 3.X,
106 205see below; search for MSDOG. For Windows 9X, Windows ME, Windows NT,
107(This is for a Unix or Unix-like system. For MSDOS, see below; search 206and Windows 2000, see the file nt/INSTALL. For the Mac, see the file
108for MSDOG. For Windows NT or Windows 95, see the file nt/INSTALL. 207mac/INSTALL.)
109For the Mac, see the file mac/INSTALL.)
110 208
1111) Make sure your system has enough swapping space allocated to handle 2091) Make sure your system has enough swapping space allocated to handle
112a program whose pure code is 1.5 MB and whose data area is at 210a program whose pure code is 1.5 MB and whose data area is at
@@ -121,11 +219,14 @@ about 60 MB (70 MB with Leim) in the file system where it is
121installed; this includes the executable files, Lisp libraries, 219installed; this includes the executable files, Lisp libraries,
122miscellaneous data files, and on-line documentation. If the building 220miscellaneous data files, and on-line documentation. If the building
123and installation take place in different directories, then the 221and installation take place in different directories, then the
124installation procedure momentarily requires 95+60 MB (130+170 MB). 222installation procedure momentarily requires 95+60 MB (130+70 MB).
125 223
1262) Consult `./etc/MACHINES' to see what configuration name you should 2242) Consult `./etc/MACHINES' to see what configuration name you should
127give to the `configure' program. That file offers hints for 225give to the `configure' program. That file offers hints for
128getting around some possible installation problems. 226getting around some possible installation problems. The file lists
227many different configurations, but only the part for your machine and
228operating system is relevant. (The list is arranged in alphabetical
229order by the vendor name.)
129 230
1303) You can build Emacs in the top-level Emacs source directory 2313) You can build Emacs in the top-level Emacs source directory
131or in a separate directory. 232or in a separate directory.
@@ -159,7 +260,10 @@ configure Emacs; use the option `--with-x-toolkit=TOOLKIT', where
159TOOLKIT is `athena' or `motif' (`yes' and `lucid' are synonyms for 260TOOLKIT is `athena' or `motif' (`yes' and `lucid' are synonyms for
160`athena'). On some systems, it does not work to use a toolkit with 261`athena'). On some systems, it does not work to use a toolkit with
161shared libraries. A free implementation of Motif, called LessTif, is 262shared libraries. A free implementation of Motif, called LessTif, is
162available ftom <http://www.lesstif.org>. 263available ftom <http://www.lesstif.org>. You can get fancy 3D-style
264scroll bars, even without LessTif/Motif, if you have the Xaw3d library
265installed (see "Image support libraries" above for Xaw3d
266availability).
163 267
164The `--with-gcc' option specifies that the build process should 268The `--with-gcc' option specifies that the build process should
165compile Emacs using GCC. If you don't want to use GCC, specify 269compile Emacs using GCC. If you don't want to use GCC, specify
@@ -188,6 +292,11 @@ or more of these options:
188 --without-gif for GIF image support 292 --without-gif for GIF image support
189 --without-png for PNG image support 293 --without-png for PNG image support
190 294
295Use --without-toolkit-scroll-bars to disable LessTif/Motif or Xaw3d
296scroll bars. --without-xim disables the use of X Input Methods, and
297--disable-largefile omits support for files larger than 2GB on systems
298which support that.
299
191The `--prefix=PREFIXDIR' option specifies where the installation process 300The `--prefix=PREFIXDIR' option specifies where the installation process
192should put emacs and its data files. This defaults to `/usr/local'. 301should put emacs and its data files. This defaults to `/usr/local'.
193- Emacs (and the other utilities users run) go in PREFIXDIR/bin 302- Emacs (and the other utilities users run) go in PREFIXDIR/bin
@@ -232,6 +341,37 @@ output (useful mainly for debugging `configure'). You can give
232tests in FILE instead of `config.cache'. Set FILE to `/dev/null' to 341tests in FILE instead of `config.cache'. Set FILE to `/dev/null' to
233disable caching, for debugging `configure'. 342disable caching, for debugging `configure'.
234 343
344If the description of the system configuration printed by `configure'
345is not right, or if it claims some of the fatures or libraries are not
346available when you know they are, look at the `config.log' file for
347the trace of the failed tests performed by `configure' to check
348whether these features are supported. Typically, some test fails
349because the compiler cannot find some function in the system
350libraries, or some macro-processor definition in the system headers.
351
352Some tests might fail because the compiler should look in special
353directories for some header files, or link against optional
354directories, or use special compilation options. You can force
355`configure' and the build process which follows it to do that by
356setting the variables CPPFLAGS, CFLAGS, LDFLAGS, LIBS, and CC before
357running `configure'. CPPFLAGS lists the options passed to the
358preprocessor, CFLAGS are compilation options, LDFLAGS are options used
359when linking, LIBS are libraries to link against, and CC is the
360command which invokes the compiler.
361
362Here's an example of a `configure' invocation which uses these
363variables:
364
365 CPPFLAGS='-I/foo/myinclude' LDFLAGS='-L/bar/mylib' \
366 CFLAGS='-O3' LIBS='-lfoo -lbar' ./configure
367
368(this is all one long line). This tells `configure' to instruct the
369preprocessor to look in the `/foo/myinclude' directory for header
370files (in addition to the standard directories), instruct the linker
371to look in `/bar/mylib' for libraries, pass the -O3 optimization
372switch to the compiler, and link against libfoo.a and libbar.a
373libraries in addition to the standard ones.
374
235The work of `configure' can be done by editing various files in the 375The work of `configure' can be done by editing various files in the
236distribution, but using `configure' is easier. See the section called 376distribution, but using `configure' is easier. See the section called
237"CONFIGURATION BY HAND" below if you want to do the configuration 377"CONFIGURATION BY HAND" below if you want to do the configuration