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
+ 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
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
about the system configuration. Read those details carefully
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.
make distclean
./configure
- 6. Invoke the Make program:
+ 6. 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:
+ 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:
src/emacs -q
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
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
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
+ 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/
. 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
+ 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
configure should avoid such old versions. If that happens, use the
--without-LIB options to `configure'. See below for more details.
+* Extra fonts
+
+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
+<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)
+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.
+
DETAILED BUILDING AND INSTALLATION:
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>. 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).
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
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
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.8 or newer of `autoconf' to rebuild
+`configure'.
BUILDING GNU EMACS BY HAND
(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
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
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.)
+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.
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,