See section Prerequisites, for what you need to have installed before you can compile these programs.
After that, here's what to do:
sh configure
in the top-level directory. This tries to figure
out system dependencies and the installation prefix. See section The configure
script,
for options and other information about the configure
script.
make install
.
If you encounter problems anywhere along the line, let us know. Known problems are listed below (see section Problems). See section Bugs, for details on how to submit a useful bug report.
configure
script
(This section is largely from the Autoconf manual, by David MacKenzie.
See section `Running configure
scripts' in Autoconf.)
The configure
script that comes with the font utilities is
generated automatically by the Autoconf program. You can regenerate
configure
by rerunning Autoconf (for example, if a new version of
Autoconf is released); you must arrange for Autoconf to use the macros
in `./aclocal.m4' (see section `Generating configure
' in Autoconf).
The purpose of configure
is to adapt the source code to your
system: for example, the name of the directory header file
(`dirent.h' or `sys/dir.h'), whether an install
program
is available, and so on.
Normally, you do not need to give any options to configure
; you
cd
to the directory with the source code and type
`configure'. Exceptions: if `.' is not in your PATH
,
you must type `./configure'; if you are using a
non-Bourne-compatible shell on some old systems, you must samp `sh
configure'.
Running configure
takes a minute or two. While it is running, it
prints some messages that tell what it is doing. If you don't want to
see the messages, run configure
with its standard output
redirected to `/dev/null'; for example, `configure >/dev/null'.
To compile the package in a different directory from the one containing
the source code, you must use a variant of Make that supports the
VPATH
variable, such as GNU Make. cd
to the
directory where you want the object files and executables to go and run
configure
with the option `--srcdir=dir', where
dir is the directory that contains the source code. Using this
option is unnecessary if the source code is in the parent directory of
the one in which you are compiling; configure
automatically
checks for the source code in `..' if it does not find it in
`.'.
configure
guesses the default installation prefix (we'll call it
$(prefix)
) by looking for the directory which contains the
command gcc
, and using its parent. For example, if gcc
is
installed as `/usr/local/gnu/bin/gcc', $(prefix)
will be set
to `/usr/local/gnu'.
You can override this default guess for the installation prefix by giving
configure
the option `--prefix=path'. You can also
specify separate installation prefixes for architecture-specific files
and architecture-independent files by giving configure
the option
`--exec_prefix=xpath'. Then xpath will be the prefix
for installing programs and libraries. Data files and documentation
will still use the regular prefix. Normally, all files are installed
using the regular prefix.
You can tell configure
to figure out the configuration for your
system, and record it in `config.status', without actually
configuring the package. To do this, give configure
the
`--no-create' option. Later, you can run `./config.status' to
actually configure the package. This option is useful mainly in
`Makefile' rules for updating `config.status' and the
`Makefile' itself. You can also give `config.status' the
`--recheck' option, which makes it rerun configure
with the
same arguments you used before. This is useful if you change
configure
.
configure
ignores any other arguments that you give it.
On systems that require unusual options for compilation or linking that
the package's configure
script does not know about, you can give
configure
initial values for variables by setting them in the
environment. In Bourne-compatible shells, you can do that on the
command line like this:
CC='gcc -traditional' LIBS=-lposix sh configure
The Make variables that you might want to override with
environment variables when running configure
are:
(For these variables, any value given in the environment overrides the
value that configure
would choose.)
CC
gcc
if that is in your
PATH
, cc
otherwise.
INSTALL
install
if you
have it, cp
otherwise.
(For these variables, any value given in the environment is added to
the value that configure
chooses.)
DEFS
AC_CONFIG_HEADER
(including the file
utilities) do not use this variable.
LIBS
Of course, problems requiring manual intervention (e.g., setting these variables) should ideally be fixed by updating either the Autoconf macros or the `configure.in' file for that package.
To compile and use these programs, the following are necessary:
PLtoTF
and
GFtoPK
.
gawk
. This is only needed if you want to
use GSrenderfont.
See the section below for information on how to get all these programs.
The canonical source for all GNU software, including the GNU C compiler, GNU make, and Ghostscript, is `prep.ai.mit.edu [18.71.0.38]:pub/gnu'. That directory is replicated at many other sites around the world, including:
wuarchive.wustl.edu gatekeeper.dec.com:pub/GNU uxc.cso.uiuc.edu ftp.uu.net:packages/gnu
archive.eu.net src.doc.ic.ac.uk:gnu ftp.funet.fi nic.funet.fi:pub/gnu ugle.unit.no isy.liu.se ftp.diku.dk
ftp.cs.titech.ac.jp utsun.s.u-tokyo.ac.jp:ftpsync/prep archie.au:gnu
You can also order tapes with GNU software from the Free Software Foundation (thereby supporting the development of the font utilities and the rest of the GNU project); send mail to `gnu@prep.ai.mit.edu' for the latest prices and ordering information, or retrieve the file `DISTRIB' from a GNU archive.
The canonical source for the X window system is `export.lcs.mit.edu:pub/R5'. That directory is also shadowed at many other sites, including `gatekeeper.dec.com'. The FSF also sells X distribution tapes.
TeX is more scattered. A complete Unix TeX distribution is available for ftp on the machine `byron.u.washington.edu', or by ordering a tape from the University of Washington (send email to `elisabet@u.washington.edu'. What is on `byron' for ftp is often out-of-date, though.
The canonical sources for just Web2C--the port of just TeX, Metafont, and friends to Unix, without DVI processors, fonts, macro packages, etc.---are:
ftp.cs.umb.edu [192.12.26.23]:pub/tex/ (Boston) ics.uci.edu [128.195.1.1]:TeX/ (California) ftp.th-darmstadt.de [130.83.55.75]:pub/tex/src/web2c/ (Germany)
At all these sites, the files to retrieve are `web.tar.Z' and `web2c.tar.Z'.
The DVI-to-PostScript driver we recommend is Tom Rokicki's Dvips, and the X window system driver we recommend is Paul Vojta's XDvi. These programs are available from, respectively,
labrea.stanford.edu:pub/dvips* export.lcs.mit.edu:contrib/xdvi.tar.Z
We have modified XDvi and Dvips to use the same path searching code as the current distribution of TeX and these font utilities; the modified versions are available from `ftp.cs.umb.edu:pub/tex'.
To use Metafont, you must have a file defining output devices. (See section Metafont and BZRto.) We recommend you obtain `modes.mf' from
ftp.cs.umb.edu:pub/tex/modes.mf
You can retrieve the document describing all the details of the naming scheme for TeX fonts from
ftp.cs.umb.edu [192.12.26.23]:pub/tex/fontname.tar.Z
This section lists some things which have caused trouble during installation. If you encounter other problems, please send a bug report. See section Bugs, for how to submit a useful bug report.
__Xsi...
), and furthermore that the multibyte functions need
to specifically call the dynamic linking functions.)
The file `lib/dlsym.c' (from the MIT X distribution) defines the
dlsym
, dlclose
, and dlopen
symbols, so static
linking should work now.
If the current setup fails, it might work to change `-lXaw' in
the definition of X_libraries
in `lib/defs.make' to
the full pathname of the Xaw library.
fmod
: the routine takes two doubles, not one.
We simply corrected our system include file.
You may get compiler warnings for the file `widgets/Bitmap.c' at
the lines which use the Xt function XtIsRealized
on systems which
define NULL
as (void *) 0
. The reason is that macro
definition of XtIsRealized
in `<X11/IntrinsicP.h>'
incorrectly compares the result of XtWindowOfObject
to
NULL
, instead of 0
. If the warnings bother you, fix
`IntrinsicP.h'.
XAPPLRESDIR
environment variable to that
directory. See the tutorial on resources that comes with the MIT X
distribution (`mit/doc/tutorial/resources.txt') for more
information.
Good luck.