(doc-view-dvi->pdf-sentinel, doc-view-pdf/ps->png-sentinel)
[bpt/emacs.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 6b4278a..9f754a0 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,6 +1,7 @@
 GNU Emacs Installation Guide
-Copyright (c) 1992, 1994, 1996, 1997, 2000, 2001 Free software Foundation, Inc.
-See the end of the file for copying permissions.
+Copyright (C) 1992, 1994, 1996, 1997, 2000, 2001, 2002, 2003, 2004,
+2005, 2006, 2007  Free Software Foundation, Inc.
+See the end of the file for license conditions.
 
 
 BASIC INSTALLATION
@@ -59,7 +60,7 @@ that, so please refer to them if the simple procedure does not work.
      with some non-default options), always clean the source
      directories before running `configure' again:
 
-               make distclean 
+               make distclean
                ./configure
 
   5. Invoke the `make' program:
@@ -93,13 +94,13 @@ 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
@@ -127,19 +128,19 @@ 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/
-                     Get version 3.4k or later, which lets Emacs 
+                     Get version 3.4k or later, which lets Emacs
                      use its own color allocation functions.
-  . libpng for PNG:   ftp://www.libpng.org/pub/png/
-  . libz (for PNG):   http://www.info-zip.org/pub/infozip/zlib/
+  . 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.
 
@@ -152,65 +153,49 @@ configure should avoid such old versions.  If that happens, use the
 
 * Extra fonts
 
+The Emacs distribution does not include fonts and does not install
+them.  You must do that yourself.
+
 To take proper advantage of Emacs 21's mule-unicode charsets, you need
-a Unicode font.  For information on Unicode fonts for X, see
-<URL:http://czyborra.com/unifont/>,
-<URL:http://openlab.ring.gr.jp/efont/> and
+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/> and mirrors)
+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
-supports.  The font files should be usable separately with older X
-releases.
-
-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/X.Org/contrib/fonts/>.
-
-
-The new Indian implementation uses the ISFOC standard fonts.  We use
-CDAC ISFOC fonts to display the Devanagari script in Emacs.  They are
-copyrighted, but we received permission to use them in Emacs from the
-font developers.  These fonts can be obtained from the internet, or
-may be found in C-DAC products (including downloadable ones).  For
-examle, you can search the CDAC Devanagari font `dvsr0ntt.ttf' by
-using some search engines and they will guide you to appropriate URLs
-to obtain them.
-
-After you've downloaded the fonts, then run the following Makefile
-to create the appropriate BDF/PCF fonts.  (You will need `ttf2bdf',
-equipped with freetype 1, to create BDF file.)
-
-TTFS=  asdr0ntt.ttf:Assamese\
-       bndr0ntt.ttf:Bengali\
-       dvsr0ntt.ttf:Devanagari\
-       gjav0ntt.ttf:Gujarati\
-       knum0ntt.ttf:Kannada\
-       mlkr0ntt.ttf:Malayalam\
-       orsr0ntt.ttf:Oriya\
-       pnam0ntt.ttf:Punjabi\
-       sdsr0ntt.ttf:Sanskrit\
-       tlhm0ntt.ttf:Telugu\
-       tmvl0ntt.ttf:Tamil
-
-all:
-       for f in ${TTFS}; do \
-         ttf=`echo $$f | sed 's/:.*$$//'`; \
-         reg=`echo $$f | sed 's/[^:]*://'`; \
-         base=`basename $$ttf .ttf`; \
-         echo Converting "$$ttf to $$base-XX.bdf/pcf with registry $$reg"; \
-         for i in 16 24; do \
-           ttf2bdf -p $${i} -r 100 -l 0_255 $$ttf > temp; \
-           sed "/^FONT /s/ISO10646-1/$$reg-CDAC/" <temp >$$base-$$i.bdf; \
-           bdftopcf $$base-$$i.bdf > $$base-$$i.pcf; \
-         done; \
-       done
-       rm -f temp
-
-clean:
-       rm -f *.pcf *.bdf
+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 Unicode fonts etl-unicode.tar.gz are available from
+<URL:ftp://ftp.x.org/contrib/fonts/> and
+<URL:ftp://ftp.xfree86.org/pub/mirror/X.Org/contrib/fonts/>.  These
+fonts can also be used by ps-print and ps-mule to print Unicode
+characters.
+
+Finally, the Web pages <URL:http://www.nongnu.org/freefont/index.html>
+and <URL:http://www.nongnu.org/freefont/resources.html> list a large
+number of free Unicode 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 Red Hat.  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:
@@ -226,7 +211,7 @@ 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 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
@@ -270,16 +255,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
-`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>.  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
+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 from <http://www.lesstif.org>.  Compiling with
+LessTif or Motif causes a standard File Selection Dialog to pop up
+when you invoke file commands with the mouse.  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
@@ -308,9 +298,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.  Use --without-sound to disable sound support.
+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'.
@@ -357,7 +353,7 @@ tests in FILE instead of `config.cache'.  Set FILE to `/dev/null' to
 disable caching, for debugging `configure'.
 
 If the description of the system configuration printed by `configure'
