]> code.delx.au - gnu-emacs/blobdiff - INSTALL
*** empty log message ***
[gnu-emacs] / INSTALL
diff --git a/INSTALL b/INSTALL
index 80cb1f150ce9290f90a61adff2d258df6667209b..6d5383eee294ce486074139b42bace200b831021 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,18 +1,8 @@
 GNU Emacs Installation Guide
-Copyright (c) 1992, 1994, 1996, 1997, 2000 Free software Foundation, Inc.
+Copyright (c) 1992, 1994, 1996, 1997, 2000, 2001, 2002, 2006 
+Free software Foundation, Inc.
+See the end of the file for copying permissions.
 
-   Permission is granted to anyone to make or distribute verbatim copies
-   of this document as received, in any medium, provided that the
-   copyright notice and permission notice are preserved,
-   and that the distributor grants the recipient permission
-   for further redistribution as permitted by this notice.
-
-   Permission is granted to distribute modified versions
-   of this document, or of portions of it,
-   under the above conditions, provided also that they
-   carry prominent notices stating who last changed them,
-   and that any new or changed statements about the activities
-   of the Free Software Foundation are approved by the Foundation.
 
 BASIC INSTALLATION
 
@@ -21,40 +11,34 @@ which attempts to guess correct values for various system-dependent
 variables and features and find the directories where various system
 headers and libraries are kept.  It then creates a `Makefile' in each
 subdirectory and a `config.h' file containing system-dependent
-definitions.  Running the Make utility then builds the package for
+definitions.  Running the `make' utility then builds the package for
 your system.
 
 Here's the procedure to build Emacs using `configure' on systems which
 are supported by it.  If this simplified procedure fails, or if you
-are using a platform such as MS-Windows where `configure' script
+are using a platform such as MS-Windows, where `configure' script
 doesn't work, you might need to use various non-default options, and
 maybe perform some of the steps manually.  The more detailed
 description in the rest of the sections of this guide will help you do
 that, so please refer to them if the simple procedure does not work.
 
-  1. If you want to be able to input international characters which
-     your keyboard doesn't support directly (i.e., you cannot type
-     them at the shell prompt), download the leim-M.N.tar.gz
-     distribution and unpack it into the same directory where you have
-     unpacked the main Emacs distribution.  See ADDITIONAL
-     DISTRIBUTION FILES, below, for more about this.
-
-  2. Make sure your system has at least 120 MB of free disk space.
+  1. Make sure your system has at least 120 MB of free disk space.
 
-  3a. `cd' to the directory where you unpacked Emacs and invoke the
+  2a. `cd' to the directory where you unpacked Emacs and invoke the
       `configure' script:
 
                 ./configure
 
-  3b. Alternatively, create a separate directory, outside the source
+  2b. Alternatively, create a separate directory, outside the source
       directory, where you want to build Emacs, and invoke `configure'
       from there:
 
                 SOURCE-DIR/configure
 
-      where SOURCE-DIR is the top-level Emacs source directory.
+      where SOURCE-DIR is the top-level Emacs source directory.  This
+      may not work unless you use GNU make.
 
-  4. When `configure' finishes, it prints several lines of details
+  3. When `configure' finishes, it prints several lines of details
      about the system configuration.  Read those details carefully
      looking for anything suspicious, such as wrong CPU and operating
      system names, wrong places for headers or libraries, missing
@@ -66,30 +50,30 @@ that, so please refer to them if the simple procedure does not work.
      to DETAILED BUILDING AND INSTALLATION section below.
 
      If `configure' didn't find some image support libraries, such as
-     Xpm, jpeg, etc., refer to the subsection "Image support
-     libraries", below.
+     Xpm, jpeg, etc., and you want to use them refer to the subsection
+     "Image support libraries", below.
 
      If the details printed by `configure' don't make any sense to
      you, assume that `configure' did its job and proceed.
 
-  5. If you need to run the `configure' script more than once (e.g.,
+  4. If you need to run the `configure' script more than once (e.g.,
      with some non-default options), always clean the source
      directories before running `configure' again:
 
-               make distclean 
+               make distclean
                ./configure
 
