* fontset.c (dump_fontset) [FONTSET_DEBUG]: Declare EXTERNALLY_VISIBLE
[bpt/emacs.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index 1368d59..03682d1 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,21 +1,20 @@
 GNU Emacs Installation Guide
-Copyright (C) 1992, 1994, 1996, 1997, 2000, 2001, 2002, 2003, 2004,
-  2005, 2006, 2007, 2008, 2009, 2010
+Copyright (C) 1992, 1994, 1996-1997, 2000-2011
   Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 
-This file contains general information.  For more specific information
-for the MS-Windows, GNUstep/Mac OS X, and MS-DOS ports, also see the files
-nt/INSTALL, nextstep/INSTALL, and msdos/INSTALL.  For information
-specific to building from a Bazaar checkout (rather than a release), see
-the file INSTALL.BZR.
+This file contains general information on building GNU Emacs.
+For more information specific to the MS-Windows, GNUstep/Mac OS X, and
+MS-DOS ports, also read the files nt/INSTALL, nextstep/INSTALL, and
+msdos/INSTALL.  For information about building from a Bazaar checkout
+(rather than a release), also read the file INSTALL.BZR.
 
 
 BASIC INSTALLATION
 
-On most Unix systems, you can build Emacs by first running the
-`configure' shell script.  This attempts to deduce correct values for
+On most Unix systems, you build Emacs by first running the `configure'
+shell script.  This attempts to deduce the correct values for
 various system-dependent variables and features, and find the
 directories where certain system headers and libraries are kept.
 In a few cases, you may need to explicitly tell configure where to
@@ -26,15 +25,15 @@ find some things, or what options to use.
 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.  In rare cases, if the simplified procedure fails,
+are supported by it.  In some cases, if the simplified procedure fails,
 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 those sections if you need to.
+some of the steps manually.  The more detailed description in the other
+sections of this guide will help you do that, so please refer to those
+sections if you need to.
 
-  1. Make sure your system has at least 230 MB of free disk space.
-  This is for Emacs 23.2; Emacs gets bigger as more features are added.
-  The size of the final installed Emacs is about half this; see below.
+  1. Unpacking the Emacs 23.2 release requires about 170 MB of free
+  disk space.  Building Emacs uses about another 60 MB of space.
+  The final installed Emacs uses about 120 MB of disk space.
   This includes the space-saving that comes from automatically
   compressing the Lisp source files on installation.
 
@@ -49,8 +48,8 @@ to those sections if you need to.
 
                 SOURCE-DIR/configure
 
-      where SOURCE-DIR is the top-level Emacs source directory.  This
-      may not work unless you use GNU make.
+      where SOURCE-DIR is the top-level Emacs source directory.
+      This may not work unless you use GNU make.
 
   3. When `configure' finishes, it prints several lines of details
      about the system configuration.  Read those details carefully
@@ -64,7 +63,7 @@ to those sections if you need to.
      Refer to the section DETAILED BUILDING AND INSTALLATION below.
 
      If `configure' didn't find some (optional) image support libraries,
-     such as Xpm, jpeg, etc., and you want to use them refer to the
+     such as 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
@@ -101,12 +100,11 @@ to those sections if you need to.
                 make clean
 
   You can delete the entire build directory if you do not plan to
-  build Emacs again.
+  build Emacs again, but it can be useful to keep for debugging.
 
   Note that the install automatically saves space by compressing
   (provided you have the `gzip' program) those installed Lisp source (.el)
-  files that have corresponding .elc versions.  You may also wish
-  to compress the installed Info files.
+  files that have corresponding .elc versions, as well as the Info files.
 
 
 ADDITIONAL DISTRIBUTION FILES
@@ -176,7 +174,7 @@ does not provide them):
   . libxpm for XPM:   http://www.x.org/releases/current/src/lib/
   . libpng for PNG:   http://www.libpng.org/
   . libz (for PNG):   http://www.zlib.net/
-  . libjpeg for JPEG: http://www.ijg.org/  (use a version newer than 6a)
+  . libjpeg for JPEG: http://www.ijg.org/
   . libtiff for TIFF: http://www.libtiff.org/
   . libgif for GIF:   http://sourceforge.net/projects/giflib/
 
@@ -185,35 +183,18 @@ Emacs will configure itself to build with these libraries if the
 appropriate --without-LIB option.  In some cases, older versions of
 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.
+--without-LIB options to `configure', if you need to.
 
 * Extra fonts
 
 The Emacs distribution does not include fonts and does not install
-them.  You must do that yourself, if you need more fonts than your
-distribution normally provides.
+them.
 
-Emacs running on the GNU system supports both X fonts and local fonts
-(i.e. the fonts managed by the fontconfig library).
-
-For `Unicode' (ISO 10646) X fonts, 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.
-
-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 page <URL:http://www.gnu.org/software/freefont/>
-lists a large number of free Unicode fonts.
+On the GNU system, Emacs supports both X fonts and local fonts
+(i.e. fonts managed by the fontconfig library).  If you need more
+fonts than your distribution normally provides, you must install them
+yourself.  See <URL:http://www.gnu.org/software/freefont/> for a large
+number of free Unicode fonts.
 
 * GNU/Linux development packages
 
@@ -221,20 +202,20 @@ Many GNU/Linux systems do not come with development packages by default;
 they include the files that you need to run Emacs, but not those you
 need to compile it.  For example, to compile Emacs with support for X
 and graphics libraries, you may need to install the `X development'
-package(s) and development versions of the jpeg, png, etc. packages.
+package(s), and development versions of the jpeg, png, etc. packages.
 
 The names of the packages that you need varies according to the
 GNU/Linux distribution that you use, and the options that you want to
 configure Emacs with.  On Debian-based systems, you can install all the
 packages needed to build the installed version of Emacs with a command
-like `apt-get build-dep emacs23'.
+like `apt-get build-dep emacs23'.  On Red Hat systems, the
+corresponding command is `yum-builddep emacs'.
 
 
 DETAILED BUILDING AND INSTALLATION:
 
-(This is for a Unix or Unix-like system.  For MS-DOS and Windows 3.X,
-see msdos/INSTALL.  For Windows 9X, Windows ME, Windows NT, Windows
-2000, Windows XP/2003, and Windows Vista/2008, see the file
+(This is for a Unix or Unix-like system.  For MS-DOS and MS Windows 3.X,
+see msdos/INSTALL.  For later versions of MS Windows, see the file
 nt/INSTALL.  For GNUstep and Mac OS X, see nextstep/INSTALL.)
 
 1) Make sure your system has enough swapping space allocated to handle
@@ -279,23 +260,21 @@ is able to find them; these options are necessary if you have your X
 Window System files installed in unusual places.  These options also
 accept a list of directories, separated with colons.
 
-[gtk is default]
 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 `gtk', `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 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 Gtk or 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.
+TOOLKIT is `gtk' (the default), `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 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 Gtk or LessTif/Motif,
+if you have the Xaw3d library installed (see "Image support libraries"
+above for Xaw3d availability).
+
+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.6 or newer is required for Emacs.
 
 The Emacs mail reader RMAIL is configured to be able to read mail from
 a POP3 server by default.  Versions of the POP protocol older than
@@ -330,6 +309,10 @@ systems which support that.
 
 Use --without-sound to disable sound support.
 
+Use --with-wide-int to implement Emacs values with the type 'long long',
+even on hosts where a narrower type would do.  With this option, on a
+typical 32-bit host, Emacs integers have 62 bits instead of 30.
+
 The `--prefix=PREFIXDIR' option specifies where the installation process
 should put emacs and its data files.  This defaults to `/usr/local'.
 - Emacs (and the other utilities users run) go in PREFIXDIR/bin
@@ -354,7 +337,7 @@ For example, the command
     ./configure --build=i386-linux-gnu --without-sound
 
 configures Emacs to build for a 32-bit GNU/Linux distribution,
-without sound.
+without sound support.
 
 `configure' doesn't do any compilation or installation itself.
 It just creates the files that influence those things:
@@ -402,7 +385,7 @@ shell such as Bash, which uses these variables:
 preprocessor to look in the `/foo/myinclude' directory for header
 files (in addition to the standard directories), instruct the linker
 to look in `/bar/mylib' for libraries, pass the -O3 optimization
-switch to the compiler, and link against libfoo.a and libbar.a
+switch to the compiler, and link against libfoo and libbar
 libraries in addition to the standard ones.
 
 For some libraries, like Gtk+, fontconfig and ALSA, `configure' uses
@@ -433,8 +416,8 @@ To build in a separate directory, you must use a version of `make'
 that supports the `VPATH' variable, such as GNU `make'.
 
 (Do not try to build in a separate directory by creating many links
-to the real source directory -- there is no need, and installation
-will fail.)
+to the real source directory--there is no need, and installation will
+fail.)
 
 4) Look at `./lisp/paths.el'; if some of those values are not right
 for your system, set up the file `./lisp/site-init.el' with Emacs
