]> code.delx.au - gnu-emacs/blobdiff - INSTALL
(Character Sets): State clearly that FROM and TO
[gnu-emacs] / INSTALL
diff --git a/INSTALL b/INSTALL
index ad4f987e7d0b7f45db844931263378ba8ec81fbc..354c906527911db8d364fcb9eb471e669cf9c71f 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -1,7 +1,14 @@
 GNU Emacs Installation Guide
-Copyright (c) 1992, 1994, 1996, 1997, 2000, 2001, 2002, 2006 
-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, 2008, 2009  Free Software Foundation, Inc.
+See the end of the file for license conditions.
+
+
+This file contains general information.  For more specific information
+for the 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 CVS checkout (rather than a release), see
+the file INSTALL.CVS.
 
 
 BASIC INSTALLATION
@@ -92,6 +99,30 @@ that, so please refer to them if the simple procedure does not work.
 
 ADDITIONAL DISTRIBUTION FILES
 
+* Complex Text Layout support libraries
+
+Emacs needs the optional libraries "m17n-db", "libm17n-flt", "libotf"
+to correctly display such complex scripts as Indic and Khmer.
+On some systems, particularly GNU/Linux, these libraries may be
+already 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.
+
+The sources of these libraries are available by anonymous CVS from
+cvs.m17n.org.
+
+    % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n login
+    % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n co m17n-db
+    % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n co m17n-lib
+    % cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n co libotf
+
+For m17n-lib, if you have problems with making the whole package
+because you lack some other packages on which m17n-lib depends, try to
+configure it with the option "--without-gui".
+
 * intlfonts-VERSION.tar.gz
 
 The intlfonts distribution contains X11 fonts in various encodings
@@ -139,10 +170,7 @@ can be found:
                       Get version 6b -- 6a is reported to fail in
                       Emacs.
   . libtiff for TIFF: http://www.libtiff.org/
-  . 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.
+  . libgif for GIF:   http://sourceforge.net/projects/giflib/
 
 Emacs will configure itself to build with these libraries if the
 `configure' script finds them on your system, unless you supply the
@@ -156,8 +184,10 @@ configure should avoid such old versions.  If that happens, use the
 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 suitable font.  For `Unicode' (ISO 10646) fonts for X, see
+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
@@ -192,7 +222,7 @@ 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
+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.
@@ -201,9 +231,9 @@ Debian 3 and above.
 DETAILED BUILDING AND INSTALLATION:
 
 (This is for a Unix or Unix-like system.  For MS-DOS and Windows 3.X,
-see below; search for MSDOG.  For Windows 9X, Windows ME, Windows NT,
-and Windows 2000, see the file nt/INSTALL.  For the Mac, see the file
-mac/INSTALL.)
+see msdos/INSTALL.  For Windows 9X, Windows ME, Windows NT, Windows
+2000, Windows XP/2003, and Windows Vista/2008, 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
 a program whose pure code is 1.5 MB and whose data area is at
@@ -270,11 +300,6 @@ 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
-for GCC in your path, and use it if present.
-
 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
 POP3 are not supported.  For Kerberos-authenticated POP add
@@ -298,13 +323,13 @@ or more of these options:
   --without-png        for PNG image support
 
 Use --without-toolkit-scroll-bars to disable LessTif/Motif or Xaw3d
-scroll bars.  
+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.  
+systems which support that.
 
 Use --without-sound to disable sound support.
 
@@ -353,7 +378,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
@@ -364,11 +389,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.  By default, gcc is used if available.
 
 Here's an example of a `configure' invocation, assuming a Bourne-like
 shell such as Bash, which uses these variables:
@@ -383,6 +409,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
@@ -494,10 +530,11 @@ 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'.
@@ -523,8 +560,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
@@ -590,7 +627,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
@@ -692,8 +729,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
@@ -721,8 +758,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
@@ -761,151 +798,18 @@ PROBLEMS
 
 See the file PROBLEMS in etc subdirectory for a list of various
 problems sometimes encountered, and what to do about them.