-  6. Invoke the Make program:
+  5. Invoke the `make' program:
 
                 make
 
-  7. If Make succeeds, it will build an executable program `emacs' in
-     the `src' directory.  You can try this program, to make sure it
-     works:
+  6. If `make' succeeds, it will build an executable program `emacs'
+     in the `src' directory.  You can try this program, to make sure
+     it works:
 
                 src/emacs -q
 
-  8. Assuming that the program `src/emacs' starts and displays its
+  7. Assuming that the program `src/emacs' starts and displays its
      opening screen, you can install the program and its auxiliary
      files into their installation directories:
 
@@ -101,38 +85,22 @@ that, so please refer to them if the simple procedure does not work.
 
                 make clean
 
+  You can also save some space by compressing (with `gzip') Info files
+  and installed Lisp source (.el) files which have corresponding .elc
+  versions.
 
-ADDITIONAL DISTRIBUTION FILES
-
-* leim-M.N.tar.gz
-
-The Emacs Lisp code for input methods for various international
-character scripts allows you to input characters in scripts which are
-not directly supported by your keyboard. It is distributed in a
-separate tar file because it amounts to a significant fraction of the
-size of the distribution.  This tar file is called leim-M.N.tar.gz,
-with the same version number as Emacs, and it unpacks into the
-directory emacs-M.N/leim.
-
-You should unpack leim-M.N.tar.gz into the same directory where you
-have previously unpacked the main Emacs distribution.  It fills in the
-contents of one subdirectory, which is present in the main Emacs
-distribution only in dummy form.
 
-Once you have unpacked the Leim tar file into the Emacs source tree,
-building and installing Emacs automatically installs the input method
-support as well.  If you have built Emacs without unpacking Leim
-first, just unpack Leim, build Emacs again, and install it again.
+ADDITIONAL DISTRIBUTION FILES
 
 * intlfonts-VERSION.tar.gz
 
-The intlfonts distribution contains X11 fonts that Emacs needs in
-order to display international characters.  If you see a non-ASCII
-character appear as a hollow box, that means you don't have a font for
-it.  You might find a font in the intlfonts distribution.  If you do
-have a font for a non-ASCII character, but some characters don't look
-right, or appear improperly aligned, a font from the intlfonts
-distribution might look better.
+The intlfonts distribution contains X11 fonts in various encodings
+that Emacs can use to display international characters.  If you see a
+non-ASCII character appear as a hollow box, that means you don't have
+a font for it.  You might find one in the intlfonts distribution.  If
+you do have a font for a non-ASCII character, but some characters
+don't look right, or appear improperly aligned, a font from the
+intlfonts distribution might look better.
 
 The fonts in the intlfonts distribution are also used by the ps-print
 package for printing international characters.  The file
@@ -142,54 +110,39 @@ each character set.
 The intlfonts distribution contains its own installation instructions,
 in the intlfonts/README file.
 