@@ -468,7 +451,7 @@ The `site-*.el' files are nonexistent in the distribution.  You do not
 need to create them if you have nothing to put in them.
 
 6) Refer to the file `./etc/TERMS' for information on fields you may
-wish to add to various termcap entries.
+wish to add to various termcap entries.  (This is unlikely to be necessary.)
 
 7) Run `make' in the top directory of the Emacs distribution to finish
 building Emacs in the standard way.  The final executable file is
@@ -481,7 +464,7 @@ installed locations, with `make install'.  By default, Emacs's files
 are installed in the following directories:
 
 `/usr/local/bin' holds the executable programs users normally run -
-               `emacs', `etags', `ctags', `b2m', `emacsclient',
+               `emacs', `etags', `ctags', `emacsclient',
                `grep-changelog', and `rcs-checkin'.
 
 `/usr/local/share/emacs/VERSION/lisp' holds the Emacs Lisp library;
@@ -614,14 +597,6 @@ Here is a complete list of the variables you may want to set.
        utilities (like `etags'); it defaults to
        `/usr/local/share/man/man1'.
 
-[here]
-
-`manext' gives the extension the man pages should be installed with.
-       It should contain a period, followed by the appropriate
-       digit.  It defaults to `.1'.  For example given the default
-       values for `mandir' and `manext', the Emacs man page would be
-       installed as `/usr/local/man/man1/emacs.1'.
-
 `prefix' doesn't give a path for any specific part of Emacs; instead,
        its value is used to determine the defaults for all the
        architecture-independent path variables - `datadir',
@@ -642,7 +617,7 @@ Here is a complete list of the variables you may want to set.
        path variables - `bindir' and `libexecdir'.
 
 The above variables serve analogous purposes in the makefiles for all