-is not right, or if it claims some of the fatures or libraries are not
+is not right, or if it claims some of the features or libraries are not
 available when you know they are, look at the `config.log' file for
 the trace of the failed tests performed by `configure' to check
 whether these features are supported.  Typically, some test fails
@@ -368,11 +364,12 @@ Some tests might fail because the compiler should look in special
 directories for some header files, or link against optional
 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
-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.
+setting the variables CPPFLAGS, CFLAGS, LDFLAGS, LIBS, CPP and CC
+before running `configure'.  CPP is the command which invokes the
+preprocessor, CPPFLAGS lists the options passed to it, 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, assuming a Bourne-like
 shell such as Bash, which uses these variables:
@@ -387,6 +384,16 @@ to look in `/bar/mylib' for libraries, pass the -O3 optimization
 switch to the compiler, and link against libfoo.a and libbar.a
 libraries in addition to the standard ones.
 
+For some libraries, like Gtk+, fontconfig and ALSA, `configure' use
+pkg-config to find where those libraries are installed.
+If you want pkg-config to look in special directories, you have to set
+the environment variable PKG_CONFIG_PATH to point to the directories
+where the .pc-files for those libraries are.
+For example:
+
+ PKG_CONFIG_PATH='/usr/local/alsa/lib/pkgconfig:/opt/gtk+-2.8/lib/pkgconfig' \
+   ./configure
+
 The work of `configure' can be done by editing various files in the
 distribution, but using `configure' is easier.  See the section called
 "CONFIGURATION BY HAND" below if you want to do the configuration
@@ -477,17 +484,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
@@ -509,14 +505,29 @@ are installed in the following directories:
                useful for sites at which different kinds of machines
                share the file system Emacs is installed on.
 
-`/usr/local/info' holds the on-line documentation for Emacs, known as
-               "info files".  Many other GNU programs are documented
-               using info files as well, so this directory stands
-               apart from the other, Emacs-specific directories.
+`/usr/local/share/info' holds the on-line documentation for Emacs,
+               known as "info files".  Many other GNU programs are
+               documented using info files as well, so this directory
+               stands apart from the other, Emacs-specific
+               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
@@ -524,8 +535,8 @@ the command.  See the section below called `MAKE VARIABLES' for more
 information on this.
 
 8) Check the file `dir' in your site's info directory (usually
-/usr/local/info) to make sure that it has a menu entry for the Emacs
-info files.
+/usr/local/share/info) to make sure that it has a menu entry for the
+Emacs info files.
 
 9) If your system uses lock files to interlock access to mailer inbox files,
 then you might need to make the movemail program setuid or setgid
@@ -577,7 +588,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
@@ -591,7 +602,7 @@ Here is a complete list of the variables you may want to set.
        installed on.
 
 `infodir' indicates where to put the info files distributed with
-       Emacs; it defaults to `/usr/local/info'.
+       Emacs; it defaults to `/usr/local/share/info'.
 
 `mandir' indicates where to put the man pages for Emacs and its
        utilities (like `etags'); it defaults to
@@ -693,8 +704,8 @@ the following steps.
 the paths to the values specified in `./Makefile'.
 
 2) Go to directory `./lib-src' and run `make'.  This creates
-executables named `ctags' and `etags' and `wakeup' and `make-docfile'
-and `digest-doc' and `test-distrib'.  And others.
+executables named `ctags' and `etags' and `make-docfile' and
+`digest-doc' and `test-distrib'.  And others.
 
 3) Go to directory `./src' and Run `make'.  This refers to files in
 the `./lisp' and `./lib-src' subdirectories using names `../lisp' and
@@ -722,8 +733,8 @@ 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', `fakemail', `hexl',
-    `movemail', `profile', `rcs2log', `timer', `vcdiff', `wakeup',
-    and `yow' are used by Emacs; they do need to be copied.
+    `movemail', `profile', `rcs2log', and `vcdiff' are used by Emacs;
+    they do need to be copied.
 - The programs `etags', `ctags', `emacsclient', `b2m', and `rcs-checkin'
     are intended to be run by users; they are handled below.
 - The programs `make-docfile' and `test-distrib' were
@@ -896,17 +907,19 @@ 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.
+This file is part of GNU Emacs.
+
+GNU Emacs is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 3, or (at your option)
+any later version.
+
+GNU Emacs is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Emacs; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.