-* elisp-manual-M.N.tar.gz
-
-This distribution contains the Emacs Lisp Reference Manual which
-complements the Emacs Manual.  (The Emacs Manual is accessible from
-within the editor by typing "C-h i", then selecting the "Emacs" item
-from the menu, or by clicking "Help" in the menu bar and selecting
-"Read Emacs Manual".)  It is a good idea to install the Emacs Lisp
-Reference Manual after installing Emacs, to complete the on-line
-documentation of Emacs in Info.
-
-If you have installed Texinfo, you can install the Emacs Lisp
-Reference Manual this way (after unpacking the elisp-manual-M.N.tar.gz
-file):
-
-     cd elisp-manual-M.N
-     ./configure --prefix=PREFIXDIR
-     make install
-
-Otherwise, you can install it manually.  Just copy the files elisp and
-elisp-* from the elisp-manual-M.N directory to your site's info
-directory (see the description of `infodir', below), and make sure
-that file `dir' in this directory contains an entry like this:
-
-    * Elisp: (elisp).  The Emacs Lisp Reference Manual.
-
 * Image support libraries
 
 Emacs needs optional libraries to be able to display images (with the
 exception of PBM and XBM images whose support is built-in).
 
 On some systems, particularly on GNU/Linux, these libraries may
-already be present or available as additional packages.  If not, you
-can download and build them from sources.  None of them are vital for
-running Emacs; however, note that Emacs will not be able to use color
-icons in the toolbar if the XPM support is not available.
+already be present or available as additional packages.  Note that if
+there is a separate `dev' or `devel' package, for use at compilation
+time rather than run time, you will need that as well as the
+corresponding run time package; typically the dev package will
+contain header files and a library archive.  Otherwise, you can
+download and build libraries from sources.  None of them are vital for
+running Emacs; however, note that Emacs will not be able to use
+colored icons in the toolbar if XPM support is not compiled in.
 
 Here's the list of these optional libraries, and the URLs where they
 can be found:
 
-  . libXaw3d for fancy 3D-style 
+  . libXaw3d for fancy 3D-style
       scroll bars:    ftp://ftp.x.org/contrib/widgets/Xaw3d/
   . libxpm for XPM:   ftp://ftp.x.org/contrib/libraries/
-  . libpng for PNG:   ftp://www.libpng.org/pub/png/
-  . libz (for PNG):   http://www.info-zip.org/pub/infozip/zlib/
+                     Get version 3.4k or later, which lets Emacs
+                     use its own color allocation functions.
+  . libpng for PNG:   ftp://ftp.simplesystems.org/pub/libpng/png/
+  . libz (for PNG):   http://www.zlib.net/
   . libjpeg for JPEG: ftp://ftp.uu.net/graphics/jpeg/
+                      Get version 6b -- 6a is reported to fail in
+                      Emacs.
   . libtiff for TIFF: http://www.libtiff.org/
-  . libungif for GIF: 
-      http://prtr-13.ucsc.edu/~badger/software/libungif/index.shtml
+  . libungif for GIF:
+      http://sourceforge.net/projects/libungif
+      Ensure you get version 4.1.0b1 or higher of libungif -- a bug in
+      4.1.0 can crash Emacs.
 
 Emacs will configure itself to build with these libraries if the
 `configure' script finds them on your system, unless you supply the
@@ -198,6 +151,46 @@ these libraries won't work because some routines are missing, and
 configure should avoid such old versions.  If that happens, use the
 --without-LIB options to `configure'.  See below for more details.
 
+* Extra fonts
+
+At first, Emacs does not include fonts and does not install them.  You
+must do this yourself.
+
+To take proper advantage of Emacs 21's mule-unicode charsets, you need
+a suitable font.  For `Unicode' (ISO 10646) fonts for X, see
+<URL:http://czyborra.com/unifont/> (packaged in Debian),
+<URL:http://openlab.ring.gr.jp/efont/> (packaged in Debian).  (In
+recent Debian versions, there is an extensive `misc-fixed' iso10646-1
+in the default X installation.)  Perhaps also see
+<URL:http://www.cl.cam.ac.uk/%7Emgk25/ucs-fonts.html>.
+
+<URL:http://czyborra.com/charsets/> has basic fonts for Emacs's
+ISO-8859 charsets.
+
+XFree86 release 4 (from <URL:ftp://ftp.xfree86.org/pub/XFree86/> and mirrors)
+contains font support for most, if not all, of the charsets that Emacs
+currently supports, including iso10646-1 encoded fonts for use with
+the mule-unicode charsets.  The font files should also be usable with
+older X releases.  Note that XFree 4 contains many iso10646-1 fonts
+with minimal character repertoires, which can cause problems -- see
+etc/PROBLEMS.
+
+BDF fonts etl-unicode.tar.gz used by ps-print and ps-mule to print
+Unicode characters are available from <URL:ftp://ftp.x.org/contrib/fonts/>
+and <URL:ftp://ftp.xfree86.org/pub/mirror/X.Org/contrib/fonts/>.
+
+* GNU/Linux development packages
+
+Many GNU/Linux systems do not come with development packages by
+default; they just include the files that you need to run Emacs, but
+not those you need to compile it.  For example, to compile Emacs with
+X11 support, you may need to install the special `X11 development'
+package.  For example, in April 2003, the package names to install
+were `XFree86-devel' and `Xaw3d-devel' on RedHat.  On Debian, the
+packages necessary to build the installed version should be
+sufficient; they can be installed using `apt-get build-dep emacs21' in
+Debian 3 and above.
+
 
 DETAILED BUILDING AND INSTALLATION:
 
@@ -208,18 +201,17 @@ mac/INSTALL.)
 
 1) Make sure your system has enough swapping space allocated to handle
 a program whose pure code is 1.5 MB and whose data area is at
-least 2.5 MB and can reach 80 MB or more.  If the swapping space is
+least 2.8 MB and can reach 100 MB or more.  If the swapping space is
 insufficient, you will get an error in the command `temacs -batch -l
 loadup dump', found in `./src/Makefile.in', or possibly when
 running the final dumped Emacs.
-Building Emacs requires about 95 MB of disk space (including the Emacs
-sources), or 130 MB if Leim is used.  Once installed, Emacs occupies
-about 60 MB (70 MB with Leim) in the file system where it is
-installed; this includes the executable files, Lisp libraries,
-miscellaneous data files, and on-line documentation.  If the building
-and installation take place in different directories, then the
-installation procedure momentarily requires 95+60 MB (130+70 MB).
+
+Building Emacs requires about 140 MB of disk space (including the
+Emacs sources) Once installed, Emacs occupies about 77 MB in the file
+system where it is installed; this includes the executable files, Lisp
+libraries, miscellaneous data files, and on-line documentation.  If
+the building and installation take place in different directories,
+then the installation procedure momentarily requires 140+77 MB.
 
 2) Consult `./etc/MACHINES' to see what configuration name you should
 give to the `configure' program.  That file offers hints for