-GNU software; this variable is specific to Emacs.
+GNU software; the following variable is specific to Emacs.
 
 `archlibdir' indicates where Emacs installs and expects the executable
        files and other architecture-dependent data it uses while
@@ -658,7 +633,7 @@ settings persist, you can edit them into the `Makefile' in the top
 directory, but be aware that running the `configure' program erases
 `Makefile' and rebuilds it from `Makefile.in'.
 
-The path for finding Lisp files is specified in src/paths.h,
+The path for finding Lisp files is specified in src/epaths.h,
 a file which is generated by running configure.  To change the path,
 you can edit the definition of PATH_LOADSEARCH in that file
 before you run `make'.
@@ -700,17 +675,19 @@ BUILDING GNU EMACS BY HAND
 Once Emacs is configured, running `make' in the top directory performs
 the following steps.
 
-1) Run `make src/paths.h' in the top directory.  This produces
-`./src/paths.h' from the template file `./src/paths.in', changing
+1) Run `make epaths-force' in the top directory.  This produces
+`./src/epaths.h' from the template file `./src/epaths.in', changing
 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 `make-docfile' and
-`digest-doc' and `test-distrib'.  And others.
+2) Go to directory `./lib' and run `make'.  This creates include files
+and libraries used in later steps.
+
+3) Go to directory `./lib-src' and run `make'.  This creates
+executables named `etags', `make-docfile', 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
-`../lib-src'.
+4) Go to directory `./src' and run `make'.  This refers to files in
+the `./lisp', `./lib', and `./lib-src' subdirectories using names
+`../lisp', `../lib', and `../lib-src'.
 
 This creates a file `./src/emacs' which is the runnable Emacs,
 which has another name that contains a version number.
@@ -720,8 +697,7 @@ It also creates a file in `./etc' whose name is `DOC' followed by the
 current Emacs version.  This file contains documentation strings for
 all the functions in Emacs.  Each time you run make to make a new
 emacs, a new DOC file with a new name is made.  You must keep the DOC
