changeset 2999:faa5d0421460

[project @ 1997-05-23 03:02:09 by jwe]
author jwe
date Fri, 23 May 1997 03:02:36 +0000
parents 692ba9d441ec
children 86d3a6fc4c84
files kpathsea/AUTHORS kpathsea/BUGS kpathsea/CONFIGURE kpathsea/ChangeLog kpathsea/HIER kpathsea/INSTALL kpathsea/MakeTeX.site kpathsea/MakeTeXMF kpathsea/MakeTeXPK kpathsea/MakeTeXTFM kpathsea/MakeTeXcommon kpathsea/MakeTeXls-R kpathsea/MakeTeXmkdir kpathsea/MakeTeXnames kpathsea/MakeTeXnames.cnf kpathsea/MakeTeXupdate kpathsea/Makefile kpathsea/Makefile.in kpathsea/NEWS kpathsea/PROJECTS kpathsea/README kpathsea/absolute.c kpathsea/absolute.h kpathsea/acconfig.h kpathsea/atou.c kpathsea/basename.c kpathsea/bugs.texi kpathsea/c-auto.h kpathsea/c-auto.h.in kpathsea/c-ctype.h kpathsea/c-dir.h kpathsea/c-errno.h kpathsea/c-fopen.h kpathsea/c-limits.h kpathsea/c-memstr.h kpathsea/c-minmax.h kpathsea/c-namemx.h kpathsea/c-pathch.h kpathsea/c-pathmx.h kpathsea/c-proto.h kpathsea/c-stat.h kpathsea/c-std.h kpathsea/c-unistd.h kpathsea/c-vararg.h kpathsea/cnf.c kpathsea/cnf.h kpathsea/common.ac kpathsea/concat.c kpathsea/concat3.c kpathsea/concatn.c kpathsea/concatn.h kpathsea/config.cache kpathsea/config.h kpathsea/config.log kpathsea/config.status kpathsea/configure kpathsea/configure.in kpathsea/db.c kpathsea/db.h kpathsea/debug.c kpathsea/debug.h kpathsea/default.h kpathsea/dir.c kpathsea/elt-dirs.c kpathsea/expand.c kpathsea/expand.h kpathsea/extend-fname.c kpathsea/file-p.c kpathsea/find-suffix.c kpathsea/fn.c kpathsea/fn.h kpathsea/fontmap.c kpathsea/fontmap.h kpathsea/getopt.c kpathsea/getopt.h kpathsea/getopt1.c kpathsea/hash.c kpathsea/hash.h kpathsea/hier.texi kpathsea/install.texi kpathsea/kdefault.c kpathsea/klibtool.version kpathsea/kpathsea.aux kpathsea/kpathsea.cps kpathsea/kpathsea.h kpathsea/kpathsea.info kpathsea/kpathsea.texi kpathsea/kpsewhich.c kpathsea/lib.h kpathsea/line.c kpathsea/line.h kpathsea/magstep.c kpathsea/magstep.h kpathsea/make-suffix.c kpathsea/make/ChangeLog kpathsea/make/README kpathsea/make/clean.make kpathsea/make/common.make kpathsea/make/config.make kpathsea/make/dist.make kpathsea/make/library.make kpathsea/make/makevars.make kpathsea/make/paths.make kpathsea/make/programs.make kpathsea/make/rdepend.make kpathsea/make/texi.make kpathsea/make/tkpathsea.make kpathsea/path-elt.c kpathsea/pathsearch.c kpathsea/pathsearch.h kpathsea/proginit.c kpathsea/proginit.h kpathsea/progname.c kpathsea/progname.h kpathsea/putenv.c kpathsea/readable.c kpathsea/readable.h kpathsea/rm-suffix.c kpathsea/stamp-auto kpathsea/stamp-auto.in kpathsea/str-list.c kpathsea/str-list.h kpathsea/str-llist.c kpathsea/str-llist.h kpathsea/strcasecmp.c kpathsea/strstr.c kpathsea/strtol.c kpathsea/systypes.h kpathsea/tex-file.c kpathsea/tex-file.h kpathsea/tex-glyph.c kpathsea/tex-glyph.h kpathsea/tex-hush.c kpathsea/tex-hush.h kpathsea/tex-make.c kpathsea/tex-make.h kpathsea/texmf.cnf.in kpathsea/tilde.c kpathsea/tilde.h kpathsea/truncate.c kpathsea/truncate.h kpathsea/types.h kpathsea/unixtex.texi kpathsea/uppercasify.c kpathsea/variable.c kpathsea/variable.h kpathsea/version.c kpathsea/withenable.ac kpathsea/xcalloc.c kpathsea/xfopen.c kpathsea/xfseek.c kpathsea/xftell.c kpathsea/xgetcwd.c kpathsea/xmalloc.c kpathsea/xopendir.c kpathsea/xopendir.h kpathsea/xputenv.c kpathsea/xrealloc.c kpathsea/xstat.c kpathsea/xstat.h kpathsea/xstrdup.c kpathsea/xt.ac
diffstat 162 files changed, 32612 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/kpathsea/AUTHORS
@@ -0,0 +1,10 @@
+Karl Berry wrote all files not otherwise marked, with help from Kathryn
+Hargreaves on some of the original versions.
+
+Thomas Esser originated most of the MakeTeX... scripts.
+
+The brace expansion code in expand.c was written by Brian Fox and Chet
+Ramey for Bash, the GNU shell.
+
+The implementation of the link trick in pathsearch.c is taken from GNU
+find, implemented by David MacKenzie from Matthew Farwell's suggestion.
new file mode 100644
--- /dev/null
+++ b/kpathsea/BUGS
@@ -0,0 +1,486 @@
+Contents:
+
+  Reporting bugs
+    Bug checklist
+    Mailing lists
+    Debugging
+    Logging
+    Common problems
+      Unable to find files
+      Slow path searching
+      Unable to generate fonts
+      TeX or Metafont failing
+      `XtStrings'
+      `dlopen'
+      `ShellWidgetClass'
+      Pointer combination warnings
+
+
+Reporting bugs
+==============
+
+  If you have problems or suggestions, please report them to
+<tex-k@mail.tug.org> using the bug checklist below.
+
+  Please report bugs in the documentation; not only factual errors or
+inconsistent behavior, but unclear or incomplete explanations, typos,
+wrong fonts, ...
+
+Bug checklist
+-------------
+
+  Before reporting a bug, please check below to be sure it isn't already
+known (*note Common problems::.).
+
+  Bug reports should be sent via electronic mail to
+<tex-k@mail.tug.org>, or by postal mail to 135 Center Hill Road /
+Plymouth, MA 02360 / USA.
+
+  The general principle is that a good bug report includes all the
+information necessary for reproduction.  Therefore, to enable
+investigation, your report should include the following:
+
+   * The version number(s) of the program(s) involved, and of Kpathsea
+     itself.  You can get the former by giving a sole option `--version'
+     to the program, and the latter by running `kpsewhich --version'.
+     The `NEWS' and `ChangeLog' files also contain the version number.
+
+   * The hardware, operating system (including version number),
+     compiler, and `make' program you are using (the output of `uname
+     -a' is a start on the first two, though often incomplete).  If the
+     bug involves the X window system, include X version and supplier
+     information as well (examples: X11R6 from MIT; X11R4 from HP;
+     OpenWindows 3.3 bundled with SunOS 4.1.4).
+
+   * Any options you gave to `configure'.  This is recorded in the
+     `config.status' files.
+
+     If you are reporting a bug in `configure' itself, it's probably
+     system-dependent, and it will be unlikely the maintainers can do
+     anything useful if you merely report that thus-and-such is broken.
+     Therefore, you need to do some additional work: for some bugs, you
+     can look in the file `config.log' where the test that failed should
+     appear, along with the compiler invocation and source program in
+     question.  You can then compile it yourself by hand, and discover
+     why the test failed.  Other `configure' bugs do not involve the
+     compiler; in that case, the only recourse is to inspect the
+     `configure' shell script itself, or the Autoconf macros that
+     generated `configure'.
+
+   * The log of all debugging output, if the bug is in path searching.
+     You can get this by setting the environment variable
+     `KPATHSEA_DEBUG' to `-1' before running the program.  Please look
+     at the log yourself to make sure the behavior is really a bug
+     before reporting it; perhaps "old" environment variable settings
+     are causing files not to be found, for example.
+
+   * The contents of any input files necessary to reproduce the bug.
+     For bugs in DVI-reading programs, for example, this generally
+     means a DVI file (and any EPS or other files it uses)--TeX source
+     files are helpful, but the DVI file is necessary, because that's
+     the actual program input.
+
+     GNU `shar', available from `ftp://prep.ai.mit.edu/pub/gnu' is a
+     convenient way of packaging multiple (possibly binary) files for
+     electronic mail.  If you feel your input files are too big to send
+     by email, you can ftp them to `ftp://ftp.tug.org/incoming' (that
+     directory is writable, but not readable).
+
+   * If you are sending a patch (do so if you can!), please do so in
+     the form of a context diff (`diff -c') against the original
+     distribution source.  Any other form of diff is either not as
+     complete or harder for me to understand.  Please also include a
+     `ChangeLog' entry.
+
+   * If the bug involved is an actual crash (i.e., core dump), it is
+     easy and useful to include a stack trace from a debugger (I
+     recommend the GNU debugger GDB, available from
+     `ftp://prep.ai.mit.edu/pub/gnu').  If the cause is apparent (a
+     `NULL' value being dereferenced, for example), please send the
+     details along.  If the program involved is TeX or Metafont, and
+     the crash is happening at apparently-sound code, however, the bug
+     may well be in the compiler, rather than in the program or the
+     library (*note TeX or Metafont failing: TeX or Metafont failing.).
+
+   * Any additional information that will be helpful in reproducing,
+     diagnosing, or fixing the bug.
+
+Mailing lists
+-------------
+
+  Web2c and Kpathsea in general are discussed on the mailing list
+<tex-k@mail.tug.org>.  To join, email <tex-k-request@mail.tug.org> with
+a line consisting of
+
+     subscribe YOU@YOUR.PREFERRED.EMAIL.ADDRESS
+
+in the body of the message.
+
+  You do not need to join to submit a report, nor will it affect whether
+you get a response.  There is no Usenet newsgroup equivalent (if you can
+be the one to set this up, email `tex-k-request').  Traffic on the list
+is fairly light, and is mainly bug reports and enhancement requests to
+the software.  The best way to decide if you want to join or not is
+read some of the archives from `ftp://ftp.tug.org/mail/archives/tex-k/'.
+
+  Be aware that large data files are sometimes included in bug reports.
+If this is a problem for you, do not join the list.
+
+  If you only want announcements of new releases, not bug reports and
+discussion, join <tex-archive@math.utah.edu> (via mail to
+<tex-archive-request@math.utah.edu>).
+
+  If you are looking for general TeX help, such as how to use LaTeX,
+please use the mailing list <info-tex@shsu.edu> mailing list, which is
+gatewayed to the `comp.text.tex' Usenet newsgroup (or post to the
+newsgroup; the gateway is bidirectional).
+
+Debugging
+---------
+
+  Kpathsea provides a number of runtime debugging options, detailed
+below by their names and corresponding numeric values.  When the files
+you expect aren't being found, the thing to do is enable these options
+and examine the output.
+
+  You can set these with some runtime argument (e.g., `-d') to the
+program; in that case, you should use the numeric values described in
+the program's documentation (which, for Dvipsk and Xdvik, are different
+than those below).  It's best to give the `-d' (or whatever) option
+first, for maximal output.  Dvipsk and Xdvik have additional
+program-specific debugging options as well.
+
+  You can also set the environment variable `KPATHSEA_DEBUG'; in this
+case, you should use the numbers below.  Also, if you run the program
+under a debugger and set the variable `kpathsea_debug', Also use the
+numbers below
+
+  In any case, by far the simplest value to use is `-1', which will
+turn on all debugging output.  This is usually better than guessing
+which particular values will yield the output you need.
+
+  Debugging output always goes to standard error, so you can redirect it
+easily.  For example, in Bourne-compatible shells:
+     dvips -d -1 ... 2>/tmp/debug
+
+  It is sometimes helpful to run the standalone Kpsewhich utility
+(*note Invoking kpsewhich::.), instead of the original program.
+
+  In any case, you can *not* use the *names* below; you must always use
+somebody's numbers.  (Sorry.)  To set more than one option, just sum
+the corresponding numbers.
+
+`KPSE_DEBUG_STAT (1)'
+     Report `stat'(2) calls. This is useful for verifying that your
+     directory structure is not forcing Kpathsea to do many additional
+     file tests (*note Slow path searching::., and *note Subdirectory
+     expansion::.). If you are using an up-to-date `ls-R' database
+     (*note Filename database::.), this should produce no output unless
+     a nonexistent file that must exist is searched for.
+
+`KPSE_DEBUG_HASH (2)'
+     Report lookups in all hash tables: `ls-R' and `aliases' (*note
+     Filename database::.); font aliases (*note Fontmap::.); and config
+     file values (*note Config files::.).  Useful when expected values
+     are not being found, e.g.., file searches are looking at the disk
+     instead of using `ls-R'.
+
+`KPSE_DEBUG_FOPEN (4)'
+     Report file openings and closings. Especially useful when your
+     system's file table is full, for seeing which files have been
+     opened but never closed. In case you want to set breakpoints in a
+     debugger: this works by redefining `fopen' (`fclose') to be
+     `kpse_fopen_trace' (`kpse_fclose_trace').
+
+`KPSE_DEBUG_PATHS (8)'
+     Report general path information for each file type Kpathsea is
+     asked to search. This is useful when you are trying to track down
+     how a particular path got defined--from `texmf.cnf', `config.ps',
+     an environment variable, the compile-time default, etc.  This is
+     the contents of the `kpse_format_info_type' structure defined in
+     `tex-file.h'.
+
+`KPSE_DEBUG_EXPAND (16)'
+     Report the directory list corresponding to each path element
+     Kpathsea searches. This is only relevant when Kpathsea searches
+     the disk, since `ls-R' searches don't look through directory lists
+     in this way.
+
+`KPSE_DEBUG_SEARCH (32)'
+     Report on each file search: the name of the file searched for, the
+     path searched in, whether or not the file must exist (when drivers
+     search for `cmr10.vf', it need not exist), and whether or not we
+     are collecting all occurrences of the file in the path (as with,
+     e.g., `texmf.cnf' and `texfonts.map'), or just the first (as with
+     most lookups).  This can help you correlate what Kpathsea is doing
+     with what is in your input file.
+
+  Debugging output from Kpathsea is always written to standard error,
+and begins with the string `kdebug:'. (Except for hash table buckets,
+which just start with the number, but you can only get that output
+running under a debugger. See comments at the `hash_summary_only'
+variable in `kpathsea/db.c'.)
+
+Logging
+-------
+
+  Kpathsea can record the time and filename found for each successful
+search.  This may be useful in finding good candidates for deletion when
+your filesystem is full, or in discovering usage patterns at your site.
+
+  To do this, define the environment or config file variable
+`TEXMFLOG'.  The value is the name of the file to append the
+information to.  The file is created if it doesn't exist, and appended
+to if it does.
+
+  Each successful search turns into one line in the log file: two words
+separated by a space. The first word is the time of the search, as the
+integer number of seconds since "the epoch", i.e., UTC midnight 1
+January 1970 (more precisely, the result of the `time' system call).
+The second word is the filename.
+
+  For example, after `setenv TEXMFLOG /tmp/log', running Dvips on
+`story.dvi' appends the following lines:
+
+     774455887 /usr/local/share/texmf/dvips/config.ps
+     774455887 /usr/local/share/texmf/dvips/psfonts.map
+     774455888 /usr/local/share/texmf/dvips/texc.pro
+     774455888 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmbx10.600pk
+     774455889 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmsl10.600pk
+     774455889 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmr10.600pk
+     774455889 /usr/local/share/texmf/dvips/texc.pro
+
+Only filenames that are absolute are recorded, to preserve some
+semblance of privacy.
+
+Common problems
+---------------
+
+  Here are some common problems with configuration, compilation,
+linking, execution, ...
+
+Unable to find files
+....................
+
+  If a program complains it cannot find fonts (or other input files),
+any of several things might be wrong.  In any case, you may find the
+debugging options helpful.  *Note Debugging::.
+
+   * Perhaps you simply haven't installed all the necessary files; the
+     basic fonts and input files are distributed separately from the
+     programs.  *Note unixtex.ftp::.
+
+   * You have (perhaps unknowingly) told Kpathsea to use search paths
+     that don't reflect where the files actually are.  One common cause
+     is having environment variables set from a previous installation,
+     thus overriding what you carefully set in `texmf.cnf' (*note
+     Supported file formats::.).  System `/etc/profile' or other files
+     such may be the culprit.
+
+   * Your files reside in a directory that is only pointed to via a
+     symbolic link, in a leaf directory and is not listed in `ls-R'.
+
+     Unfortunately, Kpathsea's subdirectory searching has an
+     irremediable deficiency: If a directory D being searched for
+     subdirectories contains plain files and symbolic links to other
+     directories, but no true subdirectories, D will be considered a
+     leaf directory, i.e., the symbolic links will not be followed.
+     *Note Subdirectory expansion::.
+
+     You can work around this problem by creating an empty dummy
+     subdirectory in D. Then D will no longer be a leaf, and the
+     symlinks will be followed.
+
+     The directory immediately followed by the `//' in the path
+     specification, however, is always searched for subdirectories,
+     even if it is a leaf.  Presumably you would not have asked for the
+     directory to be searched for subdirectories if you didn't want it
+     to be.
+
+   * If the fonts (or whatever) don't already exist, `MakeTeXPK' (or
+     `MakeTeXMF' or `MakeTeXTFM') will try to create them.  If these
+     rather complicated shell scripts fail, you'll eventually get an
+     error message saying something like `Can't find font FONTNAME'.
+     The best solution is to fix (or at least report) the bug in
+     `MakeTeXPK'; the workaround is to generate the necessary fonts by
+     hand with Metafont, or to grab them from a CTAN site (*note
+     unixtex.ftp::.).
+
+   * There is a bug in the library. *Note Reporting bugs::.
+
+Slow path searching
+...................
+
+  If your program takes an excessively long time to find fonts or other
+input files, but does eventually succeed, here are some possible
+culprits:
+
+   * Most likely, you just have a lot of directories to search, and that
+     takes a noticeable time. The solution is to create and maintain a
+     separate `ls-R' file that lists all the files in your main TeX
+     hierarchy.  *Note Filename database::.  Kpathsea always uses `ls-R'
+     if it's present; there's no need to recompile or reconfigure any
+     of the programs.
+
+   * Your recursively-searched directories (e.g.,
+     `/usr/local/share/texmf/fonts//'), contain a mixture of files and
+     directories. This prevents Kpathsea from using a useful
+     optimization (*note Subdirectory expansion::.).
+
+     It is best to have only directories (and perhaps a `README') in the
+     upper levels of the directory structure, and it's very important
+     to have *only* files, and no subdirectories, in the leaf
+     directories where the dozens of TFM, PK, or whatever files reside.
+
+  In any case, you may find the debugging options helpful in determining
+precisely when the disk or network is being pounded.  *Note Debugging::.
+
+Unable to generate fonts
+........................
+
+  This can happen if either `MakeTeXPK' hasn't been installed properly,
+or if the local installation of Metafont isn't correct.
+
+  If `mf' is a command not found by `MakeTeXPK', then you need to
+install Metafont (*note unixtex.ftp::.).
+
+  If Metafont runs, but generates fonts at the wrong resolution, you
+need to be sure the `M' and `D' lines in your Dvips configuration file
+match (*note Config files: (dvips)Config files.).  For example, if
+`MakeTeXPK' is generating 300dpi fonts, but you need 600dpi fonts, you
+should have:
+     M ljfour
+     D 600
+
+  If Metafont runs but generates fonts at a resolution of 2602dpi (and
+prints out the name of each character as well as just a character
+number, and maybe tries to display the characters), then your Metafont
+base file probably hasn't been made properly.  (It's using the default
+`proof' mode, instead of an actual device mode.)  To make a proper
+`plain.base', assuming the local mode definitions are contained in a
+file `modes.mf', run the following command (assuming Unix):
+
+     inimf "plain; input modes; dump"
+
+Then copy the `plain.base' file from the current directory to where the
+base files are stored on your system (`/usr/local/share/texmf/web2c' by
+default), and make a link (either hard or soft) from `plain.base' to
+`mf.base' in that directory.  *Note inimf invocation: (web2c)inimf
+invocation.
+
+TeX or Metafont failing
+.......................
+
+  If TeX or Metafont get a segmentation fault or otherwise fail while
+running a normal input file, the problem is usually a compiler bug
+(unlikely as that may sound).  Even if the trip and trap tests are
+passed, problems may lurk.  Optimization occasionally causes trouble in
+programs other than TeX and Metafont themselves, too.
+
+  Insufficient swap space may also cause core dumps or other erratic
+behavior.
+
+  For a workaround, if you enabled any optimization flags, it's best to
+omit optimization entirely.  In any case, the way to find the facts is
+to run the program under the debugger and see where it's failing.
+
+  Also, if you have trouble with a system C compiler, I advise trying
+the GNU C compiler. And vice versa, unfortunately; but in that case I
+also recommend reporting a bug to the GCC mailing list; *note Bugs:
+(gcc)Bugs..
+
+  To report compiler bugs effectively requires perseverance and
+perspicacity: you must find the miscompiled line, and that usually
+involves delving backwards in time from the point of error, checking
+through TeX's (or whatever program's) data structures.  Things are not
+helped by all-too-common bugs in the debugger itself.  Good luck.
+
+`XtStrings'
+...........
+
+  You may find that linking X programs results in an error from the
+linker that `XtStrings' is undefined, something like this:
+
+     gcc -o virmf ...
+     .../x11.c:130: undefined reference to `XtStrings'
+
+  This generally happens because of a mismatch between the X include
+files with which you compiled and the X libraries with which you linked;
+often, the include files are from MIT and the libraries from Sun.
+
+  The solution is to use the same X distribution for compilation and
+linking.  Probably `configure' was unable to guess the proper
+directories from your installation.  You can use the `configure'
+options `--x-includes=PATH' and `--x-libraries=PATH' to explicitly
+specify them.
+
+`dlopen'
+........
+
+  (This section adapted from the file `dlsym.c' in the X distribution.)
+
+  The `Xlib' library uses the standard C function `wcstombs'.  Under
+SunOS 4.1, `wcstombs' uses the `dlsym' interface defined in `libdl.so'.
+Unfortunately, the SunOS 4.1 distribution does not include a static
+`libdl.a' library.
+
+  As a result, if you try to link an X program statically under SunOS,
+you may get undefined references to `dlopen', `dlsym', and `dlclose'.
+One workaround is to include these definitions when you link:
+
+     void *dlopen() { return 0; }
+     void *dlsym()  { return 0; }
+     int dlclose()  { return -1; }
+
+These are contained in the `dlsym.c' file in the MIT X distribution.
+
+`ShellWidgetClass'
+..................
+
+  (This section adapted from the comp.sys.sun.admin FAQ.)
+
+  If you are linking with Sun's OpenWindows libraries in SunOS 4.1.x,
+you may get undefined symbols `_get_wmShellWidgetClass' and
+`_get_applicationShellWidgetClass' when linking. This problem does not
+arise using the standard MIT X libraries under SunOS.
+
+  The cause is bugs in the `Xmu' shared library as shipped from Sun.
+There are several fixes:
+
+   * Install the free MIT distribution from `ftp.x.org' and mirrors.
+
+   * Get the OpenWindows patches listed below.
+
+   * Statically link the `Xmu' library into the executable.
+
+   * Avoid using `Xmu' at all. If you are compiling Metafont, *note
+     Online Metafont graphics: (web2c)Online Metafont graphics.. If you
+     are compiling Xdvi, see the `-DNOTOOL' option in `xdvik/INSTALL'.
+
+   * Ignore the errors. The binary runs fine regardless.
+
+  Here is the information for getting the two patches:
+
+     Patch ID: 100512-02
+     Bug ID's: 1086793, 1086912, 1074766
+     Description: 4.1.x OpenWindows 3.0 `libXt' jumbo patch
+     
+     Patch ID: 100573-03
+     Bug ID: 1087332
+     Description: 4.1.x OpenWindows 3.0 undefined symbols when using shared `libXmu'.
+
+  The way to statically link with `libXmu' depends on whether you are
+using a Sun compiler (e.g., `cc') or `gcc'. If the latter, alter the
+`x_libs' Make variable to include
+
+     -static -lXmu -dynamic
+
+  If you are using the Sun compiler, use `-Bstatic' and `-Bdynamic'.
+
+Pointer combination warnings
+............................
+
+  When compiling with old C compilers, you may get some warnings about
+"illegal pointer combinations".  These are spurious; just ignore them.
+I decline to clutter up the source with casts to get rid of them.
+
new file mode 100644
--- /dev/null
+++ b/kpathsea/CONFIGURE
@@ -0,0 +1,193 @@
+Contents:
+
+  Basic Installation
+  Compilers and Options
+  Compiling For Multiple Architectures
+  Installation Names
+  Optional Features
+  Specifying the System Type
+  Sharing Defaults
+  Operation Controls
+
+
+Basic Installation
+==================
+
+   These are generic installation instructions.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, a file
+`config.cache' that saves the results of its tests to speed up
+reconfiguring, and a file `config.log' containing compiler output
+(useful mainly for debugging `configure').
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If at some point `config.cache'
+contains results you don't want to keep, you may remove or edit it.
+
+   The file `configure.in' is used to create `configure' by a program
+called `autoconf'.  You only need `configure.in' if you want to change
+it or regenerate `configure' using a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
+
+     Running `configure' takes awhile.  While running, it prints some
+     messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.
+
+  5. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+Compilers and Options
+=====================
+
+   Some systems require unusual options for compilation or linking that
+the `configure' script does not know about.  You can give `configure'
+initial values for variables by setting them in the environment.  Using
+a Bourne-compatible shell, you can do that on the command line like
+this:
+     CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
+
+Or on systems that have the `env' program, you can do it like this:
+     env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+
+Compiling For Multiple Architectures
+====================================
+
+   You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you must use a version 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
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   If you have to use a `make' that does not supports the `VPATH'
+variable, you have to compile the package for one architecture at a time
+in the source code directory.  After you have installed the package for
+one architecture, use `make distclean' before reconfiguring for another
+architecture.
+
+Installation Names
+==================
+
+   By default, `make install' will install the package's files in
+`/usr/local/bin', `/usr/local/man', etc.  You can specify an
+installation prefix other than `/usr/local' by giving `configure' the
+option `--prefix=PATH'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+give `configure' the option `--exec-prefix=PATH', the package will use
+PATH as the prefix for installing programs and libraries.
+Documentation and other data files will still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=PATH' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+   Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+   There may be some features `configure' can not figure out
+automatically, but needs to determine by the type of host the package
+will run on.  Usually `configure' can figure that out, but if it prints
+a message saying it can not guess the host type, give it the
+`--host=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name with three fields:
+     CPU-COMPANY-SYSTEM
+
+See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the host type.
+
+   If you are building compiler tools for cross-compiling, you can also
+use the `--target=TYPE' option to select the type of system they will
+produce code for and the `--build=TYPE' option to select the type of
+system on which you are compiling the package.
+
+Sharing Defaults
+================
+
+   If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Operation Controls
+==================
+
+   `configure' recognizes the following options to control how it
+operates.
+
+`--cache-file=FILE'
+     Use and save the results of the tests in FILE instead of
+     `./config.cache'.  Set FILE to `/dev/null' to disable caching, for
+     debugging `configure'.
+
+`--help'
+     Print a summary of the options to `configure', and exit.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`--version'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`configure' also accepts some other, not widely useful, options.
+
new file mode 100644
--- /dev/null
+++ b/kpathsea/ChangeLog
@@ -0,0 +1,3049 @@
+Fri Feb  7 11:53:09 1997  Karl Berry  <karl@cs.umb.edu>
+
+	* Version 3.0.
+
+	* MakeTeXMF: Syntax problems with dc*.  Fix from Thomas.
+
+	* MakeTeX*: sed command to strip off all but the first of multiple
+	trees in $TEXMF was faulty.
+
+	* c-pathch.h (ENV_SEP, ENV_SEP_STRING) [AMIGA]: Change to ;
+	for Andreas.  Then Amiga binaries may be able to share
+	the same texmf.cnf with Unix and NT.
+
+	* texmf.cnf.in (main_memory): Decrease back to 263,000.
+	It's not worth allocating 7MB on everyone's machine just
+	to do xy-pic samples.  Add a comment about it.
+
+Thu Feb  6 10:27:50 1997  Karl Berry  <karl@cs.umb.edu>
+
+	* db.c (kpse_db_search): If an alias exists on disk, and the
+	original entry in ls-R doesn't, use the alias.  Idea, sample code
+        from Fabrice.
+
+	* cnf.c (do_line): Add awful kludge to translate ; to :
+	when reading texmf.cnf values under Unix.  The idea is
+	to be able to write a single texmf.cnf that will work
+	under both NT and Unix.
+
+	* db.c: Doc fixes.
+
+	* MakeTeXcommon: Set ps_to_pk.
+	* MakeTeXPK: Use ps_to_pk instead of hardwiring gsftopk.
+	* MakeTeX.site: Include ps_to_pk comment.
+
+	* texmf.cnf.in (TEXMFCNF): Include SELFAUTOLOC (at the front).
+	* progname.c (kpse_set_progname): Include SELFAUTOLOC for the real
+	directory.  It may be useful.  Suggested by Andreas.
+
+	* MakeTeXcommon: Add case for fc.
+	* MakeTeX.site: Add comment for fc.
+	* MakeTeXMF: Add case for fc, generated like Sauter.
+	From Francois and Thomas.
+
+	* progname.c [WIN32]: SELFAUTODIR fix from Fabrice.
+
+	* kpathsea.h: Do not #include <kpathsea.h> (infinite loop).
+	From Fabrice and Richard.
+
+Tue Feb  4 13:20:09 1997  Karl Berry  <karl@cs.umb.edu>
+
+	* tilde.c: xstrdup the result from getenv,
+	since we end up freeing it with a path element of `~'.
+
+	* MakeTeX.site: Include RCS id.
+
+	* MakeTeX.site: Replace sample dc assignment with ec.
+
+	* MakeTeXMF: Handle ec, use exbase for tc.
+
+	* MakeTeXcommon (ecfontdir,tcfontdir): New variables.
+
+Tue Feb 04 15:11:29 1997  Fabrice POPINEAU  <popineau@ese-metz.fr>
+
+	* progname.c: argv[0] under Win95 is set to the short
+	filename of the executable run. Changed the way
+	program_invocatio_name is retrieved : used the SearchPath() win32
+	call, next FindFirstFile() to get the long filename. The selfdir
+	stuff is not used any more for win32.
+
+Mon Feb  3 18:01:02 1997  Karl Berry  <karl@cs.umb.edu>
+
+	* kpsewhich.c (read_command_line): Check for -1, not EOF,
+	per new getopt.
+
+Sun Feb  2 16:06:42 1997  Karl Berry  <karl@cs.umb.edu>
+
+	* texmf.cnf.in (PKFONTS.xdvi): Replace `gsftopk,ps2pk' by `modeless'.
+	* MakeTeXPK (mode): Use `modeless' instead of `gsftopk'.
+
+	* tex-file.c: Look for TEXINDEXSTYLE before INDEXSTYLE.
+
+Sat Feb  1 16:31:39 1997  Karl Berry  <karl@cs.umb.edu>
+
+	* texmf.cnf.in: Doc fix.
+
+	* progname.c (my_dirname): Check for device separators at the
+        beginning fo the string.  From Andreas.
+
+	* c-pathch.h (IS_DIR_SEP) [AMIGA]: New definition from Andreas.
+	(NAME_BEGINS_WITH_DEVICE): Remove.
+
+	* tex-make.c (maketex) [AMIGA]: Have to call system instead of popen
+	due to different interface.  From Andreas.
+
+	* progname.c (selfdir): Check self, not ret, for exiting the loop.
+	(remove_dots): Missing indirection on ret.
+	From Fabrice.
+
+Tue Jan 21 08:26:17 1997  Karl Berry  <karl@cs.umb.edu>
+
+	* elt-dirs.c: Doc fixes.
+
+	* db.c (match): Don't return false just because the path element
+	ended in /.
+	Bug from: Richard Walker <Richard.Walker@cs.anu.edu.au>.        
+
+	* expand.c (kpse_path_expand): Do variable expansion before
+        splitting on path elements.
+	Bug from: Richard Walker <Richard.Walker@cs.anu.edu.au>.        
+
+	* tilde.c [TEST]: Function name changed.
+	From: Richard Walker <Richard.Walker@cs.anu.edu.au>.
+
+	* texmf.cnf.in (MAILCAPLIBDIR): Rename from MAILCAPDIR.
+	From Ulrik.
+
+Tue Jan 21 09:34:20 1997  Fabrice POPINEAU  <popineau@ese-metz.fr>
+
+	* c-pathch.h: NAME_BEGINS_WITH_DEVICE(string) new macro testing
+	for the presence of a device name in front of the string.
+
+	* progname.c (remove dots): stop before device name if
+	present. When building the filename, do not add leading DIR_SEP if
+	there is a device.
+
+	* pathsearch.c (path_search): avoid searching the whole disk
+		adapted for win32.
+
+	* db.c: support aliases file along with db files. An alias file is
+	named with ALIAS_NAME and the hashtable size is
+	ALIAS_HASH_SIZE. When a name looked for has an alias, the alias is
+	searched instead of the original name. The format of the aliases
+	file is "real_name alias_name", one pair per line. Currently only
+	for WIN32.
+
+Mon Jan 20 12:01:14 1997  Karl Berry  <karl@cs.umb.edu>
+
+	* progname.c: Amiga patch from Andreas.
+
+Sun Jan 19 14:29:00 1997  Karl Berry  <karl@cs.umb.edu>
+
+	* pathsearch.c (path_search): Strip off all but one of leading /'s.
+	We never want to search the whole disk.
+
+	* progname.c: Expand symlinks off the final filename, not the
+	directory name.
+
+Sat Jan 18 14:39:00 1997  Karl Berry  <karl@cs.umb.edu>
+
+	* texmf.cnf.in (param_size): Increase to 500 for the chemical
+	formula macro package.  From Thomas.
+
+	* progname.c (expand_symlinks, ReadSymLink, CopyFirst, StripFirst,
+	StripLast): New functions to expand symbolic links for SELFAUTO*.
+	Noted by Thomas.
+
+	* texmf.cnf.in (PKFONTS.xdvi): Fix tpyo.
+	Document that memory changes
+	(trie_size): Increase to 64000.
+
+Fri Jan 17 13:08:08 1997  Karl Berry  <karl@cs.umb.edu>
+
+	* progname.c (remove_dots): Don't free the constant null string.
+	From Andreas.
+
+	* texmf.cnf.in (dbfontdir): Change to dbfonts (the commented-out one).
+
+Thu Jan 16 10:13:19 1997  Karl Berry  <karl@cs.umb.edu>
+
+	* cnf.c (kpse_cnf_get): Avoid recursive init, due to new
+	$TETEXDIR and other variables in default TEXMFCNF value.
+
+	* getopt*, strtol.c: New versions from /gd/gnu/lib.
+
+	* c-std.h (ALLOC_RETURN_TYPE): Only define if we're going to use it.
+
+	* acconfig.h (EDITOR): Oops, %s not +%s.
+	From: tim@maths.tcd.ie.
+
+	* progname.c (kpse_set_progname): One more my_dirname call
+	to get the parent and the grandparent in the environment variables.
+
+	* texmf.cnf.in (texdir): Rename from tex, to avoid clash with
+	TEX used by makempx -- win32 doesn't distinguish case on envvars.
+	From Fabrice.
+	(WEB2CDIR): Lowercase, so it doesn't end up in paths.h, just
+	for cleanliness.
+
+	* progname.c (kpse_set_progname): Pass program_invocation_name
+	to selfdir instead of progname, just in case we
+	HAVE_PROGRAM_INVOCATION_NAME and it's something different.
+	From Fabrice.
+
+	* tex-file.c (kpse_open_file): ocp, ofm and ovf should use
+	FOPEN_RBIN_MODE.  From Fabrice and John Plaice.
+
+	* progname.c [AMIGA]: Fix syntax errors, remove_dots not necessary.
+	From Andreas Scherer.
+
+	* MakeTeXupdate: MakeTeXls-R isn't in the conf dir anymore, just
+ 		in the regular path.
+ 	From Thomas.
+
+Sun Jan 12 17:22:35 1997  Karl Berry  <karl@cs.umb.edu>
+
+	* cnf.c (read_all_cnf): Do not test unallocated memory on empty
+	lines; crashed on Alphas.
+
+	* progname.c (dirname): Rename to my_dirname to avoid clash on Alphas.
+
+Sat Jan 11 16:28:54 1997  Karl Berry  <karl@cs.umb.edu>
+
+	* c-std.h (calloc, malloc, realloc) [!STDC_HEADERS]: Only declare
+	in this case.
+
+Tue Jan  7 17:44:01 1997  Karl Berry  <karl@cs.umb.edu>
+
+	* MakeTeXPK: Doc fix.
+
+	* texmf.cnf.in (KPSE_DOT): Define.
+
+	* c-memstr.h: Doc fix.
+
+Wed Jan  1 16:58:02 1997  Karl Berry  <karl@cs.umb.edu>
+
+	* pathsearch.h (kpse_filename_component): Declare this.
+	* path-elt.c: Define it.
+	* progname.c (remove_dots): New function to remove . and ..
+	filename components.  Subsumes slashify, it turns out.
+
+	* Makefile.in (install-exec): Install MakeTeXls-R in $(scriptdir).
+
+Mon Dec 30 16:22:42 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* progname.c (kpse_set_progname): Strip off .exe if present.
+
+	* cnf.c: Doc fix.
+
+	* progname.c (slashify): New function, to translate \ into / for WIN32.
+	(selfdir): Call it.
+
+	* lib.h (FILE{STR,CHAR}CASEEQ) [MONOCASE_FILENAMES]: Define these,
+	continuing yesterday's changes.
+	From Fabrice.
+
+Sun Dec 29 13:26:09 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* db.c (match, elt_in_db),
+	* elt-dirs.c (cached),
+	* hash.c (hash_lookup),
+	* kpsewhich.c (find_format, TRY_SUFFIX),
+	* tex-file.c,
+	* cnf.c (do_line): Compare filenames with FILESTRCASEEQ or
+	FILECHARCASEEQ to support monocase filesystems.
+	* hash.c (hash) [MONOCASE_FILENAMES]: Transform keys to uppercase.
+	From Fabrice.
+
+	* basename.c (basename):  Consider device separators;
+	if given 'e:foo.tex', should return 'foo.tex'.
+	From: Fabrice POPINEAU <popineau@esemetz.ese-metz.fr>.
+
+	* types.h (boolean): Protect with #ifndef HAVE_BOOLEAN, for NeXT.
+	From: Raf Schietekat <flexus!rfschtkt@colds.ruca.ua.ac.be>
+
+Sat Dec 28 07:18:48 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* progname.c [AMIGA]: Add code for this case from Andreas S.
+
+Fri Dec 27 17:38:43 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* progname.c (S_IX{USR,GRP,OTH}): Define if not defined, for the NeXT.
+        From: Gregor Hoffleit <flight@mathi.uni-heidelberg.de>.
+
+	* texmf.cnf.in (TEXMFCNF): Rewrite using /.'s etc.  From Thomas.
+
+Sun Dec 15 06:21:22 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* common.ac (AC_CHECK_FUNCS): Add getwd.
+
+	* lib.h (xgetcwd): Declare.
+	* Makefile.in (objects): Add xgetcwd.lo.
+	* xgetcwd.c: New file from xdvik.
+
+	* texmf.cnf.in (TEXMFCNF): Add $SELFAUTODIR:$SELFAUTOPARENT.
+	* progname.c (selfdir, dirname, etc.): New functions.
+	(kpse_set_progname): Set SELFAUTODIR and SELFAUTOPARENT.
+
+Sat Dec 14 14:41:39 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* tex-file.h (kpse_src_type): New types kpse_tex{doc,source}_format.
+	* tex-file.c (TEXDOC_ENVS, TEXSOURCE_ENVS): New envvars.
+	(kpse_init_format): Handle them.
+	* texmf.cnf.in (TEXDOCS, TEXSOURCES): New values.
+	* kpathsea.texi: Document them.
+
+Fri Dec 13 16:46:00 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* expand.h: Doc fix.
+
+Thu Dec 12 17:25:25 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* xputenv.c [WIN32]: Work around putenv ("FOO=") unsetting
+	FOO under NT.  From Fabrice.
+
+Mon Dec  9 23:27:45 MET 1996 Thomas Esser <te@informatik.uni-hannover.de>
+
+	* kpsewhich.c: add option -show-path to display the search path for a
+	given file type.
+
+Mon Dec  9 17:23:32 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* readable.c (READABLE): Check !S_ISDIR instead of S_ISREG,
+	to allow fifo's.
+	Suggestion from: Krzysio Leszczynski <chris@camk.edu.pl>.
+
+	* tex-file.c (kpse_open_file): Open VF files in binary mode.
+	From Fabrice.
+
+	* types.h (boolean) [WIN32]: Remove this case, Fabrice 
+	has found another solution.
+
+	* elt-dirs.c (expand_elt): Do not check for a device separator.
+	From Fabrice.
+
+	* texmf.cnf.in (OTPINPUTS, OCPINPUTS): These use a subdirectory omega/.
+	From John P.
+
+Sun Dec  8 17:15:43 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* c-proto.h (DllImport): Define here.
+	* config.h (DllImport): Instead of here.
+	* kpsewhich.c: Other DllImport changes.
+	* line.c [WIN32]: Include <malloc.h>.
+	* tex-file.c: Oops, had FOPEN_RBIN_MODE vs. R reversed.
+	* tex-make.c (kpse_make_tex_discard_errors): Add Dllimport.
+	* types.h (boolean): Bizarre WIN32 definition.
+	From: Fabrice POPINEAU <popineau@esemetz.ese-metz.fr>.
+
+Sat Dec  7 22:12:26 MET 1996 Thomas Esser <te@informatik.uni-hannover.de>
+
+	* MakeTeXnames: Ensure that cmr1234 will be mapped to
+	jknappen/sauter while cmr12 will still be mapped to public/cm.
+
+Fri Dec  6 15:08:35 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* texmf.cnf.in (OFMFONTS, etc.): New definitions for Omega.
+	* tex-file.h (kpse_file_format_type): Define kpse_ocp_format, etc.
+	* acconfig.h (MAKE_OMEGA_{OFM,OCP}_BY_DEFAULT): Include these.
+	* tex-file.c (kpse_init_format): New cases for the Omega types.
+	(OCP_ENVS, etc.): New environment variable lists.
+	From: John Plaice <plaice@iad.ift.ulaval.ca>.
+
+	* texmf.cnf.in: Use fonts//<format> consistently,
+	instead of fonts/<format>.
+
+	* lib.h (itoa): Remove, it seems we don't use this function any more.
+	* itoa.c: Remove.
+	* acconfig.h (HAVE_ITOA): Remove this.
+	* Makefile.in (objects): Remove.
+
+	* cnf.c (do_line): Oops, tested prog after freeing it,
+	should have tested prog2.
+	From: Fabrice POPINEAU <popineau@esemetz.ese-metz.fr>.
+
+Tue Dec  3 14:57:52 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* Makefile.in (objects): Remove strtol.lo, that's generated by
+	configure.
+	From: Gregor Hoffleit <flight@mathi.uni-heidelberg.de>.
+
+Mon Dec  2 09:05:54 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* MakeTeXcommon: Set KPSE_DOT before the trap.  From Thomas.
+
+Tue Dec  3 18:02:08 1996  Ulrik Vieth  <vieth@thphy.uni-duesseldorf.de>
+
+	* texmf.cnf.in (TRFONTS): Set this to /usr/lib/font/devpost
+	indepent of $prefix.
+
+Mon Dec  9 00:28:58 1996  Ulrik Vieth  <vieth@thphy.uni-duesseldorf.de>
+
+	* MakeTeXcommon: Use `basename $0` in usage and version messages
+	for consistency with other programs and scripts. 
+	Also accept -help, -version in addition to --help, --version.
+
+	* MakeTeX{MF,PK,TFM,ls-R,mkdir,names,update}: 
+	Use `basename $0` in usage messages for consistency.
+	
+Tue Dec  3 18:02:08 1996  Ulrik Vieth  <vieth@thphy.uni-duesseldorf.de>
+
+	* texmf.cnf.in (TRFONTS): Set this to /usr/lib/font/devpost
+	indepent of $prefix.
+
+Thu Nov 28 16:33:35 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* common.ac (AC_ISC_POSIX): Remove this; it causes warnings from
+	Autoconf that make no sense, isn't cached, and is probably of
+	dubious value today.
+	* configure.in: Move the klibtool stuff to common.ac, so the
+        program configure.in's can find it.
+
+Wed Nov 27 14:43:41 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* configure.in: Doc fix.
+	* acconfig.h (HAVE_BASENAME, etc.): #undef these symbols so
+	Autoheader can replace them; we use a non-standard macro to test
+	for them, since they're part of the possibly-shared library.
+
+Mon Nov 25 14:04:42 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* Makefile.in (texmf.sed): Replace all $(texmf) with `$TEXMF'
+        except on the TEXMF line itself.
+
+Sun Nov 24 10:06:35 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* Makefile.in (texmf.sed): Insert missing quote.
+	(distdir): Use doc instead of listing all the targets (we were
+		missing unixtex.ftp).
+
+	* kpsewhich.c (read_command_line): Print the integer equivalent of
+	each format.
+
+Sat Nov 23 15:38:31 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* xt.ac (with_x): Remove spurious ;;.
+
+Fri Nov 22 18:00:41 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* cnf.c (do_line): Let var.prog lines work if we're running prog.exe.
+	This happens with --enable-shared.
+	From Ulrik.
+
+Mon Nov 18 16:10:48 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* tex-file.c (kpse_troff_font_format): Change to DEFAULT_TRFONTS
+        to make texmf.cnf.in change.
+
+Fri Nov 15 14:13:36 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* Makefile.in (texmf.sed): Get $TEXMF back into the paths.
+	Noted by Andreas Scherer.
+	(distdir): Add klibtool.version to the distribution.
+	From Ulrik.
+	(install-exec): Use INSTALL_SCRIPT for scripts.
+
+Mon Nov 11 16:16:50 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* various .c: Print (nil) instead of (null) so we can possibly
+        detect printf of a null pointer.
+
+Sun Nov 10 16:22:43 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* xt.ac: New file so web2c and xdvi treat --with-x-toolkit uniformly.
+	From Ulrik.
+
+Thu Oct 31 15:38:48 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* expand.c (kpse_path_expand): Do brace expansion first.
+	(kpse_brace_expand): Expand each element of the brace expansion, so
+	{~a,~b} expands.  Suggested by Thomas.
+
+Fri Oct 25 16:51:14 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* Makefile.in (install-data): Install an empty dir file if none exists.
+	(mostlyclean: Remove PROF etc. subdirs here.
+
+Tue Oct 22 13:56:20 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* Makefile.in ($(library).h): Make the modtime of the file the
+        same as the latest other .h; otherwise, we think kpathsea always
+        has to be remade.
+
+Sun Oct 20 18:06:36 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* Makefile.in (distdir): No need to distribute copying.texi.
+
+Mon Oct 14 11:32:51 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* Changes for NT from: Fabrice POPINEAU <popineau@esemetz.ese-metz.fr>.
+
+	* xputenv.c (putenv) [WIN32]: #include <stdlib.h> instead of declaring.
+
+	* tex-file.c (kpse_open_file): Use FOPEN_RBIN_MODE for tfm and gf
+	formats.
+
+	* xopendir.h [!WIN32]: Conditionalize whole file.
+	* xopendir.c (xopendir) [!WIN32]: Conditionalize defn.
+
+	* kpsewhich.c (DllImport) [_WIN32]: Define.
+	(path_sep): Use ENV_SEP_STRING.
+
+	* progname.h,
+	* lib.h,
+	* debug.h (kpathsea_debug),
+	* concatn.h (concatn): Give DllImport kludge.
+
+	* config.h (DOSISH) [WIN32]: #define.
+	Also include <windows.h>, etc.
+
+	* c-std.h (getenv, popen, pclose) [WIN32]: Conditionalize decls.
+	* c-fopen.h [WIN32]: Use rb and wb.
+	* c-limits.h [HAVE_SYS_PARAM_H]: Conditionalize #ifdef.
+	* common.ac: Check for <sys/param.h>
+	* c-stat.h [WIN32]: #include <io.h> and #define stat _stat.
+
+Sat Oct 12 11:10:45 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* tex-file.c (kpse_find_file): Include a suffix in what we pass to
+	kpse_fontmap_lookup.
+
+	* Makefile.in (paths.h): Remove extra $ when replacing $VARFONTS.
+
+Tue Oct  8 16:40:07 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* tex-glyph.c (try_fontmap): Do not return the first alias if it
+	itself is an alias.  Also, if a particular alias succeeds,
+	return that.
+
+Sun Oct  6 17:52:58 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* version.c: Doc fix.
+
+Sat Oct  5 17:06:54 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* kpsewhich.c (-must-exist): New option.
+	(must_exist): New global.
+
+	* Makefile.in (install-data): Call install-info.
+	* kpathsea.texi, *.texi: Use @url, @email, and @dircategory/@direntry.
+
+Sat Sep 21 19:02:17 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* MakeTeXnames.cnf: Doc fix.
+
+	* texmf.cnf.in (latex{2e,209}_inputs): Replace spurious `latex2e'.
+	(TEXINPUTS.fontinst): New definition, including AFM files.
+	(MFINPUTS, TFMFONTS, PKFONTS): Use $VARFONTS.
+	From Thomas.
+
+Sat Sep  7 16:00:53 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* MakeTeXupdate,
+	* MakeTeXnames,
+	* MakeTeXmkdir,
+	* MakeTeXls-R,
+	* MakeTeXTFM,
+	* MakeTeXPK,
+	* MakeTeXMF (version): Call kpsewhich in MakeTeXcommon, not here.
+
+	* version.c: Doc fix.
+
+	* kpsewhich.c (read_command_line): Improve formatting of --help
+	message.
+
+Fri Sep  6 19:16:20 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* kpsewhich.c (read_command_line): Print the bug reporting address.
+	* version.c (kpse_bug_address): New global.
+
+Thu Sep  5 19:08:04 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* Makefile.in: Doc fix.
+
+	* configure.in: Include ../acklibtool.m4 here.
+	* common.ac: Not here.  Move calls to kb_*LIBTOOL* functions, too.
+
+Sun Sep  1 17:34:17 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* Makefile.in (.c.lo): Put filename right after $(CC), for Klibtool.
+	(KPATHSEA_CC): Do not include ALL_CFLAGS here.
+	(paths.h): Instead of deleting definitions with lowercase variable
+        names, don't include them in the first place.
+
+Sat Aug 31 16:15:33 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* common.ac: Call kb_KLIBTOOL_REPLACE_FUNCS and kb_PROG_LIBTOOL
+	instead of the AM_* versions.
+	Also, include acklibtool.m4 instead of aclibtool.m4.
+
+	* Makefile.in (liblobjs): Change to use @LTLIBOBJS@.
+
+Sat Aug 17 17:22:18 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* texmf.cnf.in (PKFONTS*, GFFONTS): Need another / to match TDS.
+
+Sat Aug 10 15:46:46 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* texmf.cnf.in (TFMFONTS, VFFONTS): Update with trailing // for TDS.
+
+	* MakeTeXupdate,
+	* MakeTeXnames.cnf,
+	* MakeTeXnames,
+	* MakeTeXTFM,
+	* MakeTeXMF,
+	* MakeTeXmkdir,
+	* MakeTeXls-R,
+	* MakeTeXPK: Change --expand to -expand-var.
+
+	* tex-glyph.c (try_fontmap): Return the real name of the first
+		alias as the font name.
+	(kpse_find_glyph): Change call, free string if necessary, etc.
+	Basic idea from a patch sent by wls@astro.umd.edu.
+
+Fri Aug  9 15:42:40 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* Makefile.in (paths.h): Substitute for dbtex, dbfonts, and prefix.
+	Also, do not define lowercase variables.
+
+Thu Aug  8 14:50:29 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* texmf.cnf.in (TEXCONFIG, INDEXSTYLE): Use //, just in case there
+		are subdirectories. From Thomas.
+
+Tue Aug  6 13:59:03 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* kpsewhich.c (lookup): Handle user_path case.
+
+Mon Aug  5 17:23:56 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* kpsewhich.c: Rename -expand to -expand-var,
+	-path to -expand-path, and add new -path option to specify
+	explicit path for lookups.
+
+	* tex-file.h (kpse_ist_format): New format.
+	* tex-file.c (kpse_init_format): Initialize it.
+	(IST_ENVS): New #define.
+	* texmf.cnf.in (INDEXSTYLE): Set the default path.
+
+	* tilde.c (kpse_tilde_expand): If $HOME starts with //, only use
+	one of the slashes.
+
+Sat Aug  3 17:18:00 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* kpsewhich.c (read_command_line): Change Usage: line to conform.
+
+Fri Aug  2 11:57:23 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* db.c (db_build): Test len > 0 before evaluating len - 1.
+        From: "Peter Henderson, Syrinx Speech Systems P/L, Tel: (+61-2)
+	        956-6540" <peterh@syrinx.com.au>.
+
+Sat Jul 27 14:35:17 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* Makefile.in (paths.h): Change target name to
+        $(kpathsea_dir)/paths.h, for rdepend.make dependency.
+
+	* Makefile.in (liblobjs): New variable, gets @LIBTOOL_LIBOBJS@.
+	* common.ac (kbAC_LIBTOOL_REPLACE_FUNCS): Use this new macro instead
+	of AC_REPLACE_FUNCS.
+
+Fri Jul 26 15:51:55 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* Makefile.in (KPATHSEA_CC): Include $(compile).
+	(.c.lo): Change suffix rule for libtool 0.5.
+	(install-exec): Use new variables INSTALL_LIBTOOL_*.
+
+Mon Jul  8 17:21:34 1996  Karl Berry  <karl@laurie>
+
+	* unixtex.texi: Rename from obtain.texi.
+
+Fri Jun  7 19:10:52 1996  K. Berry  <kb@cs.umb.edu>
+
+	* common.ac: Include ../kpathsea/withenable.ac.
+
+Thu Jun  6 16:34:43 1996  K. Berry  <kb@cs.umb.edu>
+
+	* Makefile.in (kpsewhich): Use libtool commands etc. instead of
+        our shared lib stuff.
+	* common.ac: Replace our shared lib stuff with gm_PROG_LIBTOOL.
+	* withenable.ac: Remove --enable-shared stuff.
+
+Sat Jun  1 15:05:42 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* MakeTeX*: Add RCS info for version strings.
+
+Thu May 30 13:46:46 1996  Karl Berry  <karl@cs.umb.edu>
+
+	* MakeTeXPK: Doc fix; we're called with the base font name
+        (pplr8r), not the user font name (pplr).
+
+	* db.c (ignore_dir_p): Remove the dot_pos != dirname test,
+	since it's always true. It caused directory names containing .'s
+	(e.g., `dc-1.2') to be ignored.
+	From Thomas Esser and Frank Mittelbach.
+
+Sun May 26 16:06:41 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-make.c (kpse_make_tex): If called kpse_init_form, reassign
+        our local variable, too.
+
+Thu May 23 16:20:53 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * MakeTeXnames: Doc fix.
+
+Fri May  3 13:34:51 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * withenable.ac: Use AC_ARG_WITH instead of AC_ARG_ENABLE for
+        maketex*.
+
+        * tex-file.c (kpse_find_file): Oops, testing for kpse_pk_format
+        twice, when meant to test for kpse_gf_format.
+
+        * cnf.c (do_line): Allow whitespace in variable values.
+
+        * texmf.cnf.in: Finish adding easier support for !!. From Joachim.
+
+Wed May  1 16:30:56 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * texmf.cnf.in (TEXCONFIG): Take $HOME back out again, we're going
+        to hardwire a seach for dvipsrc in $HOME.
+
+Mon Apr 29 14:02:03 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * texmf.cnf.in (latex2e_inputs): Use just `latex', not `latex2e'.
+        From: David Carlisle <carlisle@cs.man.ac.uk>.
+        (TEXINPUTS, etc.): Also rewrite to make !! support easier to add.
+        From: Joachim Schrod <schrod@iti.informatik.th-darmstadt.de>.
+
+        * install.texi: Document ksh/ash/Ultrix sh lossage, in favor of
+        bash/bsh/sh5.
+
+Sun Apr 28 15:02:55 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * acconfig.h (ASM_NEEDS_UNDERSCORE): New define.
+        From: Peter Breitenlohner <peb@MPPMU.MPG.DE>.
+
+        * Makefile.in (sharedlib_version): Remove unused variable.
+
+Sat Apr 27 17:15:14 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * texmf.cnf.in (hyph_size): Add this.
+
+Tue Apr 23 07:34:05 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * texmf.cnf.in (MIMELIBDIR, MAILCAPDIR): Add these.
+        (MPXCOMMAND): And these.
+
+        * MakeTeX.site: New file, just an example.
+
+Mon Apr 22 17:31:27 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * MakeTeXnames.conf: Rename to MakeTeXnames.cnf.
+        * MakeTeXnames: Change call.
+        * Makefile.in (install-exec): Change install.
+
+Sun Apr 21 12:09:06 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.h (kpse_set_program_enabled, kpse_maketex_option):
+        Declare new functions.
+        (kpse_src_type): Define new type.
+        * tex-file.c (kpse_set_program_enabled): New function, so we can
+        set this at all the various levels and get the overrides right.
+        (kpse_maketex_option): Handle MakeTeX options in a common place.
+        * proginit.c (kpse_init_prog): Call it, and remove the make_tex_pk
+        argument.
+        * proginit.h (kpse_init_prog): Likewise.
+        * kpsewhich.c (parse_options): New options -maketex and -nomaketex,
+        just calls kpse_maketex_option.
+
+        * Makefile.in ($(library).h): New target, made at dist time.
+
+Sat Apr 20 17:21:24 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c (kpse_find_file): Do not pound the disk on the first
+        search if we might be trying the second.
+
+Tue Mar 12 15:21:16 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * MakeTeXPK: Restore check for mismatched mode and bdpi.  From Thomas.
+
+Sun Mar 10 14:17:14 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * MakeTeXnames.conf: Rename VARFONTS to VARTEXFONTS.
+
+        * MakeTeXcommon (trap): Oops, cd $KPSE_DOT before testing $STDOUT.
+
+Sat Mar  9 17:57:02 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * MakeTeXcommon (trap): cd back to KPSE_DOT before removing
+        TEMPDIR, in case $TMPDIR is relative.  Reported by Thomas.
+
+Fri Mar  8 11:41:22 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * db.c (kpse_db_search): Add debug statement with the result of
+        the match.
+
+        * tex-make.c (kpse_make_tex): Don't look for the arg spec here.
+        * tex-file.c (init_maketex): Do it here. Check for disbaling in
+        the config file, too.
+
+        * tex-make.c (misstex): Look for TEXMFOUTPUT in texmf.cnf.
+        * texmf.cnf.in (TEXMFOUTPUT): Define this.
+
+        * kpathsea.texi (Suppressing warnings): New node to describe TEX_HUSH.
+
+        * tex-file.c (kpse_init_format): Include the numeric value of the
+        format for use with kpsewhich --format.
+
+        * tex-hush.c: Support `all' to suppress everything.
+
+Thu Mar  7 11:24:51 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * kpsewhich.c: Change --program to --progname, for compatibility
+        with TeX & co.
+
+        * texmf.cnf.in (TEXCONFIG): Remove ~ from default path, for
+        consistency with everything else.
+
+        * readable.c: Let's call it TEX_HUSH instead of KPSE_NOWARN_PERM,
+        so we can use it for checksum warnings, too. And for similarity
+        with xdvi.
+        * kpathsea.texi: Corresponding change.
+        * tex-hush.[ch]: New files.
+
+Wed Feb 28 15:16:32 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-make.c (misstex): Let the name missfont.log be configurable.
+        * texmf.cnf.in (MISSFONT_LOG): Add this definition.
+        * kpathsea.texi: Document this.
+
+Sun Feb 25 16:55:35 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c: Reverse order of alias & suffix searches, so we look
+        for the original TFM name before aliases.
+
+Sun Feb 18 16:24:50 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c (xopenfile): Move this function to here and rename to
+        kpse_open_file.
+        * xopenfile.c: Remove this.
+        * Makefile.in (objects): Remove xopenfile.o.
+
+Thu Feb 15 12:57:56 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-make.c (maketex): Do not print the `kpathsea: Running ...'
+        message if we're discarding output.
+        (misstex): Do not log the missing file in missfont.log, either.
+
+Sat Feb 10 14:59:23 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in (sharedlib): Add new command here $(shared_postlink)
+        so we can make the necessary symlink.
+        (shared_postlink): New variable
+
+Fri Feb  9 15:46:55 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * withenable.ac (maketex{mf,pk,tfm}-default): Move here from
+        web2c/withenable.ac.
+
+Wed Feb  7 16:52:08 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * MakeTeXnames.conf: Extract this new script from MakeTeXcommon, sigh.
+        * MakeTeX*: Other updates from Thomas --
+        - replace the exec 3>&1 1>&2 by trap/subshell construction. The
+                3>&1 may cause the 'open fd bug' with bash.
+        - ts is a typo. tc are the text companion fonts
+        - replace >&3 by >$STDOUT where $STDOUT is a filename. Its content is
+          displayed by the trap command in MTcommon.
+        - added missing ;; in case/esac  
+        - use : ${VAR=VAL} where possible
+        - added mt_min_args
+        - removed psfonts.map parsing (was only needed for ps2pk)
+        - removed >&2 where redirection stdout->stderr is active anyway
+        - removed </dev/null where redirection stdin<-/dev/null is active
+                anyway
+        - Oops: MakeTeXTFM still used old code:  >$TEMPDIR/mtout.$$
+        - add line
+           trap 'test -f $STDOUT && cat $STDOUT; cd /; rm -rf $TEMPDIR; exit 0' 0 1 2 15
+          to MakeTeXcommon
+        - MT_FEATURES now in MakeTeXnames.conf since we need to read it
+                later than MakeTeXcommon
+
+Tue Feb  6 17:04:25 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.h (kpse_file_format_type): Add afm and type1 support.
+        * tex-file.c: Likewise.
+        (kpse_init_format): In tex_ps_header_format, no longer need to
+        recognize .pfa and .pfb.
+        * texmf.cnf.in (AFMFONTS, T1FONTS): Likewise.
+        * Makefile.in (paths.h): Include 0-9 in the regexp for the sake of
+        T1FONTS.
+
+Sat Feb  3 15:45:00 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in (DEFS): Move to common.make.
+
+Mon Jan 29 17:01:44 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * MakeTeXls-R: Doc fix.
+
+Mon Jan  8 17:17:42 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c: Doc fix.
+
+        * fontmap.c (MAP_NAME, MAP_HASH_SIZE): Conditionalize these #defines.
+
+Sun Jan  7 17:38:00 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * db.c (DB_HASH_SIZE, DB_NAME): Conditionalize these.
+
+        * MakeTeXcommon (dcfontdir, tsfontdir): Use supplier `jknappen'.
+
+Mon Jan  1 15:14:42 1996  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in (distdir): Don't bother including freedom.texi.
+
+Fri Dec 29 17:17:08 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in: misc.make is now clean.make.
+
+Tue Dec 26 14:21:08 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * withenable.ac: New file with --enable option extracted from
+        common.ac, for the top level to include.
+
+        * acconfig.h (MAKE_TEX_PK_BY_DEFAULT): Add this.
+
+        * readable.c (kpse_readable_file): Omit warning if
+        KPSE_NOREAD_WARN is set to 1.
+
+Wed Dec 13 14:14:09 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * kpsewhich.c: Call kpse_init_format when necessary in the
+        --format case.
+
+Mon Dec 11 14:42:13 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * common.ac: --disable-shared should not act like --enable-shared.
+        From Ulrik.
+
+Sun Dec 10 15:35:15 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.h (kpse_mft_format): New format.
+        * tex-file.c (MFT_ENVS): New variable.
+        (kpse_init_format): Initialize it.
+        * texmf.cnf.in (MFTINPUTS): New variable.
+
+Fri Dec  8 08:54:58 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * xopenfile.c: Doc fix.
+
+Mon Dec  4 17:23:34 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in (check): Extra $ missing.
+
+Sun Dec  3 13:42:54 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c (TEX_SUFFIXES): Add .dtx.
+
+Sun Nov 19 16:19:37 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * MakeTeX*: Use MakeTeXupdate, mkdir, etc. in $TEXMFCNF_DIR, not
+        along PATH. From John I.
+
+Sat Nov 18 17:03:46 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c (TEX_SUFFIXES): Add .txi.
+
+Fri Nov 17 15:12:03 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * common.ac (kb_AC_SYS_SHAREDLIB): Add the kb_ prefix.
+
+        * Makefile.in ({un,}install-exec): Use sharedlibname and
+        staticlibname instead of `basename`.
+        Also, pass no arguments to $(shared_postinstall); let the Autoconf
+        macro set this completely.
+
+        * expand.c: Bash code remains under the GPL, per rms.
+
+Thu Nov 16 16:14:14 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in (uninstall-exec): Needs same `basename` treatment as
+        install-exec. From Ulrik.
+
+        * config.h [AMIGA] (pclose): Must be #defined as 0, not just
+        empty. From Andreas Scherer.
+
+Tue Nov 14 14:04:57 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.h (kpse_fallback_resolutions_string): New global.
+        * tex-file.c: Define it.
+        (kpse_init_fallback_resolutions): Use it instead of
+        DEFAULT_FONT_SIZES, if set.
+
+Mon Nov 13 10:43:11 1995  Kathy Hargreaves  <karl@cs.umb.edu>
+
+        * find-suffix.c: Remove spurious + 1.
+
+Sun Nov 12 13:42:51 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c: Improve warning message if last resort sizes are not
+        sorted. Suggested by Kathy.
+
+        * texmf.cnf.in (trie_size, main_memory): Doc improvements from Wayne.
+
+Sat Nov 11 16:58:37 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * MakeTeXnames: Correct too many left quotes.
+
+        * tex-make.c (kpse_make_tex): Initialize the format if necessary.
+
+Mon Oct 30 16:49:05 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * MakeTeXPK (GFNAME): Do not assume $cmd produced $GFNAME. From Tim.
+
+        * texmf.cnf.in (trie_size): Increase to 32000 so common language
+        combinations will require no change. Suggested by Ulrik.
+
+        * MakeTeXls-R: Missing s in sed cmd.
+        * MakeTeXTFM (TFM_NAME): Should be TFMNAME.
+        * MakeTeXnames (FONTNAME): Missing `.
+        * MakeTeXcommon: If the caller requires no args (i.e.,
+        MakeTeXls-R), don't complain if given no.
+        Missing } in varfonts case.
+        All from Thomas.
+
+Sun Oct 22 17:02:25 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * c-std.h (hypot): Remove this declaration. It was only needed for
+        fontutils, and it conflicts under Linux 1.2.10. From Tim Murphy.
+
+Sat Oct 14 10:55:26 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * acconfig.h (EDITOR): Missing %. From Tim Murphy.
+
+Sat Oct  7 17:44:41 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in (install-exec): Use basename to get the real name so
+        we don't install in $(libdir)/../kpathsea/etc.
+        From Ulrik.
+
+Sat Sep 30 12:16:05 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * MakeTeXls-R (db_file_tmp): Replace double slashes with single,
+        for the sake of NetBSD/FreeBSD. From Thomas.
+
+Fri Sep 29 11:29:08 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in (tex-file.o): CPPFLAGS is now ALL_CPPFLAGS.
+
+Mon Sep 25 15:05:32 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * lib.h (FATAL_PERROR): Avoid using the formal parameter `s' since
+        cc gets confused with %s.
+
+        * MakeTeXls-R: Include subtleties from Thomas.
+        * MakeTeXcommon: Rename stickydir to appendonlydir.
+
+Sun Sep 24 13:15:51 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * cnf.c (kpse_cnf_get): Call kpse_init_db here.
+        * pathsearch.c (search): Instead of here.
+
+        * tex-file.c (init_format): The override path may be null, so use
+        MAYBE to print it.
+
+        * MakeTeXPK: Don't use unset, as Ultrix sh doesn't support it.
+
+Sat Sep 23 15:07:12 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * common.ac (basename strstr putenv): Use AC_REPLACE_FUNCS instead
+        of AC_CHECK_FUNCS. Add strtol and strcasecmp from web2c/lib and xdvik.
+        * Makefile.in (objects): Use @LIBOBJS@ instead of corresponding .o's.
+
+Fri Sep 22 13:34:51 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * acconfig.h (MAKE_TEX_*): #define as 0/1, instead of #undef,
+        since we now pass this as a default argument to init_maketex.
+
+        * tex-file.c (init_path): Look for environment variables PATH.prog
+        and PATH_prog before PATH.
+
+Thu Sep 21 13:53:38 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * kpsewhich.c (USAGE): Avoid bare newline.
+
+        * xfseek.c, xftell.c: Add unprototypification.
+
+        * common.ac (library_cflags): AC_SUBST for this depending on
+        --enable-shared.
+        * Makefile.in (shared_cflags, sharedlib_cflags): Rewrite
+        accordingly, so the shared flags aren't always used.
+
+Wed Sep 20 17:06:53 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c: Add .ltx, .texi, and .texinfo as alternate suffices
+        for kpse_tex_format.
+
+Tue Sep 19 17:12:10 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * texmf.cnf.in: Changes for TDS.
+
+        * MakeTeX*: New scripts from Thomas.
+
+Sat Sep 16 17:30:46 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c: Do not print extra `kdebug:'s when printing the
+        alt_suffixes.
+
+        * expand.c: Incorporate brace expansion code from bash.
+        * texmf.cnf.in (PKFONTS.xdvi): Use it here, and document the
+        possibility for $TEXMF.
+
+Thu Sep 14 12:59:17 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c (kpse_init_format): For any_glyph_format, do not
+        initialize a suffix.
+
+        * kpsewhich.c (main): Initialize all the formats.
+        (find_format): psfonts.map => dvips_config_format.
+
+Tue Sep 12 16:19:44 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * MakeTeX{MF,TFM}: New scripts from te.
+        * Makefile.in (install-exec, distdir): Install and dist them.
+
+Sun Sep 10 15:11:07 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * pathsearch.c (search): Doc fix.
+
+        * tex-file.h (kpse_format_info_type): Add alt_suffix member.
+        * tex-file.c (init_format): Set it for PS headers and picts, and
+        print it if it exists.
+        * kpsewhich.c: Use the new alt suffixes and also the regular
+        suffixes to allow for -format names as well as numbers, and for
+        file format guessing.
+        
+Sat Sep  9 14:27:48 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * MakeTeXPK: If the MODE and BDPI don't match, ignore the mode.
+        Suggested by Thomas.
+
+        * tex-file.[ch] (kpse_font_override_path): Remove this.
+        (kpse_format_info_type): Replace the `override_p' member with a
+        general `override_path'.
+        * proginit.c: Set the override path for both fonts and headers.
+
+        * acconfig.h (NOTOOL): Add this.
+
+Fri Sep  8 14:52:42 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * acconfig.h (HYPERXDVI): Don't need this after all, Autoconf's
+        default actions are better.
+
+Thu Sep  7 15:11:17 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * acconfig.h (HYPERXDVI): Define this.
+
+Mon Sep  4 17:14:25 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * debug.h (KPSE_LAST_DEBUG): Define this, for use with gsftopk.
+
+        * Makefile.in (objects): Add xopenfile.o.
+        * xopenfile.c: New file.
+        * lib.h (xopenfile): Declare it.
+
+Sat Sep  2 13:49:53 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.h (kpse_file_format): Rename kpse_ps_header_format to
+        tex_ps_header_format.
+        * tex-file.c (TEX_PS_HEADER_ENVS): Rename likewise, etc.
+        * kpsewhich.c (suffixes): Likewise.
+        * texmf.cnf: Likewise.
+        
+        * tex-file.c: Never set must_exist on the first search. Is this
+        really correct?
+
+Fri Sep  1 13:24:49 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-make.c (maketex): Give perror if the popen fails.
+
+        * db.c (db_dir_list): Keep track of the directories we found db's in.
+        (kpse_db_search): If no db directories are relevant to this path
+        elt, return NULL.
+        * db.h: Doc fix.
+        * pathsearch.c (path_search): Doc fix.
+
+        * Makefile.in (shared_ext, etc.): Move to common.make.
+
+Thu Aug 31 14:40:32 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * kpsewhich.c: Install suffix rewrite from Yves.
+
+        * common.ac: Move AC_SYS_SHAREDLIB etc. here.
+
+        * acconfig.h (ASM_SCALED_FRACTION): Add this.
+
+Wed Aug 30 17:02:58 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c (kpse_find_file): Call kpse_make_tex.
+        * tex-make.c (kpse_make_tex): Only call set_maketex_mag if we are
+        doing MakeTeX-PK or GF-ing.
+        From Greg.
+
+Tue Aug 29 13:58:59 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in (texmf.sed): Depend on paths.make. Should we avoid
+        creating a new file unless it changes, a la c-auto.h?
+
+        * configure.in: Check for --enable-shared.
+
+Mon Aug 28 17:50:06 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in: Add sharedlib variables.
+
+Sun Aug 27 13:27:01 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * hash.c (hash_print): New option summary_only, and always print
+        the summary.  Also, output to stderr, not stdout.
+        * hash.h: Change decl.
+
+        * db.c (kpse_init_db): Oops, have to make it external, so rename
+        again.
+        * db.h: Declare it.
+        * pathsearch.c (search): Call it.
+        
+        * cnf.c (read_all_cnf): Rename from read_files.
+        * db.c (read_all_lsR): Rename from read_all_dbs.
+        * fontmap.c (read_all_maps): Rename from map_create.
+
+        * tex-file.h (kpse_db_format): Another new type.
+        * tex-file.c (kpse_init_path): Case for it.
+        (DB_ENVS): Envvar list.
+        * texmf.cnf.in (TEXMFDBS): Default path.
+        * kpsewhich.c (suffix): Add new element.
+
+Sat Aug 26 14:49:28 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * cnf.c (CNF_NAME): #define this.
+        * tex-file.c (kpse_init_path): Instead of setting the .program
+        element to texmf.cnf here.
+ 
+        * db.c (db_insert): Rename to kpse_db_insert.
+        * db.h: Change decl.
+        * tex-make.c (maketex): Change call.
+
+        * cnf.c, cnf.h, db.c, db.h, pathsearch.c: Remove references to
+        kpse_db_dir.
+        * pathsearch.c (first_search): New static.
+        (path_search): Do not do ls-R search if first_search.
+        (search): Do not log if first_search.
+
+        * pathsearch.c (path_search): Don't bother calling elt_in_db --
+        the match function in db.c will catch the irrelevant hits.
+        Pointed out by te.
+
+Fri Aug 25 14:01:24 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * cnf.c (kpse_cnf_get): Look for NAME.PROGRAM before NAME.
+        (do_line): Save NAME.PROGRAM separately from NAME.
+        * texmf.cnf.in: Put the usual definitions of TEXINPUTS and PKFONTS
+        first now, before the .prog variants.
+
+        * fontmap.c: Use ISSPACE instead of just checking for space and tab.
+
+Thu Aug 24 13:46:19 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * lib.h (strstr) [!HAVE_STRSTR]: Declare this.
+        * Makefile.in (objects): Add strstr.o.
+        * common.ac (AC_CHECK_FUNCS): Remove memmove; we seem to never use
+        this. And add strstr.
+
+        * fontmap.c (map_file_parse): Comments at the last % or @c, not at
+        the first %. Also, implement the include feature.
+        And thus, don't give up if the map file can't be opened.
+        (token): New routine, since we can no longer use strtok.
+        
+        * tex-file.h (kpse_file_format_type): New format kpse_fontmap_format.
+        * tex-file.c (kpse_init_format): Initialize it.
+        (FONTMAP_ENVS): Define it.
+        * texmf.cnf.in (TEXFONTMAPS): Define the default.
+        * kpsewhich.c (suffix): Add .map.
+
+Tue Aug 22 13:28:46 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * MakeTeXPK.in: No >&/dev/null, source.map is now supplier.map.
+
+        * tex-file.c: Doc fix.
+
+Mon Aug 21 15:52:42 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * c-memstr.h (SYSV): OK, omit this definition in the never-ending
+        battle to appease the X headers.
+        From: neal@ctd.comsat.com (Neal Becker).
+
+Sun Aug 20 12:58:28 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * cnf.c (read_files): Concatenate consecutive lines that end in \.
+
+        * types.h (boolean) [__cplusplus]: Don't define true and false for C++.
+        From: Johannes Sixt <Johannes.Sixt@risc.uni-linz.ac.at>.
+
+        * db.c (db_build): Call absolute_p to determine if the possible
+        directory really is one.
+        Also, allow relative names in the ls-R file.
+
+        * kpsewhich.c: New options -path, -separator.
+        From: David Aspinall <da@dcs.ed.ac.uk>.
+
+        * MakeTeXPK.in: Unset DISPLAY and MFTERM.
+	From: Yves Arrouye <Yves.Arrouye@imag.fr>.
+	
+        * db.c (ignored_dir_p): New function to ignore . directories.
+        (db_build): Call it, and do the ignoring. Report on how many
+        directories were ignored.
+
+        * Makefile.in (MakeTeXPK): Remove dcfontdir substitution.
+        * MakeTeXPK.in: Play redirection games so regular echo's will work.
+        (dcfontdir): Remove this; it's unused.
+        From: te@informatik.uni-hannover.de (Thomas Esser).
+
+        * pathsearch.c (path_search): Free more garbage.
+        From: John Eaton <jwe@che.utexas.edu>.
+
+Sat Aug 19 12:57:54 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * kpsewhich.c (USAGE): Document -format and -program.
+
+        * tex-make.c (maketex): Give warning if MTPK output a string that
+        wasn't a filename. From Pierre.
+
+        * kpsewhich.c (read_command_line): Execute -expand right 
+
+        * tilde.c (kpse_tilde_expand): If HOME is /, don't start path with //.
+        From: Andreas Schott <andreas@mpa-garching.mpg.de>.
+
+        * db.c (match): Make /// (or more) like //.
+        * elt-dirs.c (do_subdir): Likewise. Also, skip over as many
+        slashes as we found.
+
+        * variable.c (expanding_p, expanding, expansions, expansion_type):
+        New functions, variables, type.
+        (expand): Check for recursively expanded variables.
+        Reported by Nicolai Langfeldt <janl@math.uio.no>.
+
+        * cnf.c (kpse_cnf_get): Free temporary list after extracting the
+        first element (the one we return).
+
+Fri Aug 18 17:39:29 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * MakeTeXPK.in (1270): The guess here should be linohi, not linolo.
+        From pwa.
+
+        * kpsewhich.c (suffix): Update for new MetaPost stuff.
+        * tex-file.h: Doc fix.
+
+Mon Aug 14 17:49:05 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * debug.h: Define KPSE_DEBUG, not DEBUG.
+        * hash.c, hash.h, tex-file.c, elt-dirs.c, dir.c, db.c: Change
+        #ifdef's accordingly. From John I.
+
+Sun Aug 13 16:03:51 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.h (kpse_file_format_type): Rename kpse_dvips_headers to
+        just kpse_ps_headers. xdvik uses this too, now.
+        * tex-file.c (kpse_init_format, KPSE_DVIPS_HEADER_ENVS): Likewise.
+        Also, look for the PSHEADERS envvar, not DVIPSHEADERS.
+        * texmf.cnf.in: Likewise.
+
+Thu Aug 10 19:31:14 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c (kpse_init_fallback_resolutions): Complain if sizes
+        aren't sorted, and ignore offending sizes.
+        From: Manuel Fahndrich <manuel@CS.Berkeley.EDU>.
+
+Tue Aug  1 13:53:53 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * variable.[ch] (kpse_var_value): Use const_string.
+
+        * texmf.cnf.in (string_vacancies): Decrease to 25000. From Bernd.
+        (font_max): Add this. From Wayne.
+
+Mon Jul 31 15:47:01 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * db.h (KPSE_DB_DIR): Remove $.
+        * cnf.c (read_files): Call kpse_var_value instead of kpse_var_expand.
+
+        * tex-file.[ch]: Add mpsupport and troff_font formats.
+        * texmf.cnf.in: Likewise.
+
+Sat Jul 29 09:21:44 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * variable.h (kpse_var_value): Declare this.
+        * variable.c (kpse_var_value): New routine.
+
+        * tex-file.c: Check TEXMFINI for pool/fmt/base/mem lookups
+
+Tue Jul 25 11:22:25 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * concatn.c (concatn): Free the intermediate result, not the final
+        version.
+
+        * texmf.cnf.in (TEXMFLOG): Don't mention this, as we need to log
+        the finding of the .cnf file itself, thus it must be an
+        environment variable.
+
+Sat Jul 22 17:09:58 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c (KPSE_{MEM,MP,MPPOOL}_ENVS): Define envvars.
+        * tex-file.h (kpse_file_format_type): Add kpse_{mem,mp,mppool}_formats.
+        * texmf.cnf.in (MPPOOL, MPMEMS, MPINPUTS): New variables.
+        Adapted from: vieth@xerxes.thphy.uni-duesseldorf.de (Ulrik Vieth).
+
+Fri Jul 21 15:26:42 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * *.c, *.h: The FSF has a new address.
+
+        * kpsewhich.c: Give error if no args.
+
+Wed Jul 19 17:34:26 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * texmf.cnf.in: Document limits on error_line et al.
+
+Mon Jul 17 13:09:05 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * acconfig.h (NO_FMTBASE_SHARE): Rename to NO_DUMP_SHARE.
+
+Sun Jul 16 14:17:16 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * acconfig.h (IPC, FUNNY_CORE_DUMP, NO_FMTBASE_SHARE): Include these.
+
+Sat Jul 15 12:45:51 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * acconfig.h (HAVE_ITOA): Remove extraneous #define.
+
+        * texmf.cnf.in (hash_extra): New TeX array variable, 0 by default.
+
+        * tex-file.c (KPSE_BIB_ENVS): Include TEXBIB.
+
+Thu Jul 13 15:04:52 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * texmf.cnf.in (TEXPOOL, MFPOOL): Include . after all, now that we
+        use TEXPOOL to search for tcx files.
+
+Sun Jul  9 15:30:59 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c (kpse_find_file): Don't go through the
+        mapped_name_list if it's null.
+
+Wed Jun 21 19:47:33 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * lib.h (FATAL5): Define this.
+
+Sat Jun 10 15:52:41 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c (kpse_find_file): Use texfonts.map aliases for TFM
+        searches.
+        * tex-file.h: Doc fix.
+        * fontmap.c (kpse_fontmap_lookup): New name. Fault in the map
+        table as needed, instead of initializing. Make map_create static.
+        * fontname.h: New name; remove map_create.
+        * tex-glyph.c (try_fontmap): Just call kpse_fontmap_lookup, no
+        need to create it.
+
+        * fontmap.c (map_lookup): Don't let return value fall off the end
+        in the suffix-appending case.
+        From: "Heading, Anthony" <heading_anthony@jpmorgan.com>.
+
+Fri Jun  9 19:11:34 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tilde.c: Only assume PWD_H for looking up ~user, not for ~ or ~/.
+        * make-suffix.c: Use IS_DIR_SEP instead of assuming /.
+        * concatn.c: Free the in-between concatenations to avoid garbage.
+        * absolute.c [OS2]: Use same conventions as for DOS.
+        * c-std.h, c-pathch.h, c-fopen.h: Likewise.
+        From: rs@purple.in-ulm.de (Ralph Schleicher).        
+
+Tue Jun  6 13:11:46 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * lib.h (itoa) [!HAVE_ITOA]: Define conditionally.
+        * itoa.c: Likewise.
+        * acconfig.h (HAVE_ITOA): Add this.
+
+        * c-pathch.h, c-fopen.h [DOS]: Changes from web2pc from Wayne.
+
+        * xputenv.c: Doc fix.
+
+        * truncate.c (kpse_truncate_filename): Check for a device separator.
+
+        * elt-dirs.c (main): Tests for Amiga.
+
+Mon Jun  5 13:12:10 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * absolute.c: Add Amiga support.  From Andreas Scherer.
+        * c-pathch.h: Ditto.
+        * elt-dirs.c (dir_list_add): Ditto. Check for device separators, too.
+
+Sun Jun  4 11:29:18 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * c-proto.h (AA): New macro to throw away (or keep) any number of
+        arguments, used with an extra set of parens.
+
+        * Makefile.in (distdir): Put PROJECTS in the distribution.
+
+Sat Jun  3 11:53:45 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * texmf.cnf.in (main_memory): Add definitions for TeX array sizes.
+
+        * config.h (progname.h): Include this.
+        * prog{init,name}.c, kpsewhich.c: No longer need to include it.
+        * lib.h (START_FATAL, FATAL_PERROR): Use program_invocation_name
+        in the error message.
+
+        * variable.h: Doc fix.
+
+Fri Jun  2 13:41:29 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * config.h (DOSISH) [DOS || OS2]: Define this.
+
+Tue May 30 15:43:56 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c (kpse_find_file): Don't look for foo.sty.tex before
+        foo.sty. Suggested by worsch@ira.uka.de.
+
+Mon May 29 15:24:38 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * db.c (db_insert): If DOS, don't check that first character on a
+        line IS_DIR_SEP.  From Sebastian.
+
+Sat May 27 13:51:47 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * pathsearch.c (log_search): Cast time_t arg to avoid printf warning.
+
+        * lib.h (atou): Declare it.
+        * Makefile.in (objects): Add atou.o.
+        * atou.c: New file.
+
+Sun May 21 10:58:31 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * xfopen.c: Assert non-null filenames.
+
+Mon May 15 17:40:27 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * kpsewhich.c (USAGE): Add one-line description to the help message.
+
+Sun Apr 16 14:25:06 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * line.c (BLOCK_SIZE): Increase to 56, to avoid realloc's.
+
+Fri Apr 14 15:56:13 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in (objects): Add xfseek and xftell, from fontutils.
+
+Mon Mar 13 20:05:02 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * MakeTeXPK.in: Don't egrep in a file that doesn't exist.
+
+Fri Mar 10 10:49:28 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c (kpse_find_file): Abort if the name passed in is null
+        or empty.
+
+Thu Mar  9 15:23:07 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c (kpse_init_format): Only do suffix searches for GF files.
+
+        * acconfig.h: Warn that this is not the right thing to edit to fix
+        configuration problems.
+
+Thu Mar  2 15:58:11 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * texmf.cnf.in (TEXFORMATS): Doc fix.
+
+Fri Feb 24 16:40:23 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * MakeTeXPK.in: `generate rootname' with no trailing punctuation
+        for the dc fonts.
+
+Mon Feb 20 15:23:05 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.h (kpse_find_mf): New abbreviation.
+
+Sat Feb 11 13:06:23 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * putenv.c: Include c-auto.h instead of kpathsea/c-auto.h, so the
+        sed commands don't transform it into
+        $(kpathsea_srcdir)/c-auto.h. From Andreas.
+
+        * tex-make.c (maketex): Don't make a bad return from pclose a
+        fatal error. Reported most recently by Wayne Sullivan, also by
+        Andy Piper in the past.
+
+        * MakeTeXPK.in (sauterdir): Only try this if we have the right
+        b-foo.mf file. And correct $DESTDIR=... mistake.
+        From Nick Cropper <nickc@dcs.st-andrews.ac.uk>.
+
+Fri Feb 10 15:49:49 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c (INIT_MT): If the .program member has already been
+        set, don't reset it.
+
+Wed Jan 18 15:47:07 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * xopendir.c (xclosedir): Use CLOSEDIR_VOID, not VOID_CLOSEDIR.
+        From tim@maths.tcd.ie.
+
+        * db.c (db_insert): Don't assert db.size>0, since we may not have
+        called kpse_db_search. From te@informatik.uni-hannover.de.
+
+        * MakeTeXPK.in (dc fonts): Don't put a trailing period in the
+        filename. From Tor Lillqvist <tml@hemuli.tte.vtt.fi>.
+
+Sun Jan  8 12:14:47 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * Version 2.6.
+
+Wed Jan  4 14:44:34 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in (mostlyclean): Remove kpsewhich.
+
+Tue Jan  3 11:48:40 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * kpsewhich.c (long_options): Can't make this automatic.
+
+        * basename.c: Include <kpathsea/config.h> before testing
+        HAVE_BASENAME.
+
+        * Makefile.in (kpsewhich): Make the library before kpsewhich.o.
+        (paths.h): No need for the $(kpathsea_dir)/ any more, now make
+        depend gets rid of it.
+
+        * rm-suffix.c: Doc fix.
+        
+        * kpsewhich.c: Extract the dpi from the filename if possible.
+
+Mon Jan  2 09:45:17 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in (kpsexpand): Replace with kpsewhich.
+
+        * proginit.h: Doc fix.
+
+        * texmf.cnf.in (TEXMFCNF): Rename from TEXMF_CNF.
+        * tex-file.c (kpse_init_format): Likewise.
+
+Sun Jan  1 14:04:41 1995  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in (MakeTeXPK): Substitute for web2cdir.
+        * MakeTeXPK.in: Use it for MakeTeXPK.site.
+        (install-data): Install texmf.cnf in web2cdir instead of texmf.
+        * texmf.cnf.in (TEXMF_CNF): Default path includes web2cdir.
+
+Sat Dec 31 14:26:48 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in (objects): No more @LIBOBJS@.
+        * common.ac: Use AC_CHECK_FUNCS for basename, not REPLACE_FUNCS.
+        The latter doesn't define HAVE_BASENAME.
+        * basename.c [!HAVE_BASENAME]: Conditionalize whole file.
+
+        * Makefile.in (uninstall-exec): Remove kpsexpand.
+        (MakeTeXPK): New target.
+        (install-exec): Install MTPK.
+        (install-library): New target to replace install-headers.
+        (install): Don't install-library by default.
+
+Fri Dec 30 15:53:04 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in (objects): Don't put @LIBOBJS@ on a line by itself.
+        From Joachim.
+
+Mon Dec 26 07:55:40 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * common.ac (AC_FUNC_CLOSEDIR_VOID): Call this. Reported by
+        Timothy Murphy <tim@maths.tcd.ie>.
+
+        * tex-file.c (init_path): If a variable is set to an empty value,
+        ignore it.  Suggested by Stephen Gildea <gildea@x.org>.
+
+        * proginit.c: If passed a NULL mode, put / in the environment here.
+        * tex-make.c (kpse_make_tex): Don't do STREQ on NULL (though it
+        should never be NULL in the first place), and properly restore
+        MAKETEX_MODE if it was /.
+
+Tue Dec 20 09:57:21 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * install.texi: Mention how to do optimization.
+
+Mon Dec 19 13:18:04 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.h: Doc fix.
+
+Wed Dec 14 14:46:47 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * Version 2.5.
+
+        * pathsearch.c (log_search): Don't prepend the `kdebug:' to the
+        search result.
+
+Sat Dec 10 16:49:12 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-make.c (set_maketex_mag): Make case of magstep -1 work
+        properly.  From a bug report by
+        heiko@lotte.sax.de (Heiko Schlittermann).
+
+Mon Dec  5 11:58:08 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in (objects): Add @LIBOBJS@.
+        * common.ac: Check for basename.
+
+        * db.c (db_insert): Include trailing / in directory part, and pass
+        the key and the value in the right order.  From
+        te@informatik.uni-hannover.de.
+
+Sun Dec  4 14:26:44 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * kpsexpand.c: Add extra filename argument. From
+        ware@cis.ohio-state.edu.
+
+        * common.ac: Use AC_TRY_RUN to test for SMART_PUTENV, not
+        AC_TRY_LINK. From parkes@sierravista.com.
+
+        * acconfig.h: Use #undef instead of commented-out `/* #define'.
+
+Sun Nov 27 13:47:06 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * db.c (db_insert): Don't try to insert into an empty hash table.
+        From dc@cobi.gsfc.nasa.gov (and others).
+
+        * pathsearch.c (log_search): Call DEBUGF, not printf, for the
+        filenames.  From John I.
+
+        * tex-make.c (kpse_make_tex): If MAKETEX_MODE is /, unset it and
+        reset it around the command expansion.
+        (maketex): Back to calling db_insert.
+
+Sat Nov 26 11:44:09 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * cnf.c (read_file): If expansion of $TEXMF (KPSE_DB_DIR) fails,
+        expand DEFAULT_TEXMF.  From te@informatik.uni-hannover.de.
+
+Thu Nov 24 13:41:15 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c (KPSE_BST_ENVS): Do not look at TEXINPUTS.
+
+        * tex-file.h: Doc fix.
+
+Tue Nov 15 14:06:56 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * progname.c (kpse_set_progname): Use basename.
+
+Fri Nov 11 19:12:23 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * acconfig.h (HAVE_SIGIO): Add this.
+
+Tue Nov  8 19:14:12 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-make.c (kpse_make_tex): Change argument name from
+        `basename', since now we have a fn by that name.
+        * magstep.c (kpse_magstep_fix): Initialize mdpi.
+        * basename.c (basename): Initalize base.
+
+Mon Nov  7 15:46:21 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * common.ac: Run autoupdate.
+        * c-dir.h: Change #if names and NLENGTH to new style.
+
+Fri Oct 28 21:28:02 1994  K. Berry  (karl@terminus.cs.umb.edu)
+
+        * Version 2.4.
+
+        * tex-make.c (maketex): Don't call db_insert, that routine is
+        buggy. I'll fix it later. In the meantime, trying to get a
+        semi-stable release.
+
+Tue Oct 25 16:43:31 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * Version 2.3.
+
+        * progname.c (kpse_set_progname): Initialize kpathsea_debug from
+        the KPATHSEA_DEBUG envvar.  From neal@ctd.comsat.com.
+
+Mon Oct 24 13:41:24 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * db.c (db_insert): New function.
+        * db.h: Declare it.
+        * tex-make.c (maketex): db_insert the result if we succeeded.
+
+        * basename.c: New file to define basename.
+        * lib.h (basename): Declare it.
+        * Makefile.in (objects): Include basename.o.
+
+        * tex-file.h (kpse_file_format_type): Add missing enum values for
+        base/fmt/pool files.
+        * tex-file.c (kpse_init_format): Add cases for these.
+        From te@informatik.uni-hannover.de.
+
+        * lib.h (WARNING, FATAL): Use fputs instead of fprintf.
+        * Many files: Use DEBUGF instead of printf ("kdebug".
+        * debug.h (DEBUGF) [DEBUG]: Define this.
+
+        * xputenv.c (xputenv): Initialize that static saved_env_items to
+        null, just for documentation's sake.
+
+Tue Oct 18 13:19:06 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c (KPSE_*_ENVS): Move environment variable list here.
+        * tex-file.h: Move them from here.
+
+        * tex-glyph.h: Doc fix.
+
+        * tex-file.c (kpse_find_file): Correct off-by-one in suffix
+        comparison. From toy@rtp.ericsson.se.
+
+Mon Oct 17 14:01:02 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * elt-dirs.c (do_subdir): Find a top-level subdir if it matches
+        the POST.
+
+        * db.c (kpse_db_search): Allow for the passed name including a
+        directory part, as in dpi600/cmr10.pk.
+        * tex-glyph.c (try_format): First search all specs with
+        must_exist=false.
+
+        * kpsexpand.c: New file, from te@informatik.uni-hannover.de.
+        * Makefile.in (kpsexpand): New target (a program).
+        (install-exec): Depend on, and install, kpsexpand.
+        
+        * common.ac: Doc fix.
+
+        * cnf.c (do_line): Don't quit just because the variable is in the
+        environment.  From te@informatik.uni-hannover.de.
+
+        * tex-glyph.c (PXL_BITMAP_SPEC): Remove this, we're not going to
+        support pxl1500.
+
+Sun Oct 16 20:46:26 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * kpathsea.texi: Make it clear that names of debugging bits can
+        never be used.
+
+Fri Oct 14 10:31:35 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * Version 2.2.
+
+        * hash.c (hash_lookup) [DEBUG]: Cast to long, not int.
+
+Thu Oct 13 15:39:34 1994  Karl Berry  <karl@owl>
+
+        * db.c (db_build): Warn if ls-R contains nothing useful.
+
+        * debug.c (fopen, fclose) [DEBUG]: fflush stdout.
+        * dir.c (dir_links),
+        * hash.c (hash_lookup),
+        * tex-file.c (kpse_init_format),
+        * elt-dirs.c (kpse_element_dirs): Likewise.
+
+Thu Oct 13 09:02:56 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * hash.c (kpse_debug_hash_lookup_int) [DEBUG]: New global.
+        (hash_lookup): Use it.
+        * hash.h [DEBUG]: Declare it.
+        * dir.c (dir_links) [DEBUG]: Set it and reset it.
+
+        * tex-glyph.c (PXL_BITMAP_SPEC): Add this (pxlNNN/cmr10.pk) for
+        the Bitstream utilities. From abrahams@acm.org.
+        (try_format): Search for this.
+
+Tue Oct 11 15:15:49 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * db.c (db_build): Use kpse_db_dir instead of KPSE_DB_DIR.  This
+        avoids one variable expansion, and te@informatik.uni-hannover.de
+        says otherwise TeX sometimes can't find ls-R.
+
+Sun Oct  9 17:18:23 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * kdefault.c: Rename from default.c.
+        * Makefile.in (objects): Likewise.
+
+Fri Oct  7 12:58:33 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.c (kpse_init_format): Call INIT_MT for the any_glyph
+        case. From carson@lehman.com.
+
+Sun Oct  2 14:11:20 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * magstep.c: Doc fix.
+
+Sun Sep 25 17:11:40 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * Makefile.in: Include library.make.
+
+Thu Sep 22 15:34:40 1994  Karl Berry  <karl@cs.umb.edu>
+
+        * tex-file.h (kpse_file_format_type): Don't make equal to the last
+        element index, make one more.  From Eric Auborg.
+
+Thu Sep 15 19:24:30 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * Makefile.in (distdir): Include install.texi in the distribution.
+
+Mon Sep 12 11:05:18 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * Version 2.1.
+
+Sun Sep 11 15:03:18 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * Makefile.in (install-data): Install texmf.cnf if it didn't exist.
+
+Sat Sep 10 13:28:29 1994  Karl Berry  (karl@cs.umb.edu)
+
+	* Makefile.in (texmf.sed, paths.h): Use tr 012 instead of \n.
+	From John Interrante.
+	
+        * Makefile.in (distdir): Include the .aux and .cps files in the
+        distribution.  Don't include paths.h (from John Interrante).
+        
+        * kpathsea.texi: Fix overfull boxes and other TeX errors.
+
+Wed Sep  7 16:28:37 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * Version 2.0.
+
+Tue Sep  6 10:33:18 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * dir.c (dir_links): Use %ld for ret, since it's now a long.
+
+Sat Sep  3 09:01:25 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * dir.c (dir_links): Use long instead of int for the cast and the
+        variable, to avoid warnings on the Alpha.
+
+        * c-std.h (SYSV, X_NOT_STDC_ENV): Don't define these here.
+        * c-memstr.h (SYSV): Define this.
+        (_XFUNCS_H_): And this.
+
+        * Makefile.in (distclean): Add texmf.cnf and texmf.sed.
+
+Thu Sep  1 14:22:48 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * xputenv.c (putenv): Declare this to avoid a warning.
+        * xstat.c (lstat): And this.
+
+        * common.ac (SMART_PUTENV): Use program to test for this.  From
+        mike@cs.utah.edu.
+
+        * tex-glyph.c (try_fallback_resolutions): Quit early if there's no
+        resolutions in the list.  From sanjoy@dope.caltech.edu.
+
+Tue Aug 30 14:26:48 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * acconfig.h (FOIL_X_WCHAR_T): New definition.
+
+        * c-std.h (hypot) [!hypot]: Conditionalize declaration.
+
+Fri Aug 26 09:00:24 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * Makefile.in (install-data): Install headers into
+        $(includedir)/kpathsea, not just $(includedir).  From john@wpi.edu.
+
+        * pathsearch.c (search): Show results of the search as well as the
+        start of it.
+
+Thu Aug 25 13:40:29 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * proginit.c (kpse_init_prog): Newline at end of fputs.
+
+        * pathsearch.c (search): Add debug statement.
+        * debug.h (KPSE_DEBUG_SEARCH): New bit.
+
+        * tex-file.h (kpse_format_info_type): Rename `font_override_p' from
+        `font_p'. Also `program_enabled' => `program_enabled_p'.
+        Also new member `suffix_search_only'.
+        * tex-file.c (kpse_find_file): Avoid searching for foo.tex.tex, etc.
+
+Tue Aug 16 09:29:59 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-make.c (maketex): Announce that we are running the script
+        before running it.
+
+Mon Aug 15 11:18:19 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * texmf.cnf.in (PKFONTS.xdvi): Write program-specific definition
+        to include gsftopk and ps2pk ``modes''.
+
+Sat Aug 13 16:34:43 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * Makefile.in (lib): Rename to program to simplify rules.
+
+        * magstep.h: Doc fix.
+
+        * common.ac (AC_HAVE_FUNCS): Test for bcopy.
+
+Tue Aug  9 14:18:56 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-make.c (misstex): Prepend kpathsea: to the missfont.log
+        message.
+
+Mon Aug  8 17:53:58 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-make.c (set_maketex_mag): Rewrite to call kpse_magstep_fix.
+        * magstep.[ch]: New files.
+
+Fri Aug  5 14:07:51 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * db.c (match): Allow a trailing component in the filename.
+
+Tue Aug  2 08:55:21 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * Change `debug:' to `kdebug:'.
+        * hash.c (hash_lookup): Print results of lookup if DEBUG_HASH.
+        * debug.h (KPSE_DEBUG_HASH): New bit, replacing DB_BUILD.
+        * db.c (db_build): Don't print the built hash table.
+
+        * db.c (match): Implement this. Petr Sojka and Zdenek Salvet(?)
+        supplied code for this, but I wound up writing my own.
+        * variable.c (expand): Do variable expansion on the value.
+
+        * texmf.cnf.in (TEXINPUTS): Put this after the .prog-specific entries.
+
+        * tex-file.c (kpse_pict_format): Remember to break after setting
+        the type.
+        (EXPAND_DEFAULT, init_path): Keep raw_path as pre-default expansion.
+
+Sun Jul 31 14:18:09 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * debug.c: Don't include debug.h, it's already in debug.h.
+
+        * Makefile.in (db.o,pathsearch.o): Don't need these special cases
+        since tossed db_dir from paths.make.
+        * db.h (DB_DIR): Change default to $TEXMF, rename to KPSE_DB_DIR.
+        (kpse_db_dir): New global variable (sigh).
+        * db.c (kpse_db_dir): Define.
+        * cnf.c: Include db.h for KPSE_DB_DIR.
+        (read_files): Set kpse_db_dir after all have been read.
+        * pathsearch.c (elt_in_db): Check if kpse_db_dir is null.
+        (path_search): Do not initialize db_dir.
+
+Sat Jul 30 06:12:12 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * c-dir.h [_POSIX_VERSION]: Remove this condition; just use DIRENT.
+
+Fri Jul 29 11:36:25 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-file.c (init_path): Look up cnf file value if no suffix.
+
+        * xstat.h (SAME_FILE_P): Move here.
+        * c-stat.h (SAME_FILE_P): From here.
+        * file-p.c: Change include.
+        * lib.h (dir_p, dir_links): Declare here.
+        * dir.h: Split into xopendir.h and c-dir.h; Sun 3 include files
+        get confused otherwise, according to john@minster.york.ac.uk.
+	* xopendir.c: Include xopendir.h.
+	* elt-dirs.c, dir.c: Change includes.
+	
+Sun Jul 17 10:21:16 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * hash.c (hash_insert): Put new elements in at the end of the
+        list, instead of the beginning.
+        * hash.h: Document this.
+
+        * texmf.cnf.in (TEXMFROOT): Change to TEXMF.
+        * kpathsea.texi: Likewise.
+
+        * cnf.c (do_line): assert program_invocation_short_name.
+        * progname.c: Doc fix.
+
+        * absolute.[ch] (kpse_absolute_p): Take additional arg relative_ok.
+        * pathsearch.c (log_search): Call it (with false).
+        * tex-glyph.c: Change call.
+
+        * pathsearch.c (path_search): Initialize db_dir here.
+        (elt_in_db): Not here.
+
+Fri Jul 15 11:44:15 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-file.h: Doc fix.
+
+        * pathsearch.c (log_search): Pass in the whole str_list; anything
+        else is unreliable.
+
+        * proginit.[ch] (kpse_init_prog): Don't pass in argv0; we need it
+        earlier.
+
+Tue Jul 12 11:56:54 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-file.c (init_path): Use the first envvar that's *set*, not
+        the first in the list.
+
+        * tex-file.h (kpse_format_info_type): New member `type'.
+        * tex-file.c (kpse_init_format): Initialize it.
+
+        * pathsearch.c (log_search): New fn.
+        (search): Call it.
+
+Fri Jul  1 11:54:29 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-file.c: Doc fix.
+
+Mon Jun 27 10:18:59 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * db.c (db_build): Call kpse_var_expand on the db filename.
+        * pathsearch.c (elt_in_db): Likewise.
+
+        * tex-glyph.h (kpse_find_gf): By analogy with kpse_find_pk.
+
+Sat Jun 25 16:09:05 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-glyph.c (try_format): Try both Unix and DOS bitmap specs,
+        instead of just one or the other.
+        (bitmap_name): No longer needed.
+
+Fri Jun 24 11:52:32 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-file.c (kpse_find_file): Don't try the suffix if it doesn't
+        exist.
+
+        * tex-file.h (kpse_find_{dvips_header,pict}): New definition.
+
+Thu Jun 23 16:57:58 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-file.h (kpse_{pict,dvips_header}_format): New consts.
+        (KPSE_{PICT,DVIPS_HEADER}_ENVS): Likewise.
+
+Tue Jun 21 11:53:09 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-file.c (kpse_find_file): Try the name as given if the name
+        concatenated with the suffix fails, for the sake of, e.g., EPS files.
+
+        * tex-file.h (kpse_find_tex): New definition.
+
+        * absolute.[ch]: Make arg const.
+
+        * tex-glyph.[ch]: (kpse_bitmap_tolerance): Move here from tex-make.
+
+        * c-proto.h (P6[CH]): New definitions.
+
+        * Makefile.in (objects): Add proginit.o.
+        * proginit.[ch]: New files.
+
+Mon Jun 20 14:55:57 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-file.c (kpse_init_format): Make override path not apply to
+        TFM and VF files.
+
+        * tex-glyph.c (kpse_find_glyph_format): Rename to kpse_find_glyph,
+        and don't call MakeTeXPK if the filename is absolute.
+        * tex-glyph.h: Likewise.
+
+Sun Jun 19 11:00:50 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * common.ac (HAVE_PROGRAM_INVOCATION_NAME): Test for this.
+        * acconfig.h: #undef this by default.
+        * progname.[ch]: New files.
+        * Makefile.in (objects): Add progname.o.
+        * cnf.c (do_line): Check for .<progname> qualification.
+
+Sat Jun 18 16:55:36 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * elt-dirs.c (kpse_element_dirs): Avoid stats in leaf directories
+        found via a non-null post.
+
+Fri Jun 17 14:25:08 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * elt-dirs.c (kpse_element_dirs) [DEBUG]: Print the directory
+        expansion of the path element.
+
+        * str-llist.h: Doc fix.
+
+        * elt-dirs.c (do_subdir): Ignore anything beginning with ., not
+        just `.' and `..'.
+
+Tue Jun 14 11:53:49 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * dir.c (dir_links): Cache the lookups.
+
+        * elt-dirs.c (kpse_element_dirs): Don't expand the argument.
+        * expand.h (kpse_path_expand): New routine.
+        * expand.c: Define it.
+        * pathsearch.h: Doc fix.
+
+        * db.c, tex-file.c [DEBUG]: Prefix output lines with `debug:'.
+
+        * tex-file.h (kpse_format_info_type): Add cnf_path to the struct.
+        * tex-file.c (kpse_init_path): Print the cnf_path.
+        (init_path): Set it, instead of a local variable.
+
+        * pathsearch.c (path_search): Use !! for no-disk-search instead of
+        %%, because now % is the comment char in cnf files.
+        * kpathsea.texi: Document this. Also change all `Kpathsearch' to
+        `kpathsea'.
+
+Mon Jun 13 10:15:49 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-make.h (kpse_set_maketex_mag): Remove.
+        * tex-make.c (kpse_set_maketex_mag): Make static, remove kpse_
+        prefix, and use KPATHSEA_DPI and MAKETEX_BASE_DPI instead of args.
+
+Sun Jun 12 13:49:15 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * db.c (db_build): Put a header on the hash table.
+
+        * tex-glyph.c (try_format): Set extension and path after
+        kpse_init_format, natch.
+
+Sat Jun 11 14:26:34 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * Makefile.in (objects): Add cnf.o.
+        * variable.c (expand): Call kpse_cnf_get if no envvar value.
+
+Fri Jun 10 11:20:23 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-make.h: Remove spec type and variable.
+
+Thu Jun  9 13:42:21 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * Makefile.in (objects): Remove init-path.o.
+        * tex-file.c (kpse_find_file): Rewrite to initialize the paths
+        only once, and keep all path info in a structure.
+        * tex-file.h: Vastly simplify.
+        * tex-glyph.h (kpse_font_file_type): Move here, since it's really
+        only for glyphs.
+        * tex-glyph.c: Corresponding changes.
+        * debug.h (KPSE_DEBUG_PATHS): New debug bit.
+
+        * default.h, str-list.h: Doc fix.
+
+Tue May 31 10:06:51 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * debug.c: Doc fix.
+
+Mon May 23 11:50:03 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * c-fopen.h (FOPEN_A_MODE): Define this.
+        * tex-make.c (misstex, maketex): Split up kpse_make_tex into
+        these, and create missfont.log if appropriate.
+
+Sun May 22 17:39:52 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-make.h: Doc fix.
+
+Wed May 11 13:25:58 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * configure.in (AC_OUTPUT): Use just `Makefile' instead of
+        `./Makefile', to avoid a bug in Autoconf (through 1.10).
+
+Sun Apr 17 16:18:00 1994  Karl Berry  (karl@ra.cs.umb.edu)
+
+        * debug.h: Prefix macros with KPSE_.
+        * db.c, dir.c: Change calls.
+
+        * common.ac: Remove :: VPATH stuff; that made it in to Autoconf 1.8.
+
+        * Makefile.in (top_srcdir): Define this for configure to substitute.
+
+Thu Apr  7 17:52:05 1994  Karl Berry  (karl@ra.cs.umb.edu)
+
+        * debug.[ch]: Implement fopen/fclose tracing.
+
+Thu Mar 31 07:25:49 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * Version 1.8.
+
+Thu Mar 24 10:01:20 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-glyph.c: Doc fix.
+
+        * pathsearch.c (path_search): Don't search the disk if there is
+        magic in the path spec.
+
+        * db.c: Doc fix.
+
+Wed Mar 16 13:50:17 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * readable.c (kpse_readable_file): Complain if errno == EPERM.
+
+Sun Mar 13 11:14:19 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * pathsearch.h (kpse_path_search): Take an extra arg must_exist.
+        * pathsearch.c (kpse_path_search, search, path_search): Likewise.
+        * tex-file.c (kpse_find_file): Change call.
+        * tex-file.h (kpse_find_*): Change these calls, too.
+
+        * hash.c (hash_create): Don't use xcalloc to init pointers to null.
+
+        * db.c (kpse_db_search): Don't free the pointer after incrementing it.
+        From Frank Jensen.
+
+Sat Mar 12 17:55:36 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * db.h (kpse_db_search): Returns a pointer.
+        * db.c (kpse_db_search): If db can't be built, return NULL, else a
+        pointer to the (possibly empty) list.
+        (db_build): Return whether we found the file.
+        * pathsearch.c (path_search): Change call.
+
+Thu Mar 10 07:45:13 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * Makefile.in (install-info): New target.
+
+Fri Mar  4 08:06:16 1994  Karl Berry  (karl@cs.umb.edu)
+
+	* hash.c (hash): Change hash function to spread out the values a
+	bit better.
+
+	* debug.h (DEBUG_DB_BUILD): New debug bit.
+	* db.c (db_build) [DEBUG]: If bit is set, print hash table.
+	* hash.h (hash_print): Declare.
+
+Thu Mar  3 08:52:01 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * Version 1.7.
+
+Sun Feb 27 15:57:30 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * Makefile.in (objects): Add db.o, hash.o.
+        * db.[ch]: New files.
+        * hash.[ch]: Also new files.
+        * pathsearch.c (path_search): Try db search.
+        * tex-glyph.c, fontmap.c: Use general hash functions.
+
+Sat Feb 26 13:15:53 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * fontmap.c: Doc fix.
+
+        * pathsearch.c (INIT_ALLOC): Increase to 75, what the heck.
+
+Fri Feb 25 08:30:50 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-file.[ch]: Decare args const.
+
+Thu Feb 24 07:55:43 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-make.h: Include tex-file.h, not init-path.h.
+
+        * init-path.h (KPSE_*_{ENVS,PATHS}, kpse_font_override_path): Move
+        to tex-font.h.
+        * tex-font.h (kpse_find_{file,tfm,vf}): Also declare these.
+        * tex-font.c (kpse_find_file): Define these.
+        (kpse_font_override_path): Move definition here.
+        
+        * tex-file.*: Rename from tex-font.*.
+        * GNUmakefile: Corresponding changes.
+
+        * elt-dirs.c (do_subdir): Only append the / once we know it's a
+        directory.
+
+Wed Feb 23 16:41:31 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * elt-dirs.c (do_subdir): Don't tack POST on if it is exactly the
+        d_name, so we can find a/b with a path of a//b.
+
+        * c-vararg.h (PVAR3[CH]): New defines.
+
+        * init-path.h: Include KPSE_*_{ENVS,PATHS} here.
+        (kpse_init_path): Take an additional arg font_p.
+        * init-path.c (kpse_override_path): Rename kpse_font_override_path.
+        (kpse_init_path): Only use kpse_font_override_font if font_p.
+
+Mon Feb 21 15:38:53 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * common.ac (extrasub): Define to remove VPATH lines if srcdir = `.'.
+
+Thu Feb  3 06:19:49 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * Version 1.6.
+
+        * fn.c (fn_copy0): Remember to allocate space for the null.
+        Thanks, simon.
+
+Wed Feb  2 09:57:47 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * tex-make.h (KPSE_BITMAP_TOLERANCE): Move to here from tex-glyph.c
+        (kpse_check_bitmap_tolerance): Declare.
+        * tex-make.c (kpse_check_bitmap_tolerance): Define.
+
+Tue Feb  1 10:42:03 1994  Karl Berry  (karl@cs.umb.edu)
+
+	* c-std.h (*alloc) [! _MALLOC_INTERNAL]: Make decl conditional.
+
+        * c-std.h [HAVE_STDLIB_H]: Change #if for including <stdlib.h> to this.
+        * common.ac (AC_HAVE_HEADERS): Check for stdlib.h.
+
+        * Makefile.in (paths.h): Do all substitutions globally.
+
+        * absolute.c [DOS]: Include c-ctype.h.
+        * tex-glyph.c (KPATHSEA_BITMAP_NAME) [DOS]: Double the backslash.
+        * elt-dirs.c (do_subdir) [!UNIX_ST_LINK]: Avoid dangling else.
+        From Wayne.
+
+        * paths.h.in: Doc fix.
+
+        * xputenv.c (xputenv): Check entire variable name for being saved,
+        not just a prefix of it.
+
+Mon Jan 31 12:05:30 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * fn.c (fn_copy0): Allocate LEN if that's bigger than CHUNK_SIZE.
+        (CHUNK_SIZE): Increase to 75.
+
+Sat Jan 22 15:36:08 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * Version 1.5.
+
+        * common.ac (AC_HAVE_FUNCS): Check for memmove.
+
+        * paths.h.in (DEFAULT_MF_PATH): Don't search just public/, cause
+        we need ams/.
+
+Mon Jan 17 15:09:36 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * paths.h.in (DEFAULT_{FMT,BASE}_PATH): Include `.'.
+
+Sun Jan 16 14:50:02 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * paths.h.in (DEFAULT_PK_PATH): Search subdirs of pk.
+
+Mon Jan 10 16:40:35 1994  Karl Berry  (karl@cs.umb.edu)
+
+        * xputenv.c (xputenv): Don't try to be smart about saving/freeing
+        stuff if SMART_PUTENV is defined.
+
+        * c-std.h (assert) [!HAVE_ASSERT_H]: Define as nothing, to avoid
+        undefined references to assert.
+
+Tue Dec 21 16:28:13 1993  Karl Berry  (karl@cs.umb.edu)
+
+        * c-std.h (SYSV) [STDC_HEADERS]: Define, to get around old X
+        include files under hpux.
+
+Sun Dec 19 13:06:15 1993  Karl Berry  (karl@cs.umb.edu)
+
+        * Makefile.in (objects): Put tex-font.o first.
+
+Sat Dec 18 15:03:57 1993  Karl Berry  (karl@cs.umb.edu)
+
+        * config.h (GCC_WCHAR_T, _GCC_WCHAR_T): Remove these; I have
+        another theory now for wchar_t, done in xdvi.h and x11.c.
+
+Sat Dec 18 14:41:15 1993  Karl Berry  (karl@owl.hq.ileaf.com)
+
+	* c-memstr.h ([r]index) [STDC_HEADERS]: Conditionalize #define.
+
+Tue Dec 14 17:43:30 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* Makefile.in (paths.h): Change substitutions accordingly.
+	* paths.h.in (DEFAULT_FMT_PATH): Variable is now fmtdir.
+	(DEFAULT_{BIB,BST}_PATH): Variable is now texmf_prefix.
+
+Sat Dec 11 13:21:43 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-make.c (ABS): New macro.
+	(kpse_set_maketex_mag): Use it, instead of fabs.
+
+Fri Dec 10 15:31:16 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* xmalloc.c, xrealloc.c: Use exit instead of abort, remove abort
+	decls, and reword error messages to be less cryptic. From
+	john@minster.york.ac.uk.
+
+	* dir.h: use `defined' instead of just `DIRENT || _POSIX_VERSION'.
+	How annoying. From kretschm@aitxu3.ait.physik.uni-tuebingen.de.
+
+	* xputenv.c (putenv): Remove declaration, as different systems do
+	it differently. From kayvan@satyr.sylvan.com.
+
+Thu Dec  9 09:12:33 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-make.c (kpse_set_maketex_mag): Allow off-by-1 when deciding
+	if a dpi is a magstep.
+
+Tue Dec  7 11:03:51 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-make.c (kpse_set_maketex_mag): New routine from dvips,
+	called by dvipsk and xdvik to ensure consistency.
+	(magstep): Subroutine of above, also from dvips.
+	* tex-make.h: Declare it.
+
+	* tex-doc.texi: Correct menu item (from maechler@stat.math.ethz.ch).
+
+Fri Dec  3 12:53:38 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* c-pathmx.h: Doc fix.
+
+Sat Nov 27 14:36:11 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* default.h: Doc fix.
+
+	* paths.h.in (texfontdir): This has been renamed to fontdir.
+
+Sun Nov 21 08:28:41 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* Makefile.in (distdir): Include HIER in the distribution, until
+	we merge it into the manual.
+
+Sun Nov  7 14:54:47 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* c-namemx.h (NAME_MAX): Avoid use of pathconf.
+	* c-pathmx.h: Doc fix.
+
+Thu Nov  4 14:50:45 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* config.h (_GCC_WCHAR_T) [!GCC_WCHAR]: Conditionalize.
+
+	* c-std.h (EXIT_SUCCESS) [!EXIT_SUCCESS]: Move these defines
+	outside of !STDC_HEADERS, for the sake of SunOS 4.1.1.  (From
+	vonbrand@inf.utfsm.cl.)
+
+Wed Nov  3 14:43:05 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* Version 1.4.
+
+Wed Nov  3 07:05:48 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* paths.h.in (DEFAULT_{BASE,FMT}_PATH): Had these definitions reversed.
+
+Fri Oct 29 19:27:36 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-glyph.c (try_fallback_resolutions): Initialize ret in all cases.
+
+Thu Oct 28 14:32:34 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* lib.h: Doc fix.
+
+	* common.h (AC_UNISTD_H): Replace this with unistd.h in the list
+	of HAVE_HEADERS.
+
+Tue Oct 26 13:59:33 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* str-llist.[ch]: New files.
+	* Makefile.in (objects): Add str_llist.o.
+	* elt-dirs.[ch]: Use str_llist_type throughout.
+	* pathsearch.c (dir_list_search): Take a str_llist_type, and float
+	a successful dir towards the top.
+	(path_search): Change call of kpse_element_dirs.
+
+Sun Oct 24 19:41:49 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* elt-dirs.c (do_optional): Remove this stub.
+	(expand_elt): Don't call it.
+
+Fri Oct 22 14:46:44 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* xmalloc.c, xrealloc.c, line.c, pathsearch.c: Doc fix.
+
+Tue Oct 19 12:11:32 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-glyph.c (try_fallback_resolutions): New routine.
+	(kpse_find_glyph_format): Call it, instead of repeating (the now
+        pretty complicated) code.
+	* tex-font.c (kpse_init_fallback_resolutions): Pass the value of
+	any environment variable, not its name. From R.Kooijman@et.tudelft.nl.
+
+	* c-memstr.h (str[r]chr) [!str[r]chr]: Conditionalize. From
+	maarrrk@seidel.ece.ucsb.edu.
+
+Tue Oct 12 16:26:48 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-make.c: Doc fix.
+
+Thu Oct  7 13:13:57 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* xmalloc.c: Rewrite to not require <config.h>.
+	* xrealloc.c: Likewise.
+
+	* make-suffix.c (make_suffix): Declare variables const.
+	* remove-suffx.c (remove_suffix): Likewise.  Also rename to
+	rm-suffix.c.
+	* xputenv.c (putenv): Declare with correct prototype.
+	* fontmap.c (internal routines): Likewise.
+	* line.c (xmalloc, xrealloc): Declare as void *.
+	(From john@minster.york.ac.uk.)
+
+Wed Oct  6 06:49:53 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* Version 1.3.
+
+	* tilde.c (kpse_tilde_expand): Always return a malloc-ed value.
+	(From ken@cs.toronto.edu.)
+
+Sun Oct  3 14:11:33 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* config.h (_GCC_WCHAR_T): Define.
+
+Sat Oct  2 17:17:32 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* Makefile.in (install-*): Don't reassign PATH, just invoke
+	mkdirchain explicitly.
+
+	* tex-glyph.c (KPATHSEA_BITMAP_NAME) [DOS]: Define what I think
+	will work for this ...
+
+	* paths.h.in: Doc fix.
+
+	* Makefile.in: Doc fix.
+
+	* tex-glyph.c (kpse_find_glyph_format): Unconditionally initialize
+	glyph_paths[*], since we might use them both in try_size.  From
+	worsch@ira.uka.de.
+
+Fri Oct  1 12:02:11 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* expand.c: Doc fix.
+
+Wed Sep 29 15:21:49 1993    (karl@terminus.cs.umb.edu)
+
+	* Version 1.2.
+
+Sat Sep 25 14:12:00 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* pathsearch.c (path_search, absolute_search): Don't initialize
+	structs.
+
+Fri Sep 24 12:50:00 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-glyph.c (try_size): Skip the simultaneous stuff.
+	(try_format): Set the envvar here.
+	(bitmap_name): Not here.
+	* pathsearch.c (kpse_*_multi_search): Delete.
+	Change most other routines to take only a single name again,
+	instead of a name list.
+	* pathsearch.h: Delete decls.
+
+	* tex-glyph.c (init-path.h): Don't need to include this.
+
+	* tex-glyph.c (kpse_find_glyph_format): Try the fallback
+	resolutions for the fallback font.
+
+	* Makefile.in (warn_more, MAKEINFO_FLAGS) [hayley]: Define these
+	for development and distribution.
+
+	* Makefile.in (dvi): Make analogous to info (including use of new
+	suffix rule).
+
+	* tex-glyph.c (kpse_find_glyph_format): Set KPATHSEA_NAME to the
+	fallback font if we get that far.
+
+Wed Sep 15 19:29:56 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* filefmt.h (KPSE_*_PATH): Pass NULL as first arg.
+
+	* xputenv.c (xputenv): Rewrite again to save the variable names,
+	not the old items.
+
+Mon Sep 13 06:55:29 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* concatn.h: Doc fix.
+
+Sun Sep 12 15:54:55 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* lib.h (XTALLOC): Parenthesize the cast.
+
+	* xputenv.c (xputenv): Rewrite to collect some of the garbage.
+
+Fri Sep 10 14:00:35 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* lib.h (ENVVAR_SET_DEFAULT): No longer needed.
+
+	* xputenv.c (xputenv_int): New routine.
+
+Thu Sep  9 14:58:00 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-make.c (MAKE_TEX_PK_SPEC): Change MAKETEX_DPI to
+	KPATHSEA_DPI.
+
+	* tex-glyph.c (try_fontmap): Use KPSE_GLYPH_PATH.
+	* filefmt.c (KPSE_GLYPH_{PATH,ENVS}): New macros.
+	(KPSE_{GF,PK}_ENVS): Use GLYPH_ENVS.
+
+	* tex-glyph.c (bitmap_name): Rewrite to use a variable spec,
+	introducing KPATHSEA_{BITMAP_NAME,FORMAT,DPI,NAME}.
+	(kpse_find_glyph_format): Set KPATHSEA_DPI instead of MAKETEX_DPI;
+	also set KPATHSEA_NAME.
+	(try_fontmap): Also set KPATHSEA_NAME here.
+	(try_size): Set KPATHSEA_DPI here.
+
+	* tex-glyph.c (try_name): Delete this routine.
+	(kpse_find_glyph_format): Try fallback resolutions here, call
+	try_resolution directly.
+	(try_fontmap): Call try_resolution directly.
+
+	* init-path.h: Need not include c-proto.h.
+
+Sun Aug 29 13:34:25 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-make.c: Doc fix.
+
+	* filefmt.h: Don't need c-proto.h or types.h.
+
+Fri Aug 27 10:36:46 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* c-vararg.h (PVAR2C): Take AP as an arg.
+
+	* init-path.[ch] (kpse_init_path): Take the current value as an
+	additional argument, separate from the default path, and always
+	expand_default.
+
+	* uppercasify.c (uppercasify): Don't discard upcased result!
+
+Thu Aug 26 10:36:28 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* Version 1.1.
+
+Sun Aug 22 19:18:35 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* install-data (install-data): Replace nonexistent
+	$(kpath_includedir) with $(includedir), and define it.  Also
+	remove c-auto.h.
+
+Thu Aug  5 09:03:22 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* Version 1.0.
+
+Wed Aug  4 13:51:24 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-glyph.c (kpse_find_glyph_format): Fill in the font_file
+	struct in the maketex case.
+
+	* Makefile.in (info): Just depend on kpathsea.info, and rely on
+	new suffix rule to do the work.
+
+Tue Aug  3 17:50:40 1993  Karl Berry  (karl@fishbowl.hq.ileaf.com)
+
+	* tex-glyph.c (try_name): Don't free expanded_name if we're
+	returning it.
+
+Tue Aug  3 10:13:43 1993  Karl Berry  (karl@owl.hq.ileaf.com)
+
+	* version.c (kpathsea_version_string): Do not declare const.
+
+	* line.h (read_line): Protoize decl.
+
+Tue Aug  3 09:10:07 1993  Karl Berry  (karl@blood.hq.ileaf.com)
+
+	* c-memstr.h (bcmp, bcopy, bzero) [!HAVE_BCOPY]: Conditionalize.
+
+	* putenv.c: Include <kpathsea/c-auto.h>, and use const when
+	calling memcpy.
+
+Sun Aug  1 08:48:49 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* Add new features to manual.
+
+	* Makefile.in (objects): Include putenv.o.
+	* putenv.c: New file from gdb.
+	* common.ac: Test for putenv.
+
+Sat Jul 31 11:54:31 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* Makefile.in (distclean): Remove paths.h.
+
+	* Most files: changes for traditional C compatibility.
+
+	* filefmt.h: Add new KPSE_..._PATH's for the other formats.
+	* paths.h.in: Add defaults.
+	* Makefile.in (paths.h): sed the values in.
+
+Fri Jul 30 17:23:10 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* filefmt.h (KPSE_VF_PATH): Add empty parens.
+
+	* tex-paths.h*: Rename to just paths.h*.
+
+Tue Jul 27 09:00:58 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* filefmt.h: Include tex-paths.h, and use default paths in
+	KPSE_..._PATH macros.
+
+	* find-suffix.c: Correct logic.
+
+	* filefmt.h: Include init-path.h.
+
+Sat Jul 24 10:44:21 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-glyph.c (kpse_find_glyph_format): Assign to it.
+	* tex-font.h (kpse_font_file_type): New member `source'.
+	(KPSE_FONT_FILE_SOURCE): Accessor macro.
+	(kpse_source_type): New type.
+
+Wed Jul 21 19:45:45 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* Makefile.in (configclean): New target.
+
+Sun Jul 18 13:53:38 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tilde.[ch] (kpse_expand_tilde): Rename to kpse_tilde_expand.
+
+	* elt-dirs.c, pathsearch.c, tex-glyph.c: Replace calls to
+	kpse_expand_tilde with kpse_expand.
+	* expand.[ch]: New files.
+	* Makefile.in (objects): Add it.
+
+	* fn.[ch]: New files.
+	* elt-dirs.c (fn*): Moved to fn.c.
+	* tex-make.c, variable.c: Use the new routines.
+	* *obstack*: No longer needed.
+	* Makefile.in (objects): Appropriate changes.
+
+Sat Jul 17 13:25:25 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* concat.c: Doc fix.
+
+	* pathsearch.c (search, path_search): Expand variable references.
+
+	* itoa.c: New file.
+	* lib.h (itoa): Declare it.
+	* Makefile.in (objects): Add it.
+
+	* lib.h (ENVVAR_SET_DEFAULT): New macro.
+	* tex-glyph.c (kpse_find_glyph_format): Call it to set the dpi.
+
+Fri Jul 16 09:10:52 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* xputenv.c: New file.
+	* Makefile.in (objects): Add it.
+	* lib.h (xputenv): Declare it.	
+
+	* c-obstack.h: New file.
+	* variable.[ch]: New files.
+	* Makefile.in (objects): Add it.
+
+	* uppercasify.c: New file.
+	* Makefile.in (objects): add it.
+	* lib.h (uppercasify): Declare it.
+
+Tue Jul 13 13:47:54 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-glyph.c (kpse_find_glyph_format): Simplify path initialization.
+	* filefmt.h: New file; add abbrevs for GF and PK inits.
+
+	* Makefile.in (objects): Add obstack.o and tex-make.o.
+	* obstack.[ch]: New files from GNU.
+	* concatn.[ch], tex-make.[ch]: New files.
+	* init-path.c: Doc fix.
+
+	* elt-dirs.c: Doc fix.
+	* readable.[ch]: Doc fixes.
+
+Sun Jul 11 13:37:02 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-font.h (kpse_font_format_type): Rename to kpse_file_format_type,
+	and include the other file formats.
+	* tex-glyph.c: Change uses.
+
+Tue Jul  6 08:09:10 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-font.c (kpse_fallback_font): Initialize to NULL.
+
+Mon Jul  5 08:23:09 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-glyph.c (try_size): Don't fill in FONT_FILE if it's null.
+
+	* tex-font.c (kpse_init_fallback_resolutions): Look for TEXSIZES
+	after the program-specific *SIZES var.
+
+	* tex-glyph.c (kpse_find_glyph_format): Use kpse_init_path.
+	* Makefile.in (objects): Add init_path.o.
+	* tex-font.[ch] (kpse_override_path): Move to init-path.[ch].
+	* init-path.[ch]: New files.
+	* c-vararg.h: New file.
+
+Sun Jul  4 11:26:17 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-font.c (kpse_init_fallback_resolutions): New routine.
+	* tex-font.h: Declare it, and companion return type.
+
+Fri Jul  2 10:43:11 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-glyph.c (kpse_find_glyph_format): Take first successful
+	fontmap entry.
+
+	* fontmap.c (map_file_parse): Take first % on line as starting the
+	comment, not the last.
+
+	* fontmap.c (map_insert): Always insert the new element.
+
+Thu Jul  1 19:21:35 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* fontmap.c (map_lookup): Return a list, not a single string.
+	(map_lookup_str): Likewise.
+	* fontmap.h (map_lookup): Change decl.
+	* tex-glyph.c (kpse_find_glyph_format): Change caller.
+
+Sat Jun 26 11:48:36 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* tex-font.h: Doc fix.
+
+Thu Jun 24 11:16:41 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* configure.in (MISSING_HEADERS): Toss in favor of HAVE_HEADERS.  Sigh.
+	Also, move all this to an include file.
+	Change uses in several files.
+
+	* stat.h: Rename to c-stat.h, and change includers.
+
+	* Makefile.in (objects): Add tex-glyph.o.
+	* pathsearch.[ch] (kpse_*_multi_search): New routines.
+
+Sat Jun 19 11:37:18 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* str-list.c (str_list_free): New routine.
+
+Fri Jun 18 13:54:08 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* fontmap.c (map_create): Rewrite to use kpse_all_path_search.
+	Include const in various subroutines.
+
+Tue Jun 15 15:58:18 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* Change <kpathsea/pathsrch.h> to pathsearch.  Rename the files
+	themselves.
+
+	* elt-dirs.c (cache): Copy the key into our own storage, since it
+	comes from kpse_path_element and might get overwritten.  Should we
+	copy all the values, too?
+
+Sun Jun 13 16:49:09 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* pathsearch.c (dir_list_search): Don't need to append the null
+	here; in fact, it's wrong, since then the final list might have
+	nulls in the middle.
+
+	* elt-dirs.c (dir_list_add): Correct check for new directory
+	already ending in /.
+
+Fri Jun 11 10:45:33 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* str-list.[ch]: New files.
+	* pathsrch.c: Use it for the dir_list routines.
+	* Many changes and new files throughout for new implementation
+	including TeX-font-lookup routines.
+
+Tue Jun  8 14:00:54 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* Most files: Change `const string' (constant pointer) to `const
+	char *' (pointer to constant data).  What a crock.
+
+Mon Jun  7 09:43:21 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* debug.[ch]: New files.
+	* config.h: Include debug.h.
+
+	* dir-p.c: Rename to dir.c.
+	(dir_links): New routine.
+
+	* c-std.h (assert.h) [!ASSERT_H_MISSING]: Include this.
+	* configure.in: Check for it with new macro AC_MISSING_HEADERS.
+
+Thu Jun  3 10:12:12 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* dirio.h (leaf_dir_p): No longer defined; rename to dir.h.
+	* xopendir.c, dir-p.c, pathsrch.c: Change include.
+
+Mon May 31 07:49:16 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* c-std.h (EXIT_{SUCCESS,FAILURE}): Define these if they're undefined.
+
+	* config.h: Use <kpathsea/...> instead "...".
+
+	* kpathlib.h: Had #ifndef protection messed up.  Rename to lib.h.
+
+	* c-memstr.h (index, rindex) [!index, !rindex]: Make definitions
+	conditional.
+
+Tue May 25 10:07:00 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* c-{namemx,pathmx,pathch,...}.h: Doc fixes.
+
+	* c-systypes.h: New file.
+	* c-std.h: Include it.
+
+	* stat.h: New file.
+	* xstat.h: Include it.
+
+	* configure.in (AC_HAVE_HEADERS): Test for `pwd.h'.
+
+Sun May 23 19:06:22 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* pathsrch.[ch]: Doc fixes.
+
+Fri May 21 11:27:54 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* line.c (free): Declare.
+
+	* pathsrch.c, find-suffix.c: Change caller.
+	* c-pathch.h ({IS_,}{DIR,ENV}_SEP): Rename existing confusing
+	definitions to these.  Suggested by rocky.
+
+Mon May 17 08:18:18 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* Version 0.3.
+
+	* pathsrch.c (expand_default): Handle doubled colon and
+	nothing-but-colon cases.
+
+	* Write documentation, change Makefile accordingly.
+
+Thu May 13 16:32:34 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* c-std.h (popen) [VMS]: Make decl conditional, and include
+	<unixlib.h> and <unixio.h>.
+
+Mon May 10 07:12:50 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* Version 0.2.
+
+	* version.c: Put in placeholder.
+
+Sun May  9 10:42:34 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* config.h (c-auto.h): Use <...> instead of "...".
+
+Tue May  4 14:54:41 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* Makefile.in (info check dvi): New targets (that do nothing).
+
+Mon May  3 13:46:17 1993  Karl Berry  (karl@claude.cs.umb.edu)
+
+	* Version 0.1.
+
+	* Use KPATHSEARCH_ prefix for various headers' cpp protections.
+
+Sun May  2 10:28:25 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* Makefile.in (dist): Depend on TAGS, and put it in the dist.
+
+	* Makefile.in (c-auto.h.in): Remove extra $(srcdir).
+
+Sun Apr 25 11:22:12 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* pathsrch.h: Include c-proto.h.
+
+	* make-suffix.c: New file.
+	* Makefile.in (objects): Add the .o.
+
+	* file-p.c: Use the SAME_FILE_P macro.
+
+	* fontmap.h: Include c-proto.h and types.h.
+
+	* lib.h: Rename to kpathlib.h.
+	* config.h: Include changed.
+
+	* c-proto.h, c-std.h: Doc fix.
+
+	* c-limits.h [LIMITS_H_MISSING]: Conditionalize include of c-std.h.
+
+	* xstat.h: Include c-std.h.
+
+	* Makefile.in (c-auto.h.in): Add unused warning to top.
+
+	* dirio.h: Include c-proto.h and types.h.
+
+Fri Apr 23 16:11:13 1993  Karl Berry  (karl@cs.umb.edu)
+
+	* line.c: Don't include config.h, just declare xmalloc and
+	xrealloc explicitly.
+
+	* pathsrch.c: paths.h need not be included.
+
+	* Created.
new file mode 100644
--- /dev/null
+++ b/kpathsea/HIER
@@ -0,0 +1,87 @@
+TeX directory structure
+=======================
+
+  This section describes the default installation hierarchy of the
+distribution.  It conforms to both the GNU coding standards and the TeX
+directory structure (TDS) standard.  For rationale and further
+explanation, please see those documents.  The GNU standard is available
+as `ftp://prep.ai.mit.edu/pub/gnu/standards/standards.texi' and
+mirrors.  The TDS document is available from `CTAN:/tex-archive/tds'
+(*note unixtex.ftp::.).
+
+  You can change the default paths in many ways (*note Changing search
+paths::.).  One common desire is to put everything (binaries and all)
+under a single top-level directory such as `/usr/local/texmf' or
+`/opt/texmf'--in the terms used below, make PREFIX and TEXMF the same.
+For specific instructions on doing that, *note configure scenarios::..
+
+  Here is a skeleton of the default directory structure, extracted from
+the TDS document:
+
+     PREFIX/      installation root (`/usr/local' by default)
+      bin/         executables
+      man/         man pages
+      include/     C header files
+      info/        GNU info files
+      lib/         libraries (`libkpathsea.*')
+      share/       architecture-independent files
+       texmf/      TDS root
+        bibtex/     BibTeX input files
+         bib/        BibTeX databases
+          base/       base distribution (e.g., `xampl.bib')
+          misc/       single-file databases
+          PKG/       name of a package
+         bst/        BibTeX style files
+          base/       base distribution (e.g., `plain.bst', `acm.bst')
+          misc/       single-file styles
+          PKG/       name of a package
+        doc/         additional documentation
+        dvips/       `.pro', `.ps', `psfonts.map'
+        fonts/       font-related files
+         TYPE/         file type (e.g., `tfm', `pk')
+          MODE/          type of output device (types `pk' and `gf' only)
+           SUPPLIER/       name of a font supplier (e.g., `public')
+            TYPEFACE/        name of a typeface (e.g., `cm')
+             dpiNNN/           font resolution (types `pk' and `gf' only)
+        metafont/    Metafont (non-font) input files
+         base/        base distribution (e.g., `plain.mf')
+         misc/        single-file packages (e.g., `modes.mf')
+         PKG/           name of a package (e.g., `mfpic')
+        metapost/    MetaPost input files
+         base/        base distribution (e.g., `plain.mp')
+         misc/        single-file packages
+         PKG/           name of a package
+         support/     support files for MetaPost-related utilities (e.g., `trfonts.map')
+        mft/         `MFT' inputs (e.g., `plain.mft')
+        tex/         TeX input files
+         FORMAT/         name of a format (e.g., `plain')
+          base/        base distribution for FORMAT (e.g., `plain.tex')
+          misc/        single-file packages (e.g., `webmac.tex')
+          local/       local additions to or local configuration files for FORMAT
+          PKG/           name of a package (e.g., `graphics', `mfnfss')
+         generic/     format-independent packages
+          hyphen/      hyphenation patterns (e.g., `hyphen.tex')
+          images/      image input files (e.g., Encapsulated PostScript)
+          misc/        single-file format-independent packages (e.g., `null.tex').
+          PKG/           name of a package (e.g., `babel')
+        web2c/        implementation-dependent files (`.pool', `.fmt', `texmf.cnf', etc.)
+
+  Some concrete examples for most file types:
+
+     /usr/local/bin/tex
+     /usr/local/man/man1/xdvi.1
+     /usr/local/info/kpathsea.info
+     /usr/local/lib/libkpathsea.a
+     /usr/local/share/texmf/bibtex/bst/base/plain.bst
+     /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmr10.600pk
+     /usr/local/share/texmf/fonts/source/public/pandora/pnr10.mf
+     /usr/local/share/texmf/fonts/tfm/public/cm/cmr10.tfm
+     /usr/local/share/texmf/fonts/type1/adobe/utopia/putr.pfa
+     /usr/local/share/texmf/metafont/base/plain.mf
+     /usr/local/share/texmf/metapost/base/plain.mp
+     /usr/local/share/texmf/tex/plain/base/plain.tex
+     /usr/local/share/texmf/tex/generic/hyphen/hyphen.tex
+     /usr/local/share/texmf/web2c/tex.pool
+     /usr/local/share/texmf/web2c/tex.fmt
+     /usr/local/share/texmf/web2c/texmf.cnf
+
new file mode 100644
--- /dev/null
+++ b/kpathsea/INSTALL
@@ -0,0 +1,790 @@
+Contents:
+
+Installation
+  Simple installation
+  Custom installation
+    Disk space
+    Kpathsea application distributions
+    Changing search paths
+      Default path features
+      Default path generation
+    Running `configure'
+      `configure' shells
+      `configure' options
+      `configure' environment
+      `configure' scenarios
+      Shared library
+    Running `make'
+    Installing files
+    Cleaning up
+    Filename database generation
+    `MakeTeX' scripts
+      `MakeTeX' configuration
+      `MakeTeX' script names
+      `MakeTeX' script arguments
+    Installation testing
+  Security
+
+
+Installation
+************
+
+  The procedure for Kpathsea (and Web2c, etc.) configuration and
+installation follows.  If trouble, *note Common problems::., a copy of
+which is in the file `kpathsea/BUGS'.
+
+Simple installation
+===================
+
+  Installing TeX and friends for the first time can be a daunting
+experience.  Thus, you may prefer to skip this whole thing and just get
+precompiled executables: *note unixtex.ftp::..
+
+  This section explains what to do if you wish to take the defaults for
+everything (installing under `/usr/local'), and generally to install in
+the simplest possible way.  Most steps here refer to corresponding
+subsection in the next section which explains how to override defaults
+and generally gives more details.
+
+  1. Be sure you have enough disk space: approximately 8 megabytes for
+     the compressed archives, 15MB for sources, 45MB for compilation,
+     40MB for the (initial) installed system (including library files).
+     *Note Disk space::.
+
+  2. Retrieve these two distribution archives:
+    `ftp://ftp.tug.org/tex/texk.tar.gz'
+          These are the sources, which you will be compiling.
+
+    `ftp://ftp.tug.org/tex/texmflib.tar.gz'
+          This is a basic set of input files.  You should unpack it in
+          the directory `/usr/local/share'; doing so will create a
+          `texmf' subdirectory there.
+
+     *Note Kpathsea application distributions::.
+
+  3. When using the default search paths, there is no need to edit any
+     distribution files. *Note Changing search paths::.
+
+  4. At the top level of the distribution, run `sh configure'.  (If you
+     have the GNU Bash shell installed, run `bash configure'.) *Note
+     Running configure::.
+
+  5. `make'. *Note Running make::.
+
+  6. `make install'. *Note Installing files::.
+
+  7. `make distclean'. *Note Cleaning up::.
+
+  8. Set up a cron job to rebuild the filename database that makes
+     searching faster.  This line will rebuild it every midnight:
+          0 0 * * * cd /usr/local/share/texmf && /BINDIR/MakeTeXls-R
+     *Note Filename database generation::, and *Note Filename
+     database::.
+
+  9. If you're installing Dvips, you also need to set up configuration
+     files for your printers and make any additional PostScript fonts
+     available.  *Note Installation: (dvips)Installation.  If you have
+     any color printers, *note Color device configuration: (dvips)Color
+     device configuration..
+
+ 10. The first time you run a DVI driver, a bunch of PK fonts will be
+     built by Metafont via `MakeTeXPK' (and added to the filename
+     database).  This will take some time.  Don't be alarmed; they will
+     created only this first time (unless something is wrong with your
+     path definitions).
+
+     By default, `MakeTeXPK' assumes `/usr/local/share/texmf/fonts' is
+     globally writable.  If you need a different arrangement, *note
+     MakeTeX configuration::..
+
+     *Note MakeTeX scripts::.
+
+ 11. For some simple tests, try `tex story \\bye' and `latex simple'.
+     Then run `xdvi story' or `dvips simple' on the resulting DVI files
+     to preview/print the documents.  *Note Installation testing::.
+
+Custom installation
+===================
+
+  Most sites need to modify the default installation procedure in some
+way, perhaps merely changing the prefix from `/usr/local', perhaps
+adding extra compiler or loader options to work around `configure'
+bugs.  This section explains how to override default choices.  For
+additional distribution-specific information:
+   * `dviljk/INSTALL'.
+
+   * *Note Installation: (dvips)Installation.
+
+   * *Note Installation: (web2c)Installation.
+
+   * `xdvik/INSTALL'.
+
+  These instructions are for Unix systems.  Other operating-system
+specific distributions have their own instructions.  The code base
+itself supports Amiga, DOS, OS/2, and VMS.
+
+  Following are the same steps as in the previous section (which
+describes the simplest installation), but with much more detail.
+
+Disk space
+----------
+
+  Here is a table showing the disk space needed for each distribution
+(described in the next section).  The `(totals)' line reflects the
+`texk' source distribution and `texmflib'; the individual distributions
+don't enter into it.  Sizes are in megabytes.  All numbers are
+approximate.
+
+dviljk        .9       3.8                            
+dvipsk        .9       3.2                            
+xdvik         .7       2.5                            
+web2c         1.3      5.0                            
+web           1.9      6.5       -         -          
+texk          3.8      14.1      43.1      23.5       
+texmflib      3.8      15.0      -         15.0       
+(totals)      7.6      29.1      43.1      38.5       
+
+Kpathsea application distributions
+----------------------------------
+
+  The archive `ftp://ftp.tug.org/tex/texk.tar.gz' contains all of the
+Kpathsea applications I maintain, and the library itself.  For example,
+since NeXT does not generally support X11, you'd probably want to skip
+`xdvik' (or simply remove it after unpacking `texk.tar.gz'.  If you are
+not interested in all of them, you can also retrieve them separately:
+
+`dviljk.tar.gz'
+     DVI to PCL, for LaserJet printers.
+
+`dvipsk.tar.gz'
+     DVI to PostScript, for previewers, printers, or PDF generation.
+
+`web2c.tar.gz'
+     The software needed to compile TeX and friends.
+
+`web.tar.gz'
+     The original WEB source files, also used in compilation.
+
+`xdvik.tar.gz'
+     DVI previewing under the X window system.
+
+  If you want to use the Babel LaTeX package for support of non-English
+typesetting, you may need to retrieve additional files.  See the file
+`install.txt' in the Babel distribution.
+
+Changing search paths
+---------------------
+
+  If the search paths for your installation differ from the standard
+TeX directory structure (*note Introduction: (tds)Top.), edit the file
+`kpathsea/texmf.cnf.in' as desired, before running `configure'.  For
+example, if you have all your fonts or macros in one big directory.
+
+  You may also wish to edit the file `MakeTeXnames.cnf', either before
+or after installation, to control various aspects of `MakeTeXPK' and
+friends.  *Note MakeTeX configuration::.
+
+  You do not need to edit `texmf.cnf.in' to change the default
+top-level or other installation *directories* (only the paths).  You
+can and should do that when you run `configure' (next step).
+
+  You also do not need to edit `texmf.cnf.in' if you are willing to
+rely on `texmf.cnf' at runtime to define the paths, and let the
+compile-time default paths be incorrect.  Usually there is no harm in
+doing this.
+
+  The section below explains default generation in more detail.
+
+Default path features
+.....................
+
+  The purpose of having all the different files described in the section
+above is to avoid having the same information in more than one place. If
+you change the installation directories or top-level prefix at
+`configure'-time, those changes will propagate through the whole
+sequence.  And if you change the default paths in `texmf.cnf.in', those
+changes are propagated to the compile-time defaults.
+
+  The Make definitions are all repeated in several Makefile's; but
+changing the top-level `Makefile' should suffice, as it passes down all
+the variable definitions, thus overriding the submakes.  (The
+definitions are repeated so you can run Make in the subdirectories, if
+you should have occasion to.)
+
+  By default, the bitmap font paths end with `/$MAKETEX_MODE', thus
+including the device name (usually a Metafont mode name such as
+`ljfour').  This distinguishes two different devices with the same
+resolution--a write/white from a write/black 300dpi printer, for
+example.
+
+  However, since most sites don't have this complication, Kpathsea
+(specifically, the `kpse_init_prog' function in `kpathsea/proginit.c')
+has a special case: if the mode has not been explicitly set by the user
+(or in a configuration file), it sets `MAKETEX_MODE' to `/'.  This
+makes the default PK path, for example, expand into `.../pk//', so
+fonts will be found even if there is no subdirectory for the mode (if
+you arranged things that way because your site has only one printer,
+for example) or if the program is mode-independent (e.g., `pktype').
+
+  To make the paths independent of the mode, simply edit `texmf.cnf.in'
+before installation, or the installed `texmf.cnf', and remove the
+`$MAKETEX_MODE'.
+
+  *Note MakeTeX script arguments::, for how this interacts with
+`MakeTeXPK'.
+
+  *Note TeX directory structure: TeX directory structure, for a
+description of the default arrangement of the input files that comprise
+the TeX system.  The file `kpathsea/HIER' is a copy of that section.
+
+Default path generation
+.......................
+
+  This section describes how the default paths are constructed.
+
+  You may wish to ignore the whole mess and simply edit `texmf.cnf'
+after it is installed, perhaps even copying it into place beforehand so
+you can complete the installation, if it seems necessary.
+
+  To summarize the chain of events that go into defining the default
+paths:
+
+  1. `configure' creates a `Makefile' from each `Makefile.in'.
+
+  2. When Make runs in the `kpathsea' directory, it creates a file
+     `texmf.sed' that substitutes the Make value of `$(var)' for a
+     string `@var@'.  The variables in question are the one that define
+     the installation directories.
+
+  3. `texmf.sed' (together with a little extra magic--see
+     `kpathsea/Makefile') is applied to `texmf.cnf.in' to generate
+     `texmf.cnf'.  This is the file that will eventually be installed
+     and used.
+
+  4. The definitions in `texmf.cnf' are recast as C `#define''s in
+     `paths.h'.  These values will be the compile-time defaults; they
+     are not used at runtime unless no `texmf.cnf' file can be found.
+
+     (That's a lie: the compile-time defaults are what any extra :'s in
+     `texmf.cnf' expand into; but the paths as distributed have no extra
+     :'s, and there's no particular reason for them to.)
+
+Running `configure'
+-------------------
+
+  Run `sh configure OPTIONS' (in the top-level directory, the one
+containing `kpathsea/'), possibly using a shell other than `sh' (*note
+configure shells::.).
+
+  `configure' adapts the source distribution to the present system via
+`#define''s in `*/c-auto.h', which are created from the corresponding
+`c-auto.h.in'.  It also creates a `Makefile' from the corresponding
+`Makefile.in', doing `@VAR@' and `ac_include' substitutions).
+
+  `configure' is the best place to control the configuration,
+compilation, and installed location of the software, either via
+command-line options, or by setting environment variables before
+invoking it.  For example, you can disable `MakeTeXPK' by default with
+the option `--disable-maketexpk'.  *Note configure options::.
+
+`configure' shells
+..................
+
+  If you have Bash, the GNU shell, use it if `sh' runs into trouble
+(*note Top: (features)Top.).
+
+  Most Bourne shell variants other than Bash cannot handle `configure'
+scripts as generated by GNU Autoconf (*note Introduction:
+(autoconf)Top.).  Specifically:
+`ksh'
+     The Korn shell may be installed as `/bin/sh' on AIX.  `/bin/bsh'
+     may serve instead.
+
+`ash'
+     Ash is sometimes installed as `/bin/sh' on NetBSD, FreeBSD, and
+     Linux systems.  `/bin/bash' should be available.
+
+`Ultrix /bin/sh'
+     `/bin/sh' under Ultrix is a DEC-grown shell that is notably
+     deficient in many ways.  `/bin/sh5' may be necessary.
+
+`configure' options
+...................
+
+  For a complete list of all `configure' options, run `configure
+--help' or *note Running `configure' scripts: (autoconf)Invoking
+configure. (a copy is in the file `kpathsea/CONFIGURE').  The generic
+options are listed first in the `--help' output, and the
+package-specific options come last.  The environment variables
+`configure' pays attention to are listed below.
+
+  Options particularly likely to be useful are `--prefix', `--datadir',
+and the like; *note configure scenarios::..
+
+  This section gives pointers to descriptions of the `--with' and
+`--enable' options to `configure' that Kpathsea-using programs accept.
+
+`--without-maketexmf-default'
+`--without-maketexpk-default'
+`--without-maketextfm-default'
+`--with-maketextex-default'
+     Enable or disable the dynamic generation programs.  *Note MakeTeX
+     configuration::.
+
+`--enable-shared'
+     Build Kpathsea as a shared library, and link against it.  Also
+     build the usual static library.  *Note Shared library::.
+
+`--disable-static'
+     Build only the shared library.
+
+`configure' environment
+.......................
+
+  `configure' uses the value of the following environment variables in
+determining your system's characteristics, and substitutes for them in
+Makefile's:
+
+`CC'
+     The compiler to use: default is `gcc' if it's installed, otherwise
+     `cc'.
+
+`CFLAGS'
+     Options to give the compiler: default is `-g -O2' for `gcc', `-g'
+     otherwise.  `CFLAGS' comes after any other options.  You may need
+     to include `-w' here if your compilations commonly have useless
+     warnings (e.g., `NULL redefined'), or `configure' may fail to
+     detect the presence of header files (it takes the messages on
+     standard error to mean the header file doesn't exist).
+
+`CPPFLAGS'
+     Options to pass to the compiler preprocessor; this matters most for
+     configuration, not the actual source compilation.  The `configure'
+     script often does only preprocessing (e.g., to check for the
+     existence of #include files), and `CFLAGS' is not used for this.
+     You may need to set this to something like
+     `-I/usr/local/include/wwwhatever' if you have the libwww library
+     installed for hyper-xdvik (see `xdvik/INSTALL').
+
+`DEFS'
+     Additional preprocessor options, but not used by `configure'.
+     Provided for enabling or disabling program features, as documented
+     in the various program-specific installation instructions.  `DEFS'
+     comes before any compiler options included by the distribution
+     `Makefile's or by `configure'.
+
+`LDFLAGS'
+     Additional options to give to the loader.  `LDFLAGS' comes before
+     any other linker options.
+
+`LIBS'
+     Additional libraries to link with.
+
+`configure' scenarios
+.....................
+
+  Here are some common installation scenarios:
+
+   * Including X support in Metafont.  This is disabled by default,
+     since many sites have no use for it, and it's a leading cause of
+     configuration problems.
+          configure --with-x-toolkit
+
+   * Putting the binaries, TeX files, GNU info files, etc. into a single
+     TeX hierarchy, say TEXMF, requires overriding defaults in both
+     `configure' and `make':
+          configure --prefix=TEXMF --datadir=TEXMF
+          make texmf=TEXMF
+
+   * You can compile on multiple architectures simultaneously either by
+     building symbolic link trees with the `lndir' script from the X11
+     distribution, or with the `--srcdir' option:
+          configure --srcdir=SRCDIR
+
+   * If you are installing binaries for multiple architectures into a
+     single hierarchy, you will probably want to override the default
+     `bin' and `lib' directories, something like this:
+          configure --prefix=TEXMF --datadir=TEXMF \
+            --bindir=TEXMF/ARCH/bin --libdir=TEXMF/ARCH/lib
+          make texmf=TEXMF
+      (Unless you make provisions for architecture-specific files in
+     other ways, e.g., with Depot or an automounter.)
+
+   * To compile with optimization (to compile without debugging, remove
+     the `-g'):
+          env CFLAGS="-g -O" sh configure ...
+      For a potential problem if you optimize, see *Note TeX or
+     Metafont failing: TeX or Metafont failing.
+
+Shared library
+..............
+
+  You can compile Kpathsea as a shared library on a few systems, by
+specifying the option `--enable-shared' when you run `configure'.
+
+  The main advantage in doing this is that the executables can then
+share the code, thus decreasing memory and disk space requirements.
+
+  On some systems, you can record the location of shared libraries in a
+binary, usually by giving certain options to the linker.  Then
+individual users do not need to set their system's environment variable
+(e.g., `LD_LIBRARY_PATH') to find shared libraries.  If you want to do
+this, you will need to add the necessary options to `LDFLAGS' yourself;
+for example, on Solaris, include something like `-R${prefix}/lib'.
+(Unfortunately, making this happen by default is very difficult,
+because of interactions with an existing installed shared library.)
+
+  Currently, shared library support is implemented only on SunOS 4
+(Solaris 1) and SunOS 5 (Solaris 2).  If you're interested and willing
+in adding support for other systems, please see the `configure' mode in
+the `klibtool' script, especially the host-specific case statement
+around line 250.
+
+Running `make'
+--------------
+
+  `make' (still in the top-level directory).  This also creates the
+`texmf.cnf' and `paths.h' files that define the default search paths,
+and (by default) the `plain' and `latex' TeX formats.
+
+  You can override directory names and other values at `make'-time.
+`make/paths.make' lists the variables most commonly reset.  For
+example, `make default_texsizes=600' changes the list of fallback
+resolutions.
+
+  You can also override each of `configure''s environment variables
+(*note configure environment::.).  The Make variables have the same
+names.
+
+  Finally, you can supply additional options via the following
+variables.  (`configure' does not use these.)
+
+`XCPPFLAGS'
+`XDEFS'
+     Preprocessor options.
+
+`XCFLAGS'
+     Compiler options.
+
+`XLDFLAGS'
+     Loader options (included at beginning of link commands).
+
+`XLOADLIBES'
+     More loader options (included at end of link commands).
+
+`XMAKEARGS'
+     Additional Make arguments passed to all sub-`make''s. You may need
+     to include assignments to the other variables here via `XMAKEARGS';
+     for example: `make XMAKEARGS="CFLAGS=-O XDEFS=-DA4"'.
+
+  It's generally a bad idea to use a different compiler (`CC') or
+libraries (`LIBS') for compilation than you did for configuration,
+since the values `configure' determined may then be incorrect.
+
+  Adding compiler options to change the "universe" you are using
+(typically BSD vs. system V) is generally a cause of trouble.  It's
+best to use the native environment, whatever that is; `configure' and
+the software usually adapt best to that.  In particular, under Solaris
+2.x, you should not use the BSD-compatibility library (`libucb') or
+include files (`ucbinclude').
+
+  If you want to use the Babel LaTeX package for support of non-English
+typesetting, you need to modify some files before making the LaTeX
+format.  See the file `install.txt' in the Babel distribution.
+
+Installing files
+----------------
+
+  The basic command is the usual `make install'.  For security issues,
+*note Security::..
+
+  The first time you install any manual in the GNU Info system, you
+should add a line (you choose where) to the file `dir' in your
+`$(infodir)' directory.  Sample text for this is given near the top of
+the Texinfo source files (`kpathsea/kpathsea.texi',
+`dvipsk/dvips.texi', and `web2c/doc/web2c.texi').  If you have a recent
+version of the GNU Texinfo distribution installed
+(`ftp://prep.ai.mit.edu/pub/gnu/texinfo-3.9.tar.gz' or later), this
+should happen automatically.
+
+  On the offchance that this is your first Info installation, the `dir'
+file I use is included in the distribution as `etc/dir-example'.
+
+  You may wish to use one of the following targets, especially if you
+are installing on multiple architectures:
+   * `make install-exec' to install in architecture-dependent
+     directories, i.e., ones that depend on the `$(exec_prefix)' Make
+     variable.  This includes links to binaries, libraries, etc., not
+     just "executables".
+
+   * `make install-data' to install in architecture-independent
+     directories, such as documentation, configuration files, pool
+     files, etc.
+
+  If you use the Andrew File System, the normal path (e.g., PREFIX/bin)
+only gets you to a read-only copy of the files, and you must specify a
+different path for installation.  The best way to do this is by setting
+the `prefix' variable on the `make' command line.  The sequence becomes
+something like this:
+     configure --prefix=/whatever
+     make
+     make install prefix=/afs/.SYSTEM.NAME/system/1.3/@sys/whatever
+   With AFS, you will definitely want to use relative filenames in
+`ls-R' (*note Filename database::.), not absolute filenames.  This is
+done by default, but check anyway.
+
+Cleaning up
+-----------
+
+The basic command is `make distclean'.  This removes all files created
+by the build.
+
+  Alternatively,
+   * `make mostlyclean' if you intend to compile on another
+     architecture.  For Web2c, since the generated C files are portable,
+     they are not removed.  If the `lex' vs. `flex' situation is going
+     to be different on the next machine, `rm web2c/lex.yy.c'.
+
+   * `make clean' to remove files created by compiling, but leave
+     configuration files and Makefiles.
+
+   * `make maintainer-clean' to remove everything that the Makefiles can
+     rebuild.  This is more than `distclean' removes, and you should
+     only use it if you are thoroughly conversant with (and have the
+     necessary versions of) Autoconf.
+
+   * `make extraclean' to remove other junk, e.g., core files, log
+     files, patch rejects.  This is independent of the other `clean'
+     targets.
+
+Filename database generation
+----------------------------
+
+  You will probably want to set up a `cron' entry on the appropriate
+machine(s) to rebuild the filename database nightly or so, as in:
+     0 0 * * * cd TEXMF && /BINDIR/MakeTeXls-R
+   *Note Filename database::.
+
+Although the `MakeTeX...' scripts make every effort to add
+newly-created files on the fly, it can't hurt to make sure you get a
+fresh version every so often.
+
+`MakeTeX' scripts
+-----------------
+
+  If Kpathsea cannot otherwise find a file, for some file types it is
+configured by default to invoke an external program to create it
+dynamically (*note MakeTeX configuration::.).  This is most useful for
+fonts (bitmaps, TFM's, and arbitrarily-sizable Metafont sources such as
+the Sauter and DC fonts), since any given document can use fonts never
+before referenced.  Trying to build all fonts in advance is therefore
+impractical, if not impossible.
+
+  The script is passed the name of the file to create and possibly other
+arguments, as explained below.  It must echo the full pathname of the
+file it created (and nothing else) to standard output; it can write
+diagnostics to standard error.
+
+`MakeTeX' configuration
+.......................
+
+  The following file types can run an external program to create missing
+files: `pk', `tfm', `mf', `tex'; the scripts are named `MakeTeXPK',
+`MakeTeXTFM', `MakeTeXMF', and `MakeTeXTeX'.
+
+  In the absence of `configure' options specifying otherwise,
+everything but `MakeTeXTeX' will be enabled by default. The `configure'
+options to change the defaults are:
+
+     --without-maketexmf-default
+     --without-maketexpk-default
+     --without-maketextfm-default
+     --with-maketextex-default
+
+  The `configure' setting is overridden if the environment variable or
+configuration file value named for the script is set; e.g., `MAKETEXPK'
+(*note MakeTeX script arguments::.).
+
+  As distributed, all the scripts source a file
+`texmf/web2c/MakeTeX.site' if it exists, so you can override various
+defaults.  See `MakeTeXcommon', for instance, which defines the default
+mode, resolution, directory permissions, some special directory names,
+etc.  If you prefer not to change the distributed scripts, you can
+simply create `MakeTeX.site' with the appropriate definitions (you do
+not need to create it if you have nothing to put in it).
+`MakeTeX.site' has no special syntax; it's an arbitrary Bourne shell
+script.  The distribution contains a sample `MakeTeX.site' for you to
+copy and modify as you please (it is not installed anywhere).
+
+  In addition, you can configure a number of features with the
+`MT_FEATURES' variable, which you can define:
+   * in `MakeTeX.site', as just mentioned;
+
+   * by editing the file `MakeTeXnames.cnf', either before `make
+     install' (in the source hierarchy) or after (in the installed
+     hierarchy);
+
+   * or in the environment.
+
+  By default, `MakeTeXPK' installs fonts into the standard TeX
+directory structure (*note TeX directory structure: TeX directory
+structure.).  It uses aliases and directory names from the Fontname
+distribution (*note Introduction: (fontname)Top.). Most of the options
+here change that.
+
+`appendonlydir'
+     Tell `MakeTeXmkdir' to create directories append-only, i.e., set
+     their sticky bit (*note Mode Structure: (fileutils)Mode
+     Structure.).
+
+`dosnames'
+     Use 8.3 names; e.g., `dpi600/cmr10.pk' instead of `cmr10.600pk'.
+
+`nomode'
+     Omit the directory level for the mode name; this is fine as long as
+     you generate fonts for only one mode.
+
+`strip'
+     Omit the font supplier and typeface name directory levels.
+
+`varfonts'
+     Put `MakeTeXPK'-generated fonts under the directory named by
+     `VARTEXFONTS'; the default value in `kpathsea/texmf.cnf.in' is
+     `/var/tex/fonts', as recommended by the `Linux File System
+     Standard' (but unless `varfonts' is enabled, nothing cares about
+     that value).
+
+     The `varfonts' setting in `MT_FEATURES' is overridden by the
+     `USE_VARTEXFONTS' environment variable: if set to `1', the feature
+     is enabled, and if set to `0', the feature is disabled.
+
+`MakeTeX' script names
+......................
+
+  The following table shows the default name of the script for each
+possible file types.  (The source is the variable `kpse_make_specs' in
+`kpathsea/tex-make.c'.)
+
+`MakeTeXPK'
+     Glyph fonts.
+
+`MakeTeXTeX'
+     TeX input files.
+
+`MakeTeXMF'
+     Metafont input files.
+
+`MakeTeXTFM'
+     TFM files.
+
+These names are overridden by an environment variable specific to the
+program--for example, `DVIPSMAKEPK' for Dvipsk.
+
+  If a `MakeTeX...' script fails, the invocation is appended to a file
+`missfont.log' (by default) in the current directory.  You can then
+execute the log file to create the missing files after fixing the
+problem.
+
+  If the current directory is not writable and the environment variable
+or configuration file value `TEXMFOUTPUT' is set, its value is used.
+Otherwise, nothing is written.  The name `missfont.log' is overridden
+by the `MISSFONT_LOG' environment variable or configuration file value.
+
+`MakeTeX' script arguments
+..........................
+
+  The first argument to a `MakeTeX' script is always the name of the
+file to be created.
+
+  In the default `MakeTeXPK' implementation, from three to five
+additional arguments may also passed, via environment variables:
+
+  1. The resolution to make the font at (`KPATHSEA_DPI').
+
+  2. The "base dpi" the program is operating at (`MAKETEX_BASE_DPI'),
+     i.e., the assumed resolution of the output device.
+
+  3. A "magstep" string suitable for the Metafont `mag' variable
+     (`MAKETEX_MAG').
+
+  4. Optionally, a Metafont mode name to assign to the Metafont `mode'
+     variable (`MAKETEX_MODE').  Otherwise, (the default) `MakeTeXPK'
+     guesses the mode from the resolution.  *Note TeX directory
+     structure: TeX directory structure.
+
+  5. Optionally, a directory name. If the directory is absolute, it is
+     used as-is. Otherwise, it is appended to the root destination
+     directory set in the script (from environment variables `DESTDIR'
+     or `MTP_DESTDIR' or a compile-time default). If this argument is
+     not supplied, the mode name is appended to the root destination
+     directory.
+
+Kpathsea sets `KPATHSEA_DPI' appropriately for each attempt at building
+a font.  It's up to the program using Kpathsea to set the others.
+(*Note Calling sequence::.)
+
+  You can change the specification for the arguments passed to the
+external script by setting the environment variable named as the script
+name, but all capitals--`MAKETEXPK', for example.  If you've changed
+the script name by setting (say) `DVIPSMAKEPK' to `foo', then the spec
+is taken from the environment variable `FOO'.
+
+  The spec can contain any variable references, to the above variables
+or any others.  As an example, the default spec for `MakeTeXPK' is:
+     $KPATHSEA_DPI $MAKETEX_BASE_DPI $MAKETEX_MAG $MAKETEX_MODE
+
+The convention of passing the name of the file to be created as the
+first argument cannot be changed.
+
+Installation testing
+--------------------
+
+  Besides the tests listed in *Note Simple installation::, you can try
+running `make check'.  This includes the torture tests (trip, trap, and
+mptrap) that come with Web2c (*note Torture tests: (web2c)Torture
+tests.).
+
+Security
+========
+
+  None of the programs in the TeX system require any special system
+privileges, so there's no first-level security concern of people gaining
+illegitimate root access.
+
+  A TeX document, however, can write to arbitrary files, e.g.,
+`~/.rhosts', and thus an unwitting user who runs TeX on a random
+document is vulnerable to a trojan horse attack.  This loophole is
+closed by default, but you can be permissive if you so desire in
+`texmf.cnf'.  *Note tex invocation: (web2c)tex invocation.  MetaPost has
+the same issue.
+
+  Dvips, Xdvi, and TeX can also execute shell commands under some
+circumstances.  To disable this, see the `-R' option in *Note Option
+details: (dvips)Option details, the xdvi man page, and *Note tex
+invocation: (web2c)tex invocation, respectively.
+
+  Another security issue arises because it's very useful--almost
+necessary--to make arbitrary fonts on user demand with `MakeTeXPK' and
+friends.  Where do these files get installed?  By default, the
+`MakeTeXPK' distributed with Kpathsea assumes a globally writable
+`texmf' tree; this is the simplest and most convenient approach, but it
+may not suit your situation.
+
+  The first restriction you can apply is to make newly-created
+directories under `texmf' be append-only with an option in
+`MakeTeXnames.cnf'.  *Note MakeTeX configuration::.
+
+  Another approach is to establish a group (or user) for TeX files,
+make the `texmf' tree writable only to that group (or user), and make
+`MakeTeXPK' et al. setgid to that group (or setuid to that user).  Then
+users must invoke the scripts to install things.  (If you're worried
+about the inevitable security holes in scripts, then you could write a
+C wrapper to exec the script.)
+
+  Finally, using a central writable `texmf' tree may be completely
+impossible, because it's on an NFS filesystem that you cannot export
+read/write, or AFS is in use, or simply because "it's policy".  Then
+you must resort to each user's machine having its own local directory of
+dynamically-created fonts; again, `MakeTeXnames.cnf' has an option to
+do this, and again, *note MakeTeX configuration::..
+
new file mode 100644
--- /dev/null
+++ b/kpathsea/MakeTeX.site
@@ -0,0 +1,34 @@
+#!/bin/sh
+# example MakeTeX.site.  This file is not installed.
+# $Id: MakeTeX.site,v 1.1 1997-05-23 03:02:10 jwe Exp $
+# 
+# The distributed MakeTeX* scripts source this file from /.../texmf/web2c,
+# if it exists. You can put anything you like here; it's an arbitrary
+# Bourne shell script.
+#
+# But the distributed scripts already support a number of features,
+# which you can enable here, if you prefer not to change the distribution.
+# 
+# For example, MakeTeXcommon sets the default umask, Metafont mode,
+# resolution, directory permissions, location of the DC, TS, and Sauter
+# fonts (which MakeTeXMF needs, since those fonts can be generated at
+# any point size).  You can override those defaults with commands here:
+# 
+#umask 002
+#MODE=ljfour
+#MT_DIR_PERMS=775 # must be three octal digits
+#MT_FILE_PERMS=664
+#ps_to_pk=gsftopk
+#ecfontdir="$TEXMFMAIN/fonts/source/jknappen/ec"
+#fcfontdir="$TEXMFMAIN/fonts/source/jknappen/fc"
+#tcfontdir="$TEXMFMAIN/fonts/source/jknappen/tc"
+#tsfontdir="$TEXMFMAIN/fonts/source/jknappen/ts"
+#sauterfontdir="$TEXMFMAIN/fonts/source/public/sauter"
+
+# Also, MakeTeXnames.cnf defines ways to control where generated files
+# are placed.  You can enable those by setting MT_FEATURES, e.g.:
+#MT_FEATURES="appendonlydir varfonts"
+
+
+# This script (MakeTeX.site) is also sourced *after* MakeTeXnames.cnf is
+# run, so you can override what it did if you like.
new file mode 100755
--- /dev/null
+++ b/kpathsea/MakeTeXMF
@@ -0,0 +1,88 @@
+#!/bin/sh
+# original MakeTeXMF -- make a new MF file, because one wasn't found.
+# 
+# (If you change or delete the word `original' on the previous line,
+# installation won't write this script over yours.)
+# 
+# te@informatik.uni-hannover.de and kb@mail.tug.org. Public domain.
+
+version='$Id: MakeTeXMF,v 1.1 1997-05-23 03:02:10 jwe Exp $'
+usage="Usage: $0 FONT.
+  Makes the Metafont source file for FONT, if possible.
+  For example, \`ecr12' or \`cmr11'."
+
+: ${TEXMFMAIN=`kpsewhich -expand-var='$TEXMFMAIN'`}
+if test -z "$TEXMFMAIN"; then
+  echo "$0: No \$TEXMFMAIN; set the environment variable or in texmf.cnf." >&2
+  exit 1
+fi
+: ${TEXMFCNF_DIR=`kpsewhich -expand-var='$TEXMFCNF_DIR'`}
+test -n "$TEXMFCNF_DIR" || TEXMFCNF_DIR=$TEXMFMAIN/web2c
+. $TEXMFCNF_DIR/MakeTeXcommon
+
+# See comments in MakeTeXPK.
+(
+name="`basename $1 .mf`"
+rootname=`echo "$name" | sed 's/[0-9]*$//'`
+pointsize=`echo "$name" | sed "s/^$rootname//"`
+
+case "$name" in
+  dc*) fontdir=$dcfontdir;;
+  ec*) fontdir=$ecfontdir;;
+  fc*) fontdir=$fcfontdir;;
+  tc*) fontdir=$tcfontdir;;
+  ts*) fontdir=$tsfontdir;;
+    *) fontdir=$sauterfontdir; test -r $fontdir/b-$rootname.mf || exit 1;;
+esac
+cd $fontdir 2>/dev/null || exit 1
+
+case "$pointsize" in
+  "") echo "$0: No pointsize." >&2; exit 1;;
+  11) realsize=10.95444;;	# \magstephalf
+  14) realsize=14.4;;		# \magstep2
+  17) realsize=17.28;;		# \magstep3
+  20) realsize=20.74;;		# \magstep4
+  25) realsize=24.88;;		# \magstep5
+        # The new convention is to have three or four letters for the
+        # font name and four digits for the pointsize. The number is
+        # pointsize * 100. We effectively divide by 100 by ignoring the
+        # last two digits.
+????) realsize=`echo "$pointsize" | sed 's/\(..\)/\1./'`;;
+   *) realsize="$pointsize";;
+esac
+
+mfname="$name.mf"
+if test -r "$mfname"; then
+  echo "$0: $fontdir/$mfname already exists."
+  echo $fontdir/$mfname >$STDOUT
+  $TEXMFCNF_DIR/MakeTeXupdate "$fontdir" "$mfname"
+  exit 0
+fi
+
+base=
+case "$name" in
+  dc*) base=dxbase;;
+  ec*|tc*) base=exbase;;
+    *) cat >"$mfname.tmp$$" <<END-OF-SAUTER
+design_size := $realsize;
+input b-$rootname;
+END-OF-SAUTER
+       ;;
+esac
+
+test -n "$base" &&
+  echo "if unknown $base: input $base fi;" >"$mfname.tmp$$"
+
+cat >>"$mfname.tmp$$" <<END
+gensize := $realsize;
+generate $rootname;
+END
+
+chmod $MT_FILE_PERMS "$mfname.tmp$$"
+rm -f "$mfname"
+mv "$mfname.tmp$$" "$mfname"
+
+echo "$fontdir/$mfname" >$STDOUT
+$TEXMFCNF_DIR/MakeTeXupdate "$fontdir" "$mfname"
+exit 0
+) 1>&2 </dev/null
new file mode 100755
--- /dev/null
+++ b/kpathsea/MakeTeXPK
@@ -0,0 +1,130 @@
+#!/bin/sh
+# original MakeTeXPK -- make a new PK font, because one wasn't found.
+# 
+# (If you change or delete the word `original' on the previous line,
+# installation won't write this script over yours.)
+# 
+# te@informatik.uni-hannover.de and kb@mail.tug.org. Public domain.
+
+version='$Id: MakeTeXPK,v 1.1 1997-05-23 03:02:10 jwe Exp $'
+usage="Usage: $0 NAME DPI BDPI MAG [MODE [DESTDIR]].
+  Try to create a PK file for NAME at resolution DPI,
+  with an assumed device base resolution of BDPI,
+  and a Metafont \`mag' of MAG.
+  Use MODE for the Metafont mode if supplied, unless MODE is \`default', in
+   which case guess as usual. (This is so you can specify DESTDIR without MODE.)
+  Use DESTDIR for the root of where to install into, either the absolute
+   directory name to use (if it starts with a /) or relative to the default
+   DESTDIR (if not)."
+mt_min_args=4
+mt_max_args=6
+
+: ${TEXMFMAIN=`kpsewhich -expand-var='$TEXMFMAIN'`}
+if test -z "$TEXMFMAIN"; then
+  echo "$0: No \$TEXMFMAIN; set the environment variable or in texmf.cnf." >&2
+  exit 1
+fi
+: ${TEXMFCNF_DIR=`kpsewhich -expand-var='$TEXMFCNF_DIR'`}
+test -n "$TEXMFCNF_DIR" || TEXMFCNF_DIR=$TEXMFMAIN/web2c
+. $TEXMFCNF_DIR/MakeTeXcommon
+
+# Since we want to pass the generated filename and only that filename
+# back to the caller on standard output, we do some redirections so
+# regular echo's will end up on stderr, and do an echo >$STDOUT at the end.
+# Then the contents of $STDOUT will be echoed to stdout by a trap.
+
+# start of redirection stdout -> stderr, stdin <- /dev/null
+(
+: ${PSMAPFILE=`kpsewhich psfonts.map`}
+
+NAME=$1
+DPI=$2
+BDPI=$3
+MAG=$4
+MODE=$5
+DEST=$6
+
+# grep for the font in $PSMAPFILE.  These are base font names, such as
+# rpplr (the original) or pplr0 (an interim step) or pplr8r (current).
+pattern="^r?$NAME"'(0|8r)?([ 	]|$)' 
+psline=`egrep "$pattern" $PSMAPFILE`
+if test -n "$psline"; then
+  MODE=modeless
+  # ps_to_pk set in MakeTeXcommon and/or MakeTeX.site.
+  cmd="$ps_to_pk $NAME $DPI" 
+else
+  # Check that $BDPI and $MODE are consistent; if not, ignore the mode and
+  # hope we can correctly guess it from bdpi.  (People like to specify the
+  # resolution on the command line, not the mode so much.)
+  if test -n "$MODE"; then
+    mf_bdpi=`mf \
+'\mode:='$MODE';mode_setup;message"BDPI= "&decimal round pixels_per_inch;end.'\
+             </dev/null \
+             | awk '/DPI=/ {print $2}'`
+    if test $mf_bdpi != $BDPI; then
+      echo "$0: Mismatched mode $MODE and resolution $BDPI; ignoring mode." >&2
+      MODE=
+    fi
+  fi
+
+  # If an explicit mode is not supplied, try to guess. You can get a
+  # list of extant modes from ftp://ftp.tug.org/tex/modes.mf.
+  if test -z "$MODE" || test "$MODE" = default; then
+    case "$BDPI" in
+     300) MODE=cx;;
+     600) MODE=ljfour;;
+       *) echo "$0: Can't guess mode for $BDPI dpi devices." >&2
+          echo "$0: Use a config file, or update me." >&2
+          exit 1
+    esac
+  fi
+
+  # Run Metafont. Always use plain Metafont, since reading cmbase.mf
+  # does not noticeably slow things down.
+  cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME"
+fi
+
+set - `$TEXMFCNF_DIR/MakeTeXnames $NAME $DPI $MODE $DEST`
+PKDEST=$1
+PKDESTDIR=`echo $PKDEST | sed 's%/[^/][^/]*$%%'` # can't rely on dirname
+PKNAME=`basename $PKDEST`
+GFNAME=$NAME.${DPI}gf
+
+if test -r $PKDESTDIR/$PKNAME; then
+  echo "$0: $PKDESTDIR/$PKNAME already exists." >&2
+  echo $PKDESTDIR/$PKNAME >$STDOUT
+  $TEXMFCNF_DIR/MakeTeXupdate $PKDESTDIR $PKNAME
+  exit 0
+fi
+
+$TEXMFCNF_DIR/MakeTeXmkdir $PKDESTDIR
+if test ! -d $PKDESTDIR; then
+  echo "$0: MakeTeXmkdir $PKDESTDIR failed." >&2
+  exit 1
+fi
+
+echo "$0: Running $cmd"
+$cmd </dev/null || { echo "$0: \`$cmd' failed." >&2; exit 1; }
+
+test -r $GFNAME && { gftopk ./$GFNAME $PKNAME || exit 1; }
+test ! -f $PKNAME && test -f $NAME.${DPI}pk && mv $NAME.${DPI}pk $PKNAME
+if test ! -s $PKNAME; then
+  echo "$0: \`$cmd' failed to make $PKNAME." >&2
+  exit 1
+fi
+
+# Install the PK file carefully, since others may be working simultaneously.
+mv $PKNAME $PKDESTDIR/pktmp.$$ || exit 1
+cd $PKDESTDIR || exit 1
+test -r $PKNAME || mv pktmp.$$ $PKNAME || exit 1
+chmod $MT_FILE_PERMS $PKNAME
+
+# Update ls-R if necessary.
+$TEXMFCNF_DIR/MakeTeXupdate $PKDESTDIR $PKNAME
+
+# If this line (or an equivalent) is not present, dvipsk/xdvik/dviljk
+# will think MakeTeXPK failed.  Any other output to stdout will also lose.
+echo $PKDESTDIR/$PKNAME >$STDOUT
+
+) 1>&2 </dev/null
+# end of redirection stdout, stdin
new file mode 100755
--- /dev/null
+++ b/kpathsea/MakeTeXTFM
@@ -0,0 +1,85 @@
+#!/bin/sh
+# original MakeTeXTFM -- make a new TFM file, because one wasn't found.
+# 
+# (If you change or delete the word `original' on the previous line,
+# installation won't write this script over yours.)
+# 
+# te@informatik.uni-hannover.de and kb@mail.tug.org. Public domain.
+
+version='$Id: MakeTeXTFM,v 1.1 1997-05-23 03:02:11 jwe Exp $'
+usage="Usage: $0 FONT.
+  Makes a TFM file for FONT, if possible."
+
+: ${TEXMFMAIN=`kpsewhich -expand-var='$TEXMFMAIN'`}
+if test -z "$TEXMFMAIN"; then
+  echo "$0: No \$TEXMFMAIN; set the environment variable or in texmf.cnf." >&2
+  exit 1
+fi
+: ${TEXMFCNF_DIR=`kpsewhich -expand-var='$TEXMFCNF_DIR'`}
+test -n "$TEXMFCNF_DIR" || TEXMFCNF_DIR=$TEXMFMAIN/web2c
+. $TEXMFCNF_DIR/MakeTeXcommon
+
+# See comments in MakeTeXPK.
+# start of redirection stdout -> stderr, stdin <- /dev/null
+(
+NAME=`basename $1 .tfm`
+MAG=1
+DEST=$2
+DPI=$BDPI
+
+set - `$TEXMFCNF_DIR/MakeTeXnames $NAME $DPI $MODE $DEST`
+PKDEST=$1
+TFMDEST=$2
+PKDESTDIR=`echo $PKDEST | sed 's%/[^/][^/]*$%%'` # can't rely on dirname
+TFMDESTDIR=`echo $TFMDEST | sed 's%/[^/][^/]*$%%'`
+PKNAME=`basename $PKDEST`
+TFMNAME=$NAME.tfm
+GFNAME=$NAME.$DPI'gf'
+
+if test -r $TFMDESTDIR/$TFMNAME; then
+  echo "$0: $TFMDESTDIR/$TFMNAME already exists." >&2
+  echo $TFMDESTDIR/$TFMNAME >$STDOUT
+  $TEXMFCNF_DIR/MakeTeXupdate $TFMDESTDIR $TFMNAME
+  exit
+fi
+
+# Try to create the destdir first. Do not create fonts, if this fails.
+$TEXMFCNF_DIR/MakeTeXmkdir "$TFMDESTDIR"
+if test ! -d "$TFMDESTDIR"; then
+  echo "$0: MakeTeXmkdir $TFMDESTDIR failed."
+  exit 1
+fi
+
+cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input $NAME"
+echo "$0: Running $cmd"
+$cmd </dev/null
+test -r $TFMNAME || { echo "$0: \`$cmd' failed to make $TFMNAME."; exit 1; }
+
+# Install the TFM file carefully, since others may be working simultaneously.
+mv $TFMNAME $TFMDESTDIR/tfmtmp.$$ || exit 1
+cd $TFMDESTDIR || exit 1
+test -r $TFMNAME || mv tfmtmp.$$ $TFMNAME || exit 1
+chmod $MT_FILE_PERMS $TFMNAME
+
+# OK, success with the TFM.
+$TEXMFCNF_DIR/MakeTeXupdate $TFMDESTDIR $TFMNAME
+echo $TFMDESTDIR/$TFMNAME >$STDOUT
+
+# Since we probably made a GF(->PK) file, too, may as well install it if
+# it's needed.
+cd $TEMPDIR
+if test -r $GFNAME && test ! -f $PKDESTDIR/$PKNAME; then
+  gftopk ./$GFNAME $PKNAME || exit 1
+  $TEXMFCNF_DIR/MakeTeXmkdir "$PKDESTDIR"
+  mv $PKNAME $PKDESTDIR/pktmp.$$ || exit 1
+  cd $PKDESTDIR || exit 1
+  if test -f $PKNAME; then
+    rm -f pktmp.$$
+  else
+    mv pktmp.$$ $PKNAME
+    chmod $MT_FILE_PERMS $PKNAME
+    $TEXMFCNF_DIR/MakeTeXupdate $PKDESTDIR $PKNAME
+  fi
+fi
+) 1>&2 </dev/null
+# end of redirection stdout, stdin
new file mode 100755
--- /dev/null
+++ b/kpathsea/MakeTeXcommon
@@ -0,0 +1,70 @@
+#!/bin/sh
+# MakeTeXcommon -- common MakeTeX* options, etc.
+# Meant to be sourced after $usage and $version and $TEXMF have been set.
+# 
+# te@informatik.uni-hannover.de and kb@mail.tug.org. Public domain.
+# $Id: MakeTeXcommon,v 1.1 1997-05-23 03:02:11 jwe Exp $
+ 
+if test x$1 = x--help -o x$1 = x-help; then
+  echo "$usage"
+  exit 0
+elif test x$1 = x--version -o x$1 = x-version; then
+  echo "`basename $0` $version"
+  kpsewhich --version
+  exit 0
+elif test $# -lt ${mt_min_args-1}; then
+  echo "$0: Missing argument(s)." >&2
+  echo "Try \``basename $0` --help' for more information." >&2
+  exit 1
+elif test $# -gt ${mt_max_args-1}; then
+  while test $# -gt ${mt_max_args-1}; do shift; done
+  echo "$0: Extra arguments $*." >&2
+  echo "Try \``basename $0` --help' for more information." >&2
+  exit 1
+fi
+
+# TEMPDIR needs to be unique to each process because of the possibility of two
+# people running dvips (or whatever) simultaneously.
+TEMPDIR=${TMPDIR-/tmp}/mt.$$
+
+# We want to output only filenames to standard output, but it's too
+# error-prone to write the scripts that way, so we direct stdout here.
+STDOUT=$TEMPDIR/stdout.$$
+
+# We will change search paths to include $KPSE_DOT. This is necessary
+# since we cd to $TEMPDIR.
+KPSE_DOT=`pwd`; export KPSE_DOT
+
+# Clean up on normal or abnormal exit.
+trap 'cd $KPSE_DOT; test -f $STDOUT && cat $STDOUT; rm -rf $TEMPDIR; exit 0' \
+  0 1 2 15
+
+
+mkdir $TEMPDIR
+cd $TEMPDIR || exit 1
+
+# Allow fonts to be read and written (especially in case we make
+# directories) by everyone.  
+umask 0
+
+: ${MODE=ljfour}
+: ${BDPI=600}
+: ${MT_DIR_PERMS=777} # keep to three digits or appendonlydir will fail
+: ${MT_FILE_PERMS=666}
+: ${ps_to_pk=gsftopk} # some prefer ps2pk
+
+# Fonts in these typefaces can be generated at arbitrary sizes, so
+# MakeTeXMF tries to take advantage of that.
+# These are the TDS-recommended directories.
+: ${dcfontdir="$TEXMFMAIN/fonts/source/jknappen/dc"}
+: ${ecfontdir="$TEXMFMAIN/fonts/source/jknappen/ec"}
+: ${fcfontdir="$TEXMFMAIN/fonts/source/jknappen/fc"}
+: ${tcfontdir="$TEXMFMAIN/fonts/source/jknappen/tc"}
+: ${tsfontdir="$TEXMFMAIN/fonts/source/jknappen/ts"}
+: ${sauterfontdir="$TEXMFMAIN/fonts/source/public/sauter"}
+
+# MakeTeXupdate and MakeTeXls-R make sure they're coordinated via this.
+ls_R_magic='% ls-R -- maintained by MakeTeXls-R; do not change this line.'
+
+# Source a site file, if it exists, to override any of the above.
+test -r $TEXMFCNF_DIR/MakeTeX.site && . $TEXMFCNF_DIR/MakeTeX.site
new file mode 100755
--- /dev/null
+++ b/kpathsea/MakeTeXls-R
@@ -0,0 +1,67 @@
+#!/bin/sh
+# MakeTeXls-R -- create or rebuild ls-R.
+# Suitable for calling from cron, as in:
+# 0 * * * * cd /your/texmf/root && /usr/local/bin/MakeTeXls-R
+# 
+# Keeps ls-R world-writable, so anyone can update it (via MakeTeXPK etc.).
+# 
+# Originally written as `texhash' by Thomas Esser
+# <te@informatik.uni-hannover.de>, Okt., 1994.
+# Public domain.
+
+version='$Id: MakeTeXls-R,v 1.1 1997-05-23 03:02:11 jwe Exp $'
+usage="Usage: $0.
+  Rebuild the ls-R filename database completely."
+mt_min_args=0
+mt_max_args=0
+
+: ${TEXMFMAIN=`kpsewhich -expand-var='$TEXMFMAIN'`}
+if test -z "$TEXMFMAIN"; then
+  echo "$0: No \$TEXMFMAIN; set the environment variable or in texmf.cnf." >&2
+  exit 1
+fi
+: ${TEXMFLS_R=`kpsewhich -expand-var='$TEXMFLS_R'`}
+test -n "$TEXMFLS_R" || TEXMFLS_R=$TEXMFMAIN
+: ${TEXMFCNF_DIR=`kpsewhich -expand-var='$TEXMFCNF_DIR'`}
+test -n "$TEXMFCNF_DIR" || TEXMFCNF_DIR=$TEXMFMAIN/web2c
+. $TEXMFCNF_DIR/MakeTeXcommon
+
+trap 'cd / ; rm -f $db_file_tmp; exit' 1 2 15
+
+# Use ls -l to follow a possible symlink to get the right filesystem, 
+db_file=`\ls -l $TEXMFLS_R/ls-R 2>/dev/null | awk '{print $NF}'`
+test -z "$db_file" && db_file=$TEXMFLS_R/ls-R
+db_dir=`echo $db_file | sed 's%/[^/][^/]*$%%'` # can't rely on dirname
+db_file_tmp=$db_dir/ls-R-tmp$$
+
+test -w "$db_dir" || { echo "$0: Cannot write to $db_dir." >&2; exit 1; }
+
+if test ! -f $db_file; then
+    cp /dev/null $db_file
+    chmod 666 $db_file
+fi
+
+# Copy the file to preserve as much of the permissions as possible.
+rm -f $db_file_tmp
+cp -p $db_file $db_file_tmp 2>/dev/null
+
+# Make sure we can write the file:
+chmod +w $db_file_tmp
+
+tty -s && echo "$0: Updating $db_file... "
+# Some people set noclobber somewhere else, so make sure to unset it.
+unset noclobber
+echo "$ls_R_magic" >$db_file_tmp
+
+# The main task. We ls two things so the top-level directory name ends
+# up in the output, so top-level files can be found via ls-R. Probably
+# irrelevant in practice.
+# The sed command is because on new FreeBSD/NetBSD systems, ls -LAR ./
+# produces .//. Sigh.
+(cd $TEXMFLS_R && ls -LAR /dev/null ./ 2>/dev/null) \
+| sed 's@\.//@./@' \
+>>$db_file_tmp
+
+tty -s && echo "$0: Done."
+rm -f $db_file
+mv $db_file_tmp $db_file
new file mode 100755
--- /dev/null
+++ b/kpathsea/MakeTeXmkdir
@@ -0,0 +1,45 @@
+#!/bin/sh
+# mkinstalldirs --- make directory hierarchy (now MakeTeXmkdir).
+# Author: Noah Friedman <friedman@prep.ai.mit.edu>, created: 1993-05-16.
+# Public domain.
+# 
+# Modified for sticky directory creation, --help, --version.
+# te@informatik.uni-hannover.de and kb@mail.tug.org.
+
+version='$Id: MakeTeXmkdir,v 1.1 1997-05-23 03:02:11 jwe Exp $'
+usage="Usage: $0 DIRS...
+  Create each DIR, including any missing leading directories."
+
+: ${TEXMFMAIN=`kpsewhich -expand-var='$TEXMFMAIN'`}
+if test -z "$TEXMFMAIN"; then
+  echo "$0: No \$TEXMFMAIN; set the environment variable or in texmf.cnf." >&2
+  exit 1
+fi
+: ${TEXMFCNF_DIR=`kpsewhich -expand-var='$TEXMFCNF_DIR'`}
+test -n "$TEXMFCNF_DIR" || TEXMFCNF_DIR=$TEXMFMAIN/web2c
+. $TEXMFCNF_DIR/MakeTeXcommon
+
+errstatus=0
+
+for file
+do
+   set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+   shift
+
+   pathcomp=
+   for d in ${1+"$@"} ; do
+     pathcomp="$pathcomp$d"
+     case "$pathcomp" in
+       -* ) pathcomp=./$pathcomp ;;
+     esac
+
+     if test ! -d "$pathcomp"; then
+        mkdir "$pathcomp" || errstatus=$?
+        chmod $MT_DIR_PERMS $pathcomp
+     fi
+
+     pathcomp="$pathcomp/"
+   done
+done
+
+exit $errstatus
new file mode 100755
--- /dev/null
+++ b/kpathsea/MakeTeXnames
@@ -0,0 +1,97 @@
+#!/bin/sh
+# MakeTeXnames -- find PK and TFM names.
+# Use alias files from the ftp://ftp.tug.org/tex/fontname.tar.gz distribution.
+# te@informatik.uni-hannover.de and kb@mail.tug.org. Public domain.
+
+version='$Id: MakeTeXnames,v 1.1 1997-05-23 03:02:11 jwe Exp $'
+usage="Usage: $0 NAME [DPI MODE] [DESTDIR].
+  Output the PK and TFM names for a font NAME."
+mt_max_args=4
+
+: ${TEXMFMAIN=`kpsewhich -expand-var='$TEXMFMAIN'`}
+if test -z "$TEXMFMAIN"; then
+  echo "$0: No \$TEXMFMAIN; set the environment variable or in texmf.cnf." >&2
+  exit 1
+fi
+: ${TEXMFCNF_DIR=`kpsewhich -expand-var='$TEXMFCNF_DIR'`}
+test -n "$TEXMFCNF_DIR" || TEXMFCNF_DIR=$TEXMFMAIN/web2c
+. $TEXMFCNF_DIR/MakeTeXcommon
+
+NAME=$1
+case $# in
+1|2) DPI=$BDPI; DEST=$2;;
+3|4) DPI=$2;  MODE=$3;    DEST=$4;;
+*)   help;;
+esac
+
+FONTNAME=`kpsewhich -expand-var='$FONTNAME'`
+test -z "$FONTNAME" && FONTNAME=$TEXMFMAIN/fontname
+
+: ${MT_PKDESTDIR='$MT_DESTROOT/$MT_PKPART/$MT_MODE/$MT_NAMEPART'}
+: ${MT_TFMDESTDIR='$MT_DESTROOT/$MT_TFMPART/$MT_NAMEPART'}
+: ${MT_DESTROOT='$TEXMFMAIN/fonts'}
+: ${MT_DEFAULT_NAMEPART=tmp}
+: ${MT_PKPART='pk'}
+: ${MT_TFMPART='tfm'}
+: ${MT_TFMNAME='$NAME.tfm'}
+: ${MT_PKNAME='$NAME.${DPI}pk'}
+
+# MT_NAMEPART is harder.
+if test -z "$MT_NAMEPART"; then
+  # Nothing specified, so try to intuit the directory from the
+  # fontname. First the special cases: either $NAME matches an entire
+  # name in special.map, or it matches the abbreviation in
+  # special.map and ends with a numeral (for the pointsize).
+  # We (painfully) use only the minimal features in original awk.
+  if test -r $FONTNAME/special.map; then
+    MT_NAMEPART=`awk \
+'{if ($1 == NAME || (substr (NAME, 1, length ($1)) == $1 \
+                  && substr (NAME, length (NAME), 1) ~ /[0-9]/ \
+                  && substr ($1, length ($1), 1) ~ /[^0-9]/)) \
+ { print $2 "/" $3; exit; }}' NAME=$NAME $FONTNAME/special.map`
+
+    if test -z "$MT_NAMEPART"; then
+      # Try the normal case. Source first.
+      s_abbrev=`echo $NAME | sed 's/^\(.\).*$/\1/'`
+      sourcedir=`awk '{ if ($1 == s_abbrev) { print $2; exit; }}' \
+                 s_abbrev=$s_abbrev $FONTNAME/supplier.map`
+
+      if test -n "$sourcedir"; then
+        # We found the source. Try for the typeface.
+        t_abbrev=`echo $NAME | cut -c 2-3`
+        typefacedir=`awk '{ if ($1 == t_abbrev) { print $2; exit; }}' \
+                     t_abbrev=$t_abbrev $FONTNAME/typeface.map`
+
+        if test -n "$typefacedir"; then
+          # Found everything.
+          MT_NAMEPART=$sourcedir/$typefacedir
+
+        else
+          echo "$0: Could not map typeface abbreviation $t_abbrev." >&2
+        fi
+      else
+        echo "$0: Could not map source abbreviation $s_abbrev." >&2
+      fi
+    fi
+  fi
+  if test -z "$MT_NAMEPART"; then
+    # If we failed for whatever reason, default to a generic subdir.
+    MT_NAMEPART=$MT_DEFAULT_NAMEPART
+  fi
+fi
+
+case "$DEST" in
+  "") ;;
+  /*) MT_PKDESTDIR=$DEST;; # Absolute, explicit destdir => use it.
+   *) MT_NAMEPART=$DEST;; # Relative destdir => append to the default.
+esac
+
+. $TEXMFCNF_DIR/MakeTeXnames.cnf
+
+eval MT_MODE=$MODE
+eval MT_PKPART=$MT_PKPART
+eval MT_DESTROOT=$MT_DESTROOT
+eval PKNAME=$MT_PKDESTDIR/$MT_PKNAME
+eval TFMNAME=$MT_TFMDESTDIR/$MT_TFMNAME
+
+echo $PKNAME $TFMNAME | sed 's@//*@/@g'
new file mode 100755
--- /dev/null
+++ b/kpathsea/MakeTeXnames.cnf
@@ -0,0 +1,55 @@
+#!/bin/sh
+# MakeTeXnames.cnf to determine various manipulations of the filenames.
+# Sourced from MakeTeXnames.
+# 
+# te@informatik.uni-hannover.de and kb@mail.tug.org. Public domain.
+# $Id: MakeTeXnames.cnf,v 1.1 1997-05-23 03:02:11 jwe Exp $
+
+
+# Possible features: appendonlydir dosnames nomode strip varfonts.
+: ${MT_FEATURES=}
+
+# Set append-only bit on created directories.
+case "$MT_FEATURES" in
+  *appendonlydir*) MT_DIR_PERMS=1$MT_DIR_PERMS;;
+esac
+
+# Get 8.3 filenames like dpiNNN/NAME.pk.
+case "$MT_FEATURES" in
+  *dosnames*) MT_PKNAME='dpi$DPI/$NAME.pk';;
+esac
+
+# Omit the mode directory (e.g., ljfour):
+case "$MT_FEATURES" in
+  *nomode*) MODE="";;
+esac
+
+# Omit the supplier/typeface part (e.g., ams/euler).
+case "$MT_FEATURES" in
+  *strip*) MT_NAMEPART="";;
+esac
+
+# Put new fonts into the directory named by the VARTEXFONTS environment
+# variable or config file value.  (A default value for VARTEXFONTS is
+# already set in the default texmf.cnf, q.v.)
+# 
+# A user can override this setting in either direction by setting
+# USE_VARTEXFONTS to 1 or 0.
+case "$MT_FEATURES" in
+  *varfonts*) test "$USE_VARTEXFONTS" != 0 && USE_VARTEXFONTS=1;;
+esac
+
+if test "$USE_VARTEXFONTS" = 1; then
+  if test -n "${VARTEXFONTS=`kpsewhich -expand-var='$VARTEXFONTS'`}"; then
+    MT_DESTROOT=$VARTEXFONTS
+    MT_NAMEPART=""
+  else
+    echo "$0: You asked for varfonts in MT_FEATURES, but VARTEXFONTS" >&2
+    echo "$0: is not set as an environment variable or in texmf.cnf, etc." >&2
+  fi
+fi
+  
+
+# In case you want to override anything that got set above.
+# (MakeTeX.site also gets sourced before this is called, from MakeTeXcommon.)
+test -r $TEXMFCNF_DIR/MakeTeX.site && . $TEXMFCNF_DIR/MakeTeX.site
new file mode 100755
--- /dev/null
+++ b/kpathsea/MakeTeXupdate
@@ -0,0 +1,46 @@
+#!/bin/sh
+# MakeTeXupdate -- update ls-R with a new entry.
+# 
+# te@informatik.uni-hannover.de and kb@mail.tug.org. Public domain.
+
+version='$Id: MakeTeXupdate,v 1.1 1997-05-23 03:02:11 jwe Exp $'
+usage="Usage: $0 DIR FILE.
+  Update the ls-R file with an entry for FILE in DIR."
+mt_min_args=2
+mt_max_args=2
+
+: ${TEXMFMAIN=`kpsewhich -expand-var='$TEXMFMAIN'`}
+if test -z "$TEXMFMAIN"; then
+  echo "$0: No \$TEXMFMAIN; set the environment variable or in texmf.cnf." >&2
+  exit 1
+fi
+: ${TEXMFLS_R=`kpsewhich -expand-var='$TEXMFLS_R'`}
+test -n "$TEXMFLS_R" || TEXMFLS_R=$TEXMFMAIN
+: ${TEXMFCNF_DIR=`kpsewhich -expand-var='$TEXMFCNF_DIR'`}
+test -n "$TEXMFCNF_DIR" || TEXMFCNF_DIR=$TEXMFMAIN/web2c
+. $TEXMFCNF_DIR/MakeTeXcommon
+
+test $# -eq 2 || { echo "$usage" >&2; exit 1; }
+dir=$1
+file=$2
+test -d "$dir" || { echo "$0: $dir not a directory." >&2; exit 1; }
+test -f "$dir/$file" || { echo "$0: $dir/$file not a file." >&2; exit 1; }
+
+db_file=$TEXMFLS_R/ls-R
+
+test -f $db_file || MakeTeXls-R
+test -f $db_file || { echo "$0: $db_file does not exist." >&2; exit 1; }
+test -w "$db_file" || { echo "$0: $db_file unwritable." >&2; exit 1; }
+
+test "`sed 1q $db_file`" = "$ls_R_magic" \
+  || { echo "$0: $db_file lacks magic string \`$ls_R_magic'." >&2; exit 1; }
+
+# Change `$TEXMFLS_R/' to `./'.
+dir=`echo $dir | sed "s@^$TEXMFLS_R/@./@g"`
+
+# May as well always put in a new directory entry; presumably cron will
+# come along soon enough and clean things up.
+echo "$dir:" >>$db_file
+echo "$file" >>$db_file
+
+exit 0
new file mode 100644
--- /dev/null
+++ b/kpathsea/Makefile
@@ -0,0 +1,698 @@
+# Generated automatically from Makefile.in by configure.
+# Makefile for kpathsea --kb@mail.tug.org.  Public domain.
+version = 3.0
+
+# Add -DNO_DEBUG to disable debugging, for vanishingly better performance.
+
+
+##ifdef HOSTNAME
+##warn_more = -Wmissing-prototypes -Wwrite-strings -Wshadow
+##MAKEINFO_FLAGS := $(MAKEINFO_FLAGS) --no-split
+##malloc = /usr/local/src/malloc/onefile.o # gmalloc.o
+##endif
+
+# Install these header files (except c-auto.h).
+install_headers = *.h
+
+# Put tex-file.o first, because it's what depends on the paths, and may
+# reduce frustration if the paths are wrong by doing it first.
+
+objects = tex-file.lo absolute.lo atou.lo cnf.lo concat.lo concat3.lo \
+concatn.lo db.lo debug.lo dir.lo elt-dirs.lo expand.lo extend-fname.lo \
+file-p.lo find-suffix.lo fn.lo fontmap.lo getopt.lo getopt1.lo hash.lo \
+kdefault.lo line.lo magstep.lo make-suffix.lo path-elt.lo \
+pathsearch.lo proginit.lo progname.lo readable.lo rm-suffix.lo \
+str-list.lo str-llist.lo tex-glyph.lo tex-hush.lo tex-make.lo \
+tilde.lo truncate.lo uppercasify.lo variable.lo version.lo xcalloc.lo \
+xfopen.lo xfseek.lo xftell.lo xgetcwd.lo xmalloc.lo xopendir.lo xputenv.lo \
+xrealloc.lo xstat.lo xstrdup.lo $(liblobjs) $(malloc)
+liblobjs = 
+
+library = kpathsea
+
+# We want to compile almost everything with libtool ...
+KPATHSEA_CC = $(LIBTOOL) compile $(CC)
+.c.lo:
+	$(KPATHSEA_CC) $< $(ALL_CFLAGS)
+.SUFFIXES: .lo
+
+default all: kpsewhich $(library).info
+
+kpsewhich: $(kpathsea) kpsewhich.o
+	$(kpathsea_link) kpsewhich.o $(LOADLIBES)
+
+$(kpathsea): $(objects)
+	$(LIBTOOL) archive $(AR) $(ARFLAGS) $@ $(objects)
+
+# All the objects depend on the klibtool configuration file.
+$(objects): ../klibtool.config
+
+# Make variable substitutions from paths.h.
+texmf.cnf: texmf.cnf.in texmf.sed
+	sed -f texmf.sed $(srcdir)/texmf.cnf.in >$@
+
+# The idea is to turn each var=value into s%@var@%value%g. Seems simpler
+# to put the substitutions in a file than to play shell quoting games.
+texmf.sed: $(top_srcdir)/../make/makevars.make $(top_srcdir)/../make/paths.make
+	echo $(makevars) \
+	| tr ' ' '\012' \
+	| sed -e 's/^/s%@/' -e 's/=/@%/' -e 's/$$/%/' -e 's/$$/g/' \
+	>$@-t
+# Don't replace the rhs of the TEXMF assignment itself, then we'd
+# end up with TEXMF = $TEXMF.  We replace all the other hardwired paths
+# with $TEXMF, though, for ease of modification.
+	echo 's%$(texmf)%\$$TEXMF%g' >>$@-t
+	echo '/^ *TEXMF[ =]/s%\$$TEXMF%$(texmf)%' >>$@-t
+	mv $@-t $@
+
+# First null out comments and leading/trailing whitespace, then remove
+# lines that define invalid C identifiers, then remove blank lines and
+# lines that define lowercase values (those are never path values). Each
+# line remaining looks like
+# <name> = <value>
+# (but = and surrounding spaces are optional, hence can't remove all spaces).
+# Change this to #ifndef DEFAULT_name@#define DEFAULT_name "value"@#endif,
+# then change the @'s to newlines (sed isn't good at multiline replacements).
+# 
+# No backslash-newline escapes in the long sed replacement because that
+# will turn into a space in the output.
+# 
+# Without the $TEXMF/dbtex/etc. substitutions, if the cnf file was
+# not found, the compile-time paths would be of little use, since TEXMF
+# (etc.) wouldn't be defined. Alternatively, we could have a way to
+# specify compile-time default values for variables in general, but I
+# think it's better to keep the last-resort paths as simple as possible.
+# 
+# The definition of DEFAULT_TEXMF (and other variables)
+# that winds up in the final paths.h will not be used.
+$(kpathsea_dir)/paths.h: texmf.cnf
+	echo "/* paths.h: Generated from texmf.cnf `date`.  */" >$@
+	sed -e 's/%.*//' -e 's/^[ 	]*//' -e 's/[ 	]*$$//' texmf.cnf \
+	| grep '^[ 	]*[A-Z1_]*[ 	=]' \
+	| sed '/^$$/d' \
+	| sed 's/^\([^ 	=]*\)[ 	]*=*[ 	]*\(.*\)/#ifndef DEFAULT_\1@#define DEFAULT_\1 "\2"@#endif/' \
+	| tr @ '\012' \
+	| sed -e 's@\$$TEXMF@$(texmf)@g' \
+	      -e 's@\$$dbtex@$(texinputdir)@g' \
+	      -e 's@\$$dbfonts@$(fontdir)@g' \
+	      -e 's@\$$VARTEXFONTS@/var/tex/fonts@g' \
+	      -e 's@\$$prefix@$(prefix)@g' \
+	>>$@
+
+# Need an extra definition for this. Dependencies included below.
+tex-file.o:
+	$(KPATHSEA_CC) -DDEFAULT_FONT_SIZES='\"$(default_texsizes)\"' $(srcdir)/tex-file.c
+
+check: kpsewhich
+	./kpsewhich -expand-var '$$TEXMF'
+
+install: install-exec install-data
+uninstall: uninstall-exec uninstall-data
+
+install-exec: kpsewhich
+	$(SHELL) $(top_srcdir)/../mkdirchain $(bindir) $(scriptdir) \
+	  $(libdir) $(web2cdir)
+	if grep 'original MakeTeXPK --' $(scriptdir)/MakeTeXPK >/dev/null 2>&1\
+	   || test ! -r $(scriptdir)/MakeTeXPK; then \
+	  $(INSTALL_SCRIPT) $(srcdir)/MakeTeXPK $(scriptdir)/MakeTeXPK; \
+	else true; fi
+	if grep 'original MakeTeXMF --' $(scriptdir)/MakeTeXMF >/dev/null 2>&1\
+	   || test ! -r $(scriptdir)/MakeTeXMF; then \
+	  $(INSTALL_SCRIPT) $(srcdir)/MakeTeXMF $(scriptdir)/MakeTeXMF; \
+	else true; fi
+	if grep 'original MakeTeXTFM --' $(scriptdir)/MakeTeXTFM >/dev/null 2>&1\
+	   || test ! -r $(scriptdir)/MakeTeXTFM; then \
+	  $(INSTALL_SCRIPT) $(srcdir)/MakeTeXTFM $(scriptdir)/MakeTeXTFM; \
+	else true; fi
+	$(INSTALL_SCRIPT) $(srcdir)/MakeTeXls-R $(scriptdir)/MakeTeXls-R
+	$(INSTALL_SCRIPT) $(srcdir)/MakeTeXcommon $(web2cdir)/MakeTeXcommon
+	$(INSTALL_SCRIPT) $(srcdir)/MakeTeXmkdir $(web2cdir)/MakeTeXmkdir
+	$(INSTALL_SCRIPT) $(srcdir)/MakeTeXnames $(web2cdir)/MakeTeXnames
+	$(INSTALL_SCRIPT) $(srcdir)/MakeTeXnames.cnf $(web2cdir)/MakeTeXnames.cnf
+	$(INSTALL_SCRIPT) $(srcdir)/MakeTeXupdate $(web2cdir)/MakeTeXupdate
+	$(INSTALL_LIBTOOL_LIBS) $(libdir) lib$(library).la
+	$(INSTALL_LIBTOOL_PROG) $(bindir) kpsewhich
+uninstall-exec:
+	rm -f $(bindir)/kpsewhich
+
+install-data: texmf.cnf kpathsea.info
+	$(SHELL) $(top_srcdir)/../mkdirchain $(texmf) $(infodir) $(web2cdir)
+	if grep 'original texmf.cnf --' $(web2cdir)/texmf.cnf >/dev/null 2>&1 \
+	   || test ! -r $(web2cdir)/texmf.cnf; then \
+	  $(INSTALL_DATA) texmf.cnf $(web2cdir)/texmf.cnf; \
+	else true; fi
+	$(INSTALL_DATA) $(srcdir)/kpathsea.info $(infodir)/kpathsea.info
+	$(SHELL) $(top_srcdir)/../mkdirchain $(includedir)/kpathsea
+	for f in $(install_headers); do \
+	  $(INSTALL_DATA) $$f $(includedir)/kpathsea/$$f; done
+	rm -f $(includedir)/kpathsea/c-auto.h
+	$(POSTINSTALL)
+	test -r $(infodir)/dir || $(INSTALL_DATA) $(top_srcdir)/../dir $(infodir)
+	if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
+	  install-info --info-dir=$(infodir) $(infodir)/kpathsea.info; \
+	else true; fi
+
+uninstall-data:
+	rm -f $(infodir)/kpathsea.info*
+	for f in $(install_headers); do rm -f $(includedir)/$$f; done
+
+# distdir is used by other distributions; they define $(distdir).
+distdir: doc $(library).dvi $(library).h
+	rm -rf $(distdir)
+	mkdir -p $(distdir)
+	ln $(ln_files) klibtool.version $(distdir)
+	touch *.info*
+	ln MakeTeX* *.info* *.texi $(library).aux $(library).cps $(distdir)
+	ln BUGS CONFIGURE HIER PROJECTS *.ac $(distdir)
+	touch kpathsea.h # to avoid .cps.h rule on Solaris
+	cd $(distdir) && rm -f paths.h
+	cd $(distdir) && add-version $(version) version.c
+
+# I don't use this, but other programmers want it.  acconfig.h is an
+# autoheader input file, not an includable C header. Bad name.
+$(library).h: always
+	rm -f $@
+	ls -1 *.h | grep -v acconfig.h \
+	  | sed -e 's,^,#include <kpathsea/,' -e s',$$,>,' >$@	  
+	touch -r `ls -1t *.h | tail +2 | head -1` $@ 
+always:
+.PHONY: always
+
+
+info: $(library).info
+dvi: $(library).dvi
+
+$(library).info: bugs.texi hier.texi install.texi unixtex.texi
+
+##ifdef HOSTNAME
+##INSTALL: install.texi
+##	$(MAKEINFO) $(one_info) $(MAKEINFO_FLAGS) $< -o $@
+##	add-info-toc $@
+##BUGS: bugs.texi
+##	$(MAKEINFO) $(one_info) $(MAKEINFO_FLAGS) $< -o $@
+##	add-info-toc $@
+##HIER: hier.texi
+##	$(MAKEINFO) $(one_info) $(MAKEINFO_FLAGS) $< -o $@
+##unixtex.ftp: unixtex.texi
+##	$(MAKEINFO) $(one_info) $(MAKEINFO_FLAGS) $< -o $@
+##doc: info HIER BUGS INSTALL unixtex.ftp
+##endif
+
+
+mostlyclean::
+	rm -f kpsewhich *.lo
+	rm -rf PROF PROF_SHARED SHARED STATIC
+distclean::
+	rm -f paths.h texmf.cnf texmf.sed
+
+absolute.lo: absolute.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/absolute.h \
+ ../kpathsea/c-pathch.h
+atou.lo: atou.c config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+basename.lo: basename.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h
+cnf.lo: cnf.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
+ ../kpathsea/c-ctype.h \
+ ../kpathsea/cnf.h ../kpathsea/db.h ../kpathsea/str-list.h \
+ ../kpathsea/hash.h ../kpathsea/line.h ../kpathsea/paths.h \
+ ../kpathsea/pathsearch.h ../kpathsea/str-llist.h \
+ ../kpathsea/tex-file.h ../kpathsea/variable.h
+concat.lo: concat.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+concat3.lo: concat3.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+concatn.lo: concatn.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/concatn.h \
+ ../kpathsea/c-vararg.h
+db.lo: db.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/absolute.h \
+ ../kpathsea/c-fopen.h ../kpathsea/c-pathch.h ../kpathsea/db.h \
+ ../kpathsea/str-list.h ../kpathsea/hash.h ../kpathsea/line.h \
+ ../kpathsea/pathsearch.h ../kpathsea/str-llist.h \
+ ../kpathsea/readable.h ../kpathsea/tex-file.h ../kpathsea/variable.h
+debug.lo: debug.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+dir.lo: dir.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-dir.h \
+ ../kpathsea/c-stat.h \
+ ../kpathsea/hash.h
+elt-dirs.lo: elt-dirs.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h \
+ ../kpathsea/expand.h ../kpathsea/fn.h ../kpathsea/pathsearch.h \
+ ../kpathsea/str-llist.h ../kpathsea/xopendir.h ../kpathsea/c-dir.h 
+expand.lo: expand.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h \
+ ../kpathsea/expand.h ../kpathsea/pathsearch.h ../kpathsea/str-llist.h \
+ ../kpathsea/tilde.h ../kpathsea/variable.h
+extend-fname.lo: extend-fname.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+file-p.lo: file-p.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/xstat.h \
+ ../kpathsea/c-stat.h 
+find-suffix.lo: find-suffix.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h
+fn.lo: fn.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/fn.h
+fontmap.lo: fontmap.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-ctype.h \
+ ../kpathsea/c-fopen.h ../kpathsea/fontmap.h ../kpathsea/hash.h \
+ ../kpathsea/line.h ../kpathsea/pathsearch.h ../kpathsea/str-llist.h \
+ ../kpathsea/str-list.h ../kpathsea/tex-file.h
+getopt.lo: getopt.c config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h getopt.h
+getopt1.lo: getopt1.c config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h getopt.h
+hash.lo: hash.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/hash.h \
+ ../kpathsea/str-list.h
+kdefault.lo: kdefault.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h \
+ ../kpathsea/default.h
+kpsewhich.o: kpsewhich.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-ctype.h \
+ ../kpathsea/c-pathch.h ../kpathsea/expand.h ../kpathsea/getopt.h \
+ ../kpathsea/line.h ../kpathsea/pathsearch.h ../kpathsea/str-llist.h \
+ ../kpathsea/proginit.h ../kpathsea/tex-file.h ../kpathsea/tex-glyph.h \
+ ../kpathsea/variable.h
+line.lo: line.c 
+magstep.lo: magstep.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/magstep.h
+make-suffix.lo: make-suffix.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h
+path-elt.lo: path-elt.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h \
+ ../kpathsea/pathsearch.h ../kpathsea/str-llist.h
+pathsearch.lo: pathsearch.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
+ ../kpathsea/absolute.h ../kpathsea/expand.h ../kpathsea/db.h \
+ ../kpathsea/str-list.h ../kpathsea/pathsearch.h \
+ ../kpathsea/str-llist.h ../kpathsea/readable.h ../kpathsea/variable.h 
+proginit.lo: proginit.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h \
+ ../kpathsea/proginit.h ../kpathsea/tex-file.h
+progname.lo: progname.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/absolute.h \
+ ../kpathsea/c-pathch.h ../kpathsea/c-stat.h \
+ ../kpathsea/pathsearch.h ../kpathsea/str-llist.h
+putenv.lo: putenv.c
+readable.lo: readable.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-stat.h \
+ ../kpathsea/readable.h ../kpathsea/tex-hush.h ../kpathsea/truncate.h
+rm-suffix.lo: rm-suffix.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+str-list.lo: str-list.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/str-list.h
+str-llist.lo: str-llist.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/str-llist.h
+strcasecmp.lo: strcasecmp.c config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h 
+strstr.lo: strstr.c
+strtol.lo: strtol.c config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h 
+tex-file.lo: tex-file.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
+ ../kpathsea/c-vararg.h ../kpathsea/cnf.h ../kpathsea/default.h \
+ ../kpathsea/expand.h ../kpathsea/fontmap.h ../kpathsea/hash.h \
+ ../kpathsea/paths.h ../kpathsea/pathsearch.h ../kpathsea/str-llist.h \
+ ../kpathsea/tex-file.h ../kpathsea/tex-make.h ../kpathsea/variable.h
+tex-glyph.lo: tex-glyph.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/absolute.h \
+ ../kpathsea/expand.h ../kpathsea/fontmap.h ../kpathsea/hash.h \
+ ../kpathsea/pathsearch.h ../kpathsea/str-llist.h \
+ ../kpathsea/tex-glyph.h ../kpathsea/tex-file.h ../kpathsea/tex-make.h \
+ ../kpathsea/variable.h
+tex-hush.lo: tex-hush.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/pathsearch.h \
+ ../kpathsea/str-llist.h ../kpathsea/tex-hush.h ../kpathsea/variable.h
+tex-make.lo: tex-make.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
+ ../kpathsea/c-pathch.h ../kpathsea/concatn.h ../kpathsea/c-vararg.h \
+ ../kpathsea/db.h ../kpathsea/str-list.h ../kpathsea/fn.h \
+ ../kpathsea/magstep.h ../kpathsea/readable.h ../kpathsea/tex-make.h \
+ ../kpathsea/tex-file.h ../kpathsea/variable.h
+tilde.lo: tilde.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h \
+ ../kpathsea/tilde.h 
+truncate.lo: truncate.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-namemx.h \
+ ../kpathsea/c-pathch.h ../kpathsea/c-pathmx.h ../kpathsea/truncate.h
+uppercasify.lo: uppercasify.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-ctype.h 
+variable.lo: variable.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-ctype.h \
+ ../kpathsea/cnf.h ../kpathsea/fn.h ../kpathsea/variable.h
+version.lo: version.c
+xcalloc.lo: xcalloc.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+xfopen.lo: xfopen.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+xfseek.lo: xfseek.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+xftell.lo: xftell.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+xgetcwd.lo: xgetcwd.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathmx.h
+xmalloc.lo: xmalloc.c 
+xopendir.lo: xopendir.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/xopendir.h \
+ ../kpathsea/c-dir.h 
+xputenv.lo: xputenv.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+xrealloc.lo: xrealloc.c 
+xstat.lo: xstat.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/xstat.h \
+ ../kpathsea/c-stat.h 
+xstrdup.lo: xstrdup.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
new file mode 100644
--- /dev/null
+++ b/kpathsea/Makefile.in
@@ -0,0 +1,706 @@
+# Makefile for kpathsea --kb@mail.tug.org.  Public domain.
+version = 3.0
+
+# Add -DNO_DEBUG to disable debugging, for vanishingly better performance.
+
+ac_include ../make/paths.make
+ac_include ../make/makevars.make
+ac_include ../make/common.make
+ac_include ../make/library.make
+ac_include ../make/programs.make
+ac_include ../make/texi.make
+
+##ifdef HOSTNAME
+##warn_more = -Wmissing-prototypes -Wwrite-strings -Wshadow
+##MAKEINFO_FLAGS := $(MAKEINFO_FLAGS) --no-split
+##malloc = /usr/local/src/malloc/onefile.o # gmalloc.o
+##endif
+
+# Install these header files (except c-auto.h).
+install_headers = *.h
+
+# Put tex-file.o first, because it's what depends on the paths, and may
+# reduce frustration if the paths are wrong by doing it first.
+
+objects = tex-file.lo absolute.lo atou.lo cnf.lo concat.lo concat3.lo \
+concatn.lo db.lo debug.lo dir.lo elt-dirs.lo expand.lo extend-fname.lo \
+file-p.lo find-suffix.lo fn.lo fontmap.lo getopt.lo getopt1.lo hash.lo \
+kdefault.lo line.lo magstep.lo make-suffix.lo path-elt.lo \
+pathsearch.lo proginit.lo progname.lo readable.lo rm-suffix.lo \
+str-list.lo str-llist.lo tex-glyph.lo tex-hush.lo tex-make.lo \
+tilde.lo truncate.lo uppercasify.lo variable.lo version.lo xcalloc.lo \
+xfopen.lo xfseek.lo xftell.lo xgetcwd.lo xmalloc.lo xopendir.lo xputenv.lo \
+xrealloc.lo xstat.lo xstrdup.lo $(liblobjs) $(malloc)
+liblobjs = @LTLIBOBJS@
+
+library = kpathsea
+
+# We want to compile almost everything with libtool ...
+KPATHSEA_CC = $(LIBTOOL) compile $(CC)
+.c.lo:
+	$(KPATHSEA_CC) $< $(ALL_CFLAGS)
+.SUFFIXES: .lo
+
+default all: kpsewhich $(library).info
+
+kpsewhich: $(kpathsea) kpsewhich.o
+	$(kpathsea_link) kpsewhich.o $(LOADLIBES)
+
+$(kpathsea): $(objects)
+	$(LIBTOOL) archive $(AR) $(ARFLAGS) $@ $(objects)
+
+# All the objects depend on the klibtool configuration file.
+$(objects): ../klibtool.config
+
+# Make variable substitutions from paths.h.
+texmf.cnf: texmf.cnf.in texmf.sed
+	sed -f texmf.sed $(srcdir)/texmf.cnf.in >$@
+
+# The idea is to turn each var=value into s%@var@%value%g. Seems simpler
+# to put the substitutions in a file than to play shell quoting games.
+texmf.sed: $(top_srcdir)/../make/makevars.make $(top_srcdir)/../make/paths.make
+	echo $(makevars) \
+	| tr ' ' '\012' \
+	| sed -e 's/^/s%@/' -e 's/=/@%/' -e 's/$$/%/' -e 's/$$/g/' \
+	>$@-t
+# Don't replace the rhs of the TEXMF assignment itself, then we'd
+# end up with TEXMF = $TEXMF.  We replace all the other hardwired paths
+# with $TEXMF, though, for ease of modification.
+	echo 's%$(texmf)%\$$TEXMF%g' >>$@-t
+	echo '/^ *TEXMF[ =]/s%\$$TEXMF%$(texmf)%' >>$@-t
+	mv $@-t $@
+
+# First null out comments and leading/trailing whitespace, then remove
+# lines that define invalid C identifiers, then remove blank lines and
+# lines that define lowercase values (those are never path values). Each
+# line remaining looks like
+# <name> = <value>
+# (but = and surrounding spaces are optional, hence can't remove all spaces).
+# Change this to #ifndef DEFAULT_name@#define DEFAULT_name "value"@#endif,
+# then change the @'s to newlines (sed isn't good at multiline replacements).
+# 
+# No backslash-newline escapes in the long sed replacement because that
+# will turn into a space in the output.
+# 
+# Without the $TEXMF/dbtex/etc. substitutions, if the cnf file was
+# not found, the compile-time paths would be of little use, since TEXMF
+# (etc.) wouldn't be defined. Alternatively, we could have a way to
+# specify compile-time default values for variables in general, but I
+# think it's better to keep the last-resort paths as simple as possible.
+# 
+# The definition of DEFAULT_TEXMF (and other variables)
+# that winds up in the final paths.h will not be used.
+$(kpathsea_dir)/paths.h: texmf.cnf
+	echo "/* paths.h: Generated from texmf.cnf `date`.  */" >$@
+	sed -e 's/%.*//' -e 's/^[ 	]*//' -e 's/[ 	]*$$//' texmf.cnf \
+	| grep '^[ 	]*[A-Z1_]*[ 	=]' \
+	| sed '/^$$/d' \
+	| sed 's/^\([^ 	=]*\)[ 	]*=*[ 	]*\(.*\)/#ifndef DEFAULT_\1@#define DEFAULT_\1 "\2"@#endif/' \
+	| tr @ '\012' \
+	| sed -e 's@\$$TEXMF@$(texmf)@g' \
+	      -e 's@\$$dbtex@$(texinputdir)@g' \
+	      -e 's@\$$dbfonts@$(fontdir)@g' \
+	      -e 's@\$$VARTEXFONTS@/var/tex/fonts@g' \
+	      -e 's@\$$prefix@$(prefix)@g' \
+	>>$@
+
+# Need an extra definition for this. Dependencies included below.
+tex-file.o:
+	$(KPATHSEA_CC) -DDEFAULT_FONT_SIZES='\"$(default_texsizes)\"' $(srcdir)/tex-file.c
+
+check: kpsewhich
+	./kpsewhich -expand-var '$$TEXMF'
+
+install: install-exec install-data
+uninstall: uninstall-exec uninstall-data
+
+install-exec: kpsewhich
+	$(SHELL) $(top_srcdir)/../mkdirchain $(bindir) $(scriptdir) \
+	  $(libdir) $(web2cdir)
+	if grep 'original MakeTeXPK --' $(scriptdir)/MakeTeXPK >/dev/null 2>&1\
+	   || test ! -r $(scriptdir)/MakeTeXPK; then \
+	  $(INSTALL_SCRIPT) $(srcdir)/MakeTeXPK $(scriptdir)/MakeTeXPK; \
+	else true; fi
+	if grep 'original MakeTeXMF --' $(scriptdir)/MakeTeXMF >/dev/null 2>&1\
+	   || test ! -r $(scriptdir)/MakeTeXMF; then \
+	  $(INSTALL_SCRIPT) $(srcdir)/MakeTeXMF $(scriptdir)/MakeTeXMF; \
+	else true; fi
+	if grep 'original MakeTeXTFM --' $(scriptdir)/MakeTeXTFM >/dev/null 2>&1\
+	   || test ! -r $(scriptdir)/MakeTeXTFM; then \
+	  $(INSTALL_SCRIPT) $(srcdir)/MakeTeXTFM $(scriptdir)/MakeTeXTFM; \
+	else true; fi
+	$(INSTALL_SCRIPT) $(srcdir)/MakeTeXls-R $(scriptdir)/MakeTeXls-R
+	$(INSTALL_SCRIPT) $(srcdir)/MakeTeXcommon $(web2cdir)/MakeTeXcommon
+	$(INSTALL_SCRIPT) $(srcdir)/MakeTeXmkdir $(web2cdir)/MakeTeXmkdir
+	$(INSTALL_SCRIPT) $(srcdir)/MakeTeXnames $(web2cdir)/MakeTeXnames
+	$(INSTALL_SCRIPT) $(srcdir)/MakeTeXnames.cnf $(web2cdir)/MakeTeXnames.cnf
+	$(INSTALL_SCRIPT) $(srcdir)/MakeTeXupdate $(web2cdir)/MakeTeXupdate
+	$(INSTALL_LIBTOOL_LIBS) $(libdir) lib$(library).la
+	$(INSTALL_LIBTOOL_PROG) $(bindir) kpsewhich
+uninstall-exec:
+	rm -f $(bindir)/kpsewhich
+
+install-data: texmf.cnf kpathsea.info
+	$(SHELL) $(top_srcdir)/../mkdirchain $(texmf) $(infodir) $(web2cdir)
+	if grep 'original texmf.cnf --' $(web2cdir)/texmf.cnf >/dev/null 2>&1 \
+	   || test ! -r $(web2cdir)/texmf.cnf; then \
+	  $(INSTALL_DATA) texmf.cnf $(web2cdir)/texmf.cnf; \
+	else true; fi
+	$(INSTALL_DATA) $(srcdir)/kpathsea.info $(infodir)/kpathsea.info
+	$(SHELL) $(top_srcdir)/../mkdirchain $(includedir)/kpathsea
+	for f in $(install_headers); do \
+	  $(INSTALL_DATA) $$f $(includedir)/kpathsea/$$f; done
+	rm -f $(includedir)/kpathsea/c-auto.h
+	$(POSTINSTALL)
+	test -r $(infodir)/dir || $(INSTALL_DATA) $(top_srcdir)/../dir $(infodir)
+	if $(SHELL) -c 'install-info --version' >/dev/null 2>&1; then \
+	  install-info --info-dir=$(infodir) $(infodir)/kpathsea.info; \
+	else true; fi
+
+uninstall-data:
+	rm -f $(infodir)/kpathsea.info*
+	for f in $(install_headers); do rm -f $(includedir)/$$f; done
+
+# distdir is used by other distributions; they define $(distdir).
+distdir: doc $(library).dvi $(library).h
+	rm -rf $(distdir)
+	mkdir -p $(distdir)
+	ln $(ln_files) klibtool.version $(distdir)
+	touch *.info*
+	ln MakeTeX* *.info* *.texi $(library).aux $(library).cps $(distdir)
+	ln BUGS CONFIGURE HIER PROJECTS *.ac $(distdir)
+	touch kpathsea.h # to avoid .cps.h rule on Solaris
+	cd $(distdir) && rm -f paths.h
+	cd $(distdir) && add-version $(version) version.c
+
+# I don't use this, but other programmers want it.  acconfig.h is an
+# autoheader input file, not an includable C header. Bad name.
+$(library).h: always
+	rm -f $@
+	ls -1 *.h | grep -v acconfig.h \
+	  | sed -e 's,^,#include <kpathsea/,' -e s',$$,>,' >$@	  
+	touch -r `ls -1t *.h | tail +2 | head -1` $@ 
+always:
+.PHONY: always
+
+ac_include ../make/config.make
+
+info: $(library).info
+dvi: $(library).dvi
+
+$(library).info: bugs.texi hier.texi install.texi unixtex.texi
+
+##ifdef HOSTNAME
+##INSTALL: install.texi
+##	$(MAKEINFO) $(one_info) $(MAKEINFO_FLAGS) $< -o $@
+##	add-info-toc $@
+##BUGS: bugs.texi
+##	$(MAKEINFO) $(one_info) $(MAKEINFO_FLAGS) $< -o $@
+##	add-info-toc $@
+##HIER: hier.texi
+##	$(MAKEINFO) $(one_info) $(MAKEINFO_FLAGS) $< -o $@
+##unixtex.ftp: unixtex.texi
+##	$(MAKEINFO) $(one_info) $(MAKEINFO_FLAGS) $< -o $@
+##doc: info HIER BUGS INSTALL unixtex.ftp
+##endif
+
+ac_include ../make/clean.make
+
+mostlyclean::
+	rm -f kpsewhich *.lo
+	rm -rf PROF PROF_SHARED SHARED STATIC
+distclean::
+	rm -f paths.h texmf.cnf texmf.sed
+
+ac_include ../make/rdepend.make
+absolute.lo: absolute.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/absolute.h \
+ ../kpathsea/c-pathch.h
+atou.lo: atou.c config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+basename.lo: basename.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h
+cnf.lo: cnf.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
+ ../kpathsea/c-ctype.h \
+ ../kpathsea/cnf.h ../kpathsea/db.h ../kpathsea/str-list.h \
+ ../kpathsea/hash.h ../kpathsea/line.h ../kpathsea/paths.h \
+ ../kpathsea/pathsearch.h ../kpathsea/str-llist.h \
+ ../kpathsea/tex-file.h ../kpathsea/variable.h
+concat.lo: concat.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+concat3.lo: concat3.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+concatn.lo: concatn.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/concatn.h \
+ ../kpathsea/c-vararg.h
+db.lo: db.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/absolute.h \
+ ../kpathsea/c-fopen.h ../kpathsea/c-pathch.h ../kpathsea/db.h \
+ ../kpathsea/str-list.h ../kpathsea/hash.h ../kpathsea/line.h \
+ ../kpathsea/pathsearch.h ../kpathsea/str-llist.h \
+ ../kpathsea/readable.h ../kpathsea/tex-file.h ../kpathsea/variable.h
+debug.lo: debug.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+dir.lo: dir.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-dir.h \
+ ../kpathsea/c-stat.h \
+ ../kpathsea/hash.h
+elt-dirs.lo: elt-dirs.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h \
+ ../kpathsea/expand.h ../kpathsea/fn.h ../kpathsea/pathsearch.h \
+ ../kpathsea/str-llist.h ../kpathsea/xopendir.h ../kpathsea/c-dir.h 
+expand.lo: expand.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h \
+ ../kpathsea/expand.h ../kpathsea/pathsearch.h ../kpathsea/str-llist.h \
+ ../kpathsea/tilde.h ../kpathsea/variable.h
+extend-fname.lo: extend-fname.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+file-p.lo: file-p.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/xstat.h \
+ ../kpathsea/c-stat.h 
+find-suffix.lo: find-suffix.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h
+fn.lo: fn.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/fn.h
+fontmap.lo: fontmap.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-ctype.h \
+ ../kpathsea/c-fopen.h ../kpathsea/fontmap.h ../kpathsea/hash.h \
+ ../kpathsea/line.h ../kpathsea/pathsearch.h ../kpathsea/str-llist.h \
+ ../kpathsea/str-list.h ../kpathsea/tex-file.h
+getopt.lo: getopt.c config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h getopt.h
+getopt1.lo: getopt1.c config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h getopt.h
+hash.lo: hash.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/hash.h \
+ ../kpathsea/str-list.h
+kdefault.lo: kdefault.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h \
+ ../kpathsea/default.h
+kpsewhich.o: kpsewhich.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-ctype.h \
+ ../kpathsea/c-pathch.h ../kpathsea/expand.h ../kpathsea/getopt.h \
+ ../kpathsea/line.h ../kpathsea/pathsearch.h ../kpathsea/str-llist.h \
+ ../kpathsea/proginit.h ../kpathsea/tex-file.h ../kpathsea/tex-glyph.h \
+ ../kpathsea/variable.h
+line.lo: line.c 
+magstep.lo: magstep.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/magstep.h
+make-suffix.lo: make-suffix.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h
+path-elt.lo: path-elt.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h \
+ ../kpathsea/pathsearch.h ../kpathsea/str-llist.h
+pathsearch.lo: pathsearch.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
+ ../kpathsea/absolute.h ../kpathsea/expand.h ../kpathsea/db.h \
+ ../kpathsea/str-list.h ../kpathsea/pathsearch.h \
+ ../kpathsea/str-llist.h ../kpathsea/readable.h ../kpathsea/variable.h 
+proginit.lo: proginit.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h \
+ ../kpathsea/proginit.h ../kpathsea/tex-file.h
+progname.lo: progname.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/absolute.h \
+ ../kpathsea/c-pathch.h ../kpathsea/c-stat.h \
+ ../kpathsea/pathsearch.h ../kpathsea/str-llist.h
+putenv.lo: putenv.c
+readable.lo: readable.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-stat.h \
+ ../kpathsea/readable.h ../kpathsea/tex-hush.h ../kpathsea/truncate.h
+rm-suffix.lo: rm-suffix.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+str-list.lo: str-list.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/str-list.h
+str-llist.lo: str-llist.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/str-llist.h
+strcasecmp.lo: strcasecmp.c config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h 
+strstr.lo: strstr.c
+strtol.lo: strtol.c config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h 
+tex-file.lo: tex-file.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
+ ../kpathsea/c-vararg.h ../kpathsea/cnf.h ../kpathsea/default.h \
+ ../kpathsea/expand.h ../kpathsea/fontmap.h ../kpathsea/hash.h \
+ ../kpathsea/paths.h ../kpathsea/pathsearch.h ../kpathsea/str-llist.h \
+ ../kpathsea/tex-file.h ../kpathsea/tex-make.h ../kpathsea/variable.h
+tex-glyph.lo: tex-glyph.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/absolute.h \
+ ../kpathsea/expand.h ../kpathsea/fontmap.h ../kpathsea/hash.h \
+ ../kpathsea/pathsearch.h ../kpathsea/str-llist.h \
+ ../kpathsea/tex-glyph.h ../kpathsea/tex-file.h ../kpathsea/tex-make.h \
+ ../kpathsea/variable.h
+tex-hush.lo: tex-hush.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/pathsearch.h \
+ ../kpathsea/str-llist.h ../kpathsea/tex-hush.h ../kpathsea/variable.h
+tex-make.lo: tex-make.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-fopen.h \
+ ../kpathsea/c-pathch.h ../kpathsea/concatn.h ../kpathsea/c-vararg.h \
+ ../kpathsea/db.h ../kpathsea/str-list.h ../kpathsea/fn.h \
+ ../kpathsea/magstep.h ../kpathsea/readable.h ../kpathsea/tex-make.h \
+ ../kpathsea/tex-file.h ../kpathsea/variable.h
+tilde.lo: tilde.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathch.h \
+ ../kpathsea/tilde.h 
+truncate.lo: truncate.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-namemx.h \
+ ../kpathsea/c-pathch.h ../kpathsea/c-pathmx.h ../kpathsea/truncate.h
+uppercasify.lo: uppercasify.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-ctype.h 
+variable.lo: variable.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-ctype.h \
+ ../kpathsea/cnf.h ../kpathsea/fn.h ../kpathsea/variable.h
+version.lo: version.c
+xcalloc.lo: xcalloc.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+xfopen.lo: xfopen.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+xfseek.lo: xfseek.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+xftell.lo: xftell.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+xgetcwd.lo: xgetcwd.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/c-pathmx.h
+xmalloc.lo: xmalloc.c 
+xopendir.lo: xopendir.c ../kpathsea/config.h c-auto.h \
+ ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/xopendir.h \
+ ../kpathsea/c-dir.h 
+xputenv.lo: xputenv.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
+xrealloc.lo: xrealloc.c 
+xstat.lo: xstat.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h ../kpathsea/xstat.h \
+ ../kpathsea/c-stat.h 
+xstrdup.lo: xstrdup.c ../kpathsea/config.h c-auto.h ../kpathsea/c-std.h \
+ ../kpathsea/c-unistd.h ../kpathsea/systypes.h \
+ ../kpathsea/c-memstr.h \
+ ../kpathsea/c-errno.h \
+ ../kpathsea/c-minmax.h \
+ ../kpathsea/c-limits.h \
+ ../kpathsea/c-proto.h ../kpathsea/debug.h ../kpathsea/types.h \
+ ../kpathsea/lib.h ../kpathsea/progname.h
new file mode 100644
--- /dev/null
+++ b/kpathsea/NEWS
@@ -0,0 +1,162 @@
+This file records noteworthy changes.
+
+3.0 (7 February 1997)
+* Distribution terms changed to the GNU Library General Public License.
+* Default directory structure matches the TDS standard. The most
+  important change is in the fonts/ directory: the file type (tfm, pk)
+  is now directly underneath fonts/.  Also, mft/ is now at the top level.
+  `modeless' is used for gsftopk/ps2pk/etc.-generated fonts.
+* Change in searching algorithm: if the name already has a suffix
+  (foo.sty), search for it by itself first, before appending the default
+  suffix (foo.sty.tex).  This loses if you have an executable named
+  foo.bar, with documentation in foo.bar.tex (foo.bar will be found
+  first).  But this is unusual, and the other case is common.
+* Environment variables PATH_program (e.g., TEXINPUTS_latex) checked
+  for, as with configuration file values (TEXINPUTS.latex).
+* Multiple TEXMF trees supported, via the following new facility:
+* Shell brace expansion {foo,bar} implemented, thanks to Bash.
+* Multiple ls-R files supported via the TEXMFDBS path.
+* An ``alias'' database for files in ls-R supported, to handle 8.3 problems.
+* Directories in the ls-R file can be relative (./) as well as absolute (/).
+* New MakeTeX{PK,TFM,MF} scripts with more features, based on teTeX's.
+* DVIPSMAKEPK (etc.) actually overrides the name `MakeTeXPK', as documented.
+* MakeTeX* can be globally disabled via configure options.
+* Support for building as a shared library with configure --enable-shared.
+* Directories whose names begin with `.' are ignored.
+* Some warnings can be suppressed by TEX_HUSH cnf value or envvar.
+* kpsewhich has many new capabilities, documented via --help and in the manual.
+* texfonts.map parsing has an include directive, and @c is a comment.
+* Input lines in texmf.cnf can be continued with \.
+* TEXMFLOG can be set in texmf.cnf, as previously documented.
+* SELFAUTODIR and SELFAUTOPARENT are defined according to the location
+  of the binary, and used to search for texmf.cnf.
+* /// (or more) is equivalent to //.
+* If $HOME = / (as with root on some systems), avoid creating // in paths.
+* Support for AFM, PostScript Type 1 font, source, documentation, Omega,
+  and MetaPost-related file formats.
+* New header kpathsea.h with all #include files.
+* Under DOS, ls-R lines need not start with . or / or \ (e.g., c:).
+* Amiga support.
+
+2.6 (9 January 1995)
+* MakeTeXPK installed from kpathsea, instead of each driver.
+* MakeTeXPK.site looked for in texmf/web2c, instead of texmf/dvips.
+* texmf.cnf installed and looked for in texmf/web2c, instead of texmf.
+* If a mode is not explicitly specified, search all subdirectories (this
+  was actually in a previous release).
+* install-sh only looked for in the top-level directory.
+* kpsewhich replaces and generalizes kpsexpand.
+
+2.5 (15 December 1994)
+* Go back to calling db_insert after a successful MakeTeXPK, and check
+  for lack of an ls-R.
+* Handle case of magstep -.5 for MakeTeXPK properly.
+
+2.4 (28 October 1994)
+* Avoid calling db_insert, which caused a segmentation fault.
+
+2.3 (26 October 1994)
+* Extra :'s in an envvar value, referring to the texmf.cnf value, work.
+* Names like dpi600/cmr10.pk can be found in ls-R.
+* KPATHSEA_DEBUG environment variable checked.
+* Directories like pk/ljfour directly under $TEXMF/fonts are found.
+* New standalone program, kpsexpand, optionally compiled and installed,
+  to do variable expansion (not path searching).
+* Debugging output written to stderr instead of stdout.
+* pxlNNN support removed; I never intended to support `pxl1500', and
+  pxl300 is never used.
+
+2.2 (14 October 1994)
+* MakeTeXPK invoked for the any_glyph type; this is for xdvik.
+* MakeTeXPK sources $(psheaderdir)/MakeTeXPK.site if it exists.
+* pxlNNN/cmr10.pk searched for (as well as dpiNNN/cmr10.pk and cmr10.NNNpk)
+
+2.1 (12 September 1994)
+* Manual goes through TeX, and .cps/.aux files are in the distribution.
+* INSTALL* variables set at the top level.
+* Dependency on GNU tr making paths.h and texmf.sed (->texmf.cnf) removed.
+* texmf.cnf installed if it didn't previously exist.
+
+2.0 (8 September 1994)
+* Runtime configuration file support; see the manual.
+* Both dpi600/cmr10.pk and cmr10.600pk are searched for.
+* ls-R matches $TEXMF//latex2e vs. $TEXMF//latex209.
+* $TEXMFLOG, if set, specifies a filename for logging successful searches.
+* All directory entries beginning with `.' are ignored, not just `.' and `..'.
+* Default path for PK and GF fonts includes the mode name.
+* ls-R is in $TEXMFROOT instead of hardwired at compile time.
+* More debugging flags, and they can be set with client program options.
+* If MakeTeX{PK,TFM} fail, or aren't invoked, a file missfont.log is
+  written with the requisite commands, as in dvips.
+* More 328/329/330 fixes, maybe for the last time.
+* The override font paths (XDVIFONTS etc.) apply only to glyph (PK/GF)
+  searches, not TFM or VF.
+* -g is not the default when linking, to avoid unnecessarily large binaries
+  (due to static libraries) under Linux.
+* configure checks for a smart putenv.
+* Stat results are cached to speed up disk searches.
+
+1.8 (2 April 1994)
+* New target install-info, so the documentation can be installed without
+  the headers.
+* Existing but unreadable files are complained about, instead of just ignored.
+* A leading %% in a path element forbids searching the disk for that
+  element; only a db will be searched (if it exists).
+* The db is only used if it might be relevant to a given path element,
+  not searched first regardless.
+
+1.7 (1 March 1994)
+* Searches can use an externally-built ls-R ``database'', for speed.
+* `VPATH = .' lines removed from generated Makefile, for broken Sun make.
+* A path foo//tfm finds foo/tfm as well as foo/*/tfm.
+
+1.6 (3 February 1994)
+* Memory fault in copying long paths fixed.
+* More variables passed down from the top-level Makefile.
+* Mention SMART_PUTENV in the INSTALL file, and fix bug in xputenv.c
+  when one envvar is a proper prefix of another.
+* More attempts at eliminating magstephalf annoyances.
+* Directory name substitutions are done globally when creating paths.h.
+* Various changes for DOS.
+
+1.5 (24 January 1994)
+* Default paths changed.
+* Defining GCC_WCHAR lets GCC define wchar_t.
+* EXIT_FAILURE and EXIT_SUCCESS defined in all cases (if they're not already).
+* str[r]chr never redefined (I hope).
+
+1.4 (3 November 1993)
+* Check closest fallback font size.
+* All default paths (including dvips') in paths.h.in, not the Makefile.
+* Rearrange directory lists so that dirs in which a file is found
+  migrate to the top.
+* Update for Autoconf 1.7.
+
+1.3 (6 October 1993)
+* Fix free of non-malloced memory bug.
+* Fix uninitialized gf path bug.
+* mkdirchain invoked as an absolute filename.
+
+1.2 (27 September 1993)
+* Running MakeTeXPK is tried before the fallback resolutions.
+* The final bitmap name uses a variable spec, so DOS & OS/2 can get
+  dpi300/cmr10.pk.
+* Document TeX-specific features.
+* Dpi passed to MakeTeXPK via the envvar KPATHSEA_DPI instead of MAKETEX_DPI.
+
+1.1 (26 August 1993)
+* Installation fixes.
+
+1.0 (5 August 1993)
+* Routines to look up TeX font files, default path specifications, etc.
+* Sort-of pattern matching: /foo//bar matches subdirectories
+  /foo/a/bar, /foo/b/bar, /foo/a1/a2/bar, etc.
+* $var and ${var} expansion.
+* Support for MakeTeX... scripts.
+* Support for fallback resolutions and font.
+* Lazy evaluation of path elements.
+* Some runtime debugging support.
+
+0.2 (12 May 1993)
+
+First general release as a standalone library.
new file mode 100644
--- /dev/null
+++ b/kpathsea/PROJECTS
@@ -0,0 +1,23 @@
+Here are some ideas for improvements.  If you would like to contribute,
+please send mail to me (kb@mail.tug.org) first.
+
+
+If the library is built shared, it would be nice if the binaries did not
+have it as a dependency; as it is, all of Web2c gets rebuilt if the
+library changes, even though logically only relinking (maybe not even
+that) is necessary.  This is because if the Web2c programs themselves
+get relinked (as they do), we must reconvert the web programs.
+
+For multiple texmf.cnf files (or multiple dvips configuration files),
+replace extra :'s by the value from the next file in the path, rather
+than the value from the next level.
+
+Support runtime registration of file types to search for, not just
+compile-time. Either by a procedure call, or by reading a configuration
+file. Implies putting the envvar list into the kpse_format_info_type struct.
+
+cd during filesystem operations, to minimize the pathname
+length. Implies always using xgetwd.
+
+Separate the routines needed for path searching, and others that are here
+only because it's a common place -- i.e., a kutil library.
new file mode 100644
--- /dev/null
+++ b/kpathsea/README
@@ -0,0 +1,19 @@
+This directory contains the Kpathsea[rch] library, which implements
+generic path searching, configuration, and TeX-specific file searching.
+
+See `NEWS' for changes by release, `ChangeLog` for all changes.
+See `INSTALL' for installation instructions.
+See `BUGS' for bug reporting details.
+See `CONFIGURE' for details on running Autoconf-generated configure scripts.
+See `PROJECTS' for future improvements you might like to work on.
+
+Suggestions for improvements in either the library or the documentation,
+no matter how small, are welcome. But please read ./BUGS before sending
+a bug report.
+
+This is free software.  See the files COPYING* for copying permissions.
+The top-level headers are `pathsearch.h' for the generic path searching
+support, and `tex-{file,glyph}.h' for the TeX-specific support.
+
+kb@mail.tug.org
+Member of the League for Programming Freedom -- write lpf@uunet.uu.net.
new file mode 100644
--- /dev/null
+++ b/kpathsea/absolute.c
@@ -0,0 +1,61 @@
+/* absolute.c: Test if a filename is absolute or explicitly relative.
+
+Copyright (C) 1993, 94, 95 Karl Berry.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#include <kpathsea/config.h>
+
+#include <kpathsea/absolute.h>
+#include <kpathsea/c-pathch.h>
+
+#ifdef DOSISH
+#include <kpathsea/c-ctype.h> /* for ISALPHA */
+#endif /* DOS */
+
+
+/* Sorry this is such a system-dependent mess, but I can't see any way
+   to usefully generalize.  */
+
+boolean
+kpse_absolute_p P2C(const_string, filename,  boolean, relative_ok)
+{
+#ifdef VMS
+#include <string.h>
+  return strcspn (filename, "]>:") != strlen (filename);
+#else /* not VMS */
+  boolean absolute = IS_DIR_SEP (*filename)
+#ifdef DOSISH
+                     || ISALPHA (*filename) && IS_DEVICE_SEP (filename[1])
+#endif /* DOSISH */
+#ifdef AMIGA
+		     /* Colon anywhere means a device.  */
+		     || strchr (filename, ':')
+#endif /* AMIGA */
+		      ;
+  boolean explicit_relative
+    = relative_ok
+#ifdef AMIGA
+      /* Leading / is like `../' on Unix and DOS.  Allow Unix syntax,
+         too, though, because of possible patch programs like
+         `UnixDirsII' by Martin Scott.  */
+      && IS_DIR_SEP (*filename) || 0
+#endif /* AMIGA */
+      && (*filename == '.' && (IS_DIR_SEP (filename[1])
+                         || (filename[1] == '.' && IS_DIR_SEP (filename[2]))));
+
+  return absolute || explicit_relative;
+#endif /* not VMS */
+}
new file mode 100644
--- /dev/null
+++ b/kpathsea/absolute.h
@@ -0,0 +1,31 @@
+/* absolute.h: Declare absolute filename predicate.
+
+Copyright (C) 1993, 94 Karl Berry.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef KPATHSEA_ABSOLUTE_H
+#define KPATHSEA_ABSOLUTE_H
+
+#include <kpathsea/types.h>
+#include <kpathsea/c-proto.h>
+
+
+/* True if FILENAME is absolute (/foo) or, if RELATIVE_OK is true,
+   explicitly relative (./foo, ../foo), else false (foo).  */
+
+extern boolean kpse_absolute_p P2H(const_string filename, boolean relative_ok);
+
+#endif /* not KPATHSEA_ABSOLUTE_H */
new file mode 100644
--- /dev/null
+++ b/kpathsea/acconfig.h
@@ -0,0 +1,76 @@
+/* acconfig.h -- used by autoheader when generating c-auto.h.in.
+
+   If you're thinking of editing acconfig.h to fix a configuration
+   problem, don't. Edit the c-auto.h file created by configure,
+   instead.  Even better, fix configure to give the right answer.  */
+
+/* kpathsea/configure.in tests for these functions with
+   kb_AC_KLIBTOOL_REPLACE_FUNCS, and naturally Autoheader doesn't know
+   about that macro.  Since the shared library stuff is all preliminary
+   anyway, I decided not to change Autoheader, but rather to hack them
+   in here.  */
+#undef HAVE_BASENAME
+#undef HAVE_PUTENV
+#undef HAVE_STRCASECMP
+#undef HAVE_STRTOL
+#undef HAVE_STRSTR
+
+@TOP@
+
+/* Define if your putenv doesn't waste space when the same environment
+   variable is assigned more than once, with different (malloced)
+   values.  This is true only on NetBSD/FreeBSD, as far as I know. See
+   xputenv.c.  */
+#undef SMART_PUTENV
+
+/* Define if you are using GNU libc or otherwise have global variables
+   `program_invocation_name' and `program_invocation_short_name'.  */
+#undef HAVE_PROGRAM_INVOCATION_NAME
+
+/* Define if you get clashes concerning wchar_t, between X's include
+   files and system includes.  */
+#undef FOIL_X_WCHAR_T
+
+/* tex: Define to enable --ipc.  */
+#undef IPC
+
+/* all: Define to enable running scripts when missing input files.  */
+#define MAKE_TEX_MF_BY_DEFAULT 0
+#define MAKE_TEX_PK_BY_DEFAULT 0
+#define MAKE_TEX_TEX_BY_DEFAULT 0
+#define MAKE_TEX_TFM_BY_DEFAULT 0
+#define MAKE_OMEGA_OFM_BY_DEFAULT 0
+#define MAKE_OMEGA_OCP_BY_DEFAULT 0
+
+/* web2c: Define if gcc asm needs _ on external symbols.  */
+#undef ASM_NEEDS_UNDERSCORE
+
+/* web2c: Define when using system-specific files for arithmetic.  */
+#undef ASM_SCALED_FRACTION
+
+/* web2c: Define to enable HackyInputFileNameForCoreDump.tex.  */
+#undef FUNNY_CORE_DUMP
+
+/* web2c: Define to disable architecture-independent dump files.
+   Faster on LittleEndian architectures.  */
+#undef NO_DUMP_SHARE
+
+/* web2c: Default editor for interactive `e' option. */
+#define EDITOR "vi +%d %s"
+
+/* web2c: Window system support for Metafont. */
+#undef HP2627WIN
+#undef MFTALKWIN
+#undef NEXTWIN
+#undef REGISWIN
+#undef SUNWIN
+#undef TEKTRONIXWIN
+#undef UNITERMWIN
+#undef X11WIN
+
+/* xdvik: Define if you have SIGIO, F_SETOWN, and FASYNC.  */
+#undef HAVE_SIGIO
+
+/* xdvik: Define to avoid using any toolkit (and consequently omit lots
+   of features).  */
+#undef NOTOOL
new file mode 100644
--- /dev/null
+++ b/kpathsea/atou.c
@@ -0,0 +1,30 @@
+/* atou.c: like atoi, but if the number is negative, abort.
+
+Copyright (C) 1992, 95 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#include "config.h"
+
+unsigned
+atou P1C(const_string, s)
+{
+  int i = atoi (s);
+  
+  if (i < 0)
+    FATAL1 ("I expected a positive number, not %d", i);
+  
+  return i;
+}
new file mode 100644
--- /dev/null
+++ b/kpathsea/basename.c
@@ -0,0 +1,49 @@
+/* basename.c: return the last element in a path.
+
+Copyright (C) 1992, 94, 95, 96 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+/* Have to include this first to get c-auto.h.  */
+#include <kpathsea/config.h>
+
+#ifndef HAVE_BASENAME /* rest of file */
+
+#include <kpathsea/c-pathch.h>
+
+/* Return NAME with any leading path stripped off.  This returns a
+   pointer into NAME.  For example, `basename ("/foo/bar.baz")'
+   returns "bar.baz".  */
+
+const_string
+basename P1C(const_string, name)
+{
+  const_string base = NULL;
+  unsigned len = strlen (name);
+  
+  for (len = strlen (name); len > 0; len--) {
+    if (IS_DIR_SEP (name[len - 1]) || IS_DEVICE_SEP (name[len - 1])) {
+      base = name + len;
+      break;
+    }
+  }
+
+  if (!base)
+    base = name;
+  
+  return base;
+}
+
+#endif /* not HAVE_BASENAME */
new file mode 100644
--- /dev/null
+++ b/kpathsea/bugs.texi
@@ -0,0 +1,836 @@
+@ifclear version
+@defcodeindex fl
+@defcodeindex op
+@end ifclear
+
+@node Reporting bugs
+@section Reporting bugs
+
+@cindex reporting bugs
+@cindex bugs, reporting
+
+@ifset version
+(A copy of this chapter is in the file @file{kpathsea/BUGS}.)
+@end ifset
+
+@flindex tex-k@@mail.tug.org @r{(bug address)}
+@cindex bug address
+If you have problems or suggestions, please report them to
+@email{tex-k@@mail.tug.org} using the bug checklist below.
+
+Please report bugs in the documentation; not only factual errors or
+inconsistent behavior, but unclear or incomplete explanations, typos,
+wrong fonts, @dots{}
+
+@menu
+* Bug checklist::       What to include in a good bug report.
+* Mailing lists::       Joining the bugs or announcements mailing lists.
+* Debugging::           Analyzing runtime problems.
+* Logging::             Recording searches.
+* Common problems::     When things go wrong.
+@end menu
+
+
+@node Bug checklist
+@subsection Bug checklist
+
+@cindex checklist for bug reports
+@cindex bug checklist
+
+Before reporting a bug, please check below to be sure it isn't already
+known (@pxref{Common problems}).
+
+Bug reports should be sent via electronic mail to
+@email{tex-k@@mail.tug.org}, or by postal mail to 135 Center Hill Road /
+Plymouth, MA 02360 / USA.
+
+The general principle is that a good bug report includes all the
+information necessary for reproduction.  Therefore, to enable
+investigation, your report should include the following:
+
+@itemize @bullet
+@item
+@cindex version numbers, determining
+The version number(s) of the program(s) involved, and of Kpathsea
+itself.  You can get the former by giving a sole option @samp{--version}
+to the program, and the latter by running @samp{kpsewhich --version}.
+The @file{NEWS} and @file{ChangeLog} files also contain the version
+number.
+
+@item
+@pindex uname
+The hardware, operating system (including version number), compiler, and
+@code{make} program you are using (the output of @code{uname -a} is a
+start on the first two, though often incomplete).  If the bug involves
+the X window system, include X version and supplier information as well
+(examples: X11R6 from MIT; X11R4 from HP; OpenWindows 3.3 bundled with
+SunOS 4.1.4).
+
+@item
+@flindex config.log
+Any options you gave to @code{configure}.  This is recorded in the
+@file{config.status} files.
+
+@cindex configuration bugs
+@flindex config.status
+If you are reporting a bug in @samp{configure} itself, it's probably
+system-dependent, and it will be unlikely the maintainers can do
+anything useful if you merely report that thus-and-such is broken.
+Therefore, you need to do some additional work: for some bugs, you can
+look in the file @file{config.log} where the test that failed should
+appear, along with the compiler invocation and source program in
+question.  You can then compile it yourself by hand, and discover why
+the test failed.  Other @samp{configure} bugs do not involve the
+compiler; in that case, the only recourse is to inspect the
+@code{configure} shell script itself, or the Autoconf macros that
+generated @code{configure}.
+
+@item
+The log of all debugging output, if the bug is in path searching.  You
+can get this by setting the environment variable @code{KPATHSEA_DEBUG}
+to @samp{-1} before running the program.  Please look at the log
+yourself to make sure the behavior is really a bug before reporting it;
+perhaps ``old'' environment variable settings are causing files not to
+be found, for example.
+
+@item
+The contents of any input files necessary to reproduce the bug.  For
+bugs in DVI-reading programs, for example, this generally means a DVI
+file (and any EPS or other files it uses)---@TeX{} source files are
+helpful, but the DVI file is necessary, because that's the actual
+program input.
+
+@cindex shar@r{, recommended}
+GNU @code{shar}, available from @url{ftp://prep.ai.mit.edu/pub/gnu} is
+a convenient way of packaging multiple (possibly binary) files for
+electronic mail.  If you feel your input files are too big to send by
+email, you can ftp them to @url{ftp://ftp.tug.org/incoming} (that
+directory is writable, but not readable).
+
+@item
+@cindex context diff
+@cindex sending patches
+@flindex ChangeLog @r{entry}
+If you are sending a patch (do so if you can!), please do so in the form
+of a context diff (@samp{diff -c}) against the original distribution
+source.  Any other form of diff is either not as complete or harder for
+me to understand.  Please also include a @file{ChangeLog} entry.
+
+@item
+@cindex stack trace
+@cindex debugger
+@cindex crashes, reporting
+@cindex core dumps, reporting
+@cindex null pointers, dereferencing
+@pindex gdb@r{, recommended}
+If the bug involved is an actual crash (i.e., core dump), it is easy and
+useful to include a stack trace from a debugger (I recommend the GNU
+debugger GDB, available from @url{ftp://prep.ai.mit.edu/pub/gnu}).  If
+the cause is apparent (a @code{NULL} value being dereferenced, for
+example), please send the details along.  If the program involved is
+@TeX{} or Metafont, and the crash is happening at apparently-sound code,
+however, the bug may well be in the compiler, rather than in the program
+or the library (@pxref{TeX or Metafont failing,, @TeX{} or Metafont
+failing}).
+
+@item
+Any additional information that will be helpful in reproducing,
+diagnosing, or fixing the bug.
+@end itemize
+
+
+@node Mailing lists
+@subsection Mailing lists
+
+@cindex mailing lists
+@cindex bug mailing list
+@cindex announcement mailing list
+
+Web2c and Kpathsea in general are discussed on the mailing list
+@email{tex-k@@mail.tug.org}.
+@flindex tex-k-request@@mail.tug.org
+To join, email @email{tex-k-request@@mail.tug.org} with a line
+consisting of
+
+@example
+subscribe @var{you}@@@var{your.preferred.email.address}
+@end example
+
+@noindent in the body of the message.
+
+You do not need to join to submit a report, nor will it affect whether
+you get a response.  There is no Usenet newsgroup equivalent (if you can
+be the one to set this up, email @samp{tex-k-request}).  Traffic on the
+list is fairly light, and is mainly bug reports and enhancement requests
+to the software.  The best way to decide if you want to join or not is
+read some of the archives from @url{ftp://ftp.tug.org/mail/archives/tex-k/}.
+
+Be aware that large data files are sometimes included in bug reports.
+If this is a problem for you, do not join the list.
+
+@flindex tex-archive@@math.utah.edu
+@cindex announcement mailing list
+If you only want announcements of new releases, not bug reports and
+discussion, join @email{tex-archive@@math.utah.edu} (via mail to
+@email{tex-archive-request@@math.utah.edu}).
+
+@cindex @TeX{} help mailing list
+@cindex La@TeX{} help mailing list
+@cindex Usenet @TeX{} newsgroup
+@cindex newsgroup for @TeX{}
+@cindex help, mailing list for general @TeX{}
+@flindex info-tex@@shsu.edu
+@flindex comp.text.tex
+If you are looking for general @TeX{} help, such as how to use La@TeX{},
+please use the mailing list @email{info-tex@@shsu.edu} mailing list,
+which is gatewayed to the @samp{comp.text.tex} Usenet newsgroup (or post
+to the newsgroup; the gateway is bidirectional).
+
+
+@node Debugging
+@subsection Debugging
+
+@cindex debugging
+@cindex runtime debugging
+@cindex options for debugging
+
+@vindex kpathsea_debug
+@flindex debug.h
+Kpathsea provides a number of runtime debugging options, detailed below
+by their names and corresponding numeric values.  When the files you
+expect aren't being found, the thing to do is enable these options and
+examine the output.
+
+You can set these with some runtime argument (e.g., @samp{-d}) to the
+program; in that case, you should use the numeric values described in
+the program's documentation (which, for Dvipsk and Xdvik, are different
+than those below).  It's best to give the @samp{-d} (or whatever) option
+first, for maximal output.  Dvipsk and Xdvik have additional
+program-specific debugging options as well.
+
+@vindex KPATHSEA_DEBUG
+@vindex kpathsea_debug
+You can also set the environment variable @code{KPATHSEA_DEBUG}; in this
+case, you should use the numbers below.  Also, if you run the program
+under a debugger and set the variable @code{kpathsea_debug}, Also use
+the numbers below
+
+@kindex -1 @r{debugging value}
+In any case, by far the simplest value to use is @samp{-1}, which will
+turn on all debugging output.  This is usually better than guessing
+which particular values will yield the output you need.
+
+@cindex debugging output
+@cindex standard error and debugging output
+Debugging output always goes to standard error, so you can redirect it
+easily.  For example, in Bourne-compatible shells:
+@example
+dvips -d -1 @dots{} 2>/tmp/debug
+@end example
+
+@cindex Kpsewhich, and debugging
+It is sometimes helpful to run the standalone Kpsewhich utility
+(@pxref{Invoking kpsewhich}), instead of the original program.
+
+@cindex numeric debugging values
+In any case, you can @emph{not} use the @emph{names} below; you must
+always use somebody's numbers.  (Sorry.)  To set more than one
+option, just sum the corresponding numbers.
+
+@vtable @code
+@item KPSE_DEBUG_STAT @r{(1)}
+Report @samp{stat}(2) calls. This is useful for verifying that your
+directory structure is not forcing Kpathsea to do many additional file
+tests (@pxref{Slow path searching}, and @pxref{Subdirectory
+expansion}). If you are using an up-to-date @file{ls-R} database
+(@pxref{Filename database}), this should produce no output unless a
+nonexistent file that must exist is searched for.
+
+@item KPSE_DEBUG_HASH @r{(2)}
+Report lookups in all hash tables: @file{ls-R} and @file{aliases}
+(@pxref{Filename database}); font aliases (@pxref{Fontmap}); and config
+file values (@pxref{Config files}).  Useful when expected values are not
+being found, e.g.., file searches are looking at the disk instead of
+using @file{ls-R}.
+
+@item KPSE_DEBUG_FOPEN @r{(4)}
+@findex fopen@r{, redefined}
+Report file openings and closings. Especially useful when your system's
+file table is full, for seeing which files have been opened but never
+closed. In case you want to set breakpoints in a debugger: this works by
+redefining @samp{fopen} (@samp{fclose}) to be @samp{kpse_fopen_trace}
+(@samp{kpse_fclose_trace}).
+
+@item KPSE_DEBUG_PATHS @r{(8)}
+@tindex kpse_format_info_type
+Report general path information for each file type Kpathsea is asked to
+search. This is useful when you are trying to track down how a
+particular path got defined---from @file{texmf.cnf}, @file{config.ps},
+an environment variable, the compile-time default, etc.  This is the
+contents of the @code{kpse_format_info_type} structure defined in
+@file{tex-file.h}.
+
+@item KPSE_DEBUG_EXPAND @r{(16)}
+Report the directory list corresponding to each path element Kpathsea
+searches. This is only relevant when Kpathsea searches the disk, since
+@file{ls-R} searches don't look through directory lists in this way.
+
+@item KPSE_DEBUG_SEARCH @r{(32)}
+Report on each file search: the name of the file searched for, the path
+searched in, whether or not the file must exist (when drivers search for
+@file{cmr10.vf}, it need not exist), and whether or not we are
+collecting all occurrences of the file in the path (as with, e.g.,
+@file{texmf.cnf} and @file{texfonts.map}), or just the first (as with
+most lookups).  This can help you correlate what Kpathsea is doing with
+what is in your input file.
+@end vtable
+
+@cindex @samp{kdebug:}
+@vindex hash_summary_only @r{variable for debugging}
+@cindex hash table buckets, printing
+Debugging output from Kpathsea is always written to standard error, and
+begins with the string @samp{kdebug:}. (Except for hash table buckets,
+which just start with the number, but you can only get that output
+running under a debugger. See comments at the @code{hash_summary_only}
+variable in @file{kpathsea/db.c}.)
+
+
+@node Logging
+@subsection Logging
+
+@cindex log file
+
+@cindex logging successful searches
+@cindex recording successful searches
+@cindex usage patterns, finding
+@cindex disk usage, reducing
+Kpathsea can record the time and filename found for each successful
+search.  This may be useful in finding good candidates for deletion when
+your filesystem is full, or in discovering usage patterns
+at your site.
+
+@vindex TEXMFLOG
+To do this, define the environment or config file variable
+@code{TEXMFLOG}.  The value is the name of the file to append the
+information to.  The file is created if it doesn't exist, and appended
+to if it does.
+
+@cindex epoch, seconds since
+@findex time @r{system call}
+Each successful search turns into one line in the log file: two words
+separated by a space. The first word is the time of the search, as the
+integer number of seconds since ``the epoch'', i.e., UTC midnight 1
+January 1970 (more precisely, the result of the @code{time} system
+call). The second word is the filename.
+
+For example, after @code{setenv TEXMFLOG /tmp/log}, running Dvips on
+@file{story.dvi} appends the following lines:
+
+@example
+774455887 /usr/local/share/texmf/dvips/config.ps
+774455887 /usr/local/share/texmf/dvips/psfonts.map
+774455888 /usr/local/share/texmf/dvips/texc.pro
+774455888 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmbx10.600pk
+774455889 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmsl10.600pk
+774455889 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmr10.600pk
+774455889 /usr/local/share/texmf/dvips/texc.pro
+@end example
+
+@cindex privacy, semblance of
+@noindent Only filenames that are absolute are recorded, to preserve
+some semblance of privacy.
+
+
+@node Common problems
+@subsection Common problems
+
+@cindex common problems
+@cindex problems, common
+@cindex FAQ, Kpathsea
+
+Here are some common problems with configuration, compilation, linking,
+execution, @dots{}
+
+@menu
+* Unable to find files::        If your program can't find fonts (or whatever).
+* Slow path searching::         If it takes forever to find anything.
+* Unable to generate fonts::    If MakeTeXPK fails.
+* TeX or Metafont failing::     Likely compiler bugs.
+
+* XtStrings::                   When _XtStrings is undefined.
+* dlopen::                      When dlopen is undefined.
+* ShellWidgetClass::            For dynamic linking troubles under OpenWindows.
+* Pointer combination warnings::  For old compilers that don't grok char *.
+@end menu
+
+@node Unable to find files
+@subsubsection Unable to find files
+
+@cindex unable to find files
+@cindex files, unable to find
+
+If a program complains it cannot find fonts (or other input files), any
+of several things might be wrong.  In any case, you may find the
+debugging options helpful.  @xref{Debugging}.
+
+@itemize @bullet
+@item
+Perhaps you simply haven't installed all the necessary files; the basic
+fonts and input files are distributed separately from the programs.
+@xref{unixtex.ftp}.
+
+@item
+@flindex /etc/profile
+@cindex environment variables, old
+You have (perhaps unknowingly) told Kpathsea to use search paths that
+don't reflect where the files actually are.  One common cause is having
+environment variables set from a previous installation, thus overriding
+what you carefully set in @file{texmf.cnf} (@pxref{Supported file
+formats}).  System @file{/etc/profile} or other files such may be the
+culprit.
+
+@item
+@cindex symbolic links not found
+@cindex leaf directories wrongly guessed
+Your files reside in a directory that is only pointed to via a symbolic
+link, in a leaf directory and is not listed in @file{ls-R}.
+
+Unfortunately, Kpathsea's subdirectory searching has an irremediable
+deficiency: If a directory @var{d} being searched for subdirectories
+contains plain files and symbolic links to other directories, but no
+true subdirectories, @var{d} will be considered a leaf directory, i.e.,
+the symbolic links will not be followed.  @xref{Subdirectory expansion}.
+
+You can work around this problem by creating an empty dummy subdirectory
+in @var{d}. Then @var{d} will no longer be a leaf, and the symlinks will
+be followed.
+
+The directory immediately followed by the @samp{//} in the path
+specification, however, is always searched for subdirectories, even if
+it is a leaf.  Presumably you would not have asked for the directory to
+be searched for subdirectories if you didn't want it to be.
+
+@item
+If the fonts (or whatever) don't already exist, @code{MakeTeXPK} (or
+@code{MakeTeXMF} or @code{MakeTeXTFM}) will try to create them.  If
+these rather complicated shell scripts fail, you'll eventually get an
+error message saying something like @samp{Can't find font
+@var{fontname}}. The best solution is to fix (or at least report) the
+bug in @code{MakeTeXPK}; the workaround is to generate the necessary
+fonts by hand with Metafont, or to grab them from a CTAN site
+(@pxref{unixtex.ftp}).
+
+@item
+There is a bug in the library. @xref{Reporting bugs}.
+@end itemize
+
+
+@node Slow path searching
+@subsubsection Slow path searching
+
+@cindex excessive startup time
+@cindex slow startup time
+@cindex startup time, excessive
+
+If your program takes an excessively long time to find fonts or other
+input files, but does eventually succeed, here are some possible culprits:
+
+@itemize @bullet
+@item
+Most likely, you just have a lot of directories to search, and that
+takes a noticeable time. The solution is to create and maintain a
+separate @file{ls-R} file that lists all the files in your main @TeX{}
+hierarchy.  @xref{Filename database}.  Kpathsea always uses @file{ls-R}
+if it's present; there's no need to recompile or reconfigure any of the
+programs.
+
+@item
+Your recursively-searched directories (e.g.,
+@file{/usr/local/share/texmf/fonts//}), contain a mixture of files and
+directories. This prevents Kpathsea from using a useful optimization
+(@pxref{Subdirectory expansion}).
+
+It is best to have only directories (and perhaps a @file{README}) in the
+upper levels of the directory structure, and it's very important to have
+@emph{only} files, and no subdirectories, in the leaf directories where
+the dozens of TFM, PK, or whatever files reside.
+@end itemize
+
+In any case, you may find the debugging options helpful in determining
+precisely when the disk or network is being pounded.  @xref{Debugging}.
+
+
+@node Unable to generate fonts
+@subsubsection Unable to generate fonts
+
+@cindex unable to generate fonts
+@cindex font generation failures
+
+This can happen if either @code{MakeTeXPK} hasn't been installed
+properly, or if the local installation of Metafont isn't correct.
+
+@cindex Metafont installation
+If @code{mf} is a command not found by @code{MakeTeXPK}, then you need
+to install Metafont (@pxref{unixtex.ftp}).
+
+@cindex Metafont using the wrong resolution
+@cindex resolution, wrong
+If Metafont runs, but generates fonts at the wrong resolution, you need
+to be sure the @samp{M} and @samp{D} lines in your Dvips configuration
+file match (@pxref{Config files,,, dvips, Dvips}).  For example, if
+@code{MakeTeXPK} is generating 300@dmn{dpi} fonts, but you need
+600@dmn{dpi} fonts, you should have:
+@example
+M ljfour
+D 600
+@end example
+
+@flindex .2602gf
+@flindex 2602gf
+@cindex Metafont making too-large fonts
+@cindex proof mode
+@cindex online Metafont display, spurious
+If Metafont runs but generates fonts at a resolution of 2602@dmn{dpi}
+(and prints out the name of each character as well as just a character
+number, and maybe tries to display the characters), then your Metafont
+base file probably hasn't been made properly.  (It's using the default
+@code{proof} mode, instead of an actual device mode.)  To make a proper
+@file{plain.base}, assuming the local mode definitions are contained in
+a file @file{modes.mf}, run the following command (assuming Unix):
+
+@example
+inimf "plain; input modes; dump"
+@end example
+
+@noindent
+@flindex plain.base
+Then copy the @file{plain.base} file from the current directory to where
+the base files are stored on your system
+(@file{/usr/local/share/texmf/web2c} by default), and make a link
+(either hard or soft) from @file{plain.base} to @file{mf.base} in that
+directory.
+@xref{inimf invocation,,, web2c, Web2c}.
+
+
+@node TeX or Metafont failing
+@subsubsection @TeX{} or Metafont failing
+
+@cindex @TeX{} failures
+@cindex Metafont failures
+@cindex compiler bugs
+If @TeX{} or Metafont get a segmentation fault or otherwise fail while
+running a normal input file, the problem is usually a compiler bug
+(unlikely as that may sound).  Even if the trip and trap tests are
+passed, problems may lurk.  Optimization occasionally causes trouble in
+programs other than @TeX{} and Metafont themselves, too.
+
+Insufficient swap space may also cause core dumps or other erratic
+behavior.
+
+@cindex optimization caveat
+For a workaround, if you enabled any optimization flags, it's best to
+omit optimization entirely.  In any case, the way to find the facts is
+to run the program under the debugger and see where it's failing.
+
+@cindex GNU C compiler bugs
+@cindex system C compiler bugs
+Also, if you have trouble with a system C compiler, I advise trying the
+GNU C compiler. And vice versa, unfortunately; but in that case I also
+recommend reporting a bug to the GCC mailing list; @pxref{Bugs,,, gcc,
+Using and Porting GNU CC}.
+
+@cindex compiler bugs, finding
+To report compiler bugs effectively requires perseverance and
+perspicacity: you must find the miscompiled line, and that usually
+involves delving backwards in time from the point of error, checking
+through @TeX{}'s (or whatever program's) data structures.  Things are
+not helped by all-too-common bugs in the debugger itself.  Good luck.
+
+
+@ignore
+@node Empty Makefiles
+@subsubsection Empty Makefiles
+
+@cindex Makefiles, empty
+@pindex sed @r{error from @code{configure}}
+@pindex configure @r{error from @code{sed}}
+@cindex NetBSD @code{configure} error
+@cindex FreeBSD @code{configure} error
+@cindex Mach10 @code{configure} error
+@cindex AIX 4.1 @code{configure} error
+
+On some systems (NetBSD, FreeBSD, AIX 4.1, and Mach10), @code{configure}
+cannot properly create the Makefiles. Instead, you get an error
+something like this:
+
+@example
+prompt$ ./configure
+@dots{}
+creating Makefile
+sed: 1: "\\@@^ac_include make/pat ...": \ can not be used as a string delimiter
+@end example
+
+So far as I know, the bug here is in @code{/bin/sh} on these systems. I
+don't have access to a machine running any of them, so if someone can
+find a workaround that avoids the quoting bug, I'd be most
+grateful. (Search for @code{ac_include} in the @code{configure} script
+to get to the problematic code.)
+
+It should work to run @code{bash configure}, instead of using
+@code{/bin/sh}. You can get Bash from
+@url{ftp://prep.ai.mit.edu/pub/gnu} and mirrors.
+
+
+@node wchar_t
+@subsubsection @code{wchar_t}
+
+@vindex FOIL_X_WCHAR_T
+@tindex wchar_t
+
+The upshot of all the following is that if you get error messages
+regarding @code{wchar_t}, try defining @code{NO_FOIL_X_WCHAR_T} (for
+Web2c) or @code{FOIL_X_WCHAR_T} (for everything else), as in:
+
+@example
+make XCFLAGS=-DNO_FOIL_X_WCHAR_T @var{other-make-options}
+@end example
+
+@flindex Xlib.h
+@flindex stddef.h
+@code{wchar_t} has caused infinite trouble. None of my code ever uses
+@code{wchar_t}; all I want to do is include X header files and various
+system header files, possibly compiling with GCC. This seems an
+impossible task! The basic problem is that the X11 header
+@file{<Xlib.h>} and GCC's @file{<stddef.h>} have conflicting definitions
+for @code{wchar_t}.
+
+The particulars: @file{<X11/Xlib.h>} from MIT X11R5 defines
+@code{wchar_t} if @code{X_WCHAR} is defined, which is defined if
+@code{X_NOT_STDC_ENV} is defined, and we define @emph{that} if
+@code{STDC_HEADERS} is not defined (@samp{configure} decides if
+@code{STDC_HEADERS} gets defined).  But when compiling with GCC on SunOS
+4.1.x, @code{STDC_HEADERS} is not defined (@file{string.h} doesn't
+declare the @samp{mem}* functions), so we do get X's
+@code{wchar_t}---and we also get GCC's @code{wchar_t} from its
+@file{<stddef.h>}.  Conflict.
+
+On the other hand, SunOS 4.1.1 with some other X configurations actually
+needs GCC to define @code{wchar_t}, and fails otherwise.
+
+My current theory is to define @code{wchar_t} to a nonsense symbol
+before the X include files are read; that way its definition (if any)
+will be ignored by other system include files.  Going along with that,
+define @code{X_WCHAR} to tell X not to use @file{<stddef.h>}, that we've
+already included, but instead to make its own definition.
+
+But this is not the end of the story. The X11 include files distributed
+with DG/UX 5.4.2 for the Aviion have been modified to include
+@file{<_int_wchar_t.h>} if @code{X_WCHAR}, so our @code{#define} will
+not have any typedef to change---but the uses of @code{wchar_t} in the X
+include files will be changed to reference this undefined symbol. So
+there's nothing to foil in this case. I don't know how to detect this
+automatically, so it's up to you to define @code{NO_FOIL_X_WCHAR_T}
+yourself.
+@end ignore
+
+@node XtStrings
+@subsubsection @code{XtStrings}
+
+@findex XtStrings
+You may find that linking X programs results in an error from the linker
+that @samp{XtStrings} is undefined, something like this:
+
+@example
+gcc -o virmf @dots{}
+@dots{}/x11.c:130: undefined reference to `XtStrings'
+@end example
+
+This generally happens because of a mismatch between the X include files
+with which you compiled and the X libraries with which you linked;
+often, the include files are from MIT and the libraries from Sun.
+
+The solution is to use the same X distribution for compilation and
+linking.  Probably @samp{configure} was unable to guess the proper
+directories from your installation.  You can use the @code{configure}
+options @samp{--x-includes=@var{path}} and
+@samp{--x-libraries=@var{path}} to explicitly specify them.
+
+
+@node dlopen
+@subsubsection @code{dlopen}
+
+@cindex static linking and @code{dlsym}
+@flindex dlopen
+@flindex dlsym
+@flindex dlclose
+@flindex wcstombs
+@flindex libdl.a
+(This section adapted from the file @file{dlsym.c} in the X distribution.)
+
+The @code{Xlib} library uses the standard C function @code{wcstombs}.
+Under SunOS 4.1, @code{wcstombs} uses the @samp{dlsym} interface defined
+in @file{libdl.so}.  Unfortunately, the SunOS 4.1 distribution does not
+include a static @samp{libdl.a} library.
+
+As a result, if you try to link an X program statically under SunOS, you
+may get undefined references to @code{dlopen}, @code{dlsym}, and
+@code{dlclose}.  One workaround is to include these definitions
+when you link:
+
+@example
+void *dlopen() @{ return 0; @}
+void *dlsym()  @{ return 0; @}
+int dlclose()  @{ return -1; @}
+@end example
+
+@flindex dlsym.c
+@noindent These are contained in the @file{dlsym.c} file in the MIT X
+distribution.
+
+
+@node ShellWidgetClass
+@subsubsection @code{ShellWidgetClass}
+
+@cindex dynamic linking problems with OpenWin libraries
+@cindex OpenWin libraries, dynamic linking problems
+@findex get_wmShellWidgetClass
+@findex get_applicationShellWidgetClass
+
+@flindex comp.sys.sun.admin @r{FAQ}
+@cindex FAQ, @t{comp.sys.sun.admin}
+(This section adapted from the @t{comp.sys.sun.admin} FAQ.)
+
+If you are linking with Sun's OpenWindows libraries in SunOS 4.1.x, you
+may get undefined symbols @code{_get_wmShellWidgetClass} and
+@code{_get_applicationShellWidgetClass} when linking. This problem does
+not arise using the standard MIT X libraries under SunOS.
+
+@findex Xmu @r{library problems}
+The cause is bugs in the @code{Xmu} shared library as shipped from Sun.
+There are several fixes:
+
+@itemize @bullet
+
+@item Install the free MIT distribution from @samp{ftp.x.org} and mirrors.
+
+@item Get the OpenWindows patches listed below.
+
+@item Statically link the @code{Xmu} library into the executable.
+
+@item Avoid using @code{Xmu} at all. If you are compiling
+Metafont, @pxref{Online Metafont graphics,,, web2c, Web2c}. If you are
+compiling Xdvi, see the @code{-DNOTOOL} option in @file{xdvik/INSTALL}.
+
+@item Ignore the errors. The binary runs fine regardless.
+
+@end itemize
+
+@cindex Sun OpenWin patches
+@cindex patches, Sun OpenWin
+Here is the information for getting the two patches:
+
+@display
+Patch ID: 100512-02
+Bug ID's: 1086793, 1086912, 1074766
+Description: 4.1.x OpenWindows 3.0 @code{libXt} jumbo patch
+
+Patch ID: 100573-03
+Bug ID: 1087332
+Description: 4.1.x OpenWindows 3.0 undefined symbols when using shared @code{libXmu}.
+@end display
+
+@cindex static linking
+The way to statically link with @code{libXmu} depends on whether you are
+using a Sun compiler (e.g., @code{cc}) or @code{gcc}. If the latter,
+alter the @code{x_libs} Make variable to include
+
+@opindex -static
+@opindex -dynamic
+@example
+-static -lXmu -dynamic
+@end example
+
+@opindex -Bstatic
+@opindex -Bdynamic
+If you are using the Sun compiler, use @samp{-Bstatic} and @samp{-Bdynamic}.
+
+
+@node Pointer combination warnings
+@subsubsection Pointer combination warnings
+
+@cindex warnings, pointer combinations
+@cindex pointer combination warnings
+@cindex illegal pointer combination warnings
+@pindex cc @r{warnings}
+When compiling with old C compilers, you may get some warnings about
+``illegal pointer combinations''.  These are spurious; just ignore them.
+I decline to clutter up the source with casts to get rid of them.
+
+@c This isn't worth including any more, OSF 1.x is too old.
+@c The other XtInherit problem (R4 Xlib on Suns) should never come up,
+@c but the answer from the X faq is included anyway.
+@c
+@c @node XtInherit
+@c @subsubsection @code{XtInherit}
+@c 
+@c @findex XtInherit @r{bug on OSF/1}
+@c @cindex OSF/1 loader bug and @code{XtInherit}
+@c @cindex Alpha OSF/1 loader bug and @code{XtInherit}
+@c 
+@c On DEC OSF/1 1.x systems, the loader has a bug that manifests itself in
+@c the following error (all on one line, but for the sake of the paper
+@c width it's broken here):
+@c 
+@c @example
+@c xdvik/xdvi: /sbin/loader: Fatal Error: search_for_undefineds: 
+@c      symbol _XtInherit should not have any relocation entry
+@c @end example
+@c 
+@c @noindent According to Michael Rickabaugh @code{<mjr@@quarry.enet.dec.com>}:
+@c 
+@c @quotation
+@c This is a bug fixed in DEC OSF/1 2.0.
+@c 
+@c If you know how, installing @file{/sbin/loader} from a 2.0 system onto a
+@c 1.3 system will work.  Make sure that @file{/usr} is @emph{not} mounted
+@c when you do this.  (If you forget about umounting @code{/usr}, it is
+@c possible most of your filesystems will become corrupted.)
+@c 
+@c Otherwise, I suggest getting a later CD and running
+@c @file{/usr/sbin/installupdate}.
+@c @end quotation
+@c 
+@c Alternatively, you may be able to use the freely available X11 libraries
+@c that come with the MIT distribution (on @file{ftp.x.org}, for example).
+@c 
+@c Linking statically, perhaps only with some of the X libraries, may also
+@c work.
+@c 
+@c The Sun XtInherit weirdness, from the comp.windows.x FAQ:
+@c Subject: 126)! What are these problems with "*_XtInherit* not found" on the Sun?
+@c When I link a X program that I wrote on a SunOS 4.0.3 or 4.1 machine I get the 
+@c error "ld.so: symbol not found *_XtInherit*".
+@c 
+@c      What you are seeing is a side-effect of a kludge in the R4 libXt.a to 
+@c get Sun shared libraries working.  Apparently, you can't share a function that 
+@c is both called and compared, as *_XtInherit* is. This was handled by putting 
+@c *_XtInherit* in the same file as a function that is always used, thereby 
+@c guaranteeing that it would be loaded -- that is, in Initialize.c, where 
+@c XtToolkitInitialize() and XtInitialize() reside. These routines would normally
+@c be called.
+@c 
+@c      You are probably seeing this error because your program is not a normal
+@c Xt-based program and does not call XtToolkitInitialize() anywhere. 
+@c      1) it may be a program that uses Xt functions but never opens a 
+@c connection to the X server.  [OSF/Motif's 1.1.0 UIL had this problem; it called
+@c XtMalloc() and other Xt functions.] The solution is to add the call to your 
+@c program; the function does not have to be executed, just linked in.
+@c      2) alternatively, your program doesn't need any Xt functions and is
+@c correct in not calling XtToolkitInitialize() -- it may be an Xlib or XView 
+@c program. In this case, you can remove -lXt from your link command. 
+@c 
+@c      It should not be necessary to link the shared libraries statically,
+@c although this will certainly solve the problem.
+
+@c * Empty Makefiles::             If configure gives you sed errors.
+@c * wchar_t::                     For wchar_t difficulties.
new file mode 100644
--- /dev/null
+++ b/kpathsea/c-auto.h
@@ -0,0 +1,106 @@
+/* c-auto.h.  Generated automatically by configure.  */
+/* c-auto.h.in.  Generated automatically from configure.in by autoheader.  */
+/* acconfig.h -- used by autoheader when generating c-auto.h.in.
+
+   If you're thinking of editing acconfig.h to fix a configuration
+   problem, don't. Edit the c-auto.h file created by configure,
+   instead.  Even better, fix configure to give the right answer.  */
+
+/* kpathsea/configure.in tests for these functions with
+   kb_AC_KLIBTOOL_REPLACE_FUNCS, and naturally Autoheader doesn't know
+   about that macro.  Since the shared library stuff is all preliminary
+   anyway, I decided not to change Autoheader, but rather to hack them
+   in here.  */
+#define HAVE_BASENAME 1
+#define HAVE_PUTENV 1
+#define HAVE_STRCASECMP 1
+#define HAVE_STRTOL 1
+#define HAVE_STRSTR 1
+
+
+/* Define if the closedir function returns void instead of int.  */
+/* #undef CLOSEDIR_VOID */
+
+/* Define to empty if the keyword does not work.  */
+/* #undef const */
+
+/* Define if you have the ANSI C header files.  */
+#define STDC_HEADERS 1
+
+/* Define if your putenv doesn't waste space when the same environment
+   variable is assigned more than once, with different (malloced)
+   values.  This is true only on NetBSD/FreeBSD, as far as I know. See
+   xputenv.c.  */
+/* #undef SMART_PUTENV */
+
+/* Define if you are using GNU libc or otherwise have global variables
+   `program_invocation_name' and `program_invocation_short_name'.  */
+/* #undef HAVE_PROGRAM_INVOCATION_NAME */
+
+/* all: Define to enable running scripts when missing input files.  */
+#define MAKE_TEX_MF_BY_DEFAULT 1
+#define MAKE_TEX_PK_BY_DEFAULT 1
+#define MAKE_TEX_TEX_BY_DEFAULT 0
+#define MAKE_TEX_TFM_BY_DEFAULT 1
+#define MAKE_OMEGA_OFM_BY_DEFAULT 0
+#define MAKE_OMEGA_OCP_BY_DEFAULT 0
+
+/* Define if you have the basename function.  */
+#define HAVE_BASENAME 1
+
+/* Define if you have the bcopy function.  */
+#define HAVE_BCOPY 1
+
+/* Define if you have the getwd function.  */
+#define HAVE_GETWD 1
+
+/* Define if you have the putenv function.  */
+#define HAVE_PUTENV 1
+
+/* Define if you have the strcasecmp function.  */
+#define HAVE_STRCASECMP 1
+
+/* Define if you have the strstr function.  */
+#define HAVE_STRSTR 1
+
+/* Define if you have the strtol function.  */
+#define HAVE_STRTOL 1
+
+/* Define if you have the <assert.h> header file.  */
+#define HAVE_ASSERT_H 1
+
+/* Define if you have the <dirent.h> header file.  */
+#define HAVE_DIRENT_H 1
+
+/* Define if you have the <float.h> header file.  */
+#define HAVE_FLOAT_H 1
+
+/* Define if you have the <limits.h> header file.  */
+#define HAVE_LIMITS_H 1
+
+/* Define if you have the <memory.h> header file.  */
+#define HAVE_MEMORY_H 1
+
+/* Define if you have the <ndir.h> header file.  */
+/* #undef HAVE_NDIR_H */
+
+/* Define if you have the <pwd.h> header file.  */
+#define HAVE_PWD_H 1
+
+/* Define if you have the <stdlib.h> header file.  */
+#define HAVE_STDLIB_H 1
+
+/* Define if you have the <string.h> header file.  */
+#define HAVE_STRING_H 1
+
+/* Define if you have the <sys/dir.h> header file.  */
+/* #undef HAVE_SYS_DIR_H */
+
+/* Define if you have the <sys/ndir.h> header file.  */
+/* #undef HAVE_SYS_NDIR_H */
+
+/* Define if you have the <sys/param.h> header file.  */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define if you have the <unistd.h> header file.  */
+#define HAVE_UNISTD_H 1
new file mode 100644
--- /dev/null
+++ b/kpathsea/c-auto.h.in
@@ -0,0 +1,105 @@
+/* c-auto.h.in.  Generated automatically from configure.in by autoheader.  */
+/* acconfig.h -- used by autoheader when generating c-auto.h.in.
+
+   If you're thinking of editing acconfig.h to fix a configuration
+   problem, don't. Edit the c-auto.h file created by configure,
+   instead.  Even better, fix configure to give the right answer.  */
+
+/* kpathsea/configure.in tests for these functions with
+   kb_AC_KLIBTOOL_REPLACE_FUNCS, and naturally Autoheader doesn't know
+   about that macro.  Since the shared library stuff is all preliminary
+   anyway, I decided not to change Autoheader, but rather to hack them
+   in here.  */
+#undef HAVE_BASENAME
+#undef HAVE_PUTENV
+#undef HAVE_STRCASECMP
+#undef HAVE_STRTOL
+#undef HAVE_STRSTR
+
+
+/* Define if the closedir function returns void instead of int.  */
+#undef CLOSEDIR_VOID
+
+/* Define to empty if the keyword does not work.  */
+#undef const
+
+/* Define if you have the ANSI C header files.  */
+#undef STDC_HEADERS
+
+/* Define if your putenv doesn't waste space when the same environment
+   variable is assigned more than once, with different (malloced)
+   values.  This is true only on NetBSD/FreeBSD, as far as I know. See
+   xputenv.c.  */
+#undef SMART_PUTENV
+
+/* Define if you are using GNU libc or otherwise have global variables
+   `program_invocation_name' and `program_invocation_short_name'.  */
+#undef HAVE_PROGRAM_INVOCATION_NAME
+
+/* all: Define to enable running scripts when missing input files.  */
+#define MAKE_TEX_MF_BY_DEFAULT 0
+#define MAKE_TEX_PK_BY_DEFAULT 0
+#define MAKE_TEX_TEX_BY_DEFAULT 0
+#define MAKE_TEX_TFM_BY_DEFAULT 0
+#define MAKE_OMEGA_OFM_BY_DEFAULT 0
+#define MAKE_OMEGA_OCP_BY_DEFAULT 0
+
+/* Define if you have the basename function.  */
+#undef HAVE_BASENAME
+
+/* Define if you have the bcopy function.  */
+#undef HAVE_BCOPY
+
+/* Define if you have the getwd function.  */
+#undef HAVE_GETWD
+
+/* Define if you have the putenv function.  */
+#undef HAVE_PUTENV
+
+/* Define if you have the strcasecmp function.  */
+#undef HAVE_STRCASECMP
+
+/* Define if you have the strstr function.  */
+#undef HAVE_STRSTR
+
+/* Define if you have the strtol function.  */
+#undef HAVE_STRTOL
+
+/* Define if you have the <assert.h> header file.  */
+#undef HAVE_ASSERT_H
+
+/* Define if you have the <dirent.h> header file.  */
+#undef HAVE_DIRENT_H
+
+/* Define if you have the <float.h> header file.  */
+#undef HAVE_FLOAT_H
+
+/* Define if you have the <limits.h> header file.  */
+#undef HAVE_LIMITS_H
+
+/* Define if you have the <memory.h> header file.  */
+#undef HAVE_MEMORY_H
+
+/* Define if you have the <ndir.h> header file.  */
+#undef HAVE_NDIR_H
+
+/* Define if you have the <pwd.h> header file.  */
+#undef HAVE_PWD_H
+
+/* Define if you have the <stdlib.h> header file.  */
+#undef HAVE_STDLIB_H
+
+/* Define if you have the <string.h> header file.  */
+#undef HAVE_STRING_H
+
+/* Define if you have the <sys/dir.h> header file.  */
+#undef HAVE_SYS_DIR_H
+
+/* Define if you have the <sys/ndir.h> header file.  */
+#undef HAVE_SYS_NDIR_H
+
+/* Define if you have the <sys/param.h> header file.  */
+#undef HAVE_SYS_PARAM_H
+
+/* Define if you have the <unistd.h> header file.  */
+#undef HAVE_UNISTD_H
new file mode 100644
--- /dev/null
+++ b/kpathsea/c-ctype.h
@@ -0,0 +1,81 @@
+/* c-ctype.h: ASCII-safe versions of the <ctype.h> macros.
+
+Copyright (C) 1992 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef KPATHSEA_C_CTYPE_H
+#define KPATHSEA_C_CTYPE_H
+
+#include <ctype.h>
+
+/* Be sure we have `isascii'.  */
+#ifndef isascii
+#define isascii(c) 1
+#endif
+
+#define ISALNUM(c) (isascii (c) && isalnum(c))
+#define ISALPHA(c) (isascii (c) && isalpha(c))
+#define ISASCII isascii
+#define ISCNTRL(c) (isascii (c) && iscntrl(c))
+#define ISDIGIT(c) (isascii (c) && isdigit (c))
+#define ISGRAPH(c) (isascii (c) && isgraph(c))
+#define ISLOWER(c) (isascii (c) && islower(c))
+#define ISPRINT(c) (isascii (c) && isprint(c))
+#define ISPUNCT(c) (isascii (c) && ispunct(c))
+#define ISSPACE(c) (isascii (c) && isspace(c))
+#define ISUPPER(c) (isascii (c) && isupper(c))
+#define ISXDIGIT(c) (isascii (c) && isxdigit(c))
+#define TOASCII toascii
+#define TOLOWER(c) (ISUPPER (c) ? tolower (c) : (c))
+#define TOUPPER(c) (ISLOWER (c) ? toupper (c) : (c))
+
+/* This isn't part of the usual <ctype.h>, but it's useful sometimes.  */
+#ifndef isblank
+#define isblank(c) ((c) == ' ' || (c) == '\t')
+#endif
+
+
+/* Here's why this mess is necessary:
+
+From: meyering@cs.utexas.edu (Jim Meyering)
+Date: Wed, 25 Nov 1992 09:52:33 -0600
+Subject: ss-921123: using isascii with <ctype.h> macros
+
+  Yesterday some cursory regression testing found that GNU od
+  (in an upcoming release of textutils) generated incorrect output
+  when run on an SGI indigo because isprint ('\377') returned true.
+  Of course, '\377' is not a printing character;  the problem lay
+  in using isprint without first making sure its integer argument
+  corresponded to an ascii code.
+
+  MORAL: always guard uses of ctype macros with isascii if it's available.
+  An obvious alternative is to avoid <ctype.h> and define and use your
+  own versions of the ctype macros.
+
+  A pretty clean approach to using <ctype.h> and isascii was
+  suggested by David MacKenzie:
+
+  #ifndef isascii
+  #define isascii(c) 1
+  #endif
+
+  #define ISDIGIT(c) (isascii (c) && isdigit (c))
+  #define ISPRINT(c) (isascii (c) && isprint (c))
+  ...
+
+  then, use ISDIGIT, etc. instead of isdigit, etc.  */
+  
+#endif /* not KPATHSEA_C_CTYPE_H */
new file mode 100644
--- /dev/null
+++ b/kpathsea/c-dir.h
@@ -0,0 +1,44 @@
+/* c-dir.h: directory headers.
+
+Copyright (C) 1992, 93, 94 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef KPATHSEA_C_DIR_H
+#define KPATHSEA_C_DIR_H
+
+/* Use struct dirent instead of struct direct.  */
+#ifdef HAVE_DIRENT_H
+#include <dirent.h>
+#define NAMLEN(dirent) strlen ((dirent)->d_name)
+#else /* not DIRENT */
+#define dirent direct
+#define NAMLEN(dirent) ((dirent)->d_namlen)
+
+#ifdef HAVE_SYS_NDIR_H
+#include <sys/ndir.h>
+#endif
+
+#ifdef HAVE_SYS_DIR_H
+#include <sys/dir.h>
+#endif
+
+#ifdef HAVE_NDIR_H
+#include <ndir.h>
+#endif
+
+#endif /* not DIRENT */
+
+#endif /* not KPATHSEA_C_DIR_H */
new file mode 100644
--- /dev/null
+++ b/kpathsea/c-errno.h
@@ -0,0 +1,27 @@
+/* c-errno.h: <errno.h> and the errno variable.
+
+Copyright (C) 1992 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef KPATHSEA_C_ERRNO_H
+#define KPATHSEA_C_ERRNO_H
+
+#include <errno.h>
+#ifndef errno
+extern int errno;
+#endif
+
+#endif /* not KPATHSEA_C_ERRNO_H */
new file mode 100644
--- /dev/null
+++ b/kpathsea/c-fopen.h
@@ -0,0 +1,65 @@
+/* c-fopen.h: how to open files with fopen.
+
+Copyright (C) 1992, 94, 95, 96 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef C_FOPEN_H
+#define C_FOPEN_H
+
+/* How to open a text file:  */
+#ifndef FOPEN_A_MODE
+#define FOPEN_A_MODE "a"
+#endif
+
+#ifndef FOPEN_R_MODE
+#define FOPEN_R_MODE "r"
+#endif
+
+#ifndef FOPEN_W_MODE
+#define FOPEN_W_MODE "w"
+#endif
+
+/* How to open a binary file for reading:  */
+#ifndef FOPEN_RBIN_MODE
+#ifdef DOS
+#define FOPEN_RBIN_MODE "r+b"
+#else
+#if defined (VMS) || defined (VMCMS) || defined (OS2) || defined (WIN32)
+#define	FOPEN_RBIN_MODE	"rb"
+#else
+#define	FOPEN_RBIN_MODE	"r"
+#endif /* not (VM/CMS or VMS or OS2 or WIN32) */
+#endif /* not DOS */
+#endif /* not FOPEN_RBIN_MODE */
+
+/* How to open a binary file for writing:  */
+#ifndef FOPEN_WBIN_MODE
+#ifdef DOS
+#define FOPEN_WBIN_MODE "w+b"
+#else
+#if defined (OS2) || defined (WIN32)
+#define FOPEN_WBIN_MODE "wb"
+#else
+#ifdef VMCMS
+#define FOPEN_WBIN_MODE "wb, lrecl=1024, recfm=f"
+#else
+#define	FOPEN_WBIN_MODE	"w"
+#endif /* not VM/CMS */
+#endif /* not (OS2 or WIN32) */
+#endif /* not DOS */
+#endif /* not FOPEN_WBIN_MODE */
+
+#endif /* not C_FOPEN_H */
new file mode 100644
--- /dev/null
+++ b/kpathsea/c-limits.h
@@ -0,0 +1,36 @@
+/* c-limits.h: include the system parameter file.
+
+Copyright (C) 1992, 93, 96 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef C_LIMITS_H
+#define C_LIMITS_H
+
+#ifdef HAVE_LIMITS_H
+#include <limits.h>
+#else
+#include <kpathsea/systypes.h>
+#ifdef HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif
+#endif /* not HAVE_LIMITS_H */
+
+/* Some systems may have the floating-point limits in the above.  */
+#if defined (HAVE_FLOAT_H) && !defined (FLT_MAX)
+#include <float.h>
+#endif
+
+#endif /* not C_LIMITS_H */
new file mode 100644
--- /dev/null
+++ b/kpathsea/c-memstr.h
@@ -0,0 +1,82 @@
+/* c-memstr.h: memcpy, strchr, etc.
+
+Copyright (C) 1992, 93, 94, 95, 97 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef KPATHSEA_C_MEMSTR_H
+#define KPATHSEA_C_MEMSTR_H
+
+/* <X11/Xfuncs.h> tries to declare bcopy etc., which can only conflict.  */
+#define _XFUNCS_H_
+
+/* Just to be complete, we make both the system V/ANSI and the BSD
+   versions of the string functions available.  */
+#if defined (STDC_HEADERS) || defined (HAVE_STRING_H)
+#if 0 /* OK, we'll try without; seems to be unnecessary now.  */
+#define SYSV /* so <X11/Xos.h> knows not to include <strings.h> */
+#endif /* 0 */
+#include <string.h>
+
+/* An ANSI string.h and pre-ANSI memory.h might conflict.  */
+#if !defined (STDC_HEADERS) && defined (HAVE_MEMORY_H)
+#include <memory.h>
+#endif /* not STDC_HEADERS and HAVE_MEMORY_H */
+
+/* Do not define these if we are not STDC_HEADERS, because in that
+   case X11/Xos.h defines `strchr' to be `index'. */
+#ifdef STDC_HEADERS
+/* Let's hope that if index/rindex are defined, they're defined to the
+   right thing.  */
+#ifndef index
+#define index strchr
+#endif
+#ifndef rindex
+#define rindex strrchr
+#endif
+#endif /* STDC_HEADERS */
+
+#ifndef HAVE_BCOPY
+#ifndef bcmp
+#define bcmp(s1, s2, len) memcmp ((s1), (s2), (len))
+#endif
+#ifndef bcopy
+#define bcopy(from, to, len) memcpy ((to), (from), (len))
+#endif
+#ifndef bzero
+#define bzero(s, len) memset ((s), 0, (len))
+#endif
+#endif /* not HAVE_BCOPY */
+
+#else /* not (STDC_HEADERS or HAVE_STRING_H) */
+
+#include <strings.h>
+
+#ifndef strchr
+#define strchr index
+#endif
+#ifndef strrchr
+#define strrchr rindex
+#endif
+
+#define memcmp(s1, s2, n) bcmp ((s1), (s2), (n))
+#define memcpy(to, from, len) bcopy ((from), (to), (len))
+
+extern char *strtok ();
+extern char *strstr ();
+
+#endif /* not (STDC_HEADERS or HAVE_STRING_H) */
+
+#endif /* not KPATHSEA_C_MEMSTR_H */
new file mode 100644
--- /dev/null
+++ b/kpathsea/c-minmax.h
@@ -0,0 +1,84 @@
+/* c-minmax.h: define INT_MIN, etc.  Assume a 32-bit machine if the
+   values aren't defined.
+
+Copyright (C) 1992, 93 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef KPATHSEA_C_MINMAX_H
+#define KPATHSEA_C_MINMAX_H
+
+#include <kpathsea/c-limits.h>
+
+/* Declared in <limits.h> on ANSI C systems.  If the system doesn't
+   define it, we use the minimum ANSI values -- except for `int'; we
+   assume 32-bit integers.  */
+
+#ifndef SCHAR_MIN
+#define SCHAR_MIN (-127)
+#endif
+#ifndef SCHAR_MAX
+#define SCHAR_MAX 128
+#endif
+#ifndef UCHAR_MAX
+#define UCHAR_MAX 255
+#endif
+
+#ifndef SHRT_MIN
+#define SHRT_MIN (-32767)
+#endif
+#ifndef SHRT_MAX
+#define SHRT_MAX 32767
+#endif
+#ifndef USHRT_MAX
+#define USHRT_MAX 65535
+#endif
+
+#ifndef INT_MIN
+#define INT_MIN (-2147483647)
+#endif
+#ifndef INT_MAX
+#define INT_MAX 2147483647
+#endif
+#ifndef UINT_MAX
+#define UINT_MAX 4294967295
+#endif
+
+#ifndef LONG_MIN
+#define LONG_MIN INT_MIN
+#endif
+#ifndef LONG_MAX
+#define LONG_MAX INT_MAX
+#endif
+#ifndef ULONG_MAX
+#define ULONG_MAX UINT_MAX
+#endif
+
+/* Declared in <float.h> on ANSI C systems.  */
+#ifndef DBL_MIN
+#define DBL_MIN 1e-37
+#endif
+#ifndef DBL_MAX
+#define DBL_MAX 1e+37
+#endif
+
+#ifndef FLT_MIN
+#define FLT_MIN 1e-37
+#endif
+#ifndef FLT_MAX
+#define FLT_MAX 1e+37
+#endif
+
+#endif /* not KPATHSEA_C_MINMAX_H */
new file mode 100644
--- /dev/null
+++ b/kpathsea/c-namemx.h
@@ -0,0 +1,36 @@
+/* c-namemx.h: define NAME_MAX, the maximum length of a single
+   component in a filename.  No such limit may exist, or may vary
+   depending on the filesystem.
+
+Copyright (C) 1992, 93 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef KPATHSEA_C_NAME_MX_H
+#define KPATHSEA_C_NAME_MX_H
+
+#include <kpathsea/c-limits.h>
+
+/* Most likely the system will truncate filenames if it is not POSIX,
+   and so we can use the BSD value here.  */
+#ifndef _POSIX_NAME_MAX
+#define _POSIX_NAME_MAX 255
+#endif
+
+#ifndef NAME_MAX
+#define NAME_MAX _POSIX_NAME_MAX
+#endif
+
+#endif /* not KPATHSEA_C_NAME_MX_H */
new file mode 100644
--- /dev/null
+++ b/kpathsea/c-pathch.h
@@ -0,0 +1,101 @@
+/* c-pathch.h: define the characters which separate components of
+   filenames and environment variable paths.
+
+Copyright (C) 1992, 93, 95, 97 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef C_PATHCH_H
+#define C_PATHCH_H
+
+#include <kpathsea/c-ctype.h>
+
+/* What separates filename components?  */
+#ifndef DIR_SEP
+#ifdef VMS
+#define DIR_SEP ':'
+#define DIR_SEP_STRING ":"
+#else
+#ifdef DOSISH
+/* Either \'s or 's work.  Wayne Sullivan's web2pc prefers /, so we'll
+   go with that.  */
+#define DIR_SEP '/'
+#define DIR_SEP_STRING "/"
+#define IS_DEVICE_SEP(ch) ((ch) == ':')
+#define NAME_BEGINS_WITH_DEVICE(name) \
+  (ISALPHA(*(name)) && IS_DEVICE_SEP((name)[1]))
+/* On DOS, it's good to allow both \ and / between directories.  */
+#define IS_DIR_SEP(ch) ((ch) == '/' || (ch) == '\\')
+#else
+#ifdef AMIGA
+#define DIR_SEP '/'
+#define DIR_SEP_STRING "/"
+#define IS_DIR_SEP(ch) ((ch) == '/' || (ch) == ':')
+#define IS_DEVICE_SEP(ch) ((ch) == ':')
+#else
+#ifdef VMCMS
+#define DIR_SEP ' '
+#define DIR_SEP_STRING " "
+#else
+#define DIR_SEP '/'
+#define DIR_SEP_STRING "/"
+#endif /* not VM/CMS */
+#endif /* not AMIGA */
+#endif /* not DOSISH */
+#endif /* not VMS */
+#endif /* not DIR_SEP */
+
+#ifndef IS_DIR_SEP
+#define IS_DIR_SEP(ch) ((ch) == DIR_SEP)
+#endif
+#ifndef IS_DEVICE_SEP /* No `devices' on, e.g., Unix.  */
+#define IS_DEVICE_SEP(ch) 0 
+#endif
+#ifndef NAME_BEGINS_WITH_DEVICE
+#define NAME_BEGINS_WITH_DEVICE(name) 0 
+#endif
+
+
+/* What separates elements in environment variable path lists?  */
+#ifndef ENV_SEP
+#ifdef VMS
+#define ENV_SEP ','
+#define ENV_SEP_STRING ","
+#else
+#ifdef DOSISH
+#define ENV_SEP ';'
+#define ENV_SEP_STRING ";"
+#else
+#ifdef AMIGA
+#define ENV_SEP ';'
+#define ENV_SEP_STRING ";"
+#else
+#ifdef VMCMS
+#define ENV_SEP ' '
+#define ENV_SEP_STRING " "
+#else
+#define ENV_SEP ':'
+#define ENV_SEP_STRING ":"
+#endif /* not VM/CMS */
+#endif /* not AMIGA */
+#endif /* not DOS */
+#endif /* not VMS */
+#endif /* not ENV_SEP */
+
+#ifndef IS_ENV_SEP
+#define IS_ENV_SEP(ch) ((ch) == ENV_SEP)
+#endif
+
+#endif /* not C_PATHCH_H */
new file mode 100644
--- /dev/null
+++ b/kpathsea/c-pathmx.h
@@ -0,0 +1,42 @@
+/* c-pathmx.h: define PATH_MAX, the maximum length of a filename.
+   Since no such limit may exist, it's preferable to dynamically grow
+   filenames as needed.
+
+Copyright (C) 1992, 93 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef KPATHSEA_C_PATH_MX_H
+#define KPATHSEA_C_PATH_MX_H
+
+#include <kpathsea/c-limits.h>
+
+/* Cheat and define this as a manifest constant no matter what, instead
+   of using pathconf.  I forget why we want to do this.  */
+
+#ifndef _POSIX_PATH_MAX
+#define _POSIX_PATH_MAX 255
+#endif
+
+#ifndef PATH_MAX
+#ifdef MAXPATHLEN
+#define PATH_MAX MAXPATHLEN
+#else
+#define PATH_MAX _POSIX_PATH_MAX
+#endif
+#endif /* not PATH_MAX */
+
+
+#endif /* not KPATHSEA_C_PATH_MAX_H */
new file mode 100644
--- /dev/null
+++ b/kpathsea/c-proto.h
@@ -0,0 +1,76 @@
+/* c-proto.h: macros to include or discard prototypes.
+
+Copyright (C) 1992, 93, 95, 96 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef KPATHSEA_C_PROTO_H
+#define KPATHSEA_C_PROTO_H
+
+#if !defined(WIN32) || (defined(_DLL) && !defined(_IMPORT))
+#define DllImport
+#else
+#define DllImport __declspec(dllimport)
+#endif
+
+/* These macros munge function declarations to make them work in both
+   cases.  The P?H macros are used for declarations, the P?C for
+   definitions.  Cf. <ansidecl.h> from the GNU C library.  P1H(void)
+   also works for definitions of routines which take no args.  */
+
+#if __STDC__
+
+#define AA(args) args /* For an arbitrary number; ARGS must be in parens.  */
+
+#define P1H(p1) (p1)
+#define P2H(p1,p2) (p1, p2)
+#define P3H(p1,p2,p3) (p1, p2, p3)
+#define P4H(p1,p2,p3,p4) (p1, p2, p3, p4)
+#define P5H(p1,p2,p3,p4,p5) (p1, p2, p3, p4, p5)
+#define P6H(p1,p2,p3,p4,p5,p6) (p1, p2, p3, p4, p5, p6)
+
+#define P1C(t1,n1)(t1 n1)
+#define P2C(t1,n1, t2,n2)(t1 n1, t2 n2)
+#define P3C(t1,n1, t2,n2, t3,n3)(t1 n1, t2 n2, t3 n3)
+#define P4C(t1,n1, t2,n2, t3,n3, t4,n4)(t1 n1, t2 n2, t3 n3, t4 n4)
+#define P5C(t1,n1, t2,n2, t3,n3, t4,n4, t5,n5) \
+  (t1 n1, t2 n2, t3 n3, t4 n4, t5 n5)
+#define P6C(t1,n1, t2,n2, t3,n3, t4,n4, t5,n5, t6,n6) \
+  (t1 n1, t2 n2, t3 n3, t4 n4, t5 n5, t6 n6)
+
+#else /* not __STDC__ */
+
+#define AA(args) ()
+
+#define P1H(p1) ()
+#define P2H(p1, p2) ()
+#define P3H(p1, p2, p3) ()
+#define P4H(p1, p2, p3, p4) ()
+#define P5H(p1, p2, p3, p4, p5) ()
+#define P6H(p1, p2, p3, p4, p5, p6) ()
+
+#define P1C(t1,n1) (n1) t1 n1;
+#define P2C(t1,n1, t2,n2) (n1,n2) t1 n1; t2 n2;
+#define P3C(t1,n1, t2,n2, t3,n3) (n1,n2,n3) t1 n1; t2 n2; t3 n3;
+#define P4C(t1,n1, t2,n2, t3,n3, t4,n4) (n1,n2,n3,n4) \
+  t1 n1; t2 n2; t3 n3; t4 n4;
+#define P5C(t1,n1, t2,n2, t3,n3, t4,n4, t5,n5) (n1,n2,n3,n4,n5) \
+  t1 n1; t2 n2; t3 n3; t4 n4; t5 n5;
+#define P6C(t1,n1, t2,n2, t3,n3, t4,n4, t5,n5, t6,n6) (n1,n2,n3,n4,n5,n6) \
+  t1 n1; t2 n2; t3 n3; t4 n4; t5 n5; t6 n6;
+
+#endif /* not __STDC__ */
+
+#endif /* not KPATHSEA_C_PROTO_H */
new file mode 100644
--- /dev/null
+++ b/kpathsea/c-stat.h
@@ -0,0 +1,61 @@
+/* c-stat.h: declarations for using stat(2).
+
+Copyright (C) 1993, 96 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef KPATHSEA_STAT_H
+#define KPATHSEA_STAT_H
+
+#include <kpathsea/systypes.h>
+#include <sys/stat.h>
+
+#ifdef WIN32
+#include <io.h>
+#define stat _stat
+#endif /* WIN32 */
+
+/* POSIX predicates for testing file attributes.  */
+
+#if !defined (S_ISBLK) && defined (S_IFBLK)
+#define	S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
+#endif
+#if !defined (S_ISCHR) && defined (S_IFCHR)
+#define	S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
+#endif
+#if !defined (S_ISDIR) && defined (S_IFDIR)
+#define	S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
+#endif
+#if !defined (S_ISREG) && defined (S_IFREG)
+#define	S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
+#endif
+#if !defined (S_ISFIFO) && defined (S_IFIFO)
+#define	S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
+#endif
+#if !defined (S_ISLNK) && defined (S_IFLNK)
+#define	S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
+#endif
+#if !defined (S_ISSOCK) && defined (S_IFSOCK)
+#define	S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
+#endif
+#if !defined (S_ISMPB) && defined (S_IFMPB) /* V7 */
+#define S_ISMPB(m) (((m) & S_IFMT) == S_IFMPB)
+#define S_ISMPC(m) (((m) & S_IFMT) == S_IFMPC)
+#endif
+#if !defined (S_ISNWK) && defined (S_IFNWK) /* HP/UX */
+#define S_ISNWK(m) (((m) & S_IFMT) == S_IFNWK)
+#endif
+
+#endif /* not KPATHSEA_STAT_H */
new file mode 100644
--- /dev/null
+++ b/kpathsea/c-std.h
@@ -0,0 +1,98 @@
+/* c-std.h: the first header files.
+
+Copyright (C) 1992, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef KPATHSEA_C_STD_H
+#define KPATHSEA_C_STD_H
+
+/* Header files that essentially all of our sources need, and
+   that all implementations have.  We include these first, to help with
+   NULL being defined multiple times.  */
+#include <math.h>
+#include <stdio.h>
+
+/* Be sure we have constants from <unistd.h>.  */
+#include <kpathsea/c-unistd.h>
+
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+/* Include <stdlib.h> before <stddef.h>, to help avoid NULL
+   redefinitions on some systems.  (We don't include <stddef.h>
+   ourselves any more, but FYI.)  */
+#else
+/* It's impossible to say for sure what the system will deign to put in
+   <stdlib.h>, but let's hope it's at least this.  */
+extern char *getenv ();
+#endif /* not HAVE_STDLIB_H */
+
+#ifdef WIN32
+#include <malloc.h>
+#else
+#ifndef STDC_HEADERS
+#ifndef ALLOC_RETURN_TYPE
+#ifdef DOSISH
+#define ALLOC_RETURN_TYPE void
+#else
+#define ALLOC_RETURN_TYPE char
+#endif /* not DOSISH */
+#endif /* not ALLOC_RETURN_TYPE */
+extern ALLOC_RETURN_TYPE *calloc (), *malloc (), *realloc ();
+#endif /* not STDC_HEADERS */
+#endif /* not WIN32 */
+
+/* SunOS 4.1.1 gets STDC_HEADERS defined, but it doesn't provide
+   EXIT_FAILURE.  So far no system has defined one of EXIT_FAILURE and
+   EXIT_SUCCESS without the other.  */
+#ifndef EXIT_SUCCESS
+#ifdef VMS
+#define EXIT_SUCCESS 1
+#define EXIT_FAILURE 0
+#else
+#define EXIT_SUCCESS 0
+#define EXIT_FAILURE 1
+#endif
+#endif /* not EXIT_SUCCESS */
+
+/* strchr vs. index, memcpy vs. bcopy, etc.  */
+#include <kpathsea/c-memstr.h>
+
+/* Error numbers and errno declaration.  */
+#include <kpathsea/c-errno.h>
+
+/* Numeric minima and maxima.  */
+#include <kpathsea/c-minmax.h>
+
+/* Assertions are too useful to not make generally available.  */
+#ifdef HAVE_ASSERT_H
+#include <assert.h>
+#else
+#define assert(expr) /* as nothing */
+#endif
+
+#ifdef VMS
+#include <unixlib.h>
+#include <unixio.h>
+#else
+#ifndef WIN32
+/* `popen' and `pclose' are part of POSIX.2, not POSIX.1.  So
+   STDC_HEADERS isn't enough.  */
+extern FILE *popen ();
+extern int pclose ();
+#endif /* not WIN32 */
+#endif /* not VMS */
+
+#endif /* not KPATHSEA_C_STD_H */
new file mode 100644
--- /dev/null
+++ b/kpathsea/c-unistd.h
@@ -0,0 +1,53 @@
+/* c-unistd.h: ensure we have constants from <unistd.h>.  Included from
+   c-std.h.
+
+Copyright (C) 1992, 93 Free Software Foundation, Inc.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef KPATHSEA_C_UNISTD_H
+#define KPATHSEA_C_UNISTD_H
+
+/* <unistd.h> is allowed to depend on <sys/types.h>.  */
+#include <kpathsea/systypes.h>
+
+#if HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#include <kpathsea/c-std.h>
+
+/* For fseek.  */
+#ifndef SEEK_SET
+#define SEEK_SET 0
+#define SEEK_CUR 1
+#define SEEK_END 2
+#endif /* not SEEK_SET */
+
+/* For access.  */
+#ifndef F_OK
+#define F_OK 0
+#define X_OK 1
+#define W_OK 2
+#define R_OK 4
+#endif /* not F_OK */
+
+#ifndef STDIN_FILENO
+#define STDIN_FILENO    0
+#define STDOUT_FILENO   1
+#define STDERR_FILENO   2
+#endif /* not STDIN_FILENO */
+
+#endif /* not KPATHSEA_C_UNISTD_H */
new file mode 100644
--- /dev/null
+++ b/kpathsea/c-vararg.h
@@ -0,0 +1,61 @@
+/* c-vararg.h: Top layer for stdarg and varargs.
+
+Copyright (C) 1993 Karl Berry.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#ifndef C_VARARG_H
+#define C_VARARG_H
+
+/* See `kpathsea/init-path.c' for an example of use.  The idea is to say
+   PVAR1(type1, parameter1, ap) in the function header, and then end
+   the function with two }}'s.  We do this to avoid having to specify
+   the argument list (with types) twice -- once in the function header,
+   and once in a (hypothetical) VA_START1.  */
+
+#if __STDC__
+#include <stdarg.h>
+
+#define PVAR1H(p1) (p1, ...)
+#define PVAR2H(p1, p2) (p1, p2, ...)
+#define PVAR3H(p1, p2, p3) (p1, p2, p3, ...)
+
+#define PVAR1C(t1, n1,  ap) \
+  (t1 n1, ...) { va_list ap; va_start (ap, n1);
+#define PVAR2C(t1, n1,  t2, n2,  ap) \
+  (t1 n1, t2 n2, ...) { va_list ap; va_start (ap, n2);
+#define PVAR3C(t1, n1,  t2, n2,  t3, n3,  ap) \
+  (t1 n1, t2 n2, t3 n3, ...) { va_list ap; va_start (ap, n3);
+
+#else /* not __STDC__ */
+#include <varargs.h>
+
+#define PVAR1H(p1) ()
+#define PVAR2H(p1, p2) ()
+#define PVAR3H(p1, p2, p3) ()
+
+#define PVAR1C(t1, n1,  ap) \
+  (va_alist) va_dcl { t1 n1; va_list ap; va_start (ap); \
+                      n1 = va_arg (ap, t1);
+#define PVAR2C(t1, n1,  t2, n2,  ap) \
+  (va_alist) va_dcl { t1 n1; t2 n2; va_list ap; va_start (ap); \
+                      n1 = va_arg (ap, t1); n2 = va_arg (ap, t2);
+#define PVAR3C(t1, n1,  t2, n2,  t3, n3,  ap) \
+  (va_alist) va_dcl { t1 n1; t2 n2; t3 n3; va_list ap; va_start (ap); \
+                      n1 = va_arg (ap, t1); n2 = va_arg (ap, t2); \
+                      n3 = va_arg (ap, t3);
+#endif /* not __STDC__ */
+
+#endif /* not C_VARARG_H */
new file mode 100644
--- /dev/null
+++ b/kpathsea/cnf.c
@@ -0,0 +1,261 @@
+/* cnf.c: read config files.
+
+Copyright (C) 1994, 95, 96, 97 Karl Berry.
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Library General Public
+License as published by the Free Software Foundation; either
+version 2 of the License, or (at your option) any later version.
+
+This library 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
+Library General Public License for more details.
+
+You should have received a copy of the GNU Library General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#include <kpathsea/config.h>
+#include <kpathsea/c-fopen.h>
+#include <kpathsea/c-ctype.h>
+#include <kpathsea/cnf.h>
+#include <kpathsea/db.h>
+#include <kpathsea/hash.h>
+#include <kpathsea/line.h>
+#include <kpathsea/paths.h>
+#include <kpathsea/pathsearch.h>
+#include <kpathsea/progname.h>
+#include <kpathsea/tex-file.h>
+#include <kpathsea/variable.h>
+
+/* By using our own hash table, instead of the environment, we
+   complicate variable expansion (because we have to look in two
+   places), but we don't bang so much on the system.  DOS and System V
+   have very limited environment space.  Also, this way
+   `kpse_init_format' can distinguish between values originating from
+   the cnf file and ones from environment variables, which can be useful
+   for users trying to figure out what's going on.  */
+static hash_table_type cnf_hash;
+#define CNF_HASH_SIZE 751
+#define CNF_NAME "texmf.cnf"
+
+/* Do a single line in a cnf file: if it's blank or a comment, skip it.
+   Otherwise, parse <variable>[.<program>] [=] <value>.  Do
+   this even if the <variable> is already set in the environment, since
+   the envvalue might contain a trailing :, in which case we'll be
+   looking for the cnf value.  */
+
+static void
+do_line P1C(string, line)
+{
+  unsigned len;
+  string start;
+  string value, var;
+  string prog = NULL;
+  
+  /* Skip leading whitespace.  */
+  while (ISSPACE (*line))
+    line++;
+  
+  /* More to do only if we have non-comment material left.  */
+  if (*line == 0 || *line == '%' || *line == '#')
+    return;
+  
+  /* The variable name is everything up to the next space or = or `.'.  */
+  start = line;
+  while (!ISSPACE (*line) && *line != '=' && *line != '.')
+    line++;
+
+  /* `line' is now one character past the end of the variable name.  */
+  len = line - start;
+  var = xmalloc (len + 1);
+  strncpy (var, start, len);
+  var[len] = 0;
+  
+  /* If the variable is qualified with a program name, we might be
+     ignoring it.  */
+  while (ISSPACE (*line))
+    line++;
+  if (*line == '.') {
+    /* Skip spaces, then everything up to the next space or =.  */
+    line++;
+    while (ISSPACE (*line))
+      line++;
+    start = line;
+    while (!ISSPACE (*line) && *line != '=')
+      line++;
+
+    /* It's annoying to repeat all this, but making a tokenizing
+       subroutine would be just as long and annoying.  */
+    len = line - start;
+    prog = xmalloc (len + 1);
+    strncpy (prog, start, len);
+    prog[len] = 0;
+
+    /* If we are running `prog', fine; otherwise, we're done.  */
+    assert (program_invocation_short_name);
+    if (!FILESTRCASEEQ (prog, program_invocation_short_name)) {
+      free (prog);
+      free (var);
+      return;
+    }
+  }
+
+  /* Skip whitespace, an optional =, more whitespace.  */
+  while (ISSPACE (*line))
+    line++;
+  if (*line == '=') {
+    line++;
+    while (ISSPACE (*line))
+      line++;
+  }
+  
+  /* The value is whatever remains.  Remove trailing whitespace.  */
+  start = line;
+  len = strlen (start);
+  while (ISSPACE (start[len - 1]) && len > 0)
+    len--;
+  
+  value = xmalloc (len + 1);
+  strncpy (value, start, len);
+  value[len] = 0;
+
+  /* Suppose we want to write a single texmf.cnf that can be used under
+     both NT and Unix.  This is feasible except for the path separators
+     : on Unix, ; on NT.  We can't switch NT to allowing :'s, since :
+     is the drive separator.  So we switch Unix to allowing ;'s.  On the
+     other hand, we don't want to change IS_ENV_SEP and all the rest.
+     
+     So, simply translate all ;'s in the path
+     values to :'s if we are a Unix binary.  (Fortunately we don't use ;
+     in other kinds of texmf.cnf values.)
+     
+     If you really want to put ; in your filenames, add
+     -DALLOW_SEMICOLON_IN_FILENAMES.  (And there's no way to get :'s in
+     your filenames, sorry.)  */
+     
+/* gcc -ansi doesn't predefine `unix', since ANSI forbids it.  And AIX
+   generally doesn't predefine unix, who knows why.  */
+#ifndef unix
+#if defined (__unix__) || defined (_AIX)
+#define unix
+#endif
+#endif
+
+#if !defined (ALLOW_SEMICOLON_IN_FILENAMES) && defined (unix) 
+  {
+    string loc;
+    for (loc = value; *loc; loc++) {
+      if (*loc == ';')
+        *loc = ':';
+    }
+  }
+#endif
+
+  /* We want TEXINPUTS.prog to override plain TEXINPUTS.  The simplest
+     way is to put both in the hash table (so we don't have to write
+     hash_delete and hash_replace, and keep track of values' sources),
+     and then look up the .prog version first in `kpse_cnf_get'.  */
+  if (prog) {
+    string lhs = concat3 (var, ".", prog);
+    free (var);
+    free (prog);
+    var = lhs;
+  }
+  hash_insert (&cnf_hash, var, value);
+  
+  /* We could check that anything remaining is preceded by a comment
+     character, but let's not bother.  */
+}
+
+/* Read all the configuration files in the path.  */
+
+static void
+read_all_cnf P1H(void)
+{
+  string *cnf_files;
+  const_string cnf_path = kpse_init_format (kpse_cnf_format);
+
+  cnf_hash = hash_create (CNF_HASH_SIZE);
+
+  for (cnf_files = kpse_all_path_search (cnf_path, CNF_NAME);
+       cnf_files && *cnf_files; cnf_files++) {
+    string line;
+    string cnf_filename = *cnf_files;
+    FILE *cnf_file = xfopen (cnf_filename, FOPEN_R_MODE);