@@ -257,14 +249,21 @@ accept a list of directories, separated with colons.
 
 To get more attractive menus, you can specify an X toolkit when you
 configure Emacs; use the option `--with-x-toolkit=TOOLKIT', where
-TOOLKIT is `athena' or `motif' (`yes' and `lucid' are synonyms for
+TOOLKIT is `athena', `motif' or `gtk' (`yes' and `lucid' are synonyms for
 `athena').  On some systems, it does not work to use a toolkit with
 shared libraries.  A free implementation of Motif, called LessTif, is
-available ftom <http://www.lesstif.org>.  You can get fancy 3D-style
-scroll bars, even without LessTif/Motif, if you have the Xaw3d library
+available ftom <http://www.lesstif.org>.  Compiling with LessTif or
+Motif causes a standard File Selection Dialog to pop up when you type
+"C-x C-f" and similar commands.  You can get fancy 3D-style scroll
+bars, even without LessTif/Motif, if you have the Xaw3d library
 installed (see "Image support libraries" above for Xaw3d
 availability).
 
+If `--with-x-toolkit=gtk' is specified, you can tell configure where
+to search for GTK by specifying `--with-pkg-config-prog=PATH' where
+PATH is the pathname to pkg-config.  Note that GTK version 2.4 or
+newer is required for Emacs.
+
 The `--with-gcc' option specifies that the build process should
 compile Emacs using GCC.  If you don't want to use GCC, specify
 `--with-gcc=no'.  If you omit this option, `configure' will search
@@ -293,9 +292,15 @@ or more of these options:
   --without-png        for PNG image support
 
 Use --without-toolkit-scroll-bars to disable LessTif/Motif or Xaw3d
-scroll bars.  --without-xim disables the use of X Input Methods, and
---disable-largefile omits support for files larger than 2GB on systems
-which support that.
+scroll bars.  
+
+Use --without-xim to inhibit the default use of X Input Methods.  In
+this case, the X resource useXIM can be used to turn on use of XIM.
+
+Use --disable-largefile omits support for files larger than 2GB on
+systems which support that.  
+
+Use --without-sound to disable sound support.
 
 The `--prefix=PREFIXDIR' option specifies where the installation process
 should put emacs and its data files.  This defaults to `/usr/local'.
@@ -351,7 +356,7 @@ libraries, or some macro-processor definition in the system headers.
 
 Some tests might fail because the compiler should look in special
 directories for some header files, or link against optional
-directories, or use special compilation options.  You can force
+libraries, or use special compilation options.  You can force
 `configure' and the build process which follows it to do that by
 setting the variables CPPFLAGS, CFLAGS, LDFLAGS, LIBS, and CC before
 running `configure'.  CPPFLAGS lists the options passed to the
@@ -359,8 +364,8 @@ preprocessor, CFLAGS are compilation options, LDFLAGS are options used
 when linking, LIBS are libraries to link against, and CC is the
 command which invokes the compiler.
 
-Here's an example of a `configure' invocation which uses these
-variables:
+Here's an example of a `configure' invocation, assuming a Bourne-like
+shell such as Bash, which uses these variables:
 
  CPPFLAGS='-I/foo/myinclude' LDFLAGS='-L/bar/mylib' \
   CFLAGS='-O3' LIBS='-lfoo -lbar' ./configure
@@ -462,17 +467,6 @@ are installed in the following directories:
                at the same time; in particular, you don't have to
                make Emacs unavailable while installing a new version.
 
-`/usr/local/share/emacs/VERSION/site-lisp' holds the local Emacs Lisp
-               files installed for Emacs version VERSION only.
-
-`/usr/local/share/emacs/site-lisp' holds the local Emacs Lisp
-               files installed for all Emacs versions.
-
-               When Emacs is installed, it searches for its Lisp files
-               in `/usr/local/share/emacs/VERSION/site-lisp', then in
-               `/usr/local/share/emacs/site-lisp', and finally in
-               `/usr/local/share/emacs/VERSION/lisp'.
-
 `/usr/local/share/emacs/VERSION/etc' holds the Emacs tutorial, the DOC
                file, the `yow' database, and other
                architecture-independent files Emacs might need while
@@ -502,6 +496,20 @@ are installed in the following directories:
 `/usr/local/man/man1' holds the man pages for the programs installed
                in `/usr/local/bin'.
 
+Any version of Emacs, whether installed or not, also looks for Lisp
+files in these directories.
+
+`/usr/local/share/emacs/VERSION/site-lisp' holds the local Emacs Lisp
+               files installed for Emacs version VERSION only.
+
+`/usr/local/share/emacs/site-lisp' holds the local Emacs Lisp
+               files installed for all Emacs versions.
+
+               When Emacs is installed, it searches for its Lisp files
+               in `/usr/local/share/emacs/VERSION/site-lisp', then in
+               `/usr/local/share/emacs/site-lisp', and finally in
+               `/usr/local/share/emacs/VERSION/lisp'.
+
 If these directories are not what you want, you can specify where to
 install Emacs's libraries and data files or where Emacs should search
 for its Lisp files by giving values for `make' variables as part of
@@ -521,9 +529,8 @@ the build directory by typing `make clean'.  To also remove the files
 that `configure' created (so you can compile Emacs for a different
 configuration), type `make distclean'.  If you don't need some, or all
 of the input methods from the Leim package, you can remove the
-unneeded files in the leim/quail, leim/skk, and leim/skk-dic
-subdirectories of your site's lisp directory (usually
-/usr/local/share/emacs/VERSION/).
+unneeded files in the leim subdirectories of your site's lisp
+directory (usually /usr/local/share/emacs/VERSION/).
 
 
 
@@ -563,7 +570,7 @@ Here is a complete list of the variables you may want to set.
        We create the following subdirectories under `libexecdir':
        - `emacs/VERSION/CONFIGURATION-NAME', containing executable
                programs used by Emacs that users are not expected to run
-               themselves.  
+               themselves.
        `VERSION' is the number of the Emacs version you are installing,
        and `CONFIGURATION-NAME' is the argument you gave to the
        `configure' program to identify the architecture and operating
@@ -666,7 +673,8 @@ from the corresponding `Makefile.in' files.  This isn't so hard,
 just a matter of substitution.
 
 The `configure' script is built from `configure.in' by the `autoconf'
-program.  You need version 2.0 or newer of `autoconf' to rebuild `configure'.
+program.  You need version 2.51 or newer of `autoconf' to rebuild
+`configure'.
 
 BUILDING GNU EMACS BY HAND
 
@@ -706,7 +714,7 @@ directory of the Emacs distribution.
 in `./lib-src' to their final destinations, as selected in `./src/paths.h'.
 
 Strictly speaking, not all of the executables in `./lib-src' need be copied.
-- The programs `cvtmail', `emacsserver', `fakemail', `hexl',
+- The programs `cvtmail', `fakemail', `hexl',
     `movemail', `profile', `rcs2log', `timer', `vcdiff', `wakeup',
     and `yow' are used by Emacs; they do need to be copied.
 - The programs `etags', `ctags', `emacsclient', `b2m', and `rcs-checkin'
@@ -759,6 +767,14 @@ the necessary utilities; search for "MS-DOS".  The configuration step
 (see below) will test for these utilities and will refuse to continue
 if any of them isn't found.
 
+Recompiling Lisp files in the `lisp' subdirectory using the various
+targets in the lisp/Makefile file requires additional utilities:
+`find' and `xargs' (from Findutils), `touch' (from Fileutils) GNU
+`echo' and `test' (from Sh-utils), `tr, `sort', and `uniq' (from
+Textutils), and a port of Bash.  However, you should not normally need
+to run lisp/Makefile, as all the Lisp files are distributed in
+byte-compiled form as well.
+
 If you are building the MSDOG version of Emacs on an MSDOG-like system
 which supports long file names (e.g. Windows 95), you need to make
 sure that long file names are handled consistently both when you
@@ -800,14 +816,6 @@ To unpack Emacs with djtar, type this command:
 (This assumes that the Emacs distribution is called `emacs.tgz' on
 your system.)
 
-If you need to type international characters, you will need to unpack
-the Leim distribution (see the description near the beginning of this
-file).  You unpack it from the same directory where you unpacked
-Emacs.  To unpack Leim with djtar, assuming the Leim distribution is
-called `leim.tgz', type this command:
-
-    djtar -x leim.tgz
-
 If you want to print international characters, install the intlfonts
 distribution.  For this, create a directory called `fonts' under the
 Emacs top-level directory (usually called `emacs-XX.YY') created by
@@ -833,6 +841,13 @@ rerun CONFIG.BAT.  If you have neither ECHO.EXE nor DJECHO.EXE, you
 should be able to find them in your djdevNNN.zip archive (where NNN is
 the DJGPP version number).
 
+On Windows NT or Windows 2000, running "config msdos" might print an
+error message like "VDM has been already loaded".  This is because
+those systems have a program called `redir.exe' which is incompatible
+with a program by the same name supplied with DJGPP, which is used by
+config.bat.  To resolve this, move the DJGPP's `bin' subdirectory to
+the front of your PATH environment variable.
+
 To install the international fonts, chdir to the intlfonts-X.Y
 directory created when you unpacked the intlfonts distribution (X.Y is
 the version number of the fonts' distribution), and type the following
@@ -852,11 +867,10 @@ sibling directory called bin.  For example, if you build in directory
 /emacs/lib-src to the directory /emacs/bin, so you can then delete the
 subdirectories /emacs/src and /emacs/lib-src if you wish.  The only
 subdirectories you need to keep are bin, lisp, etc and info.  (If you
-installed Leim, keep the leim subdirectory, and if you installed
-intlfonts, keep the fonts directory and all its sibdirectories as well.)
-The bin subdirectory should be added to your PATH.  The msdos
-subdirectory includes a PIF and an icon file for Emacs which you might
-find useful if you run Emacs under MS Windows.
+installed intlfonts, keep the fonts directory and all its
+subdirectories as well.)  The bin subdirectory should be added to your
+PATH.  The msdos subdirectory includes a PIF and an icon file for
+Emacs which you might find useful if you run Emacs under MS Windows.
 
 Emacs on MSDOS finds the lisp, etc and info directories by looking in
 ../lisp, ../etc and ../info, starting from the directory where the
@@ -874,3 +888,18 @@ corrected versions of two files from djgpp in the msdos subdirectory:
 is_exec.c and sigaction.c.  To work around the bugs, compile these
 files and link them into temacs.  Djgpp versions 2.01 and later have
 these bugs fixed, so upgrade if you can before building Emacs.
+\f
+COPYING PERMISSIONS
+
+   Permission is granted to anyone to make or distribute verbatim copies
+   of this document as received, in any medium, provided that the
+   copyright notice and permission notice are preserved,
+   and that the distributor grants the recipient permission
+   for further redistribution as permitted by this notice.
+
+   Permission is granted to distribute modified versions
+   of this document, or of portions of it,
+   under the above conditions, provided also that they
+   carry prominent notices stating who last changed them,
+   and that any new or changed statements about the activities
+   of the Free Software Foundation are approved by the Foundation.