-file for an Emacs version as long as you keep using that Emacs
-version.
+file for an Emacs version as long as you keep using that Emacs version.
 
 
 INSTALLATION BY HAND
@@ -730,17 +706,15 @@ The steps below are done by running `make install' in the main
 directory of the Emacs distribution.
 
 1) Copy `./lisp' and its subdirectories, `./etc', and the executables
-in `./lib-src' to their final destinations, as selected in `./src/paths.h'.
+in `./lib-src' to their final destinations, as selected in `./src/epaths.h'.
 
 Strictly speaking, not all of the executables in `./lib-src' need be copied.
-- The programs `fakemail', `hexl', `movemail', `profile', `rcs2log',
-    and `vcdiff' are used by Emacs; they do need to be copied.
-- The programs `etags', `ctags', `emacsclient', `b2m', and `rcs-checkin'
+- The programs `hexl', `movemail', `profile', `rcs2log', and `vcdiff'
+    are used by Emacs; they do need to be copied.
+- The programs `etags', `ctags', `emacsclient', and `rcs-checkin'
     are intended to be run by users; they are handled below.
 - The programs `make-docfile' and `test-distrib' were
     used in building Emacs, and are not needed any more.
-- The programs `digest-doc' and `sorted-doc' convert a `DOC' file into
-    a file for users to read.  There is no important reason to move them.
 
 2) Copy the files in `./info' to the place specified in
 `./lisp/site-init.el' or `./lisp/paths.el'.  Note that if the
@@ -757,12 +731,11 @@ of installing different versions.
 
 You can delete `./src/temacs'.
 
-4) Copy the programs `b2m', `emacsclient', `ctags', `etags', and
-`rcs-checkin' from `./lib-src' to `/usr/local/bin'.  These programs are
-intended for users to run.
+4) Copy the programs `emacsclient', `ctags', `etags', and `rcs-checkin'
+from `./lib-src' to `/usr/local/bin'.  These programs are intended for
+users to run.
 
-5) Copy the man pages in `./etc' for emacs, ctags, and etags into the
-appropriate man directories.
+5) Copy the man pages in `./doc/man' into the appropriate man directory.
 
 6) The files in the `./src' subdirectory, except for `emacs', are not
 used by Emacs once it is built.  However, it is very desirable to keep
@@ -771,8 +744,8 @@ the source on line for debugging.
 
 PROBLEMS
 
-See the file PROBLEMS in etc subdirectory for a list of various
-problems sometimes encountered, and what to do about them.
+See the file `./etc/PROBLEMS' for a list of various problems sometimes
+encountered, and what to do about them.
 \f
 This file is part of GNU Emacs.