+\f
+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 of the License, or
+(at your option) any later version.
 
-Installation on MSDOG (a.k.a. MSDOS)
-
-To install on MSDOG, you need to have the GNU C compiler for MSDOG
-(also known as djgpp), GNU Make, rm, mv, and sed.  See the remarks in
-config.bat for more information about locations and versions.  The
-file etc/FAQ includes pointers to Internet sites where you can find
-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
-unpack the distribution and compile it.  If you intend to compile with
-DJGPP v2.0 or later, and long file names support is enabled (LFN=y in
-the environment), you need to unpack Emacs distribution in a way that
-doesn't truncate the original long filenames to the DOS 8.3 namespace;
-the easiest way to do this is to use djtar program which comes with
-DJGPP, since it will note the LFN setting and behave accordingly.
-DJGPP v1 doesn't support long filenames, so you must unpack Emacs with
-a program that truncates the filenames to 8.3 naming as it extracts
-files; again, using djtar after setting LFN=n is the recommended way.
-You can build Emacs with LFN=n even if you use DJGPP v2, if some of
-your tools don't support long file names: just ensure that LFN is set
-to `n' during both unpacking and compiling.
-
-(By the time you read this, you have already unpacked the Emacs
-distribution, but if the explanations above imply that you should have
-done it differently, it's safer to delete the directory tree created
-by the unpacking program and unpack Emacs again, than to risk running
-into problems during the build process.)
-
-It is important to understand that the runtime support of long file
-names by the Emacs binary is NOT affected by the LFN setting during
-compilation; Emacs compiled with DJGPP v2.0 or later will always
-support long file names on Windows 9X no matter what was the setting
-of LFN at compile time.  However, if you compiled with LFN disabled
-and want to enable LFN support after Emacs was already built, you need
-to make sure that the support files in the lisp, etc and info
-directories are called by their original long names as found in the
-distribution.  You can do this either by renaming the files manually,
-or by extracting them from the original distribution archive with
-djtar after you set LFN=y in the environment.
-
-To unpack Emacs with djtar, type this command:
-
-    djtar -x emacs.tgz
-
-(This assumes that the Emacs distribution is called `emacs.tgz' on
-your system.)
-
-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
-unpacking emacs.tgz, chdir into the directory emacs-XX.YY/fonts, and
-type this:
-
-    djtar -x intlfonts.tgz
-
-When unpacking is done, a directory called `emacs-XX.YY' will be
-created, where XX.YY is the Emacs version.  To build and install
-Emacs, chdir to that directory and type these commands:
-
-    config msdos
-    make install
-
-Running "config msdos" checks for several programs that are required
-to configure and build Emacs; if one of those programs is not found,
-CONFIG.BAT stops and prints an error message.  If you have DJGPP
-version 2.0 or 2.01, it will complain about a program called
-DJECHO.EXE.  These old versions of DJGPP shipped that program under
-the name ECHO.EXE, so you can simply copy ECHO.EXE to DJECHO.EXE and
-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
-command:
-
-    make bdf INSTALLDIR=..
-
-After Make finishes, you may remove the directory intlfonts-X.Y; the
-fonts are installed into the fonts/bdf subdirectory of the top-level
-Emacs directory, and that is where Emacs will look for them by
-default.
-
-Building Emacs creates executable files in the src and lib-src
-directories.  Installing Emacs on MSDOS moves these executables to a
-sibling directory called bin.  For example, if you build in directory
-/emacs, installing moves the executables from /emacs/src and
-/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 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
-Emacs executable was run from.  You can override this by setting the
-environment variables EMACSDATA (for the location of `etc' directory),
-EMACSLOADPATH (for the location of `lisp' directory) and INFOPATH (for
-the location of the `info' directory).
-
-MSDOG is a not a multitasking operating system, so Emacs features such
-as asynchronous subprocesses that depend on multitasking will not
-work.  Synchronous subprocesses do work.
-
-Version 2.0 of djgpp has two bugs that affect Emacs.  We've included
-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.
+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.  If not, see <http://www.gnu.org/licenses/>.