changeset 2998:692ba9d441ec

[project @ 1997-05-23 02:58:08 by jwe]
author jwe
date Fri, 23 May 1997 03:00:29 +0000
parents e67089e1f2c8
children faa5d0421460
files kpathsea/AUTHORS kpathsea/ChangeLog kpathsea/HIER kpathsea/INSTALL kpathsea/MakeTeXPK.in kpathsea/Makefile.in kpathsea/NEWS kpathsea/README kpathsea/README.CONFIGURE kpathsea/absolute.c kpathsea/absolute.h kpathsea/acconfig.h kpathsea/aclocal.m4 kpathsea/basename.c 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.guess kpathsea/config.h kpathsea/config.sub kpathsea/configure.in kpathsea/copying.texi 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/freedom.texi kpathsea/getopt.c kpathsea/getopt.h kpathsea/getopt1.c kpathsea/getpagesize.h kpathsea/hash.c kpathsea/hash.h kpathsea/install.texi kpathsea/itoa.c kpathsea/kdefault.c kpathsea/kpathsea.texi kpathsea/kpsewhich.c kpathsea/kpsexpand.c kpathsea/lib.h kpathsea/line.c kpathsea/line.h kpathsea/magstep.c kpathsea/magstep.h kpathsea/maintain.texi kpathsea/make-stds.texi kpathsea/make-suffix.c 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.in kpathsea/standards.texi kpathsea/str-list.c kpathsea/str-list.h kpathsea/str-llist.c kpathsea/str-llist.h kpathsea/systypes.h kpathsea/tex-file.c kpathsea/tex-file.h kpathsea/tex-glyph.c kpathsea/tex-glyph.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/uppercasify.c kpathsea/variable.c kpathsea/variable.h kpathsea/version.c kpathsea/xcalloc.c kpathsea/xfopen.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 make/ChangeLog make/README make/common.make make/config.make make/dist.make make/library.make make/makevars.make make/misc.make make/paths.make make/programs.make make/rdepend.make make/texi.make make/tkpathsea.make
diffstat 136 files changed, 0 insertions(+), 21541 deletions(-) [+]
line wrap: on
line diff
deleted file mode 100644
--- a/kpathsea/AUTHORS
+++ /dev/null
@@ -1,7 +0,0 @@
-Karl Berry wrote all files not otherwise marked, with help from Kathryn
-Hargreaves on some of the original versions.
-
-The implementation of the link trick in pathsrch.c is taken from GNU
-find, implemented by David MacKenzie from Matthew Farwell's suggestion.
-
-Mike Haertel wrote the GNU malloc source.
deleted file mode 100644
--- a/kpathsea/ChangeLog
+++ /dev/null
@@ -1,1540 +0,0 @@
-Tue May 20 14:34:34 1997  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* Makefile.in: Turn off optimization for hash.c.
-
-Thu Mar 13 13:08:05 1997  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* configure.in: Don't set special PIC options on SGI systems,
-	since PIC is apparently the default.
-
-Wed Mar 12 17:00:16 1997  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* Makefile.in (install-strip): New target.
-
-Thu Feb 20 02:41:36 1997  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* configure.in (SH_LDFLAGS): Add -fPIC for HP-UX.
-	(SH_LDFLAGS): Add -shared for alpha OSF/1.
-
-Tue Feb 18 17:36:03 1997  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* Makefile.in (pic/tex-file.o): Delete extra pic/ in commands.
-
-	* configure.in (SH_LDFLAGS): Fix typo in last change.
-
-Thu Feb 13 17:35:20 1997  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* configure.in: Update config for shared libraries.
-	* Makefile.in (stamp-shared): Use $(SH_LD) $(SH_LDFLAGS) instead
-	of $(CXX) -shared.
-	(tex-file.o, pic/tex-file.o, gmalloc.o, pic/gmalloc.o): Update rules.
-
-	* Makefile.in (stamp-picdir): Silence noise about making pic.
-
-Sat Jan 25 22:33:56 1997  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* Makefile.in (bin-dist): New target.
-
-Thu Dec  5 18:59:44 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* config.sub: Update to current version from FSF.
-
-Sun Nov  3 15:35:46 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* c-std.h: Use #ifdef, not #if to checm HAVE_STDLIB_H
-	* c-unistd.h: Likewise, for HAVE_UNISTD_H
-
-Tue Oct 29 17:27:06 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* Makefile.in (SH_LIBS_TO_INSTALL): Use .$(SHLEXT), not .so.
-
-Thu Oct 24 21:31:42 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* config.guess: Update to same version as used in Octave.
-	* config.sub: Likewise.
-
-Mon Oct 14 11:10:41 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* Makefile.in (distclean): Also remove libkpathsea.a and
-	libkpathsea.$(SHLEXT).
-
-Mon Jun 24 02:33:27 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* Makefile.in (install): Use INSTALL_PROGRAM instead of
-	INSTALL_DATA to install shared libs.
-
-Fri Mar 29 13:35:09 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* Makefile.in (distclean): Remove so_locations, which is generated
-	on DEC Alpha systems.
-
-Fri Feb  2 22:57:45 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* Makefile.in (tex-file.o): Use correct rule for making shared
-	version.
-
-Fri Dec 29 21:41:08 1995  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* config.guess, config.sub: New files.
-	* configure.in, Makefile.in:
-	Handle shared libraries for Octave.
-
-Wed Oct  4 02:26:09 1995  John Eaton  <jwe@bevo.che.wisc.edu>
-
-	* Makefile.in (uninstall): For use with Octave, don't do anything.
-
-Fri Sep 29 00:43:05 1995  John Eaton  <jwe@bevo.che.wisc.edu>
-
-	* elt-dirs.c (kpse_element_dirs): Do call kpse_expand on elt.
-
-Sun Feb 26 16:46:32 1995  John Eaton  <jwe@schoch.che.utexas.edu>
-
-	* Makefile.in: Depend on ./c-auto.h, not
-	$(kpathsea_srcdir)/c-auto.h.
-
-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.
deleted file mode 100644
--- a/kpathsea/HIER
+++ /dev/null
@@ -1,59 +0,0 @@
-Here is the installed TeX & Metafont hierarchy (as of 4sep94) that
-we have been working on.  Please send comments to mackay@cs.washington.edu,
-unixtex@u.washington.edu, and kb@cs.umb.edu.
-(Especially if you try to actually install TeX like this!)
-
-First, pick a root directory for the library files:
-TEXMF = /usr/local/lib/texmf
-
-(Or, in make variable terms: $(datadir)/texmf.)
-
-All the files are installed relative to $TEXMF.  Top-level directories:
-bibtex		-- bib/*.bib, bst/*.bst
-doc		-- bibtex/, fontname/, eplain/, ...
-fonts 		-- see below
-tex		-- see below
-mf		-- utility MF sources
-                   ({plain, expr, null, io, slant, modes, ...}.mf)
-ini		-- .base, .fmt, .pool
-dvips		-- only if you have a PostScript printer, naturally
-
-In general, where possible, the same setup as ctan is clearly a win.
-
-Under dvips, have the .pro/.ps/psfonts.map files.
-
-Under tex, at least:
-plain	({plain, manmac, null, plain, story, testfont, webmac}.tex,
-	 perhaps also texinfo.tex, eplain.tex, other single-file sources)
-latex	(with subdirectories base/ for M&S's files,
-	 misc/ for one-file styles, and other distributions by directory)
-tugboat	(tugboat.cmn, tugboat.sty, etc.)
-mft	(*.mft)
-
-Under fonts:
-<source>/<typeface>/
-  for <source> in public, adobe, ams, bitstream, urw, ...
-  for public/<typeface> in cm, concrete, punk, ...
-  for ams/<typeface> in euler, symbols, ...
-  for adobe/<typeface> in times, palatino, avantgar, ...
-  See the *.map files in fontname 2.0 for canonical directory names.
-
-Under .../<source>/<typeface>/
-src/*.mf
-tfm/*.tfm
-vf/*.vf
-afm/*.afm
-pk/$MAKETEX_MODE (including pseudo-modes for gsrenderfont, ps2pk, gsftopk)
-type1/*.{pfa,pfb,gsf}
-truetype/*.ttf
-
-See the TeX directory structure node in the manual for an additional
-complication with MAKETEX_MODE.
-
-For example:
-texmf/fonts/public/cm/pk/cx/cmr10.300pk
-texmf/fonts/public/sauter/src/b-cmbx.mf
-texmf/fonts/adobe/utopia/type1/putr.pfa
-
-
-For default path values, see texmf.cnf[.in].
deleted file mode 100644
--- a/kpathsea/INSTALL
+++ /dev/null
@@ -1,410 +0,0 @@
-Contents:
-
-Installation
-  Default paths
-  Common problems
-    Unable to find files
-    Slow path searching
-    `XtInherit'
-    `wchar_t'
-    `ShellWidgetClass'
-    Pointer combination warnings
-  Shared library
-  Reporting bugs
-
-
-Installation
-************
-
-  Here are the basic steps for configuration and installation:
-
-  1. Edit the file `make/paths.make' if you want to make changes to the
-     installation directories or paths that will have effect across
-     different runs of `configure'.  Alternatively, override the Make
-     variables on the command line when you run Make.
-
-     Exception: to reliably change the top-level `prefix', you must give
-     `configure' the option `-prefix=PREFIX', instead of changing the
-     value in `paths.make'.
-
-  2. Edit `kpathsea/texmf.cnf.in' to change the local paths to match
-     your local setup.  *Note Default paths: (kpathsea)Default paths,
-     for more details on changing the paths. A copy is in
-     `kpathsea/INSTALL'.  See `kpathsea/HIER' for an explanation of the
-     default setup.
-
-     If the paths do not match where the files actually are, the
-     programs will probably start up Very, Very, Slowly, and/or not be
-     able to find the fonts or other input files.
-
-  3. `sh configure' (in the top-level directory).  This makes
-     system-dependent `#define's' in `*/c-auto.h' (from the
-     corresponding `c-auto.h.in') and creates a `Makefile' (from the
-     corresponding `Makefile.in', by doing `@VAR@' and `ac_include'
-     substitutions).
-
-     Perhaps the most common desire is to compile with optimization
-     instead of or as well as debugging.  You can change the options
-     passed to the compiler by changing `CFLAGS', either for
-     `configure' or `make'.  For example:
-
-          prompt$ env CFLAGS="-g -O" configure
-          prompt$ make
-     or
-          prompt$ configure
-          prompt$ make CFLAGS="-g -O"
-
-     *Note Running `configure' scripts: (autoconf)Invoking configure,
-     for detailed `configure' options.  (A copy is in
-     `kpathsea/CONFIGURE'.)
-
-  4. `make' (still in the top-level directory). Barring configuration
-     and compiler bugs, this will compile all the programs.  *Note
-     Common problems: (kpathsea)Common problems, for system-dependent
-     problems (this section is also in `kpathsea/INSTALL').
-
-     This also creates the `texmf.cnf' and `paths.h' files that define
-     the default search paths.
-
-  5. `make install'. This installs the library, header files, and
-     documentation. Or `make install-data' to just install the
-     architecture-independent files. Or `make install-exec' to just
-     install the (binary) archive library file.
-
-     Since I only distribute Kpathsea as part of another package, you
-     will probably be doing the above in a top-level directory that
-     contains a `Makefile', `kpathsea', and the other package.  But you
-     can do the installation in `kpathsea' itself, if you only want to
-     install the library, not the other package.
-
-  6. The first time you install any manual in Info, you have to add a
-     line (you choose where) to the `dir' file in your `$(infodir)'
-     directory.  A sample line to add is given near the top of the
-     Texinfo source files (`kpathsea/kpathsea.texi' and
-     `dvipsk/dvips.texi').
-
-  7. `make distclean'.  This removes all files created by the build.
-
-
-  *Note Filename database::, for a description of an
-externally-generated database that can help speed searches.
-
-  *Note Debugging::, for runtime debugging support that may help track
-down problems.
-
-  Do not attempt to use any version of Kpathsea with any program except
-the version that the program came with, unless you are a glutton for
-punishment.
-
-Default paths
-=============
-
-  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' (and 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 by the programs to
-     look up programs.
-
-  4. The definitions in `texmf.cnf' are changed into the form of C
-     `#define''s, producing `paths.h'. These values will be the
-     compile-time defaults; they are not used unless no `texmf.cnf' file
-     can be found at runtime.
-
-     (That's a partial lie: the compile-time defaults are what 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.)
-
-
-  The purpose of this elaborate sequence is to avoid having the same
-information in more than one place. If you change the installation
-directories or top-level prefix before running `configure', those
-changes will propagate through the whole sequence. If you change the
-default paths in `texmf.cnf.in', those changes are propagated to the
-compile-time defaults.
-
-  Alternatively, you can ignore the whole mess and edit `texmf.cnf'
-after it is installed. Maybe even copying it into place beforehand so
-you can complete the installation, if TeX or Metafont is having trouble
-finding their input files.
-
-  Unfortunately, editing `Makefile.in' *does not work* in one common
-case--changing the `prefix' or `exec_prefix' variables. For these, you
-must use the `-prefix' or `-exec-prefix' options to `configure'.  *Note
-Running `configure' scripts: (autoconf)Running configure Scripts.
-(That's another partial lie: editing does work, as long as a program
-named `tex' is not in your `PATH'.)
-
-  *Note TeX directory structure: TeX directory structure, for a
-description of some ways to arrange the TeX library files, and some
-features of the distributed paths that may not be obvious.  The file
-`kpathsea/HIER' is a copy of that section.
-
-  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 potentially run Make in the
-subdirectories.)
-
-Common problems
-===============
-
-  Some common problems with compilation, linking, or execution are
-described below.
-
-Unable to find files
---------------------
-
-  If a program complains it cannot find fonts (or other input files),
-any of several things might be wrong:
-
-   * You don't have the fonts (or whatever) installed. Nothing will
-     automatically generate TFM files or TeX and Metafont sources for
-     you (by default). *Note Obtaining Web2c: (web2c)Obtaining Web2c.
-
-     You can, however, configure TeX and Metafont to run a script to
-     generate these input files, if you have (or write) such scripts.
-     *Note `MakeTeX'... invocation: (web2c)MakeTeX... invocation.
-
-   * 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, thus overriding what you
-     carefully set in `texmf.cnf'. *Note TeX environment variables: TeX
-     environment variables.
-
-   * Your files reside in a directory that is only pointed to via a
-     symbolic link, in a leaf directory.
-
-     Unfortunately, Kpathsea's subdirectory searching has a (congenital)
-     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::, for an explanation of why this happens.
-
-     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.  This is since presumably you would not have
-     asked for the directory to be searched for subdirectories if you
-     didn't want it to be.
-
-   * There is a bug in the library. *Note Reporting bugs::.
-
-  In any case, you may find the debugging options helpful in determining
-precisely where the fonts (or whatever) are being looked for. See the
-program's documentation for its debugging options, and also *note
-Debugging::..
-
-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 reinstall any of
-     the programs.)
-
-   * Your recursively-searched directories (e.g.,
-     `/usr/local/lib/tex/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 directories
-     where the dozens of TFM, PK, or whatever files reside.
-
-   * Finally, one simple-to-fix (but unlikely) cause: If you recursively
-     search `$HOME' or `~', and you are running as `root', you will
-     search every directory on the system.  This typically takes quite
-     some time!
-
-  In any case, you may find the debugging options helpful in determining
-precisely when the disk or network is being pounded. *Note Debugging::,
-and also see the program's documentation.
-
-`XtInherit'
------------
-
-  On DEC OSF/1 1.x systems, the loader has a bug that manifests itself
-in the following error (all on one line, but for the sake of the paper
-width it's broken here):
-
-     xdvik/xdvi: /sbin/loader: Fatal Error: search_for_undefineds:
-          symbol _XtInherit should not have any relocation entry
-
-According to Michael Rickabaugh `<mjr@quarry.enet.dec.com>':
-
-     This is a bug fixed in DEC OSF/1 2.0.
-     
-     If you know how, installing `/sbin/loader' from a 2.0 system onto a
-     1.3 system will work.  Make sure that `/usr' is *not* mounted
-     when you do this.  (If you forget about umounting `/usr', it is
-     possible most of your filesystems will become corrupted.)
-     
-     Otherwise, I suggest getting a hold of a 2.0 CD and running
-     `/usr/sbin/installupdate'.
-
-  Alternatively, you may be able to use the freely available X11
-libraries that come with the MIT distribution (on `ftp.x.org', for
-example).
-
-  Linking statically, perhaps only with some of the X libraries, may
-also work.  (if you find the definitive workaround, please let me know.)
-
-`wchar_t'
----------
-
-  The upshot of all the following is that if you get error messages
-regarding `wchar_t', try defining `NO_FOIL_X_WCHAR_T' (for Web2c) or
-`FOIL_X_WCHAR_T' (for everything else).
-
-  `wchar_t' has caused infinite trouble. None of my code ever uses
-`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 X11 header `<Xlib.h>' and GCC's `<stddef.h>' have conflicting
-definitions for wchar_t.
-
-  The particulars: `<X11/Xlib.h>' from MIT X11R5 defines `wchar_t' if
-`X_WCHAR' is defined, which is defined if `X_NOT_STDC_ENV' is defined,
-and we define *that* if `STDC_HEADERS' is not defined (`configure'
-decides if STDC_HEADERS gets defined).  But when compiling with gcc on
-SunOS 4.1.x, `STDC_HEADERS' is not defined (`string.h' doesn't declare
-the `mem'* functions), so we do get X's `wchar_t'--and we also get
-gcc's `wchar_t' from its `<stddef.h>'.  Conflict.
-
-  On the other hand, SunOS 4.1.1 with some other X configurations
-actually needs GCC to define `wchar_t', and fails otherwise.
-
-  My current theory is to define `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
-`X_WCHAR' to tell X not to use `<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 `<_int_wchar_t.h>' if `X_WCHAR', so our `#define' will not have
-any typedef to change--but the uses of `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 `NO_FOIL_X_WCHAR_T' yourself.
-
-`ShellWidgetClass'
-------------------
-
-  This section is adapted from question 47 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'. This problem does not arise with
-the standard MIT libraries under SunOS.
-
-  The cause is bugs in the `Xmu' shared library as shipped from Sun.
-There are several fixes:
-
-   * Get the Openwindows patches that apply to this problem.
-
-   * Statically link the `Xmu' library into the executable.
-
-   * Avoid using `Xmu' at all. For this last, 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 format, alter the
-`x_libs' make variable to include
-
-     -Bstatic -lXmu -Bdynamic
-
-  If you are using `gcc', include `-static' in `LDFLAGS'; this will
-link all libraries statically. If you want to link only `Xmu'
-statically and everything else dynamically, you have to do it by hand:
-run `gcc -v', grab the `ld' line, and add the `-B''s given above around
-`-lXmu'.
-
-  The reason is that gcc moves all linker options to the front of the
-`ld' command line.  So you can't specify different options for
-different libraries.  When I reported this to the GCC maintainers, the
-reply was that they would happily merge in the changes, but they didn't
-want to take the time to do it themselves.
-
-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.
-
-  In general, 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 bug list.)
-
-Shared library
-==============
-
-  You can compile Kpathsea as a shared library.  The advantage in doing
-this is that the different executables can then share the code,
-decreasing memory usage.  (The other advantage in general of shared
-libraries is that it's possible to update the library and programs
-independently.  But since the Kpathsea interface is not and can not be
-frozen, that doesn't apply here.)
-
-  Under Solaris, use `-K pic -xstrconst' if you compile with a Sun
-compiler, `-fpic' if you use GCC.  Also add `-L$(LIBDIR) -R$(LIBDIR)'
-to `LDFLAGS' when you link the binaries, so that the library can be
-found, and users do not have set `LD_LIBRARY_PATH'.
-
-  (If you know how to make Kpathsea shared on other systems, please
-send a message to the bug address in the next section.)
-
-Reporting bugs
-==============
-
-  If you encounter problems, please report them to `tex-k@cs.umb.edu'.
-Include the version number of the library, the system you are using, and
-enough information to reproduce the bug in your report.  To get on this
-mailing list yourself, email `tex-k-request@cs.umb.edu' with a message
-whose body contains a line
-     subscribe YOU@YOUR.PREFERRED.ADDRESS
-
-  To avoid wasted effort and time (both mine and yours), I strongly
-advise applying the principles given in the GNU C manual (*note
-Reporting Bugs: (gcc)Bugs.) to your bug reports.
-
-  Please also report bugs in this documentation--not only factual
-errors, but unclear explanations, typos, wrong fonts, ...
deleted file mode 100755
--- a/kpathsea/MakeTeXPK.in
+++ /dev/null
@@ -1,276 +0,0 @@
-#!/bin/sh
-# original MakeTeXPK -- make a new PK font, because one wasn't found.
-# Version of 12dec94.
-# 
-# (If you change or delete the word `original' on the previous line,
-# installation won't write this MakeTeXPK over yours.)
-#
-# This script must echo the name of the generated PK file (and nothing
-# else) to standard output. Yes, this is different from the original dvips.
-# 
-# Parameters:
-#   name dpi bdpi magnification [mode [destdir]]
-#
-#   `name' is the base name of the font, such as `cmr10'.
-#   `dpi' is the resolution the font is needed at.
-#   `bdpi' is the base resolution, used to intuit the mode to use.
-#   `magnification' is a string to pass to MF as the value of `mag'.
-#   `mode', if supplied, is the mode to use. Unless it's `default', in
-#     which case we guess. (This is so people can specify a destdir
-#     without a mode.)
-#   `destdir', if supplied, is either the absolute directory name to use
-#     (if it starts with a /) or relative to the default DESTDIR (if not).
-
-# The root of where to put the new file. (Using the sh construct
-# ${var=value} is the tersest construct that lets an environment
-# variable `var' override the value given here.)
-: ${DESTROOT=${MTPK_DESTROOT-@fontdir@}}
-
-# Define to `gsftopk' or `ps2pk' or whatever to make PK files for
-# PostScript fonts. If this is defined, PSMAPFILE must also be defined to
-# be your psfonts.map file or some equivalent.
-: ${ps_to_pk=gsftopk}
-: ${PSMAPFILE=@psheaderdir@/psfonts.map}
-
-# Location of the files that map font name parts to directory names.
-: ${NAMEMAPDIR=@fontnamedir@}
-
-# This is needed only if all the font directories were not included in
-# the compile-time path for gsftopk. 
-: ${DVIPSHEADERS=@datadir@/ghostscript/type1:}
-
-# If this directory doesn't exist, the DC fonts won't be attempted.
-: ${dcfontdir=@dcfontdir@}
-
-# If this directory doesn't exist, the Sauter stuff won't be attempted.
-: ${sauterdir=@sauterdir@}
-
-# If the true typeface directory cannot be determined from the fontname,
-# the files are installed here, relative to $DESTROOT.
-: ${default_namepart=tmp/pk}
-
-# TEMPDIR needs to be unique for each process because of the possibility
-# of processes simultaneously running this script.
-TEMPDIR=${TMPDIR-/tmp}/mtpk.$$
-
-if test $# -lt 4; then
-  echo "Usage: $0 name dpi bdpi mag [mode [destdir]]." >&2
-  exit 1
-fi
-
-NAME=$1
-DPI=$2
-BDPI=$3
-MAG=$4
-MODE=$5
-
-# DESTDIR is harder.
-case "$6" in
-  "")
-      # 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 $NAMEMAPDIR/special.map; then
-        namepart=`awk \
-'{if ($1 == NAME || (substr (NAME, 1, length ($1)) == $1 \
-                      && substr (NAME, length (NAME), 1) ~ /[0-9]/)) \
-     { print $2 "/" $3; exit; }}' NAME=$NAME $NAMEMAPDIR/special.map`
-
-        if test -z "$namepart"; then
-          # Try the normal case. Source first.
-          s_abbrev=`echo $NAME | cut -c 1-1`
-          sourcedir=`awk '{ if ($1 == s_abbrev) { print $2; exit; }}' \
-                     s_abbrev=$s_abbrev $NAMEMAPDIR/source.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 $NAMEMAPDIR/typeface.map`
-
-            if test -n "$typefacedir"; then
-              # Found everything.
-              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
-      else
-        # No map files.
-        :
-      fi
-      if test -z "$namepart"; then
-        # If we failed for whatever reason, default to a generic subdir.
-        namepart=$default_namepart
-      else
-        # Otherwise, get the `pk' in before we append the mode.
-        namepart=$namepart/pk 
-      fi
-      
-      # Finally, update the parent of the installation directory.
-      DESTROOT="$DESTROOT/$namepart"
-      ;;
-  /*) DESTDIR=$6;;           # Absolute, explicit destdir => use it.
-   *) DESTDIR=$DESTROOT/$6;; # Relative destdir => append to the default.
-esac
-
-GFNAME=$NAME.$DPI'gf'
-PKNAME=$NAME.$DPI'pk'
-
-# Clean up on normal or abnormal exit. DESTDIR changes, hence the eval.
-trap "cd /; eval rm -rf $TEMPDIR \$DESTDIR/pktmp.$$" 0 1 2 15
-
-# Allow fonts to be read and written (especially in case we make
-# directories) by everyone.  
-umask 0
-
-# Possible local customizations?
-test -r @web2cdir@/MakeTeXPK.site && . @web2cdir@/MakeTeXPK.site
-
-# Remember where we were for the paths. We'd most like to replace `.',
-# wherever it is in the path, with $SAVEPWD, but we don't have access to the
-# compile-time path. So we are conservative, and put this at the end.
-SAVEPWD=`pwd`
-
-# Go to the unique working directory.
-test -d $TEMPDIR || mkdir $TEMPDIR 
-cd $TEMPDIR || exit 1
-
-# grep for the font in $PSMAPFILE, if some ps-to-pk is claimed to be supported.
-# We have to figure out the name of the base font -- $NAME is probably
-# something like pplr, but it's rpplr or pplr0 or pplr8r that's in psfonts.map.
-pattern="^r?$NAME"'(0|8r)?([ 	]|$)' 
-test -n "$ps_to_pk" && egrep "$pattern" $PSMAPFILE >psline
-if test -s psline; then
-  # This is a PostScript font.
-  MODE=$ps_to_pk
-  case $ps_to_pk in
-       ps2pk*) special_part=`cat psline | sed -e 's/^.*"//' -e 's/".*$//'`
-               # .167 SlantFont
-               slant=`echo $special_part \
-                      | awk '{ if ($2 == SlantFont) print "-S" $1 }'`
-               extend=`echo $special_part \
-                       | awk '{ if ($2 == ExtendFont) print "-E" $1 }'`
-               cmd="$ps_to_pk -v -X$DPI $slant $extend $NAME";;
-            *) cmd="$ps_to_pk $NAME $DPI";;
-  esac
-
-  # Update DESTDIR for new mode, and check if we were spuriously called.
-  test -z "$6" && DESTDIR="$DESTROOT/$MODE"
-  if test -r $DESTDIR/$PKNAME; then # sigh, this is repeated below
-    echo "$0: $DESTDIR/$PKNAME already exists." >&2
-    echo $DESTDIR/$PKNAME
-    exit 0
-  fi
-
-  DVIPSHEADERS="$DVIPSHEADERS:$SAVEPWD"
-  export DVIPSHEADERS
-  echo "$0: Running $cmd" >&2
-  $cmd >&2 || { echo "$0: $ps_to_pk failed." >&2; exit 1; }
-
-else
-  # Try Metafont.
-  MFINPUTS="$MFINPUTS:$SAVEPWD"
-  export MFINPUTS
-
-  # If an explicit mode is not supplied, try to guess. You can get a
-  # list of extant modes from ftp.cs.umb.edu:pub/tex/modes.mf.
-  if test -z "$MODE" || test "$MODE" = default; then
-    case "$BDPI" in
-      85) MODE=sun;;
-     300) MODE=cx;;
-     600) MODE=ljfour;;
-    1270) MODE=linolo;;
-       *) 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
-
-  # If no destination directory specified, install font in directory
-  # named for the mode.
-  test -z "$6" && DESTDIR="$DESTROOT/$MODE"
-
-  if test -r $DESTDIR/$PKNAME; then # sigh, this is repeated above
-    echo "$0: $DESTDIR/$PKNAME already exists." >&2
-    echo $DESTDIR/$PKNAME
-    exit 0
-  fi
-
-  # Run Metafont. Always use plain Metafont, since reading cmbase.mf
-  # does not noticeably slow things down. Separate the filename from the
-  # rest, since we have to use ./$NAME if we generate something.
-  cmd="mf \mode:=$MODE; mag:=$MAG; scrollmode; input"
-  echo "$0: Running $cmd $NAME" >&2
-  if $cmd $NAME </dev/null >&2; then
-    : # Success already.
-  
-  else
-    # These other cases should really be part of MakeTeXMF.
-    # First have to figure out the real magnification, which means
-    # extracting the point size from the name -- a trailing number.
-    rootname=`echo $NAME | sed 's/[0-9]*$//'`
-    pointsize=`echo $NAME | sed "s/^$rootname//"`
-    case "$pointsize" in
-      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
-       *) realsize=$pointsize;;
-    esac
-    mfname=$NAME.mf
-    rm -f $mfname # We are in $TEMPDIR, so this is safe.
-
-    if test -z "$pointsize"; then
-      # No point size, so it can't be a DC or Sauter font. Give up.
-      :
-
-    elif echo $NAME | grep '^dc' >/dev/null; then
-      echo "$0: Trying DC font." >&2
-      echo "if unknown dxbase: input dxbase fi;" >$mfname
-      echo "gensize:=$realsize;" >>$mfname
-      echo "generate $rootname." >>$mfname
-      echo "$0: Running $cmd ./$NAME" >&2
-      $cmd ./$mfname </dev/null >&2
-
-    elif test -d $sauterdir; then
-      echo "$0: Trying interpolated/extrapolated (Sauter) font." >&2
-      echo "design_size:=$realsize;" >>$mfname
-      echo "input b-$rootname;" >>$mfname
-      echo "$0: Running $cmd ./$NAME" >&2
-      $cmd ./$mfname </dev/null >&2
-      # Result should go in the sauterdir, not the cm dir.
-      test -z "$6" && $DESTDIR=$sauterdir/pk/$MODE
-    fi # alternative mf sources
-  fi # first mf failed
-  
-  # If we couldn't make the font, quit.
-  test -r $GFNAME || \
-    { echo "$0: Metafont failed to make $GFNAME." >&2; exit 1; }
-
-  # Success.  Make the PK file.
-  gftopk ./$GFNAME $PKNAME || exit 1
-fi
-
-# If we get here, we've succeeded; move the final font to $DESTDIR.
-test -d $DESTDIR \
-  || mkdir $DESTDIR \
-  || { echo "$0: Could not mkdir $DESTDIR." >&2; exit 1; }
-
-# Install the PK file carefully, since others may be working simultaneously.
-mv $PKNAME $DESTDIR/pktmp.$$ \
-  || { echo "$0: Could not mv $PKNAME $DESTDIR/pktmp.$$." >&2; exit 1; }
-
-cd $DESTDIR || exit 1
-mv pktmp.$$ $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 $DESTDIR/$PKNAME
deleted file mode 100644
--- a/kpathsea/Makefile.in
+++ /dev/null
@@ -1,635 +0,0 @@
-# Makefile for kpathsea --kb@cs.umb.edu.
-version = 2.52
-
-ac_include ../make/paths.make
-ac_include ../make/makevars.make
-
-# Add -DNO_DEBUG to disable debugging, for unnoticeably better performance.
-DEFS = $(XDEFS)
-
-ac_include ../make/common.make
-ac_include ../make/library.make
-ac_include ../make/programs.make
-ac_include ../make/texi.make
-
-# Install these header files (except c-auto.h).
-install_headers = *.h
-
-##ifdef HOSTNAME
-##warn_more = -Wmissing-prototypes -Wwrite-strings -Wshadow
-##MAKEINFO_FLAGS := $(MAKEINFO_FLAGS) --no-split
-##malloc = onefile.o # gmalloc.o
-##endif
-
-# 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.o absolute.o basename.o cnf.o concat.o concat3.o      \
-concatn.o db.o debug.o dir.o elt-dirs.o expand.o extend-fname.o file-p.o \
-find-suffix.o fn.o fontmap.o getopt.o getopt1.o hash.o itoa.o kdefault.o \
-line.o magstep.o make-suffix.o path-elt.o pathsearch.o proginit.o        \
-progname.o putenv.o readable.o rm-suffix.o str-list.o str-llist.o        \
-tex-glyph.o tex-make.o tilde.o truncate.o uppercasify.o variable.o       \
-version.o xcalloc.o xfopen.o xmalloc.o xopendir.o xputenv.o xrealloc.o   \
-xstat.o xstrdup.o $(malloc)
-
-LIBS_TO_INSTALL = libkpathsea.a
-
-SH_LIBS_TO_INSTALL = libkpathsea.$(SHLEXT)
-
-ifeq ($(SHARED_LIBS), true)
-  BINDISTFILES = libkpathsea.$(SHLEXT)
-  BINDISTLIBS = $(addprefix kpathsea/, libkpathsea.$(SHLEXT))
-endif
-
-default all: stamp-picdir kpsewhich MakeTeXPK kpathsea.info stamp-shared
-
-stamp-picdir:
-	@if $(SHARED_LIBS); then \
-	  if [ -n "$(CPICFLAG)" ]; then \
-	    if [ -d pic ]; then \
-	      true ; \
-	    else \
-	      echo "mkdir pic" ; \
-	      mkdir pic ; \
-	    fi ; \
-	  else \
-	    true ; \
-	  fi ; \
-	fi
-	touch stamp-picdir
-
-libkpathsea.a: $(objects)
-	rm -f $@
-	$(AR) $(ARFLAGS) $@ $(objects)
-	$(RANLIB) $@
-
-ifeq ($(SHARED_LIBS), true)
-  ifdef CPICFLAG
-    PICOBJ := $(addprefix pic/, $(objects))
-  else
-    PICOBJ := $(objects)
-  endif
-endif
-
-stamp-shared: $(PICOBJ)
-	if $(SHARED_LIBS); then \
-	  $(SH_LD) $(SH_LDFLAGS) -o libkpathsea.$(SHLEXT) $(PICOBJ) ; \
-	fi
-	touch stamp-shared
-
-kpsewhich: libkpathsea.a kpsewhich.o
-	$(link_command) kpsewhich.o $(LOADLIBES)
-
-MakeTeXPK: MakeTeXPK.in $(top_srcdir)/../make/paths.make
-	sed -e 's,@datadir@,$(datadir),g' \
-	    -e 's,@psheaderdir@,$(psheaderdir),g' \
-	    -e 's,@fontnamedir@,$(fontnamedir),g' \
-	    -e 's,@fontdir@,$(fontdir),g' \
-	    -e 's,@dcfontdir@,$(dcfontdir),g' \
-	    -e 's,@sauterdir@,$(sauterdir),g' \
-	    -e 's,@web2cdir@,$(web2cdir),g' \
-	<$(srcdir)/MakeTeXPK.in >$@.tmp
-	mv $@.tmp $@
-	-chmod a+x $@
-
-# Besides the straight variable substitutions, also change all
-# occurrences of `$(texmf)/' to `$TEXMF', so simply setting that envvar
-# changes the root of the whole tree.
-texmf.cnf: texmf.cnf.in texmf.sed
-	sed -f texmf.sed -e 's%$(texmf)/%$$TEXMF/%g' $(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 games.
-texmf.sed: $(top_srcdir)/../make/makevars.make
-	echo $(makevars) \
-	| tr ' ' '\012' \
-	| sed -e 's/^/s%@/' -e 's/=/@%/' -e 's/$$/%/' -e 's/$$/g/' \
-	>$@
-
-# First null out comments and leading/trailing whitespace, then remove
-# lines that define invalid C identifiers, then remove blank lines. 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),
-# then change $TEXMF back to $(texmf)
-# 
-# No backslash-newline escapes in the long sed replacement because that
-# will turn into a space in the output.
-# 
-# Without the $TEXMF substitution, if the cnf file was not found for
-# some reason, none of the compile-time paths would be of any use, since
-# TEXMF 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 possibly other variables)
-# that winds up in the final paths.h will not be used.
-paths.h: texmf.cnf
-	echo "/* paths.h: Generated from texmf.cnf `date`.  */" >$@
-	sed -e 's/%.*//' -e 's/^[ 	]*//' -e 's/[ 	]*$$//' texmf.cnf \
-	| grep '^[ 	]*[A-Za-z_]*[ 	=]' \
-	| sed '/^$$/d' \
-	| sed 's/^\([^ 	=]*\)[ 	]*=*[ 	]*\(.*\)/#ifndef DEFAULT_\1@#define DEFAULT_\1 "\2"@#endif/' \
-	| tr @ '\012' \
-	| sed 's@\$$TEXMF@$(texmf)@g' \
-	>>$@
-
-# A few object files need extra definitions. The dependencies are below.
-tex-file.o:
-	$(CC) $(CPPFLAGS) $(CFLAGS) \
-	  -DDEFAULT_FONT_SIZES='"$(default_texsizes)"' -c $(srcdir)/tex-file.c
-
-pic/tex-file.o:
-	$(CC) $(CPPFLAGS) $(CPICFLAG) $(CFLAGS) \
-	  -DDEFAULT_FONT_SIZES='"$(default_texsizes)"'\
-	  -c $(srcdir)/tex-file.c -o $@
-
-# Don't optimize.
-
-XCC = $(patsubst -O%, , $(CC))
-XCFLAGS = $(patsubst -O%, , $(ALL_CFLAGS))
-
-hash.o:
-	$(XCC) $(CPPFLAGS) $(XCFLAGS) -c $(srcdir)/hash.c
-
-pic/hash.o:
-	$(XCC) $(CPPFLAGS) $(CPICFLAG) $(XCFLAGS) -c $(srcdir)/hash.c -o $@
-
-# Need the -DHAVE_CONFIG_H.
-gmalloc.o:
-	$(CC) $(CPPFLAGS) @DEFS@ $(CFLAGS) -c $(srcdir)/gmalloc.c
-
-pic/gmalloc.o:
-	$(CC) $(CPPFLAGS) $(CPICFLAG) @DEFS@ $(CFLAGS) \
-	  -c $(srcdir)/gmalloc.c -o pic/gmalloc.o
-
-check: 
-
-install:
-	for f in $(LIBS_TO_INSTALL); do \
-	  if [ -f $$f ]; then $(INSTALL_DATA) $$f $(libdir)/$$f; fi; \
-	done
-	for f in $(SH_LIBS_TO_INSTALL); do \
-	  if [ -f $$f ]; then $(INSTALL_PROGRAM) $$f $(libdir)/$$f; fi; \
-	done
-
-install-strip:
-	$(MAKE) INSTALL_PROGRAM="$(INSTALL_PROGRAM) -s" install
-
-uninstall:
-
-# Installation of kpathsea itself is complicated by the fact that we
-# want to install texmf.cnf, kpathsea.info, and MakeTeXPK by default,
-# but not the headers or the .a file itself.  So we have a separate
-# target `install-library' to install the latter stuff.
-#install: install-exec install-data
-#uninstall: uninstall-exec uninstall-data
-#
-#install-exec: kpsewhich MakeTeXPK
-#	$(SHELL) $(top_srcdir)/../mkdirchain $(bindir) $(scriptdir)
-#	if grep 'original MakeTeXPK --' $(scriptdir)/MakeTeXPK >/dev/null 2>&1\
-#	   || test ! -r $(scriptdir)/MakeTeXPK; then \
-#	  $(INSTALL_PROGRAM) MakeTeXPK $(scriptdir)/MakeTeXPK; \
-#	else true; fi
-#	$(INSTALL_PROGRAM) kpsewhich $(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
-#uninstall-data:
-#	rm -f $(infodir)/kpathsea.info*
-#
-#install-library: libkpathsea.a 
-#	$(SHELL) $(top_srcdir)/../mkdirchain $(includedir)/kpathsea $(libdir)
-#	$(INSTALL_DATA) libkpathsea.a $(libdir)/libkpathsea.a
-#	for f in $(install_headers); do \
-#	  $(INSTALL_DATA) $$f $(includedir)/kpathsea/$$f; done
-#	rm -f $(includedir)/kpathsea/c-auto.h
-#uninstall-library:
-#	rm -f $(libdir)/libkpathsea.a
-#	for f in $(install_headers); do rm -f $(includedir)/$$f; done
-
-# distdir is used by other distributions; they define $(distdir).
-distdir: INSTALL TAGS kpathsea.info kpathsea.dvi
-	rm -rf $(distdir)
-	mkdir -p $(distdir)
-	ln $(ln_files) $(distdir)
-	cp -p $(HOME)/gnu/gnuorg/*.texi $(distdir)
-	touch *.info*
-	ln *.info* *.texi kpathsea.aux kpathsea.cps $(distdir)
-	ln CONFIGURE HIER common.ac $(distdir)
-	cd $(distdir); rm -f paths.h
-	cd $(distdir); add-version $(version) version.c
-
-bin-dist:
-	if [ -n "$(BINDISTFILES)" ]; then \
-	  ln $(BINDISTFILES) ../`cat ../.fname`/kpathsea ; \
-	fi
-	if [ -n "$(BINDISTLIBS)" ]; then \
-	  echo $(BINDISTLIBS) >> ../`cat ../.fname`/LIBRARIES ; \
-	fi
-.PHONY: bin-dist
-
-ac_include ../make/config.make
-
-info: kpathsea.info
-dvi: kpathsea.dvi
-INSTALL: kpathsea.texi install.texi
-	$(MAKEINFO) $(MAKEINFO_FLAGS) --no-headers $< -o - \
-	  | sed -n -e '/^Installation/,/wrong fonts/'p >$@
-	add-info-toc $@
-
-ac_include ../make/misc.make
-
-mostlyclean::
-	rm -f kpsewhich
-distclean::
-	rm -f paths.h texmf.cnf texmf.sed so_locations
-	rm -f libkpathsea.a libkpathsea.$(SHLEXT)
-
-ac_include ../make/rdepend.make
-absolute.o: absolute.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/absolute.h $(kpathsea_srcdir)/c-pathch.h
-basename.o: basename.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-pathch.h
-cnf.o: cnf.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-fopen.h $(kpathsea_srcdir)/c-ctype.h \
-  $(kpathsea_srcdir)/cnf.h $(kpathsea_srcdir)/db.h $(kpathsea_srcdir)/str-list.h \
-  $(kpathsea_srcdir)/hash.h $(kpathsea_srcdir)/line.h paths.h \
-  $(kpathsea_srcdir)/pathsearch.h $(kpathsea_srcdir)/str-llist.h $(kpathsea_srcdir)/tex-file.h \
-  $(kpathsea_srcdir)/variable.h
-concat.o: concat.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h
-concat3.o: concat3.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h
-concatn.o: concatn.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/concatn.h $(kpathsea_srcdir)/c-vararg.h
-db.o: db.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-fopen.h $(kpathsea_srcdir)/c-pathch.h $(kpathsea_srcdir)/db.h \
-  $(kpathsea_srcdir)/str-list.h $(kpathsea_srcdir)/hash.h $(kpathsea_srcdir)/line.h \
-  $(kpathsea_srcdir)/readable.h $(kpathsea_srcdir)/variable.h
-debug.o: debug.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h
-dir.o: dir.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-dir.h \
-  $(kpathsea_srcdir)/c-stat.h \
-  $(kpathsea_srcdir)/hash.h
-elt-dirs.o: elt-dirs.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-pathch.h $(kpathsea_srcdir)/expand.h $(kpathsea_srcdir)/fn.h \
-  $(kpathsea_srcdir)/pathsearch.h $(kpathsea_srcdir)/str-llist.h $(kpathsea_srcdir)/xopendir.h \
-  $(kpathsea_srcdir)/c-dir.h 
-expand.o: expand.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-pathch.h $(kpathsea_srcdir)/expand.h $(kpathsea_srcdir)/pathsearch.h \
-  $(kpathsea_srcdir)/str-llist.h $(kpathsea_srcdir)/tilde.h $(kpathsea_srcdir)/variable.h
-extend-fname.o: extend-fname.c $(kpathsea_srcdir)/config.h ./c-auto.h \
-  $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h
-file-p.o: file-p.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/xstat.h $(kpathsea_srcdir)/c-stat.h 
-find-suffix.o: find-suffix.c $(kpathsea_srcdir)/config.h ./c-auto.h \
-  $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-pathch.h
-fn.o: fn.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h $(kpathsea_srcdir)/fn.h
-fontmap.o: fontmap.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-fopen.h $(kpathsea_srcdir)/fontmap.h $(kpathsea_srcdir)/hash.h \
-  $(kpathsea_srcdir)/line.h $(kpathsea_srcdir)/pathsearch.h $(kpathsea_srcdir)/str-llist.h \
-  $(kpathsea_srcdir)/str-list.h
-getopt.o: getopt.c \
-  getopt.h
-getopt1.o: getopt1.c getopt.h 
-hash.o: hash.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/hash.h $(kpathsea_srcdir)/str-list.h
-itoa.o: itoa.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h
-kdefault.o: kdefault.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-pathch.h $(kpathsea_srcdir)/default.h
-kpsewhich.o: kpsewhich.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/getopt.h $(kpathsea_srcdir)/line.h $(kpathsea_srcdir)/proginit.h \
-  $(kpathsea_srcdir)/progname.h $(kpathsea_srcdir)/tex-file.h $(kpathsea_srcdir)/tex-glyph.h \
-  $(kpathsea_srcdir)/variable.h
-kpsexpand.o: kpsexpand.c \
-  tex-file.h $(kpathsea_srcdir)/c-proto.h $(kpathsea_srcdir)/types.h
-line.o: line.c 
-magstep.o: magstep.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/magstep.h
-make-suffix.o: make-suffix.c $(kpathsea_srcdir)/config.h ./c-auto.h \
-  $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h
-path-elt.o: path-elt.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-pathch.h $(kpathsea_srcdir)/pathsearch.h $(kpathsea_srcdir)/str-llist.h
-pathsearch.o: pathsearch.c $(kpathsea_srcdir)/config.h ./c-auto.h \
-  $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-fopen.h $(kpathsea_srcdir)/absolute.h $(kpathsea_srcdir)/expand.h \
-  $(kpathsea_srcdir)/db.h $(kpathsea_srcdir)/str-list.h $(kpathsea_srcdir)/pathsearch.h \
-  $(kpathsea_srcdir)/str-llist.h $(kpathsea_srcdir)/readable.h $(kpathsea_srcdir)/variable.h 
-proginit.o: proginit.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-pathch.h $(kpathsea_srcdir)/proginit.h $(kpathsea_srcdir)/progname.h \
-  $(kpathsea_srcdir)/tex-file.h
-progname.o: progname.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/progname.h
-putenv.o: putenv.c ./c-auto.h
-readable.o: readable.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-stat.h \
-  $(kpathsea_srcdir)/readable.h $(kpathsea_srcdir)/truncate.h
-rm-suffix.o: rm-suffix.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h
-str-list.o: str-list.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/str-list.h
-str-llist.o: str-llist.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/str-llist.h
-tex-file.o: tex-file.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-vararg.h $(kpathsea_srcdir)/cnf.h $(kpathsea_srcdir)/default.h \
-  $(kpathsea_srcdir)/expand.h paths.h $(kpathsea_srcdir)/pathsearch.h \
-  $(kpathsea_srcdir)/str-llist.h $(kpathsea_srcdir)/tex-file.h
-tex-glyph.o: tex-glyph.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/absolute.h $(kpathsea_srcdir)/expand.h $(kpathsea_srcdir)/fontmap.h \
-  $(kpathsea_srcdir)/hash.h $(kpathsea_srcdir)/pathsearch.h $(kpathsea_srcdir)/str-llist.h \
-  $(kpathsea_srcdir)/tex-glyph.h $(kpathsea_srcdir)/tex-file.h $(kpathsea_srcdir)/tex-make.h \
-  $(kpathsea_srcdir)/variable.h
-tex-make.o: tex-make.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-fopen.h $(kpathsea_srcdir)/c-pathch.h $(kpathsea_srcdir)/concatn.h \
-  $(kpathsea_srcdir)/c-vararg.h $(kpathsea_srcdir)/db.h $(kpathsea_srcdir)/str-list.h \
-  $(kpathsea_srcdir)/fn.h $(kpathsea_srcdir)/magstep.h $(kpathsea_srcdir)/readable.h \
-  $(kpathsea_srcdir)/tex-make.h $(kpathsea_srcdir)/tex-file.h $(kpathsea_srcdir)/variable.h
-tilde.o: tilde.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-pathch.h $(kpathsea_srcdir)/tilde.h 
-truncate.o: truncate.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-namemx.h $(kpathsea_srcdir)/c-pathch.h $(kpathsea_srcdir)/c-pathmx.h \
-  $(kpathsea_srcdir)/truncate.h
-uppercasify.o: uppercasify.c $(kpathsea_srcdir)/config.h ./c-auto.h \
-  $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-ctype.h 
-variable.o: variable.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/c-ctype.h $(kpathsea_srcdir)/cnf.h \
-  $(kpathsea_srcdir)/fn.h $(kpathsea_srcdir)/variable.h
-version.o: version.c
-xcalloc.o: xcalloc.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h
-xfopen.o: xfopen.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h
-xmalloc.o: xmalloc.c 
-xopendir.o: xopendir.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/xopendir.h $(kpathsea_srcdir)/c-dir.h 
-xputenv.o: xputenv.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h
-xrealloc.o: xrealloc.c 
-xstat.o: xstat.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h \
-  $(kpathsea_srcdir)/xstat.h $(kpathsea_srcdir)/c-stat.h 
-xstrdup.o: xstrdup.c $(kpathsea_srcdir)/config.h ./c-auto.h $(kpathsea_srcdir)/c-std.h \
-  $(kpathsea_srcdir)/c-unistd.h $(kpathsea_srcdir)/systypes.h \
-  $(kpathsea_srcdir)/c-memstr.h \
-  $(kpathsea_srcdir)/c-errno.h $(kpathsea_srcdir)/c-minmax.h \
-  $(kpathsea_srcdir)/c-limits.h \
-  $(kpathsea_srcdir)/c-proto.h \
-  $(kpathsea_srcdir)/lib.h $(kpathsea_srcdir)/types.h $(kpathsea_srcdir)/debug.h
deleted file mode 100644
--- a/kpathsea/NEWS
+++ /dev/null
@@ -1,124 +0,0 @@
-This file records noteworthy changes.
-
-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.
deleted file mode 100644
--- a/kpathsea/README
+++ /dev/null
@@ -1,27 +0,0 @@
-This directory contains the Kpathsea[rch] library, which implements
-generic path searching, configuration, and TeX-specific file searching.
-
-See `Makefile.in' for the version number.
-See `NEWS' for changes by release.
-See `INSTALL' for installation instructions.
-See `CONFIGURE' for details on running Autoconf-generated configure scripts.
-See `PROJECTS' for future improvements.
-
-Please report bugs to tex-k@cs.umb.edu. 
-(Email tex-k-request@cs.umb.edu with a line containing
-    subscribe you@preferred.email.address
-in the body of the message to join this mailing list.)
-
-Suggestions for improvements in either the library or the documentation,
-no matter how small, are welcome.
-
-Installing this package will create the library and header files in
-subdirectories of /usr/local (by default). Typically this library is not
-installed, however; only the programs that use it are.
-
-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@cs.umb.edu
-Member of the League for Programming Freedom -- write lpf@uunet.uu.net.
deleted file mode 100644
--- a/kpathsea/README.CONFIGURE
+++ /dev/null
@@ -1,179 +0,0 @@
-Contents:
-
-  Basic Installation
-  Compilers and Options
-  Using a Different Build Directory
-  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 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'.
-
-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
-
-Using a Different Build Directory
-=================================
-
-   You can compile the package in a different directory from the one
-containing the source code.  Doing so allows you to compile it on more
-than one kind of computer at the same time.  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 `..'.
-
-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.
-
-   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'
-     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.
-
deleted file mode 100644
--- a/kpathsea/absolute.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* absolute.c: Test if a filename is absolute or explicitly relative.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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 DOS
-#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 DOS
-                      || ISALPHA (*filename) && filename[1] == ':'
-#endif /* DOS */
-		      ;
-  boolean explicit_relative
-    = relative_ok && (*filename == '.'
-       && (IS_DIR_SEP (filename[1])
-           || (filename[1] == '.' && IS_DIR_SEP (filename[2]))));
-
-  return absolute || explicit_relative;
-#endif /* not VMS */
-}
deleted file mode 100644
--- a/kpathsea/absolute.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* absolute.h: Declare absolute filename predicate.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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 */
deleted file mode 100644
--- a/kpathsea/acconfig.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* acconfig.h -- used by autoheader when generating c-auto.h.in.  */
-
-/* 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
-
-/* Define if you have SIGIO, F_SETOWN, and FASYNC.  */
-#undef HAVE_SIGIO
deleted file mode 100644
--- a/kpathsea/aclocal.m4
+++ /dev/null
@@ -1,349 +0,0 @@
-dnl Modifications for the latest version of Autoconf for kpathsea.
-dnl These changes have all been sent back to the Autoconf maintainer.
-
-dnl This is a subroutine of AC_OUTPUT.  It is called inside an unquoted
-dnl here document whose contents are going into config.status.
-dnl AC_OUTPUT_FILES(FILE...)
-dnl I've added ac_include support --karl@cs.umb.edu.
-undefine([AC_OUTPUT_FILES])
-define(AC_OUTPUT_FILES,
-[# Protect against being on the right side of a sed subst in config.status. 
-changequote(, )dnl
-sed 's/%@/@@/; s/@%/@@/; s/%g$/@g/; /@g$/s/[\\\\&%]/\\\\&/g; 
- s/@@/%@/; s/@@/@%/; s/@g$/%g/' > conftest.subs <<\CEOF
-changequote([, ])dnl
-dnl These here document variables are unquoted when configure runs
-dnl but quoted when config.status runs, so variables are expanded once.
-$ac_vpsub
-dnl Shell code in configure.in might set extrasub.
-$extrasub
-dnl Insert the sed substitutions of variables.
-undivert(AC_DIVERSION_SED)
-CEOF
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"$1"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
-dnl Specifying an input file breaks the trap to clean up on interrupt,
-dnl but that's not a huge problem.
-  # Support "outfile[:infile]", defaulting infile="outfile.in".
-  case "$ac_file" in
-  *:*) ac_file_in=`echo "$ac_file"|sed 's%.*:%%'`
-       ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-  *) ac_file_in="${ac_file}.in" ;;
-  esac
-
-  # Adjust relative srcdir, etc. for subdirectories.
-
-  # Remove last slash and all that follows it.  Not all systems have dirname.
-changequote(, )dnl
-  ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
-changequote([, ])dnl
-  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
-    # The file is in a subdirectory.
-    test ! -d "$ac_dir" && mkdir "$ac_dir"
-    ac_dir_suffix="/$ac_dir"
-    # A "../" for each directory in $ac_dir_suffix.
-changequote(, )dnl
-    ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
-changequote([, ])dnl
-  else
-    ac_dir_suffix= ac_dots=
-  fi
-
-  case "$ac_given_srcdir" in
-  .)  srcdir=.
-      if test -z "$ac_dots"; then top_srcdir=.
-      else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
-  /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
-  *) # Relative path.
-    srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
-    top_srcdir="$ac_dots$ac_given_srcdir" ;;
-  esac
-
-ifdef([AC_PROVIDE_AC_PROG_INSTALL],
-[  case "$ac_given_INSTALL" in
-changequote(, )dnl
-  [/$]*) INSTALL="$ac_given_INSTALL" ;;
-changequote([, ])dnl
-  *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
-  esac
-])dnl
-  echo creating "$ac_file"
-  rm -f "$ac_file"
-  configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
-  case "$ac_file" in
-  *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
-  *) ac_comsub= ;;
-  esac
-  # Replace lines of the form ac_include foo with the contents of foo:
-  # first, from the ac_include lines construct a list of sed
-  # commands to remove them, and include the files; then run sed.
-  # Have to use sed because old (Ultrix, SunOS) awk does not support
-  # getline or system. (Anyway, configure scripts aren't supposed to use awk.)
-  # Use \@...@<cmd> form of sed address because the filename may contain /.
-  # Can't use only one -e and commands {dr foo} because foo has to be last.
-  # Use @e initially instead of -e because GNU echo has a -e option.
-  # USe `X' to mean a bunch of backslashes; this is for FreeBSD.
-  file_substs=`sed -n \
-changequote(,)dnl
-"/^ac_include/s%ac_include[ 	]*\(.*\)%@e 'X@^&@r \1' -e 'X@^&@d'%p" \
-changequote([,])dnl
-               $ac_given_srcdir/${ac_file}.in`
-  if test -n "$file_substs"; then
-    # Change @e back to -e and X@^ to \@^.
-    file_subst_cmd="sed `echo $file_substs \
-                         | sed -e 's/@e/-e/g' -e 's/X@^/\\\\\@^/g'`"
-  else
-    # If no substitutions and hence no sed commands, don't choke.
-    file_subst_cmd=cat
-  fi
-  # cd into the srcdir because the files being included more or less
-  # must be part of the distribution. I can't find any way to do
-  # variable substitution in the sed commands (so the user could have,
-  # e.g., $top_srcdir in their ac_include line).
-  (cd $ac_given_srcdir && eval $file_subst_cmd ${ac_file}.in) \
-  | sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-ifdef([AC_PROVIDE_AC_PROG_INSTALL], [s%@INSTALL@%$INSTALL%g
-])dnl
-" -f conftest.subs > $ac_file
-fi; done
-rm -f conftest.subs
-])
-
-
-dnl 
-dnl Only change from Autoconf 2.1 is to check IceConnectionNumber, not
-dnl ...Numbers.
-dnl
-dnl Find additional X libraries, magic flags, etc.
-undefine([AC_PATH_XTRA])
-AC_DEFUN(AC_PATH_XTRA,
-[AC_REQUIRE([AC_ISC_POSIX])dnl
-AC_REQUIRE([AC_PATH_X])dnl
-if test "$no_x" = yes; then 
-  # Not all programs may use this symbol, but it does not hurt to define it.
-  X_CFLAGS="$X_CFLAGS -DX_DISPLAY_MISSING"
-else
-  if test -n "$x_includes"; then
-    X_CFLAGS="$X_CFLAGS -I$x_includes"
-  fi
-
-  # It would be nice to have a more robust check for the -R ld option than
-  # just checking for Solaris.
-  # It would also be nice to do this for all -L options, not just this one.
-  if test -n "$x_libraries"; then
-    X_LIBS="$X_LIBS -L$x_libraries"
-    if test "`(uname) 2>/dev/null`" = SunOS &&
-      uname -r | grep '^5' >/dev/null; then
-      X_LIBS="$X_LIBS -R$x_libraries"
-    fi
-  fi
-
-  # Check for libraries that X11R6 Xt/Xaw programs need.
-
-  ac_save_LDFLAGS="$LDFLAGS"
-  LDFLAGS="$LDFLAGS -L$x_libraries"
-  # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
-  # check for ICE first), but we must link in the order -lSM -lICE or
-  # we get undefined symbols.  So assume we have SM if we have ICE.
-  # These have to be linked with before -lX11, unlike the other
-  # libraries we check for below, so use a different variable.
-  #  --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
-  AC_CHECK_LIB(ICE, IceConnectionNumber,
-    [X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"])
-  LDFLAGS="$ac_save_LDFLAGS"
-
-  # Check for system-dependent libraries X programs must link with.
-
-  if test "$ISC" = yes; then
-    X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
-  else
-    # Martyn.Johnson@cl.cam.ac.uk says this is needed for Ultrix, if the X
-    # libraries were built with DECnet support.  And karl@cs.umb.edu says
-    # the Alpha needs dnet_stub (dnet does not exist).
-    AC_CHECK_LIB(dnet, dnet_ntoa, [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"])
-    if test $ac_cv_lib_dnet = no; then
-      AC_CHECK_LIB(dnet_stub, dnet_ntoa,
-        [X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"])
-    fi
-
-    # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
-    # to get the SysV transport functions.
-    # Not sure which flavor of 386 UNIX this is, but it seems harmless to
-    # check for it.
-    AC_CHECK_LIB(nsl, t_accept, [X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"])
-
-    # lieder@skyler.mavd.honeywell.com says without -lsocket,
-    # socket/setsockopt and other routines are undefined under SCO ODT 2.0.
-    # But -lsocket is broken on IRIX, according to simon@lia.di.epfl.ch.
-    if test "`(uname) 2>/dev/null`" != IRIX; then
-      AC_CHECK_LIB(socket, socket, [X_EXTRA_LIBS="$X_EXTRA_LIBS -lsocket"])
-    fi
-  fi
-fi
-AC_SUBST(X_CFLAGS)dnl
-AC_SUBST(X_PRE_LIBS)dnl
-AC_SUBST(X_LIBS)dnl
-AC_SUBST(X_EXTRA_LIBS)dnl
-])
-
-
-dnl 
-dnl Definition was buggy in Autoconf 2.1; parameters were incorrectly
-dnl passed to AC_MSG_ERROR and AC_TRY_LINK.
-dnl
-dnl Check if lex declares yytext as a char * by default, not a char[].
-undefine([AC_DECL_YYTEXT])
-AC_DEFUN(AC_DECL_YYTEXT,
-[AC_REQUIRE_CPP()dnl
-AC_REQUIRE([AC_PROG_LEX])dnl
-AC_CACHE_VAL(ac_cv_prog_lex_output_root,
-[# The minimal lex program is just a single line: %%.  But some broken lexes
-# (Solaris, I think it was) want two %% lines, so accommodate them.
-echo '%%
-%%' | $LEX
-if test -f lex.yy.c; then
-  ac_cv_prog_lex_output_root=lex.yy
-elif test -f lexyy.c; then
-  ac_cv_prog_lex_output_root=lexyy
-else
-  AC_MSG_ERROR([cannot find output from $LEX, giving up])
-fi])dnl
-LEX_OUTPUT_ROOT=$ac_cv_prog_lex_output_root
-AC_SUBST(LEX_OUTPUT_ROOT)dnl
-AC_MSG_CHECKING(for yytext declaration)
-AC_CACHE_VAL(ac_cv_prog_lex_yytext_pointer,
-[# POSIX says lex can declare yytext either as a pointer or an array; the
-# default is implementation-dependent. Figure out which it is, since
-# not all implementations provide the %pointer and %array declarations.
-ac_cv_prog_lex_yytext_pointer=no
-echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c
-ac_save_LIBS="$LIBS"
-LIBS="$LIBS $LEXLIB"
-AC_TRY_LINK(`cat $LEX_OUTPUT_ROOT.c`,, ac_cv_prog_lex_yytext_pointer=yes)
-LIBS="$ac_save_LIBS"
-rm -f "${LEX_OUTPUT_ROOT}.c"])dnl
-AC_MSG_RESULT($ac_cv_prog_lex_yytext_pointer)
-if test $ac_cv_prog_lex_yytext_pointer = yes; then
-  AC_DEFINE(YYTEXT_POINTER)
-fi
-])
-
-dnl 
-dnl install-sh needs .. magic.
-dnl
-dnl AC_OUTPUT_SUBDIRS(DIRECTORY...)
-undefine([AC_OUTPUT_SUBDIRS])
-define(AC_OUTPUT_SUBDIRS,
-[
-if test "$no_recursion" != yes; then
-
-  # Remove --cache-file and --srcdir arguments so they do not pile up.
-  ac_sub_configure_args=
-  ac_prev=
-  for ac_arg in $ac_configure_args; do
-    if test -n "$ac_prev"; then
-      ac_prev=
-      continue
-    fi
-    case "$ac_arg" in
-    -cache-file | --cache-file | --cache-fil | --cache-fi \
-    | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-      ac_prev=cache_file ;;
-    -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-    | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-      ;;
-    -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-      ac_prev=srcdir ;;
-    -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-      ;;
-    *) ac_sub_configure_args="$ac_sub_configure_args $ac_arg" ;;
-    esac
-  done
-
-  for ac_config_dir in $1; do
-
-    # Do not complain, so a configure script can configure whichever
-    # parts of a large source tree are present.
-    if test ! -d $srcdir/$ac_config_dir; then
-      continue
-    fi
-
-    echo configuring in $ac_config_dir
-
-    case "$srcdir" in
-    .) ;;
-    *)
-      if test -d ./$ac_config_dir || mkdir ./$ac_config_dir; then :;
-      else
-        AC_MSG_ERROR(can not create `pwd`/$ac_config_dir)
-      fi
-      ;;
-    esac
-
-    ac_popdir=`pwd`
-    cd $ac_config_dir
-
-    case "$srcdir" in
-    .) # No --srcdir option.  We are building in place.
-      ac_sub_srcdir=$srcdir ;;
-    /*) # Absolute path.
-      ac_sub_srcdir=$srcdir/$ac_config_dir ;;
-    *) # Relative path.
-      ac_sub_srcdir=../$srcdir/$ac_config_dir ;;
-    esac
-
-    # Check for guested configure; otherwise get Cygnus style configure.
-    if test -f $ac_sub_srcdir/configure; then
-      ac_sub_configure=$ac_sub_srcdir/configure
-    elif test -f $ac_sub_srcdir/configure.in; then
-      ac_sub_configure=$ac_configure
-    else
-      AC_MSG_WARN(no configuration information is in $ac_config_dir)
-      ac_sub_configure=
-    fi
-
-    # The recursion is here.
-    if test -n "$ac_sub_configure"; then
-
-      # Make the cache file name correct relative to the subdirectory.
-changequote(, )dnl
-      # A "../" for each directory in /$ac_config_dir.
-      ac_dots=`echo /$ac_config_dir|sed 's%/[^/]*%../%g'`
-changequote([, ])dnl
-      case "$cache_file" in
-      /*) ac_sub_cache_file=$cache_file ;;
-      *) # Relative path.
-        ac_sub_cache_file="$ac_dots$cache_file" ;;
-      esac
-
-ifdef([AC_PROVIDE_AC_PROG_INSTALL],
-      [  case "$ac_given_INSTALL" in
-changequote(, )dnl
-        [/$]*) INSTALL="$ac_given_INSTALL" ;;
-changequote([, ])dnl
-        *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
-        esac
-])dnl
-
-      echo "[running ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file] --srcdir=$ac_sub_srcdir"
-      # The eval makes quoting arguments work.
-      if eval ${CONFIG_SHELL-/bin/sh} $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_sub_srcdir
-      then :
-      else
-        AC_MSG_ERROR($ac_sub_configure failed for $ac_config_dir)
-      fi
-    fi
-
-    cd $ac_popdir
-  done
-fi
-])
deleted file mode 100644
--- a/kpathsea/basename.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* basename.c: return the last element in a path.
-
-Copyright (C) 1992, 94, 95 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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]))
-        {
-          base = name + len;
-          break;
-        }
-    }
-
-  if (!base)
-    base = name;
-  
-  return base;
-}
-
-#endif /* not HAVE_BASENAME */
deleted file mode 100644
--- a/kpathsea/c-auto.h.in
+++ /dev/null
@@ -1,71 +0,0 @@
-/* c-auto.h.in.  Generated automatically from configure.in by autoheader.  */
-
-/* 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 need to in order for stat and other things to work.  */
-#undef _POSIX_SOURCE
-
-/* 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
-
-/* 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 memmove function.  */
-#undef HAVE_MEMMOVE
-
-/* Define if you have the putenv function.  */
-#undef HAVE_PUTENV
-
-/* 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 <unistd.h> header file.  */
-#undef HAVE_UNISTD_H
deleted file mode 100644
--- a/kpathsea/c-ctype.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/* c-ctype.h: ASCII-safe versions of the <ctype.h> macros.
-
-Copyright (C) 1992 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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 */
deleted file mode 100644
--- a/kpathsea/c-dir.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* c-dir.h: directory headers.
-
-Copyright (C) 1992, 93, 94 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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 */
deleted file mode 100644
--- a/kpathsea/c-errno.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* c-errno.h: <errno.h> and the errno variable.
-
-Copyright (C) 1992 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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 */
deleted file mode 100644
--- a/kpathsea/c-fopen.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/* c-fopen.h: how to open files with fopen.
-
-Copyright (C) 1992, 94 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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
-#if defined (VMS) || defined (DOS) || defined (VMCMS)
-#define	FOPEN_RBIN_MODE	"rb"
-#else
-#define	FOPEN_RBIN_MODE	"r"
-#endif /* not (VM/CMS or DOS or VMS) */
-#endif /* not FOPEN_RBIN_MODE */
-
-/* How to open a binary file for writing:  */
-#ifndef FOPEN_WBIN_MODE
-#ifdef DOS
-#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 DOS */
-#endif /* not FOPEN_WBIN_MODE */
-
-#endif /* not C_FOPEN_H */
deleted file mode 100644
--- a/kpathsea/c-limits.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* c-limits.h: include the system parameter file.
-
-Copyright (C) 1992, 93 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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>
-#include <sys/param.h>
-#endif
-
-/* 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 */
deleted file mode 100644
--- a/kpathsea/c-memstr.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/* c-memstr.h: memcpy, strchr, etc.
-
-Copyright (C) 1992, 93, 94 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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)
-#define SYSV /* so <X11/Xos.h> knows not to include <strings.h> */
-#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 */
deleted file mode 100644
--- a/kpathsea/c-minmax.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/* 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 program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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 */
deleted file mode 100644
--- a/kpathsea/c-namemx.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* 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 program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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 */
deleted file mode 100644
--- a/kpathsea/c-pathch.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* c-pathch.h: define the characters which separate components of
-   filenames and environment variable paths.
-
-Copyright (C) 1992, 93 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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
-
-/* What separates filename components?  */
-#ifndef DIR_SEP
-#ifdef VMS
-#define DIR_SEP ':'
-#define DIR_SEP_STRING ":"
-#else
-#ifdef DOS
-#define DIR_SEP '\\'
-#define DIR_SEP_STRING "\\"
-/* On DOS, it's good to allow both \ and / between directories.  */
-#define IS_DIR_SEP(ch) ((ch) == DIR_SEP || (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 DOS */
-#endif /* not VMS */
-#endif /* not PATH_SEP */
-
-#ifndef IS_DIR_SEP
-#define IS_DIR_SEP(ch) ((ch) == DIR_SEP)
-#endif
-
-
-/* What separates elements in environment variable path lists?  */
-#ifndef ENV_SEP
-#ifdef VMS
-#define ENV_SEP ','
-#define ENV_SEP_STRING ","
-#else
-#ifdef DOS
-#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 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 */
deleted file mode 100644
--- a/kpathsea/c-pathmx.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* 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 program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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 */
deleted file mode 100644
--- a/kpathsea/c-proto.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/* c-proto.h: macros to include or discard prototypes.
-
-Copyright (C) 1992, 93 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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
-
-/* 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 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 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 */
deleted file mode 100644
--- a/kpathsea/c-stat.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* c-stat.h: declarations for using stat(2).
-
-Copyright (C) 1993 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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>
-
-/* 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 */
deleted file mode 100644
--- a/kpathsea/c-std.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/* c-std.h: the first header files.
-
-Copyright (C) 1992, 93, 94 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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 these.  */
-extern char *getenv ();
-
-#ifndef ALLOC_RETURN_TYPE
-#ifdef DOS
-#define ALLOC_RETURN_TYPE void
-#else
-#define ALLOC_RETURN_TYPE char
-#endif /* not DOS */
-#endif /* not ALLOC_RETURN_TYPE */
-
-#ifndef _MALLOC_INTERNAL
-/* Don't bother to declare these if we are compiling gmalloc.c itself.  */
-extern ALLOC_RETURN_TYPE *calloc (), *malloc (), *realloc ();
-#endif
-
-#endif /* not STDC_HEADERS */
-
-/* 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
-/* `popen' and `pclose' are part of POSIX.2, not POSIX.1.  So
-   STDC_HEADERS isn't enough.  */
-extern FILE *popen ();
-extern int pclose ();
-#endif
-
-#ifndef hypot
-/* hypot appears not to have made it into POSIX.2, even.  */
-extern double hypot ();
-#endif
-
-#endif /* not KPATHSEA_C_STD_H */
deleted file mode 100644
--- a/kpathsea/c-unistd.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* c-unistd.h: ensure we have constants from <unistd.h>.  Included from
-   c-std.h.
-
-Copyright (C) 1992, 93 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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>
-
-#ifdef 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 */
deleted file mode 100644
--- a/kpathsea/c-vararg.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* c-vararg.h: Top layer for stdarg and varargs.
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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 */
deleted file mode 100644
--- a/kpathsea/cnf.c
+++ /dev/null
@@ -1,190 +0,0 @@
-/* cnf.c: read config files.
-
-Copyright (C) 1994 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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/tex-file.h>
-#include <kpathsea/variable.h>
-
-
-/* By using our own hash table, instead of the environment, we
-   complicate variable expansion (because now we have to look in two
-   places), but we don't bang so heavily 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.  */
-#ifndef CNF_HASH_SIZE
-#define CNF_HASH_SIZE 751
-#endif
-static hash_table_type cnf_hash;
-
-/* 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;
-  
-  /* 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 =.  */
-      string prog;
-      extern string program_invocation_short_name; /* must be set by main */
-      
-      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 (!STREQ (prog, program_invocation_short_name))
-        {
-          free (var);
-          free (prog);
-          return;
-        }
-    }
-
-  /* Skip whitespace, an optional =, more whitespace.  */
-  while (ISSPACE (*line))
-    line++;
-  if (*line == '=')
-    {
-      line++;
-      while (ISSPACE (*line))
-        line++;
-    }
-  
-  /* Everything up to the next whitespace or eol is the value. */
-  start = line;
-  while (*line && !ISSPACE (*line))
-    line++;
-  len = line - start;
-  
-  value = xmalloc (len + 1);
-  strncpy (value, start, len);
-  value[len] = 0;
-  
-  /* For cnf files, multiple values for a single variable make no sense,
-     but instead of removing them, we'll just take the most recent in
-     `kpse_cnf_get'.  Thus, we are assuming here that `hash_insert' puts
-     the most recent entries in first.  */
-  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_files 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,
-                                    kpse_format_info[kpse_cnf_format].program);
-       cnf_files && *cnf_files; cnf_files++)
-    {
-      string line;
-      string cnf_filename = *cnf_files;
-      FILE *cnf_file = xfopen (cnf_filename, FOPEN_R_MODE);
-      
-      while ((line = read_line (cnf_file)) != NULL)
-        {
-          do_line (line);
-          free (line);
-        }
-
-      xfclose (cnf_file, cnf_filename);
-    }
-  
-  /* After (*after*) reading the cnf files, expand the db directory, for
-     use by `elt_in_db' in pathsearch.c.  The default value of $TEXMF
-     has to be able to get TEXMF from a cnf file, therefore in the
-     `kpse_all_path_search' call above, we do not have DB_DIR.  */
-  kpse_db_dir = kpse_var_expand (KPSE_DB_DIR);
-  if (! *kpse_db_dir)
-    kpse_db_dir = kpse_var_expand (DEFAULT_TEXMF);
-}
-
-/* Read the cnf files on the first call.  Return the first value in the
-   returned list -- this will be from the last-read cnf file.  */
-
-string
-kpse_cnf_get P1C(const_string, name)
-{
-  string *ret_list;
-  
-  if (cnf_hash.size == 0)
-    read_files ();
-  
-  ret_list = hash_lookup (cnf_hash, name);
-  
-  return ret_list ? *ret_list : NULL;
-}
deleted file mode 100644
--- a/kpathsea/cnf.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* cnf.h: runtime config files.
-
-Copyright (C) 1994 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_CNF_H
-#define KPATHSEA_CNF_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/types.h>
-
-/* Return the value in the last-read cnf file for VAR, or NULL if none.
-   On the first call, also read all the cnf files in the path (and
-   initialize the path) named the `program' member of the
-   `kpse_cnf_format' element of `kpse_format_info'.  */
-extern string kpse_cnf_get P1H(const_string var);
-
-#endif /* not KPATHSEA_CNF_H */
deleted file mode 100644
--- a/kpathsea/common.ac
+++ /dev/null
@@ -1,98 +0,0 @@
-dnl Common Autoconf sinclude file for kpathsea-using programs.  (Have to
-dnl use the m4 `sinclude' builtin instead of `include', since Autoconf
-dnl disables `include'.)
-
-dnl Write output here, instead of putting a zillion -D's on the command line.
-AC_CONFIG_HEADER(c-auto.h)
-
-AC_PROG_MAKE_SET
-
-AC_PROG_CC
-AC_PROG_INSTALL
-AC_PROG_RANLIB
-
-AC_ISC_POSIX
-
-AC_HEADER_DIRENT
-AC_HEADER_STDC
-AC_FUNC_CLOSEDIR_VOID
-AC_CHECK_HEADERS(assert.h float.h limits.h memory.h pwd.h stdlib.h \
-                 string.h unistd.h)
-
-AC_CHECK_FUNCS(basename bcopy memmove putenv)
-
-AC_C_CONST
-
-
-# This is a GNU libc invention.
-AC_MSG_CHECKING(whether program_invocation_name is predefined)
-AC_CACHE_VAL(kb_cv_var_program_inv_name,
-[AC_TRY_LINK(, [main() { program_invocation_name = "love"; }],
-  kb_cv_var_program_inv_name=yes, kb_cv_var_program_inv_name=no)])dnl
-AC_MSG_RESULT($kb_cv_var_program_inv_name)
-if test $kb_cv_var_program_inv_name = yes; then
-  AC_DEFINE(HAVE_PROGRAM_INVOCATION_NAME)
-fi
-
-
-# Some BSD putenv's, e.g., FreeBSD, do malloc/free's on the environment.
-# This test program is due to Mike Hibler <mike@cs.utah.edu>.
-# We don't actually need to run this if we don't have putenv, but it
-# doesn't hurt.
-AC_MSG_CHECKING(whether putenv uses malloc)
-AC_CACHE_VAL(kb_cv_func_putenv_malloc,
-[AC_TRY_RUN([
-#define VAR	"YOW_VAR"
-#define STRING1 "GabbaGabbaHey"
-#define STRING2 "Yow!!"		/* should be shorter than STRING1 */
-extern char *getenv (); /* in case char* and int don't mix gracefully */
-main ()
-{
-  char *str1, *rstr1, *str2, *rstr2;
-  str1 = getenv (VAR);
-  if (str1)
-    exit (1);
-  str1 = malloc (strlen (VAR) + 1 + strlen (STRING1) + 1);
-  if (str1 == 0)
-    exit (2);
-  strcpy (str1, VAR);
-  strcat (str1, "=");
-  strcat (str1, STRING1);
-  if (putenv (str1) < 0)
-    exit (3);
-  rstr1 = getenv (VAR);
-  if (rstr1 == 0)
-    exit (4);
-  rstr1 -= strlen (VAR) + 1;
-  if (strncmp (rstr1, VAR, strlen (VAR)))
-    exit (5);
-  str2 = malloc (strlen (VAR) + 1 + strlen (STRING2) + 1);
-  if (str2 == 0 || str1 == str2)
-    exit (6);
-  strcpy (str2, VAR);
-  strcat (str2, "=");
-  strcat (str2, STRING2);
-  if (putenv (str2) < 0)
-    exit (7);
-  rstr2 = getenv (VAR);
-  if (rstr2 == 0)
-    exit (8);
-  rstr2 -= strlen (VAR) + 1;
-#if 0
-  printf ("rstr1=0x%x, rstr2=0x%x\n", rstr1, rstr2);
-  /*
-   * If string from first call was reused for the second call,
-   * you had better not do a free on the first string!
-   */
-  if (rstr1 == rstr2)
-          printf ("#define SMART_PUTENV\n");
-  else
-          printf ("#undef SMART_PUTENV\n");
-#endif
-  exit (rstr1 == rstr2 ? 0 : 1);
-}], kb_cv_func_putenv_malloc=yes, kb_cv_func_putenv_malloc=no,
-    kb_cv_func_putenv_malloc=no)])dnl
-AC_MSG_RESULT($kb_cv_func_putenv_malloc)
-if test $kb_cv_func_putenv_malloc = yes; then
-  AC_DEFINE(SMART_PUTENV)
-fi
deleted file mode 100644
--- a/kpathsea/concat.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* concat.c: dynamic string concatenation.
-
-Copyright (C) 1992, 93 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#include <kpathsea/config.h>
-
-
-/* Return the concatenation of S1 and S2.  See `concatn.c' for a
-   `concatn', which takes a variable number of arguments.  */
-
-string
-concat P2C(const_string, s1,  const_string, s2)
-{
-  string answer = (string) xmalloc (strlen (s1) + strlen (s2) + 1);
-  strcpy (answer, s1);
-  strcat (answer, s2);
-
-  return answer;
-}
deleted file mode 100644
--- a/kpathsea/concat3.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* concat3.c: concatenate three strings.
-
-Copyright (C) 1992 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#include <kpathsea/config.h>
-
-
-string
-concat3 P3C(const_string, s1,  const_string, s2,  const_string, s3)
-{
-  string answer
-    = (string) xmalloc (strlen (s1) + strlen (s2) + strlen (s3) + 1);
-  strcpy (answer, s1);
-  strcat (answer, s2);
-  strcat (answer, s3);
-
-  return answer;
-}
deleted file mode 100644
--- a/kpathsea/concatn.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/* concatn.c: Concatenate an arbitrary number of strings.
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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/concatn.h>
-
-
-/* OK, it would be epsilon more efficient to compute the total length
-   and then do the copying ourselves, but I doubt it matters in reality.  */
-
-string
-concatn PVAR1C(const_string, str1,  ap)
-{
-  string arg;
-  string ret;
-
-  if (!str1)
-    return NULL;
-  
-  ret = xstrdup (str1);
-  
-  while ((arg = va_arg (ap, string)) != NULL)
-    {
-      ret = concat (ret, arg);
-    }
-  va_end (ap);
-  
-  return ret;
-}}
-
-#ifdef TEST
-int
-main ()
-{
-  printf ("null = \"%s\"\n", concatn (NULL));
-  printf ("\"a\" = \"%s\"\n", concatn ("a", NULL));
-  printf ("\"ab\" = \"%s\"\n", concatn ("a", "b", NULL));
-  printf ("\"abc\" = \"%s\"\n", concatn ("a", "b", "c", NULL));
-  printf ("\"abcd\" = \"%s\"\n", concatn ("ab", "cd", NULL));
-  printf ("\"abcde\" = \"%s\"\n", concatn ("ab", "c", "de", NULL));
-  printf ("\"abcdef\" = \"%s\"\n", concatn ("", "a", "", "bcd", "ef", NULL));
-  return 0;
-}
-
-#endif /* TEST */
-
-
-/*
-Local variables:
-standalone-compile-command: "gcc -posix -g -I. -I.. -DTEST concatn.c kpathsea.a"
-End:
-*/
deleted file mode 100644
--- a/kpathsea/concatn.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* concatn.h: concatenate a variable number of strings.
-   This is a separate include file only because I don't see the point of
-   having every source file include <c-vararg.h>.  The declarations for
-   the other concat routines are in lib.h.
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_CONCATN_H
-#define KPATHSEA_CONCATN_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/c-vararg.h>
-#include <kpathsea/types.h>
-
-/* Concatenate a null-terminated list of strings and return the result
-   in malloc-allocated memory.  */
-extern string concatn PVAR1H(const_string str1);
-
-#endif /* not KPATHSEA_CONCATN_H */
-
-
deleted file mode 100755
--- a/kpathsea/config.guess
+++ /dev/null
@@ -1,686 +0,0 @@
-#! /bin/sh
-# Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 93, 94, 95, 1996 Free Software Foundation, Inc.
-#
-# This file is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Written by Per Bothner <bothner@cygnus.com>.
-# The master version of this file is at the FSF in /home/gd/gnu/lib.
-#
-# This script attempts to guess a canonical system name similar to
-# config.sub.  If it succeeds, it prints the system name on stdout, and
-# exits with 0.  Otherwise, it exits with 1.
-#
-# The plan is that this can be called by configure scripts if you
-# don't specify an explicit system type (host/target name).
-#
-# Only a few systems have been added to this list; please add others
-# (but try to keep the structure clean).
-#
-
-# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
-# (ghazi@noc.rutgers.edu 8/24/94.)
-if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
-	PATH=$PATH:/.attbin ; export PATH
-fi
-
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
-
-trap 'rm -f dummy.c dummy.o dummy; exit 1' 1 2 15
-
-# Note: order is significant - the case branches are not exclusive.
-
-case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
-    alpha:OSF1:*:*)
-	# A Vn.n version is a released version.
-	# A Tn.n version is a released field test version.
-	# A Xn.n version is an unreleased experimental baselevel.
-	# 1.2 uses "1.2" for uname -r.
-	echo alpha-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//'`
-	exit 0 ;;
-    21064:Windows_NT:50:3)
-	echo alpha-dec-winnt3.5
-	exit 0 ;;
-    Amiga*:UNIX_System_V:4.0:*)
-	echo m68k-cbm-sysv4
-	exit 0;;
-    amiga:NetBSD:*:*)
-      echo m68k-cbm-netbsd${UNAME_RELEASE}
-      exit 0 ;;
-    amiga:OpenBSD:*:*)
-      echo m68k-cbm-openbsd${UNAME_RELEASE}
-      exit 0 ;;
-    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
-	echo arm-acorn-riscix${UNAME_RELEASE}
-	exit 0;;
-    Pyramid*:OSx*:*:*|MIS*:OSx*:*:*)
-	# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
-	if test "`(/bin/universe) 2>/dev/null`" = att ; then
-		echo pyramid-pyramid-sysv3
-	else
-		echo pyramid-pyramid-bsd
-	fi
-	exit 0 ;;
-    NILE:*:*:dcosx)
-	echo pyramid-pyramid-svr4
-	exit 0 ;;
-    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
-	echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    i86pc:SunOS:5.*:*)
-	echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    sun4*:SunOS:6*:*)
-	# According to config.sub, this is the proper way to canonicalize
-	# SunOS6.  Hard to guess exactly what SunOS6 will be like, but
-	# it's likely to be more like Solaris than SunOS4.
-	echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    sun4*:SunOS:*:*)
-	case "`/usr/bin/arch -k`" in
-	    Series*|S4*)
-		UNAME_RELEASE=`uname -v`
-		;;
-	esac
-	# Japanese Language versions have a version number like `4.1.3-JL'.
-	echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
-	exit 0 ;;
-    sun3*:SunOS:*:*)
-	echo m68k-sun-sunos${UNAME_RELEASE}
-	exit 0 ;;
-    aushp:SunOS:*:*)
-	echo sparc-auspex-sunos${UNAME_RELEASE}
-	exit 0 ;;
-    atari*:NetBSD:*:*)
-	echo m68k-atari-netbsd${UNAME_RELEASE}
-	exit 0 ;;
-    atari*:OpenBSD:*:*)
-	echo m68k-atari-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    sun3*:NetBSD:*:*)
-	echo m68k-sun-netbsd${UNAME_RELEASE}
-	exit 0 ;;
-    sun3*:OpenBSD:*:*)
-	echo m68k-sun-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mac68k:NetBSD:*:*)
-	echo m68k-apple-netbsd${UNAME_RELEASE}
-	exit 0 ;;
-    mac68k:OpenBSD:*:*)
-	echo m68k-apple-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    RISC*:Mach:*:*)
-	echo mips-dec-mach_bsd4.3
-	exit 0 ;;
-    RISC*:ULTRIX:*:*)
-	echo mips-dec-ultrix${UNAME_RELEASE}
-	exit 0 ;;
-    VAX*:ULTRIX*:*:*)
-	echo vax-dec-ultrix${UNAME_RELEASE}
-	exit 0 ;;
-    mips:*:*:UMIPS | mips:*:*:RISCos)
-	sed 's/^	//' << EOF >dummy.c
-	int main (argc, argv) int argc; char **argv; {
-	#if defined (host_mips) && defined (MIPSEB)
-	#if defined (SYSTYPE_SYSV)
-	  printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_SVR4)
-	  printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
-	#endif
-	#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
-	  printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
-	#endif
-	#endif
-	  exit (-1);
-	}
-EOF
-	${CC-cc} dummy.c -o dummy \
-	  && ./dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
-	  && rm dummy.c dummy && exit 0
-	rm -f dummy.c dummy
-	echo mips-mips-riscos${UNAME_RELEASE}
-	exit 0 ;;
-    Night_Hawk:Power_UNIX:*:*)
-	echo powerpc-harris-powerunix
-	exit 0 ;;
-    m88k:CX/UX:7*:*)
-	echo m88k-harris-cxux7
-	exit 0 ;;
-    m88k:*:4*:R4*)
-	echo m88k-motorola-sysv4
-	exit 0 ;;
-    m88k:*:3*:R3*)
-	echo m88k-motorola-sysv3
-	exit 0 ;;
-    AViiON:dgux:*:*)
-        # DG/UX returns AViiON for all architectures
-        UNAME_PROCESSOR=`/usr/bin/uname -p`
-        if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
-	if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
-	     -o ${TARGET_BINARY_INTERFACE}x = x ] ; then
-		echo m88k-dg-dgux${UNAME_RELEASE}
-	else
-		echo m88k-dg-dguxbcs${UNAME_RELEASE}
-	fi
-        else echo i586-dg-dgux${UNAME_RELEASE}
-        fi
- 	exit 0 ;;
-    M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
-	echo m88k-dolphin-sysv3
-	exit 0 ;;
-    M88*:*:R3*:*)
-	# Delta 88k system running SVR3
-	echo m88k-motorola-sysv3
-	exit 0 ;;
-    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
-	echo m88k-tektronix-sysv3
-	exit 0 ;;
-    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
-	echo m68k-tektronix-bsd
-	exit 0 ;;
-    *:IRIX*:*:*)
-	echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
-	exit 0 ;;
-    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
-	echo romp-ibm-aix      # uname -m gives an 8 hex-code CPU id
-	exit 0 ;;              # Note that: echo "'`uname -s`'" gives 'AIX '
-    i?86:AIX:*:*)
-	echo i386-ibm-aix
-	exit 0 ;;
-    *:AIX:2:3)
-	if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
-		sed 's/^		//' << EOF >dummy.c
-		#include <sys/systemcfg.h>
-
-		main()
-			{
-			if (!__power_pc())
-				exit(1);
-			puts("powerpc-ibm-aix3.2.5");
-			exit(0);
-			}
-EOF
-		${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
-		rm -f dummy.c dummy
-		echo rs6000-ibm-aix3.2.5
-	elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
-		echo rs6000-ibm-aix3.2.4
-	else
-		echo rs6000-ibm-aix3.2
-	fi
-	exit 0 ;;
-    *:AIX:*:4)
-	if /usr/sbin/lsattr -EHl proc0 | grep POWER >/dev/null 2>&1; then
-		IBM_ARCH=rs6000
-	else
-		IBM_ARCH=powerpc
-	fi
-	if [ -x /usr/bin/oslevel ] ; then
-		IBM_REV=`/usr/bin/oslevel`
-	else
-		IBM_REV=4.${UNAME_RELEASE}
-	fi
-	echo ${IBM_ARCH}-ibm-aix${IBM_REV}
-	exit 0 ;;
-    *:AIX:*:*)
-	echo rs6000-ibm-aix
-	exit 0 ;;
-    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
-	echo romp-ibm-bsd4.4
-	exit 0 ;;
-    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC NetBSD and
-	echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
-	exit 0 ;;                           # report: romp-ibm BSD 4.3
-    *:BOSX:*:*)
-	echo rs6000-bull-bosx
-	exit 0 ;;
-    DPX/2?00:B.O.S.:*:*)
-	echo m68k-bull-sysv3
-	exit 0 ;;
-    9000/[34]??:4.3bsd:1.*:*)
-	echo m68k-hp-bsd
-	exit 0 ;;
-    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
-	echo m68k-hp-bsd4.4
-	exit 0 ;;
-    9000/[3478]??:HP-UX:*:*)
-	case "${UNAME_MACHINE}" in
-	    9000/31? )            HP_ARCH=m68000 ;;
-	    9000/[34]?? )         HP_ARCH=m68k ;;
-	    9000/7?? | 9000/8?[1679] ) HP_ARCH=hppa1.1 ;;
-	    9000/8?? )            HP_ARCH=hppa1.0 ;;
-	esac
-	HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
-	echo ${HP_ARCH}-hp-hpux${HPUX_REV}
-	exit 0 ;;
-    3050*:HI-UX:*:*)
-	sed 's/^	//' << EOF >dummy.c
-	#include <unistd.h>
-	int
-	main ()
-	{
-	  long cpu = sysconf (_SC_CPU_VERSION);
-	  /* The order matters, because CPU_IS_HP_MC68K erroneously returns
-	     true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
-	     results, however.  */
-	  if (CPU_IS_PA_RISC (cpu))
-	    {
-	      switch (cpu)
-		{
-		  case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
-		  case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
-		  default: puts ("hppa-hitachi-hiuxwe2"); break;
-		}
-	    }
-	  else if (CPU_IS_HP_MC68K (cpu))
-	    puts ("m68k-hitachi-hiuxwe2");
-	  else puts ("unknown-hitachi-hiuxwe2");
-	  exit (0);
-	}
-EOF
-	${CC-cc} dummy.c -o dummy && ./dummy && rm dummy.c dummy && exit 0
-	rm -f dummy.c dummy
-	echo unknown-hitachi-hiuxwe2
-	exit 0 ;;
-    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
-	echo hppa1.1-hp-bsd
-	exit 0 ;;
-    9000/8??:4.3bsd:*:*)
-	echo hppa1.0-hp-bsd
-	exit 0 ;;
-    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
-	echo hppa1.1-hp-osf
-	exit 0 ;;
-    hp8??:OSF1:*:*)
-	echo hppa1.0-hp-osf
-	exit 0 ;;
-    i?86:OSF1:*:*)
-	if [ -x /usr/sbin/sysversion ] ; then
-	    echo ${UNAME_MACHINE}-unknown-osf1mk
-	else
-	    echo ${UNAME_MACHINE}-unknown-osf1
-	fi
-	exit 0 ;;
-    parisc*:Lites*:*:*)
-	echo hppa1.1-hp-lites
-	exit 0 ;;
-    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
-	echo c1-convex-bsd
-        exit 0 ;;
-    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-        exit 0 ;;
-    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
-	echo c34-convex-bsd
-        exit 0 ;;
-    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
-	echo c38-convex-bsd
-        exit 0 ;;
-    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
-	echo c4-convex-bsd
-        exit 0 ;;
-    CRAY*X-MP:*:*:*)
-	echo xmp-cray-unicos
-        exit 0 ;;
-    CRAY*Y-MP:*:*:*)
-	echo ymp-cray-unicos${UNAME_RELEASE}
-	exit 0 ;;
-    CRAY*[A-Z]90:*:*:*)
-	echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
-	| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-	      -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
-	exit 0 ;;
-    CRAY*TS:*:*:*)
-	echo t90-cray-unicos${UNAME_RELEASE}
-	exit 0 ;;
-    CRAY-2:*:*:*)
-	echo cray2-cray-unicos
-        exit 0 ;;
-    F300:UNIX_System_V:*:*)
-        FUJITSU_SYS=`uname -p | tr [A-Z] [a-z] | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-        echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit 0 ;;
-    F301:UNIX_System_V:*:*)
-       echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
-       exit 0 ;;
-    hp3[0-9][05]:NetBSD:*:*)
-	echo m68k-hp-netbsd${UNAME_RELEASE}
-	exit 0 ;;
-    hp3[0-9][05]:OpenBSD:*:*)
-	echo m68k-hp-openbsd${UNAME_RELEASE}
-	exit 0 ;;
-    i?86:BSD/386:*:* | *:BSD/OS:*:*)
-	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
-	exit 0 ;;
-    *:FreeBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
-	exit 0 ;;
-    *:NetBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-netbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-	exit 0 ;;
-    *:OpenBSD:*:*)
-	echo ${UNAME_MACHINE}-unknown-openbsd`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
-	exit 0 ;;
-    i*:CYGWIN*:*)
-	echo i386-pc-cygwin32
-	exit 0 ;;
-    p*:CYGWIN*:*)
-	echo powerpcle-unknown-cygwin32
-	exit 0 ;;
-    prep*:SunOS:5.*:*)
-	echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
-	exit 0 ;;
-    *:GNU:*:*)
-	echo `echo ${UNAME_MACHINE}|sed -e 's,/.*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
-	exit 0 ;;
-    *:Linux:*:*)
-	# The BFD linker knows what the default object file format is, so
-	# first see if it will tell us.
-	ld_help_string=`ld --help 2>&1`
-	if echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf_i.86"; then
-	  echo "${UNAME_MACHINE}-pc-linux-gnu" ; exit 0
-	elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86linux"; then
-	  echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0
-	elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: i.86coff"; then
-	  echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0
-	elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68kelf"; then
-	  echo "${UNAME_MACHINE}-unknown-linux-gnu" ; exit 0
-	elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: m68klinux"; then
-	  echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0
-	elif echo "$ld_help_string" | grep >/dev/null 2>&1 "supported emulations: elf32ppc"; then
-	  echo "powerpc-unknown-linux-gnu" ; exit 0
-	elif test "${UNAME_MACHINE}" = "alpha" ; then
-	  echo alpha-unknown-linux-gnu ; exit 0
-	elif test "${UNAME_MACHINE}" = "sparc" ; then
-	  echo sparc-unknown-linux-gnu ; exit 0
-	else
-	  # Either a pre-BFD a.out linker (linux-gnuoldld) or one that does not give us
-	  # useful --help.  Gcc wants to distinguish between linux-gnuoldld and linux-gnuaout.
-	  test ! -d /usr/lib/ldscripts/. \
-	    && echo "${UNAME_MACHINE}-pc-linux-gnuoldld" && exit 0
-	  # Determine whether the default compiler is a.out or elf
-	  cat >dummy.c <<EOF
-main(argc, argv)
-int argc;
-char *argv[];
-{
-#ifdef __ELF__
-  printf ("%s-pc-linux-gnu\n", argv[1]);
-#else
-  printf ("%s-pc-linux-gnuaout\n", argv[1]);
-#endif
-  return 0;
-}
-EOF
-	  ${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy "${UNAME_MACHINE}" && rm dummy.c dummy && exit 0
-	  rm -f dummy.c dummy
-	fi ;;
-# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.  earlier versions
-# are messed up and put the nodename in both sysname and nodename.
-    i?86:DYNIX/ptx:4*:*)
-	echo i386-sequent-sysv4
-	exit 0 ;;
-    i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
-	if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
-		echo ${UNAME_MACHINE}-univel-sysv${UNAME_RELEASE}
-	else
-		echo ${UNAME_MACHINE}-pc-sysv${UNAME_RELEASE}
-	fi
-	exit 0 ;;
-    i?86:*:3.2:*)
-	if test -f /usr/options/cb.name; then
-		UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
-		echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
-	elif /bin/uname -X 2>/dev/null >/dev/null ; then
-		UNAME_REL=`(/bin/uname -X|egrep Release|sed -e 's/.*= //')`
-		(/bin/uname -X|egrep i80486 >/dev/null) && UNAME_MACHINE=i486
-		(/bin/uname -X|egrep '^Machine.*Pentium' >/dev/null) \
-			&& UNAME_MACHINE=i586
-		echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
-	else
-		echo ${UNAME_MACHINE}-pc-sysv32
-	fi
-	exit 0 ;;
-    Intel:Mach:3*:*)
-	echo i386-pc-mach3
-	exit 0 ;;
-    paragon:*:*:*)
-	echo i860-intel-osf1
-	exit 0 ;;
-    i860:*:4.*:*) # i860-SVR4
-	if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
-	  echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
-	else # Add other i860-SVR4 vendors below as they are discovered.
-	  echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
-	fi
-	exit 0 ;;
-    mini*:CTIX:SYS*5:*)
-	# "miniframe"
-	echo m68010-convergent-sysv
-	exit 0 ;;
-    m68*:*:R3V[567]*:*)
-	test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
-    3[34]??:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 4850:*:4.0:3.0)
-	OS_REL=''
-	test -r /etc/.relid \
-	&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
-	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-	  && echo i486-ncr-sysv4.3${OS_REL} && exit 0
-	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
-	  && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
-    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && echo i486-ncr-sysv4 && exit 0 ;;
-    m68*:LynxOS:2.*:*)
-	echo m68k-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    mc68030:UNIX_System_V:4.*:*)
-	echo m68k-atari-sysv4
-	exit 0 ;;
-    i?86:LynxOS:2.*:*)
-	echo i386-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    TSUNAMI:LynxOS:2.*:*)
-	echo sparc-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    rs6000:LynxOS:2.*:* | PowerPC:LynxOS:2.*:*)
-	echo rs6000-unknown-lynxos${UNAME_RELEASE}
-	exit 0 ;;
-    SM[BE]S:UNIX_SV:*:*)
-	echo mips-dde-sysv${UNAME_RELEASE}
-	exit 0 ;;
-    RM*:SINIX-*:*:*)
-	echo mips-sni-sysv4
-	exit 0 ;;
-    *:SINIX-*:*:*)
-	if uname -p 2>/dev/null >/dev/null ; then
-		UNAME_MACHINE=`(uname -p) 2>/dev/null`
-		echo ${UNAME_MACHINE}-sni-sysv4
-	else
-		echo ns32k-sni-sysv
-	fi
-	exit 0 ;;
-    *:UNIX_System_V:4*:FTX*)
-	# From Gerald Hewes <hewes@openmarket.com>.
-	# How about differentiating between stratus architectures? -djm
-	echo hppa1.1-stratus-sysv4
-	exit 0 ;;
-    *:*:*:FTX*)
-	# From seanf@swdc.stratus.com.
-	echo i860-stratus-sysv4
-	exit 0 ;;
-    mc68*:A/UX:*:*)
-	echo m68k-apple-aux${UNAME_RELEASE}
-	exit 0 ;;
-    R3000:*System_V*:*:* | R4000:UNIX_SYSV:*:*)
-	if [ -d /usr/nec ]; then
-	        echo mips-nec-sysv${UNAME_RELEASE}
-	else
-	        echo mips-unknown-sysv${UNAME_RELEASE}
-	fi
-        exit 0 ;;
-esac
-
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
-cat >dummy.c <<EOF
-#ifdef _SEQUENT_
-# include <sys/types.h>
-# include <sys/utsname.h>
-#endif
-main ()
-{
-#if defined (sony)
-#if defined (MIPSEB)
-  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
-     I don't know....  */
-  printf ("mips-sony-bsd\n"); exit (0);
-#else
-#include <sys/param.h>
-  printf ("m68k-sony-newsos%s\n",
-#ifdef NEWSOS4
-          "4"
-#else
-	  ""
-#endif
-         ); exit (0);
-#endif
-#endif
-
-#if defined (__arm) && defined (__acorn) && defined (__unix)
-  printf ("arm-acorn-riscix"); exit (0);
-#endif
-
-#if defined (hp300) && !defined (hpux)
-  printf ("m68k-hp-bsd\n"); exit (0);
-#endif
-
-#if defined (NeXT)
-#if !defined (__ARCHITECTURE__)
-#define __ARCHITECTURE__ "m68k"
-#endif
-  int version;
-  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
-  printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
-  exit (0);
-#endif
-
-#if defined (MULTIMAX) || defined (n16)
-#if defined (UMAXV)
-  printf ("ns32k-encore-sysv\n"); exit (0);
-#else
-#if defined (CMU)
-  printf ("ns32k-encore-mach\n"); exit (0);
-#else
-  printf ("ns32k-encore-bsd\n"); exit (0);
-#endif
-#endif
-#endif
-
-#if defined (__386BSD__)
-  printf ("i386-pc-bsd\n"); exit (0);
-#endif
-
-#if defined (sequent)
-#if defined (i386)
-  printf ("i386-sequent-dynix\n"); exit (0);
-#endif
-#if defined (ns32000)
-  printf ("ns32k-sequent-dynix\n"); exit (0);
-#endif
-#endif
-
-#if defined (_SEQUENT_)
-    struct utsname un;
-
-    uname(&un);
-
-    if (strncmp(un.version, "V2", 2) == 0) {
-	printf ("i386-sequent-ptx2\n"); exit (0);
-    }
-    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
-	printf ("i386-sequent-ptx1\n"); exit (0);
-    }
-    printf ("i386-sequent-ptx\n"); exit (0);
-
-#endif
-
-#if defined (vax)
-#if !defined (ultrix)
-  printf ("vax-dec-bsd\n"); exit (0);
-#else
-  printf ("vax-dec-ultrix\n"); exit (0);
-#endif
-#endif
-
-#if defined (alliant) && defined (i860)
-  printf ("i860-alliant-bsd\n"); exit (0);
-#endif
-
-  exit (1);
-}
-EOF
-
-${CC-cc} dummy.c -o dummy 2>/dev/null && ./dummy && rm dummy.c dummy && exit 0
-rm -f dummy.c dummy
-
-# Apollos put the system type in the environment.
-
-test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
-
-# Convex versions that predate uname can use getsysinfo(1)
-
-if [ -x /usr/convex/getsysinfo ]
-then
-    case `getsysinfo -f cpu_type` in
-    c1*)
-	echo c1-convex-bsd
-	exit 0 ;;
-    c2*)
-	if getsysinfo -f scalar_acc
-	then echo c32-convex-bsd
-	else echo c2-convex-bsd
-	fi
-	exit 0 ;;
-    c34*)
-	echo c34-convex-bsd
-	exit 0 ;;
-    c38*)
-	echo c38-convex-bsd
-	exit 0 ;;
-    c4*)
-	echo c4-convex-bsd
-	exit 0 ;;
-    esac
-fi
-
-#echo '(Unable to guess system type)' 1>&2
-
-exit 1
deleted file mode 100644
--- a/kpathsea/config.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* config.h: master configuration file, included first by all compilable
-   source files (not headers).
-
-Copyright (C) 1993 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_CONFIG_H
-#define KPATHSEA_CONFIG_H
-
-/* System dependencies that are figured out by `configure'.  If we are
-   compiling standalone, we get our c-auto.h.  Otherwise, the package
-   containing us must provide this (unless it can somehow generate ours
-   from c-auto.h.in).  We use <...> instead of "..." so that the current
-   cpp directory (i.e., kpathsea/) won't be searched. */
-#include <c-auto.h>
-
-/* ``Standard'' system headers.  */
-#include <kpathsea/c-std.h>
-
-/* Macros to discard or keep prototypes.  */
-#include <kpathsea/c-proto.h>
-
-/* Our own definitions of supposedly always-useful stuff.  */
-#include <kpathsea/lib.h>
-#include <kpathsea/types.h>
-
-/* Support extra runtime tracing.  */
-#include <kpathsea/debug.h>
-
-/* If you want to find subdirectories in a directory with non-Unix
-   semantics (specifically, if a directory with no subdirectories does
-   not have exactly two links), define this.  */
-#if !defined (DOS) && !defined (VMS) && !defined (VMCMS)
-#define UNIX_ST_NLINK
-#endif /* not DOS and not VMS and not VMCMS */
-
-#endif /* not KPATHSEA_CONFIG_H */
deleted file mode 100755
--- a/kpathsea/config.sub
+++ /dev/null
@@ -1,927 +0,0 @@
-#! /bin/sh
-# Configuration validation subroutine script, version 1.1.
-#   Copyright (C) 1991, 92, 93, 94, 95, 1996 Free Software Foundation, Inc.
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine.  It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# Configuration subroutine to validate and canonicalize a configuration type.
-# Supply the specified configuration type as an argument.
-# If it is invalid, we print an error message on stderr and exit with code 1.
-# Otherwise, we print the canonical config type on stdout and succeed.
-
-# This file is supposed to be the same for all GNU packages
-# and recognize all the CPU types, system types and aliases
-# that are meaningful with *any* GNU software.
-# Each package is responsible for reporting which valid configurations
-# it does not support.  The user should be able to distinguish
-# a failure to support a valid configuration from a meaningless
-# configuration.
-
-# The goal of this file is to map all the various variations of a given
-# machine specification into a single specification in the form:
-#	CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
-# or in some cases, the newer four-part form:
-#	CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
-# It is wrong to echo any other type of specification.
-
-if [ x$1 = x ]
-then
-	echo Configuration name missing. 1>&2
-	echo "Usage: $0 CPU-MFR-OPSYS" 1>&2
-	echo "or     $0 ALIAS" 1>&2
-	echo where ALIAS is a recognized configuration type. 1>&2
-	exit 1
-fi
-
-# First pass through any local machine types.
-case $1 in
-	*local*)
-		echo $1
-		exit 0
-		;;
-	*)
-	;;
-esac
-
-# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
-# Here we must recognize all the valid KERNEL-OS combinations.
-maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
-case $maybe_os in
-  linux-gnu*)
-    os=-$maybe_os
-    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
-    ;;
-  *)
-    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-    if [ $basic_machine != $1 ]
-    then os=`echo $1 | sed 's/.*-/-/'`
-    else os=; fi
-    ;;
-esac
-
-### Let's recognize common machines as not being operating systems so
-### that things like config.sub decstation-3100 work.  We also
-### recognize some manufacturers as not being operating systems, so we
-### can provide default operating systems below.
-case $os in
-	-sun*os*)
-		# Prevent following clause from handling this invalid input.
-		;;
-	-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-	-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-	-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-	-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-	-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-	-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-	-apple)
-		os=
-		basic_machine=$1
-		;;
-	-hiux*)
-		os=-hiuxwe2
-		;;
-	-sco5)
-		os=sco3.2v5
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco4)
-		os=-sco3.2v4
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2.[4-9]*)
-		os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco3.2v[4-9]*)
-		# Don't forget version if it is 3.2v4 or newer.
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-sco*)
-		os=-sco3.2v2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-isc)
-		os=-isc2.2
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-clix*)
-		basic_machine=clipper-intergraph
-		;;
-	-isc*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
-		;;
-	-lynx*)
-		os=-lynxos
-		;;
-	-ptx*)
-		basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
-		;;
-	-windowsnt*)
-		os=`echo $os | sed -e 's/windowsnt/winnt/'`
-		;;
-	-psos*)
-		os=-psos
-		;;
-esac
-
-# Decode aliases for certain CPU-COMPANY combinations.
-case $basic_machine in
-	# Recognize the basic CPU types without company name.
-	# Some are omitted here because they have special meanings below.
-	tahoe | i860 | m68k | m68000 | m88k | ns32k | arm \
-		| arme[lb] | pyramid \
-		| tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \
-		| alpha | we32k | ns16k | clipper | i370 | sh \
-		| powerpc | powerpcle | 1750a | dsp16xx | mips64 | mipsel \
-		| pdp11 | mips64el | mips64orion | mips64orionel \
-		| sparc | sparclet | sparclite | sparc64)
-		basic_machine=$basic_machine-unknown
-		;;
-	# We use `pc' rather than `unknown'
-	# because (1) that's what they normally are, and
-	# (2) the word "unknown" tends to confuse beginning users.
-	i[3456]86)
-	  basic_machine=$basic_machine-pc
-	  ;;
-	# Object if more than one company name word.
-	*-*-*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-	# Recognize the basic CPU types with company name.
-	vax-* | tahoe-* | i[3456]86-* | i860-* | m68k-* | m68000-* | m88k-* \
-	      | sparc-* | ns32k-* | fx80-* | arm-* | c[123]* \
-	      | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* | power-* \
-	      | none-* | 580-* | cray2-* | h8300-* | i960-* | xmp-* | ymp-* \
-	      | hppa-* | hppa1.0-* | hppa1.1-* | alpha-* | we32k-* | cydra-* | ns16k-* \
-	      | pn-* | np1-* | xps100-* | clipper-* | orion-* | sparclite-* \
-	      | pdp11-* | sh-* | powerpc-* | powerpcle-* | sparc64-* | mips64-* | mipsel-* \
-	      | mips64el-* | mips64orion-* | mips64orionel-* | f301-*)
-		;;
-	# Recognize the various machine names and aliases which stand
-	# for a CPU type and a company and sometimes even an OS.
-	3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
-		basic_machine=m68000-att
-		;;
-	3b*)
-		basic_machine=we32k-att
-		;;
-	alliant | fx80)
-		basic_machine=fx80-alliant
-		;;
-	altos | altos3068)
-		basic_machine=m68k-altos
-		;;
-	am29k)
-		basic_machine=a29k-none
-		os=-bsd
-		;;
-	amdahl)
-		basic_machine=580-amdahl
-		os=-sysv
-		;;
-	amiga | amiga-*)
-		basic_machine=m68k-cbm
-		;;
-	amigados)
-		basic_machine=m68k-cbm
-		os=-amigados
-		;;
-	amigaunix | amix)
-		basic_machine=m68k-cbm
-		os=-sysv4
-		;;
-	apollo68)
-		basic_machine=m68k-apollo
-		os=-sysv
-		;;
-	aux)
-		basic_machine=m68k-apple
-		os=-aux
-		;;
-	balance)
-		basic_machine=ns32k-sequent
-		os=-dynix
-		;;
-	convex-c1)
-		basic_machine=c1-convex
-		os=-bsd
-		;;
-	convex-c2)
-		basic_machine=c2-convex
-		os=-bsd
-		;;
-	convex-c32)
-		basic_machine=c32-convex
-		os=-bsd
-		;;
-	convex-c34)
-		basic_machine=c34-convex
-		os=-bsd
-		;;
-	convex-c38)
-		basic_machine=c38-convex
-		os=-bsd
-		;;
-	cray | ymp)
-		basic_machine=ymp-cray
-		os=-unicos
-		;;
-	cray2)
-		basic_machine=cray2-cray
-		os=-unicos
-		;;
-	[ctj]90-cray)
-		basic_machine=c90-cray
-		os=-unicos
-		;;
-	crds | unos)
-		basic_machine=m68k-crds
-		;;
-	da30 | da30-*)
-		basic_machine=m68k-da30
-		;;
-	decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
-		basic_machine=mips-dec
-		;;
-	delta | 3300 | motorola-3300 | motorola-delta \
-	      | 3300-motorola | delta-motorola)
-		basic_machine=m68k-motorola
-		;;
-	delta88)
-		basic_machine=m88k-motorola
-		os=-sysv3
-		;;
-	dpx20 | dpx20-*)
-		basic_machine=rs6000-bull
-		os=-bosx
-		;;
-	dpx2* | dpx2*-bull)
-		basic_machine=m68k-bull
-		os=-sysv3
-		;;
-	ebmon29k)
-		basic_machine=a29k-amd
-		os=-ebmon
-		;;
-	elxsi)
-		basic_machine=elxsi-elxsi
-		os=-bsd
-		;;
-	encore | umax | mmax)
-		basic_machine=ns32k-encore
-		;;
-	fx2800)
-		basic_machine=i860-alliant
-		;;
-	genix)
-		basic_machine=ns32k-ns
-		;;
-	gmicro)
-		basic_machine=tron-gmicro
-		os=-sysv
-		;;
-	h3050r* | hiux*)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	h8300hms)
-		basic_machine=h8300-hitachi
-		os=-hms
-		;;
-	harris)
-		basic_machine=m88k-harris
-		os=-sysv3
-		;;
-	hp300-*)
-		basic_machine=m68k-hp
-		;;
-	hp300bsd)
-		basic_machine=m68k-hp
-		os=-bsd
-		;;
-	hp300hpux)
-		basic_machine=m68k-hp
-		os=-hpux
-		;;
-	hp9k2[0-9][0-9] | hp9k31[0-9])
-		basic_machine=m68000-hp
-		;;
-	hp9k3[2-9][0-9])
-		basic_machine=m68k-hp
-		;;
-	hp9k7[0-9][0-9] | hp7[0-9][0-9] | hp9k8[0-9]7 | hp8[0-9]7)
-		basic_machine=hppa1.1-hp
-		;;
-	hp9k8[0-9][0-9] | hp8[0-9][0-9])
-		basic_machine=hppa1.0-hp
-		;;
-	hppa-next)
-		os=-nextstep3
-		;;
-	i370-ibm* | ibm*)
-		basic_machine=i370-ibm
-		os=-mvs
-		;;
-# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
-	i[3456]86v32)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv32
-		;;
-	i[3456]86v4*)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv4
-		;;
-	i[3456]86v)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-sysv
-		;;
-	i[3456]86sol2)
-		basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
-		os=-solaris2
-		;;
-	iris | iris4d)
-		basic_machine=mips-sgi
-		case $os in
-		    -irix*)
-			;;
-		    *)
-			os=-irix4
-			;;
-		esac
-		;;
-	isi68 | isi)
-		basic_machine=m68k-isi
-		os=-sysv
-		;;
-	m88k-omron*)
-		basic_machine=m88k-omron
-		;;
-	magnum | m3230)
-		basic_machine=mips-mips
-		os=-sysv
-		;;
-	merlin)
-		basic_machine=ns32k-utek
-		os=-sysv
-		;;
-	miniframe)
-		basic_machine=m68000-convergent
-		;;
-	mips3*-*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
-		;;
-	mips3*)
-		basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
-		;;
-	ncr3000)
-		basic_machine=i486-ncr
-		os=-sysv4
-		;;
-	news | news700 | news800 | news900)
-		basic_machine=m68k-sony
-		os=-newsos
-		;;
-	news1000)
-		basic_machine=m68030-sony
-		os=-newsos
-		;;
-	news-3600 | risc-news)
-		basic_machine=mips-sony
-		os=-newsos
-		;;
-	next | m*-next )
-		basic_machine=m68k-next
-		case $os in
-		    -nextstep* )
-			;;
-		    -ns2*)
-		      os=-nextstep2
-			;;
-		    *)
-		      os=-nextstep3
-			;;
-		esac
-		;;
-	nh3000)
-		basic_machine=m68k-harris
-		os=-cxux
-		;;
-	nh[45]000)
-		basic_machine=m88k-harris
-		os=-cxux
-		;;
-	nindy960)
-		basic_machine=i960-intel
-		os=-nindy
-		;;
-	np1)
-		basic_machine=np1-gould
-		;;
-	pa-hitachi)
-		basic_machine=hppa1.1-hitachi
-		os=-hiuxwe2
-		;;
-	paragon)
-		basic_machine=i860-intel
-		os=-osf
-		;;
-	pbd)
-		basic_machine=sparc-tti
-		;;
-	pbb)
-		basic_machine=m68k-tti
-		;;
-        pc532 | pc532-*)
-		basic_machine=ns32k-pc532
-		;;
-	pentium | p5)
-		basic_machine=i586-intel
-		;;
-	pentiumpro | p6)
-		basic_machine=i686-intel
-		;;
-	pentium-* | p5-*)
-		basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	pentiumpro-* | p6-*)
-		basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	k5)
-		# We don't have specific support for AMD's K5 yet, so just call it a Pentium
-		basic_machine=i586-amd
-		;;
-	nexen)
-		# We don't have specific support for Nexgen yet, so just call it a Pentium
-		basic_machine=i586-nexgen
-		;;
-	pn)
-		basic_machine=pn-gould
-		;;
-	power)	basic_machine=rs6000-ibm
-		;;
-	ppc)	basic_machine=powerpc-unknown
-	        ;;
-	ppc-*)	basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ppcle | powerpclittle | ppc-le | powerpc-little)
-		basic_machine=powerpcle-unknown
-	        ;;
-	ppcle-* | powerpclittle-*)
-		basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
-		;;
-	ps2)
-		basic_machine=i386-ibm
-		;;
-	rm[46]00)
-		basic_machine=mips-siemens
-		;;
-	rtpc | rtpc-*)
-		basic_machine=romp-ibm
-		;;
-	sequent)
-		basic_machine=i386-sequent
-		;;
-	sh)
-		basic_machine=sh-hitachi
-		os=-hms
-		;;
-	sps7)
-		basic_machine=m68k-bull
-		os=-sysv2
-		;;
-	spur)
-		basic_machine=spur-unknown
-		;;
-	sun2)
-		basic_machine=m68000-sun
-		;;
-	sun2os3)
-		basic_machine=m68000-sun
-		os=-sunos3
-		;;
-	sun2os4)
-		basic_machine=m68000-sun
-		os=-sunos4
-		;;
-	sun3os3)
-		basic_machine=m68k-sun
-		os=-sunos3
-		;;
-	sun3os4)
-		basic_machine=m68k-sun
-		os=-sunos4
-		;;
-	sun4os3)
-		basic_machine=sparc-sun
-		os=-sunos3
-		;;
-	sun4os4)
-		basic_machine=sparc-sun
-		os=-sunos4
-		;;
-	sun4sol2)
-		basic_machine=sparc-sun
-		os=-solaris2
-		;;
-	sun3 | sun3-*)
-		basic_machine=m68k-sun
-		;;
-	sun4)
-		basic_machine=sparc-sun
-		;;
-	sun386 | sun386i | roadrunner)
-		basic_machine=i386-sun
-		;;
-	symmetry)
-		basic_machine=i386-sequent
-		os=-dynix
-		;;
-	tower | tower-32)
-		basic_machine=m68k-ncr
-		;;
-	udi29k)
-		basic_machine=a29k-amd
-		os=-udi
-		;;
-	ultra3)
-		basic_machine=a29k-nyu
-		os=-sym1
-		;;
-	vaxv)
-		basic_machine=vax-dec
-		os=-sysv
-		;;
-	vms)
-		basic_machine=vax-dec
-		os=-vms
-		;;
-       vpp*|vx|vx-*)
-               basic_machine=f301-fujitsu
-               ;;
-	vxworks960)
-		basic_machine=i960-wrs
-		os=-vxworks
-		;;
-	vxworks68)
-		basic_machine=m68k-wrs
-		os=-vxworks
-		;;
-	vxworks29k)
-		basic_machine=a29k-wrs
-		os=-vxworks
-		;;
-	xmp)
-		basic_machine=xmp-cray
-		os=-unicos
-		;;
-        xps | xps100)
-		basic_machine=xps100-honeywell
-		;;
-	none)
-		basic_machine=none-none
-		os=-none
-		;;
-
-# Here we handle the default manufacturer of certain CPU types.  It is in
-# some cases the only manufacturer, in others, it is the most popular.
-	mips)
-		basic_machine=mips-mips
-		;;
-	romp)
-		basic_machine=romp-ibm
-		;;
-	rs6000)
-		basic_machine=rs6000-ibm
-		;;
-	vax)
-		basic_machine=vax-dec
-		;;
-	pdp11)
-		basic_machine=pdp11-dec
-		;;
-	we32k)
-		basic_machine=we32k-att
-		;;
-	sparc)
-		basic_machine=sparc-sun
-		;;
-        cydra)
-		basic_machine=cydra-cydrome
-		;;
-	orion)
-		basic_machine=orion-highlevel
-		;;
-	orion105)
-		basic_machine=clipper-highlevel
-		;;
-	*)
-		echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
-		exit 1
-		;;
-esac
-
-# Here we canonicalize certain aliases for manufacturers.
-case $basic_machine in
-	*-digital*)
-		basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
-		;;
-	*-commodore*)
-		basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
-		;;
-	*)
-		;;
-esac
-
-# Decode manufacturer-specific aliases for certain operating systems.
-
-if [ x"$os" != x"" ]
-then
-case $os in
-        # First match some system type aliases
-        # that might get confused with valid system types.
-	# -solaris* is a basic system type, with this one exception.
-	-solaris1 | -solaris1.*)
-		os=`echo $os | sed -e 's|solaris1|sunos4|'`
-		;;
-	-solaris)
-		os=-solaris2
-		;;
-	-unixware* | svr4*)
-		os=-sysv4
-		;;
-	-gnu/linux*)
-		os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
-		;;
-	# First accept the basic system types.
-	# The portable systems comes first.
-	# Each alternative MUST END IN A *, to match a version number.
-	# -sysv* is not here because it comes later, after sysvr4.
-	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
-	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
-	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
-	      | -amigados* | -msdos* | -newsos* | -unicos* | -aof* | -aos* \
-	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
-	      | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
-	      | -hiux* | -386bsd* | -netbsd* | -openbsd* | -freebsd* | -riscix* \
-	      | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* \
-	      | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
-	      | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
-	      | -cygwin32* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
-	      | -linux-gnu* | -uxpv*)
-	# Remember, each alternative MUST END IN *, to match a version number.
-		;;
-	-linux*)
-		os=`echo $os | sed -e 's|linux|linux-gnu|'`
-		;;
-	-sunos5*)
-		os=`echo $os | sed -e 's|sunos5|solaris2|'`
-		;;
-	-sunos6*)
-		os=`echo $os | sed -e 's|sunos6|solaris3|'`
-		;;
-	-osfrose*)
-		os=-osfrose
-		;;
-	-osf*)
-		os=-osf
-		;;
-	-utek*)
-		os=-bsd
-		;;
-	-dynix*)
-		os=-bsd
-		;;
-	-acis*)
-		os=-aos
-		;;
-	-ctix* | -uts*)
-		os=-sysv
-		;;
-	-ns2 )
-	        os=-nextstep2
-		;;
-	# Preserve the version number of sinix5.
-	-sinix5.*)
-		os=`echo $os | sed -e 's|sinix|sysv|'`
-		;;
-	-sinix*)
-		os=-sysv4
-		;;
-	-triton*)
-		os=-sysv3
-		;;
-	-oss*)
-		os=-sysv3
-		;;
-	-svr4)
-		os=-sysv4
-		;;
-	-svr3)
-		os=-sysv3
-		;;
-	-sysvr4)
-		os=-sysv4
-		;;
-	# This must come after -sysvr4.
-	-sysv*)
-		;;
-	-xenix)
-		os=-xenix
-		;;
-	-none)
-		;;
-	*)
-		# Get rid of the `-' at the beginning of $os.
-		os=`echo $os | sed 's/[^-]*-//'`
-		echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
-		exit 1
-		;;
-esac
-else
-
-# Here we handle the default operating systems that come with various machines.
-# The value should be what the vendor currently ships out the door with their
-# machine or put another way, the most popular os provided with the machine.
-
-# Note that if you're going to try to match "-MANUFACTURER" here (say,
-# "-sun"), then you have to tell the case statement up towards the top
-# that MANUFACTURER isn't an operating system.  Otherwise, code above
-# will signal an error saying that MANUFACTURER isn't an operating
-# system, and we'll never get to this point.
-
-case $basic_machine in
-	*-acorn)
-		os=-riscix1.2
-		;;
-	arm*-semi)
-		os=-aout
-		;;
-        pdp11-*)
-		os=-none
-		;;
-	*-dec | vax-*)
-		os=-ultrix4.2
-		;;
-	m68*-apollo)
-		os=-domain
-		;;
-	i386-sun)
-		os=-sunos4.0.2
-		;;
-	m68000-sun)
-		os=-sunos3
-		# This also exists in the configure program, but was not the
-		# default.
-		# os=-sunos4
-		;;
-	*-tti)	# must be before sparc entry or we get the wrong os.
-		os=-sysv3
-		;;
-	sparc-* | *-sun)
-		os=-sunos4.1.1
-		;;
-	*-ibm)
-		os=-aix
-		;;
-	*-hp)
-		os=-hpux
-		;;
-	*-hitachi)
-		os=-hiux
-		;;
-	i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
-		os=-sysv
-		;;
-	*-cbm)
-		os=-amigados
-		;;
-	*-dg)
-		os=-dgux
-		;;
-	*-dolphin)
-		os=-sysv3
-		;;
-	m68k-ccur)
-		os=-rtu
-		;;
-	m88k-omron*)
-		os=-luna
-		;;
-	*-next )
-		os=-nextstep
-		;;
-	*-sequent)
-		os=-ptx
-		;;
-	*-crds)
-		os=-unos
-		;;
-	*-ns)
-		os=-genix
-		;;
-	i370-*)
-		os=-mvs
-		;;
-	*-next)
-		os=-nextstep3
-		;;
-        *-gould)
-		os=-sysv
-		;;
-        *-highlevel)
-		os=-bsd
-		;;
-	*-encore)
-		os=-bsd
-		;;
-        *-sgi)
-		os=-irix
-		;;
-        *-siemens)
-		os=-sysv4
-		;;
-	*-masscomp)
-		os=-rtu
-		;;
-	f301-fujitsu)
-		os=-uxpv
-		;;
-	*)
-		os=-none
-		;;
-esac
-fi
-
-# Here we handle the case where we know the os, and the CPU type, but not the
-# manufacturer.  We pick the logical manufacturer.
-vendor=unknown
-case $basic_machine in
-	*-unknown)
-		case $os in
-			-riscix*)
-				vendor=acorn
-				;;
-			-sunos*)
-				vendor=sun
-				;;
-			-aix*)
-				vendor=ibm
-				;;
-			-hpux*)
-				vendor=hp
-				;;
-			-hiux*)
-				vendor=hitachi
-				;;
-			-unos*)
-				vendor=crds
-				;;
-			-dgux*)
-				vendor=dg
-				;;
-			-luna*)
-				vendor=omron
-				;;
-			-genix*)
-				vendor=ns
-				;;
-			-mvs*)
-				vendor=ibm
-				;;
-			-ptx*)
-				vendor=sequent
-				;;
-			-vxsim* | -vxworks*)
-				vendor=wrs
-				;;
-			-aux*)
-				vendor=apple
-				;;
-		esac
-		basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
-		;;
-esac
-
-echo $basic_machine$os
deleted file mode 100644
--- a/kpathsea/configure.in
+++ /dev/null
@@ -1,55 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-AC_INIT(pathsearch.c)
-
-AC_CANONICAL_HOST
-if test -z "$host"; then
-  host=unknown
-fi
-target_host_type=$host
-canonical_host_type=$host
-
-### Enable creation of shared libraries.  Currently only works with
-### gcc on some systems.
-
-AC_ARG_ENABLE(shared,
-  [  --shared                create shared libraries (not all systems)],
-  [if test $enableval = no; then SHARED_LIBS=false; else SHARED_LIBS=true; fi],
-  SHARED_LIBS=false)
-AC_SUBST(SHARED_LIBS)
-
-CPICFLAG=-fPIC
-SHLEXT=so
-SH_LD="$CC"
-SH_LDFLAGS=-shared
-case "$canonical_host_type" in
-  *-*-386bsd* | *-*-openbsd* | *-*-netbsd* | *-*-freebsd*)
-    SH_LD=ld
-    SH_LDFLAGS=-Bshareable
-  ;;
-  alpha-dec-osf*)
-    CPICFLAG=
-    SH_LDFLAGS="-shared -Xlinker -expect_unresolved -Xlinker '*'"
-  ;;
-  rs6000-ibm-aix* | powerpc-ibm-aix*)
-    CPICFLAG=
-  ;;
-  hppa*-hp-hpux*)
-    SHLEXT=sl
-    SH_LDFLAGS="-shared -fPIC"
-  ;;
-  *-sgi-*)
-    CPICFLAG=
-  ;;
-esac
-AC_MSG_RESULT([defining CPICFLAG to be $CPICFLAG])
-AC_MSG_RESULT([defining SHLEXT to be $SHLEXT])
-AC_MSG_RESULT([defining SH_LD to be $SH_LD])
-AC_MSG_RESULT([defining SH_LDFLAGS to be $SH_LDFLAGS])
-AC_SUBST(CPICFLAG)
-AC_SUBST(SHLEXT)
-AC_SUBST(SH_LD)
-AC_SUBST(SH_LDFLAGS)
-
-sinclude(common.ac)
-
-AC_OUTPUT(Makefile)
deleted file mode 100644
--- a/kpathsea/copying.texi
+++ /dev/null
@@ -1,390 +0,0 @@
-@node Copying
-@appendix GNU GENERAL PUBLIC LICENSE
-@center Version 2, June 1991
-
-@display
-Copyright @copyright{} 1989, 1991 Free Software Foundation, Inc.
-59 Temple Place - Suite 330, Boston, MA  02111-1307, USA
-
-Everyone is permitted to copy and distribute verbatim copies
-of this license document, but changing it is not allowed.
-@end display
-
-@unnumberedsec Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software---to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-@iftex
-@unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-@end iftex
-@ifinfo
-@center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-@end ifinfo
-
-@enumerate
-@item
-This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The ``Program'', below,
-refers to any such program or work, and a ``work based on the Program''
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term ``modification''.)  Each licensee is addressed as ``you''.
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-@item
-You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-@item
-You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-@enumerate a
-@item
-You must cause the modified files to carry prominent notices
-stating that you changed the files and the date of any change.
-
-@item
-You must cause any work that you distribute or publish, that in
-whole or in part contains or is derived from the Program or any
-part thereof, to be licensed as a whole at no charge to all third
-parties under the terms of this License.
-
-@item
-If the modified program normally reads commands interactively
-when run, you must cause it, when started running for such
-interactive use in the most ordinary way, to print or display an
-announcement including an appropriate copyright notice and a
-notice that there is no warranty (or else, saying that you provide
-a warranty) and that users may redistribute the program under
-these conditions, and telling the user how to view a copy of this
-License.  (Exception: if the Program itself is interactive but
-does not normally print such an announcement, your work based on
-the Program is not required to print an announcement.)
-@end enumerate
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-@item
-You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-@enumerate a
-@item
-Accompany it with the complete corresponding machine-readable
-source code, which must be distributed under the terms of Sections
-1 and 2 above on a medium customarily used for software interchange; or,
-
-@item
-Accompany it with a written offer, valid for at least three
-years, to give any third party, for a charge no more than your
-cost of physically performing source distribution, a complete
-machine-readable copy of the corresponding source code, to be
-distributed under the terms of Sections 1 and 2 above on a medium
-customarily used for software interchange; or,
-
-@item
-Accompany it with the information you received as to the offer
-to distribute corresponding source code.  (This alternative is
-allowed only for noncommercial distribution and only if you
-received the program in object code or executable form with such
-an offer, in accord with Subsection b above.)
-@end enumerate
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-@item
-You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-@item
-You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-@item
-Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-@item
-If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-@item
-If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-@item
-The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and ``any
-later version'', you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-@item
-If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-@iftex
-@heading NO WARRANTY
-@end iftex
-@ifinfo
-@center NO WARRANTY
-@end ifinfo
-
-@item
-BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM ``AS IS'' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-@item
-IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-@end enumerate
-
-@iftex
-@heading END OF TERMS AND CONDITIONS
-@end iftex
-@ifinfo
-@center END OF TERMS AND CONDITIONS
-@end ifinfo
-
-@page
-@unnumberedsec Appendix: How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the ``copyright'' line and a pointer to where the full notice is found.
-
-@smallexample
-@var{one line to give the program's name and a brief idea of what it does.}
-Copyright (C) 19@var{yy}  @var{name of author}
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-@end smallexample
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-@smallexample
-Gnomovision version 69, Copyright (C) 19@var{yy} @var{name of author}
-Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-This is free software, and you are welcome to redistribute it
-under certain conditions; type `show c' for details.
-@end smallexample
-
-The hypothetical commands @samp{show w} and @samp{show c} should show
-the appropriate parts of the General Public License.  Of course, the
-commands you use may be called something other than @samp{show w} and
-@samp{show c}; they could even be mouse-clicks or menu items---whatever
-suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a ``copyright disclaimer'' for the program, if
-necessary.  Here is a sample; alter the names:
-
-@example
-Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-`Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-@var{signature of Ty Coon}, 1 April 1989
-Ty Coon, President of Vice
-@end example
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
-Public License instead of this License.
deleted file mode 100644
--- a/kpathsea/db.c
+++ /dev/null
@@ -1,269 +0,0 @@
-/* db.c: an external database to avoid filesystem lookups.
-
-Copyright (C) 1994 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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-pathch.h>
-#include <kpathsea/db.h>
-#include <kpathsea/hash.h>
-#include <kpathsea/line.h>
-#include <kpathsea/readable.h>
-#include <kpathsea/str-list.h>
-#include <kpathsea/variable.h>
-
-/* See comments in `read_files' in cnf.c.  */
-string kpse_db_dir = NULL;
-
-/* The hash table for ls-R.  */
-static hash_table_type db;
-
-
-/* If no DB_FILE, return false (maybe they aren't using this feature).
-   Otherwise, build the db and return true.  */
-
-static boolean
-db_build P1C(hash_table_type *, table)
-{
-  string line;
-  unsigned dir_count = 0, file_count = 0; /* for debugging */
-  string cur_dir = NULL; /* First thing in ls-R might be a filename.  */
-  string db_filename = concat3 (kpse_db_dir, DIR_SEP_STRING, KPSE_DB_NAME);
-  FILE *db_file = fopen (db_filename, FOPEN_R_MODE);
-  
-  if (db_file)
-    {
-      while ((line = read_line (db_file)) != NULL)
-        {
-          unsigned len = strlen (line);
-          /* A line like `/foo:' = new dir foo */
-          if (IS_DIR_SEP (line[0]) && line[len - 1] == ':')
-            {
-              cur_dir = xstrdup (line);
-              cur_dir[len - 1] = DIR_SEP;
-              dir_count++;
-            }
-          else if (line[0] != 0 && cur_dir) /* other nonblank line */
-            { /* New hash table entry with a key of `line' and a data of
-                 `cur_dir'.  Already-existing identical keys are ok, since
-                 a file named `foo' can be in more than one directory.
-                 Since it doesn't hurt, share the directory name string
-                 among all the files in the directory. */
-              hash_insert (table, xstrdup (line), cur_dir);
-              file_count++;
-            }
-          /* else ignore blank lines */
-
-          free (line);
-        }
-      xfclose (db_file, db_filename);
-      
-      if (file_count == 0)
-        {
-          fprintf (stderr, "kpathsea: no usable entries in %s; see the\n", 
-                   db_filename);
-          fprintf (stderr, "kpathsea: manual for how to generate ls-R.\n");
-        }
-
-#ifdef DEBUG
-      if (KPSE_DEBUG_P (KPSE_DEBUG_HASH))
-        {
-          /* Don't make this a debugging bit, since the output is so
-             voluminous, and being able to specify -1 is too useful.
-             Instead, let people who want it run the program under
-             a debugger and change the variable that way.  */
-          boolean print_hash_table = false;
-
-          DEBUGF3 ("%u entries (in %d directories) read from %s.\n",
-                   file_count, dir_count, db_filename);
-          if (print_hash_table)
-            {
-              DEBUGF ("Hash table built from ls-R:");
-              hash_print (*table);
-            }
-          fflush (stderr);
-        }
-#endif
-    }
-
-  free (db_filename);
-  return db_file != NULL;
-}
-
-
-/* Insert FNAME into the hash table.  This is for files that get built
-   during a run.  We wouldn't want to reread all of ls-R, even if it got
-   rebuilt.  */
-
-void
-db_insert P1C(const_string, passed_fname)
-{
-  /* We should always have called `kpse_db_search' before this.  */
-  assert (db.size > 0);
-  
-  /* But we might not have found ls-R; in that case, we'll have cleared
-     the buckets (but left the size).  */
-  if (db.buckets)
-    {
-      const_string dir_part;
-      string fname = xstrdup (passed_fname);
-      string baseptr = (string) basename (fname);
-      const_string file_part = xstrdup (baseptr);
-      
-      *baseptr = '\0';  /* Chop off the filename.  */
-      dir_part = fname; /* That leaves the dir, with the trailing /.  */
-
-      hash_insert (&db, file_part, dir_part);
-    }
-}
-
-/* Return true if FILENAME could be in PATH_ELT, i.e., if the directory
-   part of FILENAME matches PATH_ELT.  Have to consider // wildcards, but
-   $ and ~ expansion have already been done.  */
-     
-static boolean
-match P2C(const_string, filename,  const_string, path_elt)
-{
-  const_string original_filename = filename;
-  boolean matched = false;
-  boolean done = false;
-  
-  for (; !done && *filename && *path_elt; filename++, path_elt++)
-    {
-      if (*filename == *path_elt) /* normal character match */
-        ;
-
-      else if (IS_DIR_SEP (*path_elt)  /* at // */
-               && original_filename < filename && IS_DIR_SEP (path_elt[-1]))
-        {
-          path_elt++; /* get past second / */
-          if (*path_elt == 0)
-            { /* Have a trailing //, which matches anything. We
-                 could make this part of the other case, but it seems
-                 pointless to do the extra work.  */
-              matched = true;
-              done = true;
-            }
-          else
-            { /* intermediate //, have to match rest of PATH_ELT */
-              for (; !matched && *filename; filename++)
-                { /* Try matching at each possible character.  */
-                  if (*filename == *path_elt)
-                    matched = match (filename, path_elt);
-                }
-            }
-        }
-      
-      else /* normal character nonmatch, quit */
-        done = true;
-    }
-  
-  /* If we've reached the end of PATH_ELT, and we're at the last
-     component of FILENAME, we've matched.  */
-  if (!matched && *path_elt == 0 && IS_DIR_SEP (*filename))
-    {
-      filename++;
-      while (*filename && !IS_DIR_SEP (*filename))
-        filename++;
-      matched = *filename == 0;
-    }
-
-  return matched;
-}
-
-/* Don't bother implementing a search path for the database itself.  We
-   get multiple databases, sort of, with the $TEXMF value for DB_DIR.  */
-
-str_list_type *
-kpse_db_search P3C(const_string, name,  const_string, orig_path_elt,
-                   boolean, all)
-{
-  string *db_dirs, *orig_dirs;
-  const_string last_slash;
-  string path_elt;
-  boolean done;
-  str_list_type *ret;
-  
-  /* Hash up the database if this is the first call.  */
-  if (db.size == 0)
-    {
-      db = hash_create (7603); /* What the heck, sparse is ok.  */
-      if (!db_build (&db))
-        { /* If db can't be built, leave `size' nonzero (so we don't
-             rebuild it), but clear `buckets' (so we don't look in it).  */
-          free (db.buckets);
-          db.buckets = NULL;
-        }
-    }
-  
-  /* If we failed to build the database, quit.  */
-  if (db.buckets == NULL)
-    return NULL;
-  
-  /* When tex-glyph.c calls us looking for, e.g., dpi600/cmr10.pk, we
-     won't find it unless we change NAME to just `cmr10.pk' and append
-     `/dpi600' to PATH_ELT.  We are justified in using a literal `/'
-     here, since that's what tex-glyph.c unconditionally uses in
-     DPI_BITMAP_SPEC.  But don't do anything if the / begins NAME; that
-     should never happen.  */
-  last_slash = strrchr (name, '/');
-  if (last_slash && last_slash != name)
-    {
-      unsigned len = last_slash - name + 1;
-      string dir_part = xmalloc (len);
-      strncpy (dir_part, name, len - 1);
-      dir_part[len - 1] = 0;
-      path_elt = concat3 (orig_path_elt, "/", dir_part);
-      name = last_slash + 1;
-    }
-  else
-    path_elt = (string) orig_path_elt;
-
-  /* We have a db.  Look up NAME.  */
-  orig_dirs = db_dirs = hash_lookup (db, name);
-
-  done = false;
-  ret = XTALLOC1 (str_list_type);
-  *ret = str_list_init ();
-  
-  /* For each filename found, see if it matches the path element.  For
-     example, if we have ../cx/cmr10.300pk and .../ricoh/cmr10.300pk,
-     and the path looks like .../cx, we don't want the ricoh file.  */
-  while (!done && db_dirs && *db_dirs)
-    {
-      string db_file = concat (*db_dirs, name);
-      
-      if (match (db_file, path_elt) && kpse_readable_file (db_file))
-        {
-          str_list_add (ret, db_file);
-          if (!all) done = true;
-        }
-      else
-        free (db_file);
-      
-      /* On to the next directory, if any.  */
-      db_dirs++;
-    }
-
-  /* This is just the space for the pointers, not the strings.  */
-  if (orig_dirs && *orig_dirs) free (orig_dirs);
-  
-  /* If we had to break up NAME, free the temporary PATH_ELT.  */
-  if (path_elt != orig_path_elt) free (path_elt);
-  return ret;
-}
deleted file mode 100644
--- a/kpathsea/db.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* db.h: lookups in an externally built db file.
-
-Copyright (C) 1994 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_DB_H
-#define KPATHSEA_DB_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/types.h>
-#include <kpathsea/str-list.h>
-
-/* It's not an error if this doesn't exist; we just go ahead and search
-   the actual directories.  See the `Filename database' node in the
-   kpathsea documentation for details. The variable reference here is
-   expanded by kpathsea. This lets you have different databases for
-   different TeX hierarchies (only one at a time, though!) without
-   having to change anything.  */
-#ifndef KPSE_DB_DIR
-#define KPSE_DB_DIR "$TEXMF"
-#endif
-#ifndef KPSE_DB_NAME
-#define KPSE_DB_NAME "ls-R"
-#endif
-
-/* The expansion of DB_DIR; set by `read_files' in cnf.c, used by
-   `elt_in_db' in pathsearch.c.  */
-extern string kpse_db_dir;
-
-/* Return list of matches for NAME in the ls-R file matching PATH.  If
-   ALL is set, return (null-terminated list) of all matches, else just
-   the first.  If no matches, return a pointer to an empty list.  If the
-   database can't be read, returns NULL.  */
-extern str_list_type *kpse_db_search P3H(const_string name, 
-                                         const_string path, boolean all);
-
-/* Insert the filename FNAME into the database.  */
-extern void db_insert P1H(const_string fname);
-
-#endif /* not KPATHSEA_DB_H */
deleted file mode 100644
--- a/kpathsea/debug.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* debug.c: Help the user discover what's going on.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#include <kpathsea/config.h>
-
-#ifdef DEBUG
-
-unsigned kpathsea_debug = 0;
-
-/* If the real definitions of fopen or fclose are macros, we lose -- the
-   #undef won't restore them. */
-
-FILE *
-fopen P2C(const_string, filename,  const_string, mode)
-{
-#undef fopen
-  FILE *ret = fopen (filename, mode);
-
-  if (KPSE_DEBUG_P (KPSE_DEBUG_FOPEN))
-    DEBUGF3 ("fopen(%s, %s) => 0x%lx\n", filename, mode, (unsigned long) ret);
-
-  return ret;
-}
-
-int
-fclose P1C(FILE *, f)
-{
-#undef fclose
-  int ret = fclose (f);
-  
-  if (KPSE_DEBUG_P (KPSE_DEBUG_FOPEN))
-    DEBUGF2 ("fclose(0x%lx) => %d\n", (unsigned long) f, ret);
-
-  return ret;
-}
-
-#endif /* DEBUG */
deleted file mode 100644
--- a/kpathsea/debug.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/* debug.h: Runtime tracing.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_DEBUG_H
-#define KPATHSEA_DEBUG_H
-
-/* If NO_DEBUG is defined, skip all this.  */
-#ifndef NO_DEBUG
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/c-std.h>
-#include <kpathsea/types.h>
-
-/* OK, we'll have tracing support.  */
-#define DEBUG
-
-/* Bit vector defining what we should trace.  */
-extern unsigned kpathsea_debug;
-
-/* Set a bit.  */
-#define KPSE_DEBUG_SET(bit) kpathsea_debug |= 1 << (bit)
-
-/* Test if a bit is on.  */
-#define KPSE_DEBUG_P(bit) (kpathsea_debug & (1 << (bit)))
-
-#define KPSE_DEBUG_STAT 0		/* stat calls */
-#define KPSE_DEBUG_HASH 1		/* hash lookups */
-#define KPSE_DEBUG_FOPEN 2		/* fopen/fclose calls */
-#define KPSE_DEBUG_PATHS 3		/* search path initializations */
-#define KPSE_DEBUG_EXPAND 4		/* path element expansion */
-#define KPSE_DEBUG_SEARCH 5		/* searches */
-
-/* A printf for the debugging.  */
-#define DEBUGF_START() do { fputs ("kdebug:", stderr)
-#define DEBUGF_END()        fflush (stderr); } while (0)
-
-#define DEBUGF(str)							\
-  DEBUGF_START (); fputs (str, stderr); DEBUGF_END ()
-#define DEBUGF1(str, e1)						\
-  DEBUGF_START (); fprintf (stderr, str, e1); DEBUGF_END ()
-#define DEBUGF2(str, e1, e2)						\
-  DEBUGF_START (); fprintf (stderr, str, e1, e2); DEBUGF_END ()
-#define DEBUGF3(str, e1, e2, e3)					\
-  DEBUGF_START (); fprintf (stderr, str, e1, e2, e3); DEBUGF_END ()
-#define DEBUGF4(str, e1, e2, e3, e4)					\
-  DEBUGF_START (); fprintf (stderr, str, e1, e2, e3, e4); DEBUGF_END ()
-
-#undef fopen
-#define fopen kpse_fopen_trace
-extern FILE *fopen P2H(const_string filename, const_string mode);
-#undef fclose
-#define fclose kpse_fclose_trace
-extern int fclose P1H(FILE *);
-
-#endif /* not NO_DEBUG */
-
-#endif /* not KPATHSEA_DEBUG_H */
deleted file mode 100644
--- a/kpathsea/default.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/* default.h: Declare default path expander.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_DEFAULT_H
-#define KPATHSEA_DEFAULT_H
-
-#include <kpathsea/types.h>
-#include <kpathsea/c-proto.h>
-
-
-/* Replace a leading or trailing or doubled : in PATH with DFLT.  If
-   no extra colons, return PATH.  Only one extra colon is replaced.
-   DFLT may not be NULL.  */
-
-extern string kpse_expand_default P2H(const_string path, const_string dflt);
-
-#endif /* not KPATHSEA_DEFAULT_H */
deleted file mode 100644
--- a/kpathsea/dir.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* dir.c: directory operations.
-
-Copyright (C) 1992, 93, 94 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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-dir.h>
-#include <kpathsea/c-stat.h>
-#include <kpathsea/hash.h>
-
-
-/* Return true if FN is a directory or a symlink to a directory,
-   false if not. */
-
-boolean
-dir_p P1C(const_string, fn)
-{
-  struct stat stats;
-  return stat (fn, &stats) == 0 && S_ISDIR (stats.st_mode);
-}
-
-
-/* Return -1 if FN isn't a directory, else its number of links.
-   Duplicate the call to stat; no need to incur overhead of a function
-   call for that little bit of cleanliness. */
-
-int
-dir_links P1C(const_string, fn)
-{
-  static hash_table_type link_table;
-  string *hash_ret;
-  long ret;
-  
-  if (link_table.size == 0)
-    link_table = hash_create (457);
-
-#ifdef DEBUG
-  /* This is annoying, but since we're storing integers as pointers, we
-     can't print them as strings.  */
-  if (KPSE_DEBUG_P (KPSE_DEBUG_HASH))
-    kpse_debug_hash_lookup_int = true;
-#endif
-
-  hash_ret = hash_lookup (link_table, fn);
-  
-#ifdef DEBUG
-  if (KPSE_DEBUG_P (KPSE_DEBUG_HASH))
-    kpse_debug_hash_lookup_int = false;
-#endif
-
-  /* Have to cast the int we need to/from the const_string that the hash
-     table stores for values. Let's hope an int fits in a pointer.  */
-  if (hash_ret)
-    ret = (long) *hash_ret;
-  else
-    {
-      struct stat stats;
-      ret = stat (fn, &stats) == 0 && S_ISDIR (stats.st_mode)
-            ? stats.st_nlink : -1;
-
-      /* It's up to us to copy the value.  */
-      hash_insert (&link_table, xstrdup (fn), (const_string) ret);
-      
-#ifdef DEBUG
-      if (KPSE_DEBUG_P (KPSE_DEBUG_STAT))
-        DEBUGF2 ("dir_links(%s) => %ld\n", fn, ret);
-#endif
-    }
-
-  return ret;
-}
deleted file mode 100644
--- a/kpathsea/elt-dirs.c
+++ /dev/null
@@ -1,376 +0,0 @@
-/* elt-dirs.c: Translate a path element to its corresponding director{y,ies}.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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-pathch.h>
-#include <kpathsea/expand.h>
-#include <kpathsea/fn.h>
-#include <kpathsea/pathsearch.h>
-#include <kpathsea/xopendir.h>
-
-/* To avoid giving prototypes for all the routines and then their real
-   definitions, we give all the subroutines first.  The entry point is
-   the last routine in the file.  */
-
-/* Make a copy of DIR (unless it's null) and save it in L.  Ensure that
-   DIR ends with a DIR_SEP for the benefit of later searches.  */
-
-static void
-dir_list_add P2C(str_llist_type *, l,  const_string, dir)
-{
-  string saved_dir
-    = IS_DIR_SEP (dir[strlen (dir) - 1])
-      ? xstrdup (dir)
-      : concat (dir, DIR_SEP_STRING);
-  
-  str_llist_add (l, saved_dir);
-}
-
-
-/* If DIR is a directory, add it to the list L.  */
-
-static void
-checked_dir_list_add P2C(str_llist_type *, l,  const_string, dir)
-{
-  if (dir_p (dir))
-    dir_list_add (l, dir);
-}
-
-/* The cache.  Typically, several paths have the same element; for
-   example, /usr/local/lib/texmf/fonts//.  We don't want to compute the
-   expansion of such a thing more than once.  Even though we also cache
-   the dir_links call, that's not enough -- without this path element
-   caching as well, the execution time doubles.  */
-
-typedef struct
-{
-  const_string key;
-  str_llist_type *value;
-} cache_entry;
-
-static cache_entry *the_cache = NULL;
-static unsigned cache_length = 0;
-
-
-/* Associate KEY with VALUE.  We implement the cache as a simple linear
-   list, since it's unlikely to ever be more than a dozen or so elements
-   long.  We don't bother to check here if PATH has already been saved;
-   we always add it to our list.  We copy KEY but not VALUE; not sure
-   that's right, but it seems to be all that's needed.  */
-
-static void
-cache P2C(const_string, key,  str_llist_type *, value)
-{
-  cache_length++;
-  XRETALLOC (the_cache, cache_length, cache_entry);
-  the_cache[cache_length - 1].key = xstrdup (key);
-  the_cache[cache_length - 1].value = value;
-}
-
-
-/* To retrieve, just check the list in order.  */
-
-static str_llist_type *
-cached P1C(const_string, key)
-{
-  unsigned p;
-  
-  for (p = 0; p < cache_length; p++)
-    {
-      if (STREQ (the_cache[p].key, key))
-        return the_cache[p].value;
-    }
-  
-  return NULL;
-}
-
-/* Handle the magic path constructs.  */
-
-/* Declare recursively called routine.  */
-static void expand_elt P3H(str_llist_type *, const_string, unsigned);
-
-
-/* POST is a pointer into the original element (which may no longer be
-   ELT) to just after the doubled DIR_SEP, perhaps to the null.  Append
-   subdirectories of ELT (up to ELT_LENGTH, which must be a /) to
-   STR_LIST_PTR.  */
-
-static void
-do_subdir P4C(str_llist_type *, str_list_ptr,  const_string, elt,
-              unsigned, elt_length,  const_string, post)
-{
-  DIR *dir;
-  struct dirent *e;
-  fn_type name;
-  
-  /* Some old compilers don't allow aggregate initialization.  */
-  name = fn_copy0 (elt, elt_length);
-  
-  assert (IS_DIR_SEP (elt[elt_length - 1]));
-  
-  /* If we can't open it, quit.  */
-  dir = opendir (FN_STRING (name));
-  if (dir == NULL)
-    {
-      fn_free (&name);
-      return;
-    }
-  
-  /* Include top level before subdirectories, if nothing to match.  */
-  if (*post == 0)
-    dir_list_add (str_list_ptr, FN_STRING (name));
-  else
-    { /* If we do have something to match, see if it exists.  For
-         example, POST might be `pk/ljfour', and they might have a
-         directory `$TEXMF/fonts/pk/ljfour' that we should find.  */
-      fn_str_grow (&name, post);
-      if (dir_p (FN_STRING (name)))
-        dir_list_add (str_list_ptr, FN_STRING (name));
-      fn_shrink_to (&name, elt_length);
-    }
-
-  while ((e = readdir (dir)) != NULL)
-    { /* If it begins with a `.', never mind.  (This allows ``hidden''
-         directories that the algorithm won't find.)  */
-      if (e->d_name[0] != '.')
-        {
-          int links;
-          
-          /* Construct the potential subdirectory name.  */
-          fn_str_grow (&name, e->d_name);
-          
-          /* If we can't stat it, or if it isn't a directory, continue.  */
-          links = dir_links (FN_STRING (name));
-
-          if (links >= 0)
-            { 
-              unsigned potential_len = FN_LENGTH (name);
-              
-              /* It's a directory, so append the separator.  */
-              fn_str_grow (&name, DIR_SEP_STRING);
-              
-              if (*post != 0)
-                { 
-                  fn_str_grow (&name, post);
-                  /* Unfortunately we can't check if the new element is
-                     a leaf directory, because we don't have a directory
-                     name here, we just have a path spec. This means we
-                     may descend into a leaf directory cm/pk, if the
-                     spec is ...fonts//pk//.  */
-                  expand_elt (str_list_ptr, FN_STRING (name), potential_len);
-                  fn_shrink_to (&name, potential_len);
-                }
-              
-              /* Should we recurse?  To see if the subdirectory is a
-                 leaf, check if it has two links (one for . and one for
-                 ..).  This means that symbolic links to directories do
-                 not affect the leaf-ness.  This is arguably wrong, but
-                 the only alternative I know of is to stat every entry
-                 in the directory, and that is unacceptably slow.
-                 
-                 The #ifdef here makes all this configurable at
-                 compile-time, so that if we're using VMS directories or
-                 some such, we can still find subdirectories, even if it
-                 is much slower.  */
-#ifdef UNIX_ST_NLINK
-              if (links > 2)
-#endif
-                /* All criteria are met; find subdirectories.  */
-                do_subdir (str_list_ptr, FN_STRING (name),
-                           potential_len, post);
-#ifdef UNIX_ST_NLINK
-              else if (*post == 0)
-                /* Nothing to match, no recursive subdirectories to
-                   look for: we're done with this branch.  Add it.  */
-                dir_list_add (str_list_ptr, FN_STRING (name));
-#endif
-            }
-
-          /* Remove the directory entry we just checked from `name'.  */
-          fn_shrink_to (&name, elt_length);
-        }
-    }
-  
-  fn_free (&name);
-  xclosedir (dir);
-}
-
-
-/* Assume ELT is non-empty and non-NULL.  Return list of corresponding
-   directories (with no terminating NULL entry) in STR_LIST_PTR.  Start
-   looking for magic constructs at START.  */
-
-static void
-expand_elt P3C(str_llist_type *, str_list_ptr,  const_string, elt,
-               unsigned, start)
-{
-  boolean found_special = false;
-  const_string dir = elt + start;
-  
-  while (*dir != 0)
-    {
-      if (IS_DIR_SEP (*dir))
-        {
-          /* If two consecutive directory separators, find subdirectories.  */
-          if (IS_DIR_SEP (dir[1]))
-            {
-              do_subdir (str_list_ptr, elt, dir - elt + 1, dir + 2);
-              found_special = true;
-            }
-#if 0
-/* Maybe eventually I'll implement this, but probably not.  */
-          /* If /?, make following component optional.  */
-          else if (dir[1] == '?')
-            do_optional (str_list_ptr, elt, dir - elt + 1, dir + 2);
-#endif
-          /* No special stuff at this slash.  Keep going.  */
-        }
-      
-      dir++;
-    }
-  
-  if (!found_special)
-    /* When we reach the end of ELT, it will be a normal filename.  */
-    checked_dir_list_add (str_list_ptr, elt);
-}
-
-/* Here is the entry point.  Returns directory list for ELT.  */
-
-str_llist_type *
-kpse_element_dirs P1C(const_string, elt)
-{
-  str_llist_type *ret;
-
-  /* If given nothing, return nothing.  */
-  if (!elt)
-    return NULL;
-
-  /* If we've already cached the answer for ELT, return it.  */
-  ret = cached (elt);
-  if (ret)
-    return ret;
-
-  /* We're going to have a real directory list to return.  */
-  ret = XTALLOC1 (str_llist_type);
-  *ret = NULL;
-  
-  /* If ELT is the empty string, just return cwd.  */
-  if (*elt == 0)
-    { /* Some old compilers do not support aggregate initialization.  */
-      char cwd[3];
-      cwd[0] = '.';
-      cwd[1] = DIR_SEP;
-      cwd[2] = 0;
-      
-      checked_dir_list_add (ret, cwd);
-    }
-
-  /* OK, so much for the trivial cases.  We handle the hard case in
-     a subroutine.  */
-  else
-    {
-      /* If the path starts with ~ or ~user, expand it.  Do this
-         before calling `expand_subdir' or `add_directory', so that
-         we don't expand the same ~ over and over.  */
-      string dir = kpse_expand (elt);
-
-      expand_elt (ret, dir, 0);
-
-      free (dir);
-    }
-
-  /* Remember the directory list we just found, in case future calls are
-     made with the same ELT.  */
-  cache (elt, ret);
-
-#ifdef DEBUG
-  if (KPSE_DEBUG_P (KPSE_DEBUG_EXPAND))
-    {
-      DEBUGF1 ("path element %s =>", elt);
-      if (ret)
-        {
-          str_llist_elt_type *e;
-          for (e = *ret; e; e = STR_LLIST_NEXT (*e))
-            fprintf (stderr, " %s", STR_LLIST (*e));
-        }
-      putc ('\n', stderr);
-      fflush (stderr);
-    }
-#endif
-
-  return ret;
-}
-
-#ifdef TEST
-
-void
-print_element_dirs (const_string elt)
-{
-  str_llist_type *dirs;
-  
-  printf ("Directories of %s:\t", elt ? elt : "(null)");
-  fflush (stdout);
-  
-  dirs = kpse_element_dirs (elt);
-  
-  if (!dirs)
-    printf ("(null)");
-  else
-    {
-      str_llist_elt_type *dir;
-      for (dir = *dirs; dir; dir = STR_LLIST_NEXT (*dir))
-        {
-          string d = STR_LLIST (*dir);
-          printf ("%s ", *d ? d : "`'");
-        }
-    }
-  
-  putchar ('\n');
-}
-
-int
-main ()
-{
-  /* DEBUG_SET (DEBUG_STAT); */
-
-  /* All lists end with NULL.  */
-  print_element_dirs (NULL);	/* */
-  print_element_dirs ("");	/* ./ */
-  print_element_dirs ("/k");	/* */
-  print_element_dirs (".//");	/* ./ ./archive/ */
-  print_element_dirs (".//archive");	/* ./ ./archive/ */
-  print_element_dirs ("/tmp/fonts//");	/* no need to stat anything */
-  print_element_dirs ("/usr/local/lib/tex/fonts//");      /* lots */
-  print_element_dirs ("/usr/local/lib/tex/fonts//times"); /* just one */
-  print_element_dirs ("/usr/local/lib/tex/fonts//"); /* lots again [cache] */
-  print_element_dirs ("~karl");		/* tilde expansion */
-  print_element_dirs ("$karl");		/* variable expansion */  
-  print_element_dirs ("~${LOGNAME}");	/* both */  
-  
-  return 0;
-}
-
-#endif /* TEST */
-
-
-/*
-Local variables:
-test-compile-command: "gcc -g -I. -I.. -DTEST elt-dirs.c kpathsea.a"
-End:
-*/
deleted file mode 100644
--- a/kpathsea/expand.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* expand.c: general expansion.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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-pathch.h>
-#include <kpathsea/expand.h>
-#include <kpathsea/pathsearch.h>
-#include <kpathsea/tilde.h>
-#include <kpathsea/variable.h>
-
-
-/* Do variable expansion so ~${USER} will work.  (Besides, it's what the
-   shells do.)  */
-
-string
-kpse_expand P1C(const_string, s)
-{
-  string var_expansion = kpse_var_expand (s);
-  string tilde_expansion = kpse_tilde_expand (var_expansion);
-  
-  /* `kpse_var_expand' always gives us new memory; `kpse_tilde_expand'
-     doesn't, necessarily.  So be careful that we don't free what we are
-     about to return.  */
-  if (tilde_expansion != var_expansion)
-    free (var_expansion);
-  
-  return tilde_expansion;
-}
-
-
-/* Be careful to not waste all the memory we allocate for each element.  */
-
-string
-kpse_path_expand P1C(const_string, path)
-{
-  string elt;
-  string ret = xmalloc (1); /* so we can free it */
-  *ret = 0;
-  
-  for (elt = kpse_path_element (path); elt; elt = kpse_path_element (NULL))
-    {
-      string save_ret = ret;
-      string elt_exp = kpse_expand (elt);
-      ret = concat3 (ret, elt_exp, ENV_SEP_STRING);
-      free (elt_exp);
-      free (save_ret);
-    }
-    
-  /* Waste the last byte.  */
-  ret[strlen (ret) - 1] = 0;
-  
-  return ret;
-}
deleted file mode 100644
--- a/kpathsea/expand.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* expand.h: general expansion.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_EXPAND_H
-#define KPATHSEA_EXPAND_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/types.h>
-
-/* Call kpse_var_expand and kpse_tilde_expand (in that order).  Result
-   is always in fresh memory, even if no expansions were done.  */
-extern string kpse_expand P1H(const_string s);
-
-/* Call `kpse_expand' on each element of the result; return the final
-   expansion (always in fresh memory, even if no expansions were
-   done).  We don't call `kpse_expand_default' because there is a whole
-   sequence of defaults to run through; see `kpse_init_format'.  */
-extern string kpse_path_expand P1H(const_string path);
-
-#endif /* not KPATHSEA_EXPAND_H */
deleted file mode 100644
--- a/kpathsea/extend-fname.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* extend-fname.c: give a filename a suffix, if necessary.
-
-Copyright (C) 1992, 93 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#include <kpathsea/config.h>
-
-
-/* We may or may not return NAME.  It's up to the caller not to assume
-   the return value is modifiable.  */
-
-string 
-extend_filename P2C(const_string, name, const_string, default_suffix)
-{
-  string new_s;
-  const_string suffix = find_suffix (name);
-
-  new_s = suffix == NULL ? concat3 (name, ".", default_suffix)
-                         : (string) name;
-  return new_s;
-}
deleted file mode 100644
--- a/kpathsea/file-p.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* file-p.c: file predicates.
-
-Copyright (C) 1992, 93, 94 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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/xstat.h>
-
-
-/* Test whether FILENAME1 and FILENAME2 are actually the same file.  If
-   stat fails on either of the names, we return false, without error.  */
-
-boolean
-same_file_p P2C(const_string, filename1,  const_string, filename2)
-{
-    struct stat sb1, sb2;
-    /* These are put in variables only so the results can be inspected
-       under gdb.  */
-    int r1 = stat (filename1, &sb1);
-    int r2 = stat (filename2, &sb2);
-
-    return r1 == 0 && r2 == 0 ? SAME_FILE_P (sb1, sb2) : false;
-}
deleted file mode 100644
--- a/kpathsea/find-suffix.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* find-suffix.c: return the stuff after a dot.
-
-Copyright (C) 1992, 93 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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-pathch.h>
-
-
-/* Return pointer to first character after `.' in last directory element
-   of NAME.  If the name is `foo' or `/foo.bar/baz', we have no extension.  */
-
-string
-find_suffix P1C(const_string, name)
-{
-  const_string slash_pos;
-  string dot_pos = strrchr (name, '.');
-  
-  if (dot_pos == NULL)
-    return NULL;
-  
-  for (slash_pos = name + strlen (name) + 1;
-       slash_pos > dot_pos && !IS_DIR_SEP (*slash_pos);
-       slash_pos--)
-    ;
-  
-  return slash_pos > dot_pos ? NULL : dot_pos + 1;
-}
-
deleted file mode 100644
--- a/kpathsea/fn.c
+++ /dev/null
@@ -1,119 +0,0 @@
-/* fn.c: arbitrarily long filenames (or just strings).
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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/fn.h>
-
-
-/* /usr/local/lib/texmf/fonts/public/cm/pk/ljfour/cmr10.300pk is 58
-   chars, so ASCII `K' seems a good choice. */
-#define CHUNK_SIZE 75
-
-
-fn_type
-fn_init P1H(void)
-{
-  fn_type ret;
-  
-  FN_ALLOCATED (ret) = FN_LENGTH (ret) = 0;
-  FN_STRING (ret) = NULL;
-  
-  return ret;
-}
-
-
-fn_type
-fn_copy0 P2C(const_string, s,  unsigned, len)
-{
-  fn_type ret;
-  
-  FN_ALLOCATED (ret) = CHUNK_SIZE > len ? CHUNK_SIZE : len + 1;
-  FN_STRING (ret) = xmalloc (FN_ALLOCATED (ret));
-  
-  strncpy (FN_STRING (ret), s, len);
-  FN_STRING (ret)[len] = 0;
-  FN_LENGTH (ret) = len + 1;
-  
-  return ret;
-}
-
-/* Don't think we ever try to free something that might usefully be
-   empty, so give fatal error if nothing allocated.  */
-
-void
-fn_free P1C(fn_type *, f)
-{
-  assert (FN_STRING (*f) != NULL);
-  free (FN_STRING (*f));
-  FN_STRING (*f) = NULL;
-  FN_ALLOCATED (*f) = 0;
-  FN_LENGTH (*f) = 0;
-}
-
-/* An arithmetic increase seems more reasonable than geometric.  We
-   don't increase the length member since it may be more convenient for
-   the caller to add than subtract when appending the stuff that will
-   presumably follow.  */
-
-static void
-grow P2C(fn_type *, f,  unsigned, len)
-{
-  while (FN_LENGTH (*f) + len > FN_ALLOCATED (*f))
-    {
-      FN_ALLOCATED (*f) += CHUNK_SIZE;
-      XRETALLOC (FN_STRING (*f), FN_ALLOCATED (*f), char);
-    }
-}
-
-
-void
-fn_1grow P2C(fn_type *, f,  char, c)
-{
-  grow (f, 1);
-  FN_STRING (*f)[FN_LENGTH (*f)] = c;
-  FN_LENGTH (*f)++;
-}
-
-
-void
-fn_grow P3C(fn_type *, f,  address, source,  unsigned, len)
-{
-  grow (f, len);
-  strncpy (FN_STRING (*f) + FN_LENGTH (*f), source, len);
-  FN_LENGTH (*f) += len;
-}
-
-
-void
-fn_str_grow P2C(fn_type *, f,  const_string, s)
-{
-  unsigned more_len = strlen (s);
-  grow (f, more_len);
-  strcat (FN_STRING (*f), s);
-  FN_LENGTH (*f) += more_len;
-}
-
-
-void
-fn_shrink_to P2C(fn_type *, f,  unsigned, loc)
-{
-  assert (FN_LENGTH (*f) > loc);
-  FN_STRING (*f)[loc] = 0;
-  FN_LENGTH (*f) = loc + 1;
-}
deleted file mode 100644
--- a/kpathsea/fn.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* fn.h: arbitrarily long filenames (or just strings).
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_FN_H
-#define KPATHSEA_FN_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/types.h>
-
-/* Arbitrarily long filenames; it's inconvenient to use obstacks here,
-   because we want to maintain a null terminator.  Also used for
-   dynamically growing strings even when the null byte isn't necessary,
-   e.g., in `variable.c', since I don't want to pass obstacks around
-   everywhere, and one can't free parts of an obstack arbitrarily.  */
-
-typedef struct
-{
-  string str;
-  unsigned allocated;
-  unsigned length; /* includes the terminating null byte, if any */
-} fn_type;
-
-#define FN_STRING(fn) ((fn).str)
-#define FN_ALLOCATED(fn) ((fn).allocated)
-#define FN_LENGTH(fn) ((fn).length)
-
-
-/* Create a new empty fn.  */
-extern fn_type fn_init P1H(void);
-
-/* Create a new fn from the first LEN characters from S and a null.  */
-extern fn_type fn_copy0 P2H(const_string s,  unsigned len);
-
-/* Free what's been allocated.  Can also just free the string if it's
-   been extracted out.  Fatal error if nothing allocated in F.  */
-extern void fn_free P1H(fn_type *f);
-
-/* Append the character C to the fn F.  Don't append trailing null.  */
-extern void fn_1grow P2H(fn_type *f, char c);
-
-/* Append LENGTH bytes from SOURCE to F.  */
-extern void fn_grow P3H(fn_type *f, address source, unsigned length);
-
-/* Concatenate the component S to the fn F.  Assumes string currently in
-   F is null terminated.  */
-extern void fn_str_grow P2H(fn_type *f, const_string s);
-
-/* Add a null to F's string at position LOC, and update its length.
-   Fatal error if LOC is past the end of the string.  */
-extern void fn_shrink_to P2H(fn_type *f, unsigned loc);
-
-#endif /* not KPATHSEA_FN_H */
deleted file mode 100644
--- a/kpathsea/fontmap.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/* fontmap.c: read a file for additional font names.
-
-Copyright (C) 1993, 94 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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/fontmap.h>
-#include <kpathsea/hash.h>
-#include <kpathsea/line.h>
-#include <kpathsea/pathsearch.h>
-#include <kpathsea/str-list.h>
-
-
-/* Look up KEY in MAP; if it's not found, remove any suffix from KEY and
-   try again.  */
-
-string *
-map_lookup P2C(hash_table_type, map,  const_string, key)
-{
-  string suffix = find_suffix (key);
-  string *ret = hash_lookup (map, key);
-  
-  if (!ret)
-    {
-      /* OK, the original KEY didn't work.  Let's check for the KEY without
-         an extension -- perhaps they gave foobar.tfm, but the mapping only
-         defines `foobar'.  */
-      if (suffix)
-        {
-          string base_key = remove_suffix (key);
-          
-          ret = hash_lookup (map, base_key);
-
-          free (base_key);
-        }
-    }
-
-  /* Append the original suffix, if we had one.  */
-  if (ret && suffix)
-    while (*ret)
-      {
-       *ret = extend_filename (*ret, suffix);
-       ret++;
-      }
-
-  return ret;
-}
-
-/* Open and read the mapping file MAP_FILENAME, putting its entries into
-   MAP. Comments begin with % and continue to the end of the line.  Each
-   line of the file defines an entry: the first word is the real
-   filename (e.g., `ptmr'), the second word is the alias (e.g.,
-   `Times-Roman'), and any subsequent words are ignored.  .tfm is added
-   if either the filename or the alias have no extension.  This is the
-   same order as in Dvips' psfonts.map; unfortunately, we can't have TeX
-   read that same file, since most of the real filenames start with an
-   `r', because of the virtual fonts Dvips uses.  */
-
-static void
-map_file_parse P2C(hash_table_type *, map,  const_string, map_filename)
-{
-  extern FILE *xfopen ();	/* In xfopen.c.  */
-  char *l;
-  unsigned map_lineno = 0;
-  FILE *f = xfopen (map_filename, FOPEN_R_MODE);
-  
-  while ((l = read_line (f)) != NULL)
-    {
-      string filename;
-      string comment_loc = strchr (l, '%');
-      
-      map_lineno++;
-      
-      /* Ignore anything after a %.  */
-      if (comment_loc)
-        *comment_loc = 0;
-      
-      /* If we don't have any filename, that's ok, the line is blank.  */
-      filename = strtok (l, " \t");
-      if (filename)
-        {
-          string alias = strtok (NULL, " \t");
-          
-          /* But if we have a filename and no alias, something's wrong.  */
-          if (alias == NULL || *alias == 0)
-            fprintf (stderr, "%s:%u: Alias missing for filename `%s'.\n",
-                     map_filename, map_lineno, filename);
-          else
-            { /* We've got everything.  Insert the new entry.  */
-              hash_insert (map, xstrdup (alias), xstrdup (filename));
-            }
-        }
-      
-      free (l);
-    }
-  
-  xfclose (f, map_filename);
-}
-
-/* Search for all the MAP_NAME's in PATH.  */
-
-#define MAP_NAME "texfonts.map"
-
-hash_table_type
-map_create P1C(const_string, path)
-{
-  string *filenames = kpse_all_path_search (path, MAP_NAME);
-  hash_table_type map; /* some old compilers ... */
-  map = hash_create (751);
-  
-  while (*filenames)
-    {
-      map_file_parse (&map, *filenames);
-      filenames++;
-    }
-
-  return map;
-}
deleted file mode 100644
--- a/kpathsea/fontmap.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* fontmap.h: declarations for reading a file to define additional font names.
-
-Copyright (C) 1993, 94 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef FONTMAP_H
-#define FONTMAP_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/hash.h>
-#include <kpathsea/types.h>
-
-
-/* Parse the file `texfonts.map' in each of the directories in PATH and
-   return the resulting structure.  Entries in earlier files override
-   later files.  */
-extern hash_table_type map_create P1H(const_string path);
-
-
-/* Look up KEY in MAP, and return a null-terminated list of all matching
-   entries.  If none, return NULL.  */
-extern string *map_lookup P2H(hash_table_type map, const_string key);
-
-#endif /* not FONTMAP_H */
deleted file mode 100644
--- a/kpathsea/freedom.texi
+++ /dev/null
@@ -1,268 +0,0 @@
-@c Copyright (C) 1992 Karl Berry.
-@c For copying conditions, see the file copying.texi.
-
-@node Freedom
-@appendix Regain your programming freedom
-
-@cindex freedom, programming
-Until a few years ago, programmers in the United States could write any
-program they wished.  This freedom has now been taken away by two
-developments: software patents, which grant the patent holder an
-absolute monopoly on some programming technique, and user interface
-copyright, which forbid compatible implementations of an existing user
-interface.
-
-In Europe, especially through the GATT treaty, things are rapidly
-approaching the same pass.
-
-@menu
-* Software patents::            Algorithm monopolies.
-* User interface copyright::    Forbidding upward-compatibility.
-* What to do?::                 What to do?
-@end menu
-
-
-@node Software patents, User interface copyright,  , Freedom
-@section Software patents
-
-@cindex patents, software
-@cindex software patents
-
-The U.S. Patent and Trademark Office has granted numerous software
-patents on software techniques.  Patents are an absolute
-monopoly---independent reinvention is precluded.  This monopoly lasts
-for seventeen years, i.e., forever (with respect to computer science).
-
-One patent relevant to @TeX{} is patent 4,956,809, issued to the Mark
-Williams company on September 11, 1990, applied for in 1982, which
-covers (among other things)
-@quotation
-representing in a standardized order
-consisting of a standard binary structure file stored on auxiliary
-memory or transported on a communications means, said standardized
-order being different from a different order used on at least one
-of the different computers;
-
-Converting in each of the different computers binary data read from an
-auxiliary data storage or communications means from the standardized
-order to the natural order of the respective host computer after said
-binary data are read from said auxiliary data storage or
-communications means and before said binary data are used by the
-respective host computer; and
-
-Converting in each of the different computers binary data written into
-auxiliary data storage or communications means from the natural order
-of the respective host computer to the standardized order prior to
-said writing.
-@end quotation
-
-@noindent @dots{} in other words, storing data on disk in
-a machine-independent order, as the DVI, TFM, GF, and PK file formats
-specify.  Even though @TeX{} is ``prior art'' in this respect, the
-patent was granted (the patent examiners not being computer scientists,
-even less computer typographers).  Since there is a strong presumption
-in the courts of a patent's validity once it has been granted, there is
-a good chance that users or implementors of @TeX{} could be successfully
-sued on the issue.
-
-As another example, the X window system, which was intended to be able
-to be used freely by everyone, is now being threatened by two patents:
-4,197,590 on the use of exclusive-or to redraw cursors, held by Cadtrak,
-a litigation company (this has been upheld twice in court); and
-4,555,775, held by AT&T, on the use of backing store to redraw windows
-quickly.
-
-Here is one excerpt from a recent mailing by the League for Programming
-Freedom (@pxref{What to do?}) which I feel sums up the situation rather
-well.  It comes from an article in @cite{Think} magazine, issue #5,
-1990.  The comments after the quote were written by Richard Stallman.
-
-@quotation
-    ``You get value from patents in two ways,'' says Roger Smith, IBM
-    Assistant General Counsel, intellectual property law.  ``Through fees,
-    and through licensing negotiations that give IBM access to other
-    patents.
-
-    ``The IBM patent portfolio gains us the freedom to do what we need to
-    do through cross-licensing---it gives us access to the inventions of
-    others that are the key to rapid innovation.  Access is far more
-    valuable to IBM than the fees it receives from its 9,000 active
-    patents.  There's no direct calculation of this value, but it's many
-    times larger than the fee income, perhaps an order of magnitude
-    larger.''
-@end quotation
-
-This information should dispel the belief that the patent system will
-``protect'' a small software developer from competition from IBM.  IBM
-can always find patents in its collection which the small developer is
-infringing, and thus obtain a cross-license.
-
-However, the patent system does cause trouble for the smaller
-companies which, like IBM, need access to patented techniques in order
-to do useful work in software.  Unlike IBM, the smaller companies do
-not have 9,000 patents and cannot usually get a cross-license.  No
-matter how hard they try, they cannot have enough patents to do this.
-
-Only the elimination of patents from the software field can enable
-most software developers to continue with their work.
-
-The value IBM gets from cross-licensing is a measure of the amount of
-harm that the patent system would do to IBM if IBM could not avoid it.
-IBM's estimate is that the trouble could easily be ten times the good
-one can expect from one's own patents---even for a company with 9,000
-of them.
-
-
-@node User interface copyright, What to do?, Software patents, Freedom
-@section User interface copyright
-
-@cindex rms
-@cindex user interface copyright
-@cindex interface copyright
-(This section is copied from the GCC manual, by Richard Stallman.)
-
-@quotation
-@i{This section is a political message from the League for Programming
-Freedom to the users of the GNU font utilities.  It is included here as
-an expression of support for the League on my part.}
-@end quotation
-
-Apple, Lotus and Xerox are trying to create a new form of
-legal monopoly: a copyright on a class of user interfaces.  These
-monopolies would cause serious problems for users and developers of
-computer software and systems.
-
-Until a few years ago, the law seemed clear: no one could restrict
-others from using a user interface; programmers were free to implement
-any interface they chose.  Imitating interfaces, sometimes with changes,
-was standard practice in the computer field.  The interfaces we know
-evolved gradually in this way; for example, the Macintosh user interface
-drew ideas from the Xerox interface, which in turn drew on work done at
-Stanford and SRI.  1-2-3 imitated VisiCalc, and dBase imitated a
-database program from JPL.
-
-Most computer companies, and nearly all computer users, were happy with
-this state of affairs.  The companies that are suing say it does not
-offer ``enough incentive'' to develop their products, but they must have
-considered it ``enough'' when they made their decision to do so.  It
-seems they are not satisfied with the opportunity to continue to compete
-in the marketplace---not even with a head start.
-
-If Xerox, Lotus, and Apple are permitted to make law through
-the courts, the precedent will hobble the software industry:
-
-@itemize @bullet
-@item
-Gratuitous incompatibilities will burden users.  Imagine if each
-car manufacturer had to arrange the pedals in a different order.
-
-@item
-Software will become and remain more expensive.  Users will be
-``locked in'' to proprietary interfaces, for which there is no real
-competition.
-
-@item
-Large companies have an unfair advantage wherever lawsuits become
-commonplace.  Since they can easily afford to sue, they can intimidate
-small companies with threats even when they don't really have a case.
-
-@item
-User interface improvements will come slower, since incremental
-evolution through creative imitation will no longer be permitted.
-
-@item
-Even Apple, etc., will find it harder to make improvements if
-they can no longer adapt the good ideas that others introduce, for
-fear of weakening their own legal positions.  Some users suggest that
-this stagnation may already have started.
-
-@item
-If you use GNU software, you might find it of some concern that user
-interface copyright will make it hard for the Free Software Foundation
-to develop programs compatible with the interfaces that you already
-know.
-@end itemize
-
-
-@node What to do?,  , User interface copyright, Freedom
-@section What to do?
-
-(This section is copied from the GCC manual, by Richard Stallman.)
-
-To protect our freedom from lawsuits like these, a group of programmers
-and users have formed a new grass-roots political organization, the
-League for Programming Freedom.
-
-The purpose of the League is to oppose new monopolistic practices such
-as user-interface copyright and software patents; it calls for a return
-to the legal policies of the recent past, in which these practices were
-not allowed.  The League is not concerned with free software as an
-issue, and not affiliated with the Free Software Foundation.
-
-The League's membership rolls include John McCarthy, inventor of Lisp,
-Marvin Minsky, founder of the Artificial Intelligence lab, Guy L.
-Steele, Jr., author of well-known books on Lisp and C, as well as
-Richard Stallman, the developer of GNU CC.  Please join and add your
-name to the list.  Membership dues in the League are $42 per year for
-programmers, managers and professionals; $10.50 for students; $21 for
-others.
-
-The League needs both activist members and members who only pay their
-dues.
-
-To join, or for more information, phone (617) 492-0023 or write to:
-
-@display
-League for Programming Freedom
-1 Kendall Square #143
-P.O. Box 9171
-Boston, MA  02111-1307
-@end display
-
-You can also send electronic mail to @code{league@@prep.ai.mit.edu}.
-
-Here are some suggestions from the League for things you can do to
-protect your freedom to write programs:
-
-@itemize @bullet
-@item
-Don't buy from Xerox, Lotus or Apple.  Buy from their competitors or
-from the defendants they are suing.
-
-@item
-Don't develop software to work with the systems made by these companies.
-
-@item
-Port your existing software to competing systems, so that you encourage
-users to switch.
-
-@item
-Write letters to company presidents to let them know their conduct
-is unacceptable.
-
-@item
-Tell your friends and colleagues about this issue and how it threatens
-to ruin the computer industry.
-
-@item
-Above all, don't work for the look-and-feel plaintiffs, and don't
-accept contracts from them.
-
-@item
-Write to Congress to explain the importance of this issue.
-
-@display
-House Subcommittee on Intellectual Property
-2137 Rayburn Bldg
-Washington, DC 20515
-
-Senate Subcommittee on Patents, Trademarks and Copyrights
-United States Senate
-Washington, DC 20510
-@end display
-
-(These committees have received lots of mail already; let's give them
-even more.)
-@end itemize
-
-Express your opinion!  You can make a difference.
deleted file mode 100644
--- a/kpathsea/getopt.c
+++ /dev/null
@@ -1,748 +0,0 @@
-/* Getopt for GNU.
-   NOTE: getopt is now part of the C library, so if you don't know what
-   "Keep this file name-space clean" means, talk to roland@gnu.ai.mit.edu
-   before changing it!
-
-   Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94
-   	Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published by the
-   Free Software Foundation; either version 2, or (at your option) any
-   later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-/* This tells Alpha OSF/1 not to define a getopt prototype in <stdio.h>.
-   Ditto for AIX 3.2 and <stdlib.h>.  */
-#ifndef _NO_PROTO
-#define _NO_PROTO
-#endif
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#if !defined (__STDC__) || !__STDC__
-/* This is a separate conditional since some stdc systems
-   reject `defined (const)'.  */
-#ifndef const
-#define const
-#endif
-#endif
-
-#include <stdio.h>
-
-/* Comment out all this code if we are using the GNU C Library, and are not
-   actually compiling the library itself.  This code is part of the GNU C
-   Library, but also included in many other GNU distributions.  Compiling
-   and linking in this code is a waste when using the GNU C library
-   (especially if it is a shared library).  Rather than having every GNU
-   program understand `configure --with-gnu-libc' and omit the object files,
-   it is simpler to just do this in the source for each such file.  */
-
-#if defined (_LIBC) || !defined (__GNU_LIBRARY__)
-
-
-/* This needs to come after some library #include
-   to get __GNU_LIBRARY__ defined.  */
-#ifdef	__GNU_LIBRARY__
-/* Don't include stdlib.h for non-GNU C libraries because some of them
-   contain conflicting prototypes for getopt.  */
-#include <stdlib.h>
-#endif	/* GNU C library.  */
-
-/* This version of `getopt' appears to the caller like standard Unix `getopt'
-   but it behaves differently for the user, since it allows the user
-   to intersperse the options with the other arguments.
-
-   As `getopt' works, it permutes the elements of ARGV so that,
-   when it is done, all the options precede everything else.  Thus
-   all application programs are extended to handle flexible argument order.
-
-   Setting the environment variable POSIXLY_CORRECT disables permutation.
-   Then the behavior is completely standard.
-
-   GNU application programs can use a third alternative mode in which
-   they can distinguish the relative order of options and other arguments.  */
-
-#include "getopt.h"
-
-/* For communication from `getopt' to the caller.
-   When `getopt' finds an option that takes an argument,
-   the argument value is returned here.
-   Also, when `ordering' is RETURN_IN_ORDER,
-   each non-option ARGV-element is returned here.  */
-
-char *optarg = NULL;
-
-/* Index in ARGV of the next element to be scanned.
-   This is used for communication to and from the caller
-   and for communication between successive calls to `getopt'.
-
-   On entry to `getopt', zero means this is the first call; initialize.
-
-   When `getopt' returns EOF, this is the index of the first of the
-   non-option elements that the caller should itself scan.
-
-   Otherwise, `optind' communicates from one call to the next
-   how much of ARGV has been scanned so far.  */
-
-/* XXX 1003.2 says this must be 1 before any call.  */
-int optind = 0;
-
-/* The next char to be scanned in the option-element
-   in which the last option character we returned was found.
-   This allows us to pick up the scan where we left off.
-
-   If this is zero, or a null string, it means resume the scan
-   by advancing to the next ARGV-element.  */
-
-static char *nextchar;
-
-/* Callers store zero here to inhibit the error message
-   for unrecognized options.  */
-
-int opterr = 1;
-
-/* Set to an option character which was unrecognized.
-   This must be initialized on some systems to avoid linking in the
-   system's own getopt implementation.  */
-
-int optopt = '?';
-
-/* Describe how to deal with options that follow non-option ARGV-elements.
-
-   If the caller did not specify anything,
-   the default is REQUIRE_ORDER if the environment variable
-   POSIXLY_CORRECT is defined, PERMUTE otherwise.
-
-   REQUIRE_ORDER means don't recognize them as options;
-   stop option processing when the first non-option is seen.
-   This is what Unix does.
-   This mode of operation is selected by either setting the environment
-   variable POSIXLY_CORRECT, or using `+' as the first character
-   of the list of option characters.
-
-   PERMUTE is the default.  We permute the contents of ARGV as we scan,
-   so that eventually all the non-options are at the end.  This allows options
-   to be given in any order, even with programs that were not written to
-   expect this.
-
-   RETURN_IN_ORDER is an option available to programs that were written
-   to expect options and other ARGV-elements in any order and that care about
-   the ordering of the two.  We describe each non-option ARGV-element
-   as if it were the argument of an option with character code 1.
-   Using `-' as the first character of the list of option characters
-   selects this mode of operation.
-
-   The special argument `--' forces an end of option-scanning regardless
-   of the value of `ordering'.  In the case of RETURN_IN_ORDER, only
-   `--' can cause `getopt' to return EOF with `optind' != ARGC.  */
-
-static enum
-{
-  REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER
-} ordering;
-
-/* Value of POSIXLY_CORRECT environment variable.  */
-static char *posixly_correct;
-
-#ifdef	__GNU_LIBRARY__
-/* We want to avoid inclusion of string.h with non-GNU libraries
-   because there are many ways it can cause trouble.
-   On some systems, it contains special magic macros that don't work
-   in GCC.  */
-#include <string.h>
-#define	my_index	strchr
-#else
-
-/* Avoid depending on library functions or files
-   whose names are inconsistent.  */
-
-char *getenv ();
-
-static char *
-my_index (str, chr)
-     const char *str;
-     int chr;
-{
-  while (*str)
-    {
-      if (*str == chr)
-	return (char *) str;
-      str++;
-    }
-  return 0;
-}
-
-/* If using GCC, we can safely declare strlen this way.
-   If not using GCC, it is ok not to declare it.  */
-#ifdef __GNUC__
-/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h.
-   That was relevant to code that was here before.  */
-#if !defined (__STDC__) || !__STDC__
-/* gcc with -traditional declares the built-in strlen to return int,
-   and has done so at least since version 2.4.5. -- rms.  */
-extern int strlen (const char *);
-#endif /* not __STDC__ */
-#endif /* __GNUC__ */
-
-#endif /* not __GNU_LIBRARY__ */
-
-/* Handle permutation of arguments.  */
-
-/* Describe the part of ARGV that contains non-options that have
-   been skipped.  `first_nonopt' is the index in ARGV of the first of them;
-   `last_nonopt' is the index after the last of them.  */
-
-static int first_nonopt;
-static int last_nonopt;
-
-/* Exchange two adjacent subsequences of ARGV.
-   One subsequence is elements [first_nonopt,last_nonopt)
-   which contains all the non-options that have been skipped so far.
-   The other is elements [last_nonopt,optind), which contains all
-   the options processed since those non-options were skipped.
-
-   `first_nonopt' and `last_nonopt' are relocated so that they describe
-   the new indices of the non-options in ARGV after they are moved.  */
-
-static void
-exchange (argv)
-     char **argv;
-{
-  int bottom = first_nonopt;
-  int middle = last_nonopt;
-  int top = optind;
-  char *tem;
-
-  /* Exchange the shorter segment with the far end of the longer segment.
-     That puts the shorter segment into the right place.
-     It leaves the longer segment in the right place overall,
-     but it consists of two parts that need to be swapped next.  */
-
-  while (top > middle && middle > bottom)
-    {
-      if (top - middle > middle - bottom)
-	{
-	  /* Bottom segment is the short one.  */
-	  int len = middle - bottom;
-	  register int i;
-
-	  /* Swap it with the top part of the top segment.  */
-	  for (i = 0; i < len; i++)
-	    {
-	      tem = argv[bottom + i];
-	      argv[bottom + i] = argv[top - (middle - bottom) + i];
-	      argv[top - (middle - bottom) + i] = tem;
-	    }
-	  /* Exclude the moved bottom segment from further swapping.  */
-	  top -= len;
-	}
-      else
-	{
-	  /* Top segment is the short one.  */
-	  int len = top - middle;
-	  register int i;
-
-	  /* Swap it with the bottom part of the bottom segment.  */
-	  for (i = 0; i < len; i++)
-	    {
-	      tem = argv[bottom + i];
-	      argv[bottom + i] = argv[middle + i];
-	      argv[middle + i] = tem;
-	    }
-	  /* Exclude the moved top segment from further swapping.  */
-	  bottom += len;
-	}
-    }
-
-  /* Update records for the slots the non-options now occupy.  */
-
-  first_nonopt += (optind - last_nonopt);
-  last_nonopt = optind;
-}
-
-/* Initialize the internal data when the first call is made.  */
-
-static const char *
-_getopt_initialize (optstring)
-     const char *optstring;
-{
-  /* Start processing options with ARGV-element 1 (since ARGV-element 0
-     is the program name); the sequence of previously skipped
-     non-option ARGV-elements is empty.  */
-
-  first_nonopt = last_nonopt = optind = 1;
-
-  nextchar = NULL;
-
-  posixly_correct = getenv ("POSIXLY_CORRECT");
-
-  /* Determine how to handle the ordering of options and nonoptions.  */
-
-  if (optstring[0] == '-')
-    {
-      ordering = RETURN_IN_ORDER;
-      ++optstring;
-    }
-  else if (optstring[0] == '+')
-    {
-      ordering = REQUIRE_ORDER;
-      ++optstring;
-    }
-  else if (posixly_correct != NULL)
-    ordering = REQUIRE_ORDER;
-  else
-    ordering = PERMUTE;
-
-  return optstring;
-}
-
-/* Scan elements of ARGV (whose length is ARGC) for option characters
-   given in OPTSTRING.
-
-   If an element of ARGV starts with '-', and is not exactly "-" or "--",
-   then it is an option element.  The characters of this element
-   (aside from the initial '-') are option characters.  If `getopt'
-   is called repeatedly, it returns successively each of the option characters
-   from each of the option elements.
-
-   If `getopt' finds another option character, it returns that character,
-   updating `optind' and `nextchar' so that the next call to `getopt' can
-   resume the scan with the following option character or ARGV-element.
-
-   If there are no more option characters, `getopt' returns `EOF'.
-   Then `optind' is the index in ARGV of the first ARGV-element
-   that is not an option.  (The ARGV-elements have been permuted
-   so that those that are not options now come last.)
-
-   OPTSTRING is a string containing the legitimate option characters.
-   If an option character is seen that is not listed in OPTSTRING,
-   return '?' after printing an error message.  If you set `opterr' to
-   zero, the error message is suppressed but we still return '?'.
-
-   If a char in OPTSTRING is followed by a colon, that means it wants an arg,
-   so the following text in the same ARGV-element, or the text of the following
-   ARGV-element, is returned in `optarg'.  Two colons mean an option that
-   wants an optional arg; if there is text in the current ARGV-element,
-   it is returned in `optarg', otherwise `optarg' is set to zero.
-
-   If OPTSTRING starts with `-' or `+', it requests different methods of
-   handling the non-option ARGV-elements.
-   See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above.
-
-   Long-named options begin with `--' instead of `-'.
-   Their names may be abbreviated as long as the abbreviation is unique
-   or is an exact match for some defined option.  If they have an
-   argument, it follows the option name in the same ARGV-element, separated
-   from the option name by a `=', or else the in next ARGV-element.
-   When `getopt' finds a long-named option, it returns 0 if that option's
-   `flag' field is nonzero, the value of the option's `val' field
-   if the `flag' field is zero.
-
-   The elements of ARGV aren't really const, because we permute them.
-   But we pretend they're const in the prototype to be compatible
-   with other systems.
-
-   LONGOPTS is a vector of `struct option' terminated by an
-   element containing a name which is zero.
-
-   LONGIND returns the index in LONGOPT of the long-named option found.
-   It is only valid when a long-named option has been found by the most
-   recent call.
-
-   If LONG_ONLY is nonzero, '-' as well as '--' can introduce
-   long-named options.  */
-
-int
-_getopt_internal (argc, argv, optstring, longopts, longind, long_only)
-     int argc;
-     char *const *argv;
-     const char *optstring;
-     const struct option *longopts;
-     int *longind;
-     int long_only;
-{
-  optarg = NULL;
-
-  if (optind == 0)
-    optstring = _getopt_initialize (optstring);
-
-  if (nextchar == NULL || *nextchar == '\0')
-    {
-      /* Advance to the next ARGV-element.  */
-
-      if (ordering == PERMUTE)
-	{
-	  /* If we have just processed some options following some non-options,
-	     exchange them so that the options come first.  */
-
-	  if (first_nonopt != last_nonopt && last_nonopt != optind)
-	    exchange ((char **) argv);
-	  else if (last_nonopt != optind)
-	    first_nonopt = optind;
-
-	  /* Skip any additional non-options
-	     and extend the range of non-options previously skipped.  */
-
-	  while (optind < argc
-		 && (argv[optind][0] != '-' || argv[optind][1] == '\0'))
-	    optind++;
-	  last_nonopt = optind;
-	}
-
-      /* The special ARGV-element `--' means premature end of options.
-	 Skip it like a null option,
-	 then exchange with previous non-options as if it were an option,
-	 then skip everything else like a non-option.  */
-
-      if (optind != argc && !strcmp (argv[optind], "--"))
-	{
-	  optind++;
-
-	  if (first_nonopt != last_nonopt && last_nonopt != optind)
-	    exchange ((char **) argv);
-	  else if (first_nonopt == last_nonopt)
-	    first_nonopt = optind;
-	  last_nonopt = argc;
-
-	  optind = argc;
-	}
-
-      /* If we have done all the ARGV-elements, stop the scan
-	 and back over any non-options that we skipped and permuted.  */
-
-      if (optind == argc)
-	{
-	  /* Set the next-arg-index to point at the non-options
-	     that we previously skipped, so the caller will digest them.  */
-	  if (first_nonopt != last_nonopt)
-	    optind = first_nonopt;
-	  return EOF;
-	}
-
-      /* If we have come to a non-option and did not permute it,
-	 either stop the scan or describe it to the caller and pass it by.  */
-
-      if ((argv[optind][0] != '-' || argv[optind][1] == '\0'))
-	{
-	  if (ordering == REQUIRE_ORDER)
-	    return EOF;
-	  optarg = argv[optind++];
-	  return 1;
-	}
-
-      /* We have found another option-ARGV-element.
-	 Skip the initial punctuation.  */
-
-      nextchar = (argv[optind] + 1
-		  + (longopts != NULL && argv[optind][1] == '-'));
-    }
-
-  /* Decode the current option-ARGV-element.  */
-
-  /* Check whether the ARGV-element is a long option.
-
-     If long_only and the ARGV-element has the form "-f", where f is
-     a valid short option, don't consider it an abbreviated form of
-     a long option that starts with f.  Otherwise there would be no
-     way to give the -f short option.
-
-     On the other hand, if there's a long option "fubar" and
-     the ARGV-element is "-fu", do consider that an abbreviation of
-     the long option, just like "--fu", and not "-f" with arg "u".
-
-     This distinction seems to be the most useful approach.  */
-
-  if (longopts != NULL
-      && (argv[optind][1] == '-'
-	  || (long_only && (argv[optind][2] || !my_index (optstring, argv[optind][1])))))
-    {
-      char *nameend;
-      const struct option *p;
-      const struct option *pfound = NULL;
-      int exact = 0;
-      int ambig = 0;
-      int indfound;
-      int option_index;
-
-      for (nameend = nextchar; *nameend && *nameend != '='; nameend++)
-	/* Do nothing.  */ ;
-
-      /* Test all long options for either exact match
-	 or abbreviated matches.  */
-      for (p = longopts, option_index = 0; p->name; p++, option_index++)
-	if (!strncmp (p->name, nextchar, nameend - nextchar))
-	  {
-	    if (nameend - nextchar == strlen (p->name))
-	      {
-		/* Exact match found.  */
-		pfound = p;
-		indfound = option_index;
-		exact = 1;
-		break;
-	      }
-	    else if (pfound == NULL)
-	      {
-		/* First nonexact match found.  */
-		pfound = p;
-		indfound = option_index;
-	      }
-	    else
-	      /* Second or later nonexact match found.  */
-	      ambig = 1;
-	  }
-
-      if (ambig && !exact)
-	{
-	  if (opterr)
-	    fprintf (stderr, "%s: option `%s' is ambiguous\n",
-		     argv[0], argv[optind]);
-	  nextchar += strlen (nextchar);
-	  optind++;
-	  return '?';
-	}
-
-      if (pfound != NULL)
-	{
-	  option_index = indfound;
-	  optind++;
-	  if (*nameend)
-	    {
-	      /* Don't test has_arg with >, because some C compilers don't
-		 allow it to be used on enums.  */
-	      if (pfound->has_arg)
-		optarg = nameend + 1;
-	      else
-		{
-		  if (opterr)
-		    {
-		      if (argv[optind - 1][1] == '-')
-			/* --option */
-			fprintf (stderr,
-				 "%s: option `--%s' doesn't allow an argument\n",
-				 argv[0], pfound->name);
-		      else
-			/* +option or -option */
-			fprintf (stderr,
-			     "%s: option `%c%s' doesn't allow an argument\n",
-			     argv[0], argv[optind - 1][0], pfound->name);
-		    }
-		  nextchar += strlen (nextchar);
-		  return '?';
-		}
-	    }
-	  else if (pfound->has_arg == 1)
-	    {
-	      if (optind < argc)
-		optarg = argv[optind++];
-	      else
-		{
-		  if (opterr)
-		    fprintf (stderr, "%s: option `%s' requires an argument\n",
-			     argv[0], argv[optind - 1]);
-		  nextchar += strlen (nextchar);
-		  return optstring[0] == ':' ? ':' : '?';
-		}
-	    }
-	  nextchar += strlen (nextchar);
-	  if (longind != NULL)
-	    *longind = option_index;
-	  if (pfound->flag)
-	    {
-	      *(pfound->flag) = pfound->val;
-	      return 0;
-	    }
-	  return pfound->val;
-	}
-
-      /* Can't find it as a long option.  If this is not getopt_long_only,
-	 or the option starts with '--' or is not a valid short
-	 option, then it's an error.
-	 Otherwise interpret it as a short option.  */
-      if (!long_only || argv[optind][1] == '-'
-	  || my_index (optstring, *nextchar) == NULL)
-	{
-	  if (opterr)
-	    {
-	      if (argv[optind][1] == '-')
-		/* --option */
-		fprintf (stderr, "%s: unrecognized option `--%s'\n",
-			 argv[0], nextchar);
-	      else
-		/* +option or -option */
-		fprintf (stderr, "%s: unrecognized option `%c%s'\n",
-			 argv[0], argv[optind][0], nextchar);
-	    }
-	  nextchar = (char *) "";
-	  optind++;
-	  return '?';
-	}
-    }
-
-  /* Look at and handle the next short option-character.  */
-
-  {
-    char c = *nextchar++;
-    char *temp = my_index (optstring, c);
-
-    /* Increment `optind' when we start to process its last character.  */
-    if (*nextchar == '\0')
-      ++optind;
-
-    if (temp == NULL || c == ':')
-      {
-	if (opterr)
-	  {
-	    if (posixly_correct)
-	      /* 1003.2 specifies the format of this message.  */
-	      fprintf (stderr, "%s: illegal option -- %c\n", argv[0], c);
-	    else
-	      fprintf (stderr, "%s: invalid option -- %c\n", argv[0], c);
-	  }
-	optopt = c;
-	return '?';
-      }
-    if (temp[1] == ':')
-      {
-	if (temp[2] == ':')
-	  {
-	    /* This is an option that accepts an argument optionally.  */
-	    if (*nextchar != '\0')
-	      {
-		optarg = nextchar;
-		optind++;
-	      }
-	    else
-	      optarg = NULL;
-	    nextchar = NULL;
-	  }
-	else
-	  {
-	    /* This is an option that requires an argument.  */
-	    if (*nextchar != '\0')
-	      {
-		optarg = nextchar;
-		/* If we end this ARGV-element by taking the rest as an arg,
-		   we must advance to the next element now.  */
-		optind++;
-	      }
-	    else if (optind == argc)
-	      {
-		if (opterr)
-		  {
-		    /* 1003.2 specifies the format of this message.  */
-		    fprintf (stderr, "%s: option requires an argument -- %c\n",
-			     argv[0], c);
-		  }
-		optopt = c;
-		if (optstring[0] == ':')
-		  c = ':';
-		else
-		  c = '?';
-	      }
-	    else
-	      /* We already incremented `optind' once;
-		 increment it again when taking next ARGV-elt as argument.  */
-	      optarg = argv[optind++];
-	    nextchar = NULL;
-	  }
-      }
-    return c;
-  }
-}
-
-int
-getopt (argc, argv, optstring)
-     int argc;
-     char *const *argv;
-     const char *optstring;
-{
-  return _getopt_internal (argc, argv, optstring,
-			   (const struct option *) 0,
-			   (int *) 0,
-			   0);
-}
-
-#endif	/* _LIBC or not __GNU_LIBRARY__.  */
-
-#ifdef TEST
-
-/* Compile with -DTEST to make an executable for use in testing
-   the above definition of `getopt'.  */
-
-int
-main (argc, argv)
-     int argc;
-     char **argv;
-{
-  int c;
-  int digit_optind = 0;
-
-  while (1)
-    {
-      int this_option_optind = optind ? optind : 1;
-
-      c = getopt (argc, argv, "abc:d:0123456789");
-      if (c == EOF)
-	break;
-
-      switch (c)
-	{
-	case '0':
-	case '1':
-	case '2':
-	case '3':
-	case '4':
-	case '5':
-	case '6':
-	case '7':
-	case '8':
-	case '9':
-	  if (digit_optind != 0 && digit_optind != this_option_optind)
-	    printf ("digits occur in two different argv-elements.\n");
-	  digit_optind = this_option_optind;
-	  printf ("option %c\n", c);
-	  break;
-
-	case 'a':
-	  printf ("option a\n");
-	  break;
-
-	case 'b':
-	  printf ("option b\n");
-	  break;
-
-	case 'c':
-	  printf ("option c with value `%s'\n", optarg);
-	  break;
-
-	case '?':
-	  break;
-
-	default:
-	  printf ("?? getopt returned character code 0%o ??\n", c);
-	}
-    }
-
-  if (optind < argc)
-    {
-      printf ("non-option ARGV-elements: ");
-      while (optind < argc)
-	printf ("%s ", argv[optind++]);
-      printf ("\n");
-    }
-
-  exit (0);
-}
-
-#endif /* TEST */
deleted file mode 100644
--- a/kpathsea/getopt.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/* Declarations for getopt.
-   Copyright (C) 1989, 90, 91, 92, 93, 94 Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published by the
-   Free Software Foundation; either version 2, or (at your option) any
-   later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef _GETOPT_H
-#define _GETOPT_H 1
-
-#ifdef	__cplusplus
-extern "C" {
-#endif
-
-/* For communication from `getopt' to the caller.
-   When `getopt' finds an option that takes an argument,
-   the argument value is returned here.
-   Also, when `ordering' is RETURN_IN_ORDER,
-   each non-option ARGV-element is returned here.  */
-
-extern char *optarg;
-
-/* Index in ARGV of the next element to be scanned.
-   This is used for communication to and from the caller
-   and for communication between successive calls to `getopt'.
-
-   On entry to `getopt', zero means this is the first call; initialize.
-
-   When `getopt' returns EOF, this is the index of the first of the
-   non-option elements that the caller should itself scan.
-
-   Otherwise, `optind' communicates from one call to the next
-   how much of ARGV has been scanned so far.  */
-
-extern int optind;
-
-/* Callers store zero here to inhibit the error message `getopt' prints
-   for unrecognized options.  */
-
-extern int opterr;
-
-/* Set to an option character which was unrecognized.  */
-
-extern int optopt;
-
-/* Describe the long-named options requested by the application.
-   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
-   of `struct option' terminated by an element containing a name which is
-   zero.
-
-   The field `has_arg' is:
-   no_argument		(or 0) if the option does not take an argument,
-   required_argument	(or 1) if the option requires an argument,
-   optional_argument 	(or 2) if the option takes an optional argument.
-
-   If the field `flag' is not NULL, it points to a variable that is set
-   to the value given in the field `val' when the option is found, but
-   left unchanged if the option is not found.
-
-   To have a long-named option do something other than set an `int' to
-   a compiled-in constant, such as set a value from `optarg', set the
-   option's `flag' field to zero and its `val' field to a nonzero
-   value (the equivalent single-letter option character, if there is
-   one).  For long options that have a zero `flag' field, `getopt'
-   returns the contents of the `val' field.  */
-
-struct option
-{
-#if defined (__STDC__) && __STDC__
-  const char *name;
-#else
-  char *name;
-#endif
-  /* has_arg can't be an enum because some compilers complain about
-     type mismatches in all the code that assumes it is an int.  */
-  int has_arg;
-  int *flag;
-  int val;
-};
-
-/* Names for the values of the `has_arg' field of `struct option'.  */
-
-#define	no_argument		0
-#define required_argument	1
-#define optional_argument	2
-
-#if defined (__STDC__) && __STDC__
-#ifdef __GNU_LIBRARY__
-/* Many other libraries have conflicting prototypes for getopt, with
-   differences in the consts, in stdlib.h.  To avoid compilation
-   errors, only prototype getopt for the GNU C library.  */
-extern int getopt (int argc, char *const *argv, const char *shortopts);
-#else /* not __GNU_LIBRARY__ */
-extern int getopt ();
-#endif /* __GNU_LIBRARY__ */
-extern int getopt_long (int argc, char *const *argv, const char *shortopts,
-		        const struct option *longopts, int *longind);
-extern int getopt_long_only (int argc, char *const *argv,
-			     const char *shortopts,
-		             const struct option *longopts, int *longind);
-
-/* Internal only.  Users should not call this directly.  */
-extern int _getopt_internal (int argc, char *const *argv,
-			     const char *shortopts,
-		             const struct option *longopts, int *longind,
-			     int long_only);
-#else /* not __STDC__ */
-extern int getopt ();
-extern int getopt_long ();
-extern int getopt_long_only ();
-
-extern int _getopt_internal ();
-#endif /* __STDC__ */
-
-#ifdef	__cplusplus
-}
-#endif
-
-#endif /* _GETOPT_H */
deleted file mode 100644
--- a/kpathsea/getopt1.c
+++ /dev/null
@@ -1,180 +0,0 @@
-/* getopt_long and getopt_long_only entry points for GNU getopt.
-   Copyright (C) 1987, 88, 89, 90, 91, 92, 1993, 1994
-	Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published by the
-   Free Software Foundation; either version 2, or (at your option) any
-   later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "getopt.h"
-
-#if !defined (__STDC__) || !__STDC__
-/* This is a separate conditional since some stdc systems
-   reject `defined (const)'.  */
-#ifndef const
-#define const
-#endif
-#endif
-
-#include <stdio.h>
-
-/* Comment out all this code if we are using the GNU C Library, and are not
-   actually compiling the library itself.  This code is part of the GNU C
-   Library, but also included in many other GNU distributions.  Compiling
-   and linking in this code is a waste when using the GNU C library
-   (especially if it is a shared library).  Rather than having every GNU
-   program understand `configure --with-gnu-libc' and omit the object files,
-   it is simpler to just do this in the source for each such file.  */
-
-#if defined (_LIBC) || !defined (__GNU_LIBRARY__)
-
-
-/* This needs to come after some library #include
-   to get __GNU_LIBRARY__ defined.  */
-#ifdef __GNU_LIBRARY__
-#include <stdlib.h>
-#else
-char *getenv ();
-#endif
-
-#ifndef	NULL
-#define NULL 0
-#endif
-
-int
-getopt_long (argc, argv, options, long_options, opt_index)
-     int argc;
-     char *const *argv;
-     const char *options;
-     const struct option *long_options;
-     int *opt_index;
-{
-  return _getopt_internal (argc, argv, options, long_options, opt_index, 0);
-}
-
-/* Like getopt_long, but '-' as well as '--' can indicate a long option.
-   If an option that starts with '-' (not '--') doesn't match a long option,
-   but does match a short option, it is parsed as a short option
-   instead.  */
-
-int
-getopt_long_only (argc, argv, options, long_options, opt_index)
-     int argc;
-     char *const *argv;
-     const char *options;
-     const struct option *long_options;
-     int *opt_index;
-{
-  return _getopt_internal (argc, argv, options, long_options, opt_index, 1);
-}
-
-
-#endif	/* _LIBC or not __GNU_LIBRARY__.  */
-
-#ifdef TEST
-
-#include <stdio.h>
-
-int
-main (argc, argv)
-     int argc;
-     char **argv;
-{
-  int c;
-  int digit_optind = 0;
-
-  while (1)
-    {
-      int this_option_optind = optind ? optind : 1;
-      int option_index = 0;
-      static struct option long_options[] =
-      {
-	{"add", 1, 0, 0},
-	{"append", 0, 0, 0},
-	{"delete", 1, 0, 0},
-	{"verbose", 0, 0, 0},
-	{"create", 0, 0, 0},
-	{"file", 1, 0, 0},
-	{0, 0, 0, 0}
-      };
-
-      c = getopt_long (argc, argv, "abc:d:0123456789",
-		       long_options, &option_index);
-      if (c == EOF)
-	break;
-
-      switch (c)
-	{
-	case 0:
-	  printf ("option %s", long_options[option_index].name);
-	  if (optarg)
-	    printf (" with arg %s", optarg);
-	  printf ("\n");
-	  break;
-
-	case '0':
-	case '1':
-	case '2':
-	case '3':
-	case '4':
-	case '5':
-	case '6':
-	case '7':
-	case '8':
-	case '9':
-	  if (digit_optind != 0 && digit_optind != this_option_optind)
-	    printf ("digits occur in two different argv-elements.\n");
-	  digit_optind = this_option_optind;
-	  printf ("option %c\n", c);
-	  break;
-
-	case 'a':
-	  printf ("option a\n");
-	  break;
-
-	case 'b':
-	  printf ("option b\n");
-	  break;
-
-	case 'c':
-	  printf ("option c with value `%s'\n", optarg);
-	  break;
-
-	case 'd':
-	  printf ("option d with value `%s'\n", optarg);
-	  break;
-
-	case '?':
-	  break;
-
-	default:
-	  printf ("?? getopt returned character code 0%o ??\n", c);
-	}
-    }
-
-  if (optind < argc)
-    {
-      printf ("non-option ARGV-elements: ");
-      while (optind < argc)
-	printf ("%s ", argv[optind++]);
-      printf ("\n");
-    }
-
-  exit (0);
-}
-
-#endif /* TEST */
deleted file mode 100644
--- a/kpathsea/getpagesize.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Emulate getpagesize on systems that lack it.  */
-
-#ifndef HAVE_GETPAGESIZE
-
-#ifdef VMS
-#define getpagesize() 512
-#endif
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef _SC_PAGESIZE
-#define getpagesize() sysconf(_SC_PAGESIZE)
-#else
-
-#include <sys/param.h>
-
-#ifdef EXEC_PAGESIZE
-#define getpagesize() EXEC_PAGESIZE
-#else
-#ifdef NBPG
-#define getpagesize() NBPG * CLSIZE
-#ifndef CLSIZE
-#define CLSIZE 1
-#endif /* no CLSIZE */
-#else /* no NBPG */
-#ifdef NBPC
-#define getpagesize() NBPC
-#endif /* NBPC */
-#endif /* no NBPG */
-#endif /* no EXEC_PAGESIZE */
-#endif /* no _SC_PAGESIZE */
-
-#endif /* not HAVE_GETPAGESIZE */
deleted file mode 100644
--- a/kpathsea/hash.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/* hash.c: hash table operations.
-
-Copyright (C) 1994 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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/hash.h>
-#include <kpathsea/str-list.h>
-
-
-/* The hash function.  We go for simplicity here.  */
-
-static unsigned
-hash P2C(hash_table_type, table,  const_string, key)
-{
-  unsigned n = 0;
-  
-  /* Our keys aren't often anagrams of each other, so no point in
-     weighting the characters.  */
-  while (*key != 0)
-    n = (n + n + *key++) % table.size;
-  
-  return n;
-}
-
-hash_table_type
-hash_create P1C(unsigned, size) 
-{
-  unsigned b;
-  hash_table_type ret;
-  ret.buckets = XTALLOC (size, hash_element_type *);
-  ret.size = size;
-  
-  /* calloc's zeroes aren't necessarily NULL, according to ANSI, so be
-     safe.  (Not that I know of any exceptions in reality.)  */
-  for (b = 0; b <ret.size; b++)
-    ret.buckets[b] = NULL;
-    
-  return ret;
-}
-
-/* Whether or not KEY is already in MAP, insert it and VALUE.  Do not
-   duplicate the strings, in case they're being purposefully shared.  */
-
-void
-hash_insert P3C(hash_table_type *, table,  const_string, key,
-                const_string, value)
-{
-  unsigned n = hash (*table, key);
-  hash_element_type *new_elt = XTALLOC1 (hash_element_type);
-
-  new_elt->key = key;
-  new_elt->value = value;
-  new_elt->next = NULL;
-  
-  /* Insert the new element at the end of the list.  */
-  if (!table->buckets[n])
-    /* first element in bucket is a special case.  */
-    table->buckets[n] = new_elt;
-  else
-    {
-      hash_element_type *loc = table->buckets[n];
-      while (loc->next)		/* Find the last element.  */
-        loc = loc->next;
-      loc->next = new_elt;	/* Insert the new one after.  */
-    }
-}
-
-/* Look up STR in MAP.  Return a (dynamically-allocated) list of the
-   corresponding strings or NULL if no match.  */ 
-
-#ifdef DEBUG
-/* Print the hash values as integers if this is nonzero.  */
-boolean kpse_debug_hash_lookup_int = false; 
-#endif
-
-string *
-hash_lookup P2C(hash_table_type, table,  const_string, key)
-{
-  hash_element_type *p;
-  str_list_type ret;
-  unsigned n = hash (table, key);
-  ret = str_list_init ();
-  
-  /* Look at everything in this bucket.  */
-  for (p = table.buckets[n]; p != NULL; p = p->next)
-    if (STREQ (key, p->key))
-      /* Cast because the general str_list_type shouldn't force const data.  */
-      str_list_add (&ret, (string) p->value);
-  
-  /* If we found anything, mark end of list with null.  */
-  if (STR_LIST (ret))
-    str_list_add (&ret, NULL);
-
-#ifdef DEBUG
-  if (KPSE_DEBUG_P (KPSE_DEBUG_HASH))
-    {
-      DEBUGF1 ("hash_lookup(%s) =>", key);
-      if (!STR_LIST (ret))
-        fputs (" (null)\n", stderr);
-      else
-        {
-          string *r;
-          for (r = STR_LIST (ret); *r; r++)
-            {
-              putc (' ', stderr);
-              if (kpse_debug_hash_lookup_int)
-                fprintf (stderr, "%ld", (long) *r);
-              else
-                fputs (*r, stderr);
-            }
-          putc ('\n', stderr);
-        }
-      fflush (stderr);
-    }
-#endif
-
-  return STR_LIST (ret);
-}
-
-/* We only print nonempty buckets, to decrease output volume.  */
-
-void
-hash_print P1C(hash_table_type, table)
-{
-  unsigned b;
-  unsigned total_elements = 0, total_buckets = 0;
-  
-  for (b = 0; b < table.size; b++)
-    {
-      hash_element_type *bucket = table.buckets[b];
-      
-      if (bucket)
-        {
-          unsigned len = 1;
-          hash_element_type *tb;
-          
-          total_buckets++;
-          printf ("%4d ", b);
-          
-          for (tb = bucket->next; tb != NULL; tb = tb->next)
-            len++;
-          printf (":%-5d", len);
-          total_elements += len;
-          
-          for (tb = bucket; tb != NULL; tb = tb->next)
-            printf (" %s=>%s", tb->key, tb->value);
-          
-          putchar ('\n');
-        }
-    }
-  
-  printf ("%u buckets, %u nonempty (%u%%); %u entries, average chain %.1f.\n",
-          table.size, total_buckets, 100 * total_buckets / table.size,
-          total_elements,
-          total_buckets ? total_elements / (double) total_buckets : 0.0);
-}
deleted file mode 100644
--- a/kpathsea/hash.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* hash.h: declarations for a hash table.
-
-Copyright (C) 1994 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef HASH_H
-#define HASH_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/types.h>
-
-
-/* A single (key,value) pair.  */
-typedef struct hash_element_struct
-{
-  const_string key;
-  const_string value;
-  struct hash_element_struct *next;
-} hash_element_type;
-
-/* The usual arrangement of buckets initialized to null.  */
-typedef struct
-{
-  hash_element_type **buckets;
-  unsigned size;
-} hash_table_type;
-
-#ifdef DEBUG
-/* How to print the hash results when debugging.  */
-extern boolean kpse_debug_hash_lookup_int;
-#endif
-
-/* Create a hash table of size SIZE.  */
-extern hash_table_type hash_create P1H(unsigned size);
-
-/* Insert the (KEY,VALUE) association into TABLE.  KEY may have more
-   than one VALUE.  Neither KEY nor VALUE is copied.  */
-extern void hash_insert P3H(hash_table_type *table,  const_string key,
-                            const_string value);
-
-/* Look up KEY in MAP, and return NULL-terminated list of all matching
-   values (not copies), in insertion order.  If none, return NULL.  */
-extern string *hash_lookup P2H(hash_table_type table, const_string key);
-
-/* Print TABLE to stdout.  */
-extern void hash_print P1H(hash_table_type table);
-
-#endif /* not HASH_H */
deleted file mode 100644
--- a/kpathsea/install.texi
+++ /dev/null
@@ -1,67 +0,0 @@
-@c install.texi -- this file is the installation items common to
-@c kpathsea-using programs.  It's included by kpathsea.texi and dvips.texi.
-
-@item
-@vindex CFLAGS
-@flindex paths.make@r{, editing}
-Edit the file @file{make/paths.make} if you want to make changes to the
-installation directories or paths that will have effect across different
-runs of @code{configure}.  Alternatively, override the Make variables on
-the command line when you run Make.
-
-@cindex installation directories, changing
-Exception: to reliably change the top-level @samp{prefix}, you must give
-@samp{configure} the option @samp{-prefix=@var{prefix}}, instead of
-changing the value in @file{paths.make}.
-
-@item
-@cindex paths, changing default
-Edit @file{kpathsea/texmf.cnf.in} to change the local paths to match your
-local setup.  @xref{Default paths, , , kpathsea, Kpathsea}, for more
-details on changing the paths. A copy is in @file{kpathsea/INSTALL}.
-See @file{kpathsea/HIER} for an explanation of the default setup.
-
-If the paths do not match where the files actually are, the programs
-will probably start up Very, Very, Slowly, and/or not be able to find
-the fonts or other input files.
-
-@item
-@flindex configure@r{, running}
-@flindex CONFIG
-@flindex kpathsea/CONFIG
-@flindex c-auto.h.in
-@flindex Makefile.in
-@findex ac_include
-@cindex @@@var{var}@@ substitutions
-@cindex system dependencies
-@code{sh configure} (in the top-level directory).  This makes
-system-dependent @samp{#define's} in @file{*/c-auto.h} (from the
-corresponding @file{c-auto.h.in}) and creates a @file{Makefile} (from
-the corresponding @file{Makefile.in}, by doing @samp{@@@var{var}@@} and
-@samp{ac_include} substitutions).
-
-Perhaps the most common desire is to compile with optimization instead
-of or as well as debugging.  You can change the options passed to the
-compiler by changing @samp{CFLAGS}, either for @code{configure} or
-@code{make}.  For example:
-
-@example
-prompt$ env CFLAGS="-g -O" configure
-prompt$ make
-@exdent @r{or}
-prompt$ configure
-prompt$ make CFLAGS="-g -O"
-@end example
-
-@noindent @xref{Invoking configure, , Running @code{configure} scripts,
-autoconf, Autoconf}, for detailed @code{configure} options.  (A copy is
-in @file{kpathsea/CONFIGURE}.)
-
-@item
-@code{make} (still in the top-level directory). Barring configuration
-and compiler bugs, this will compile all the programs.  @xref{Common
-problems, , Common problems, kpathsea, Kpathsea}, for system-dependent
-problems (this section is also in @file{kpathsea/INSTALL}).
-
-This also creates the @file{texmf.cnf} and @file{paths.h} files that
-define the default search paths.
deleted file mode 100644
--- a/kpathsea/itoa.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* itoa.c: convert an int to a string.
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#include <kpathsea/config.h>
-
-
-string
-itoa P1C(int, i)
-{
-  char a[MAX_INT_LENGTH];
-  
-  sprintf (a, "%d", i);
-  return xstrdup (a);
-}
deleted file mode 100644
--- a/kpathsea/kdefault.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/* kdefault.c: Expand extra colons.
-   (This is not named default.c because then the OSF/1 make tries to
-   make a program `default' from it, since we have a target `default';
-   and OSF/1 make doesn't understand .PHONY.)
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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-pathch.h>
-#include <kpathsea/default.h>
-
-
-/* Check for leading colon first, then trailing, then doubled, since
-   that is fastest.  Usually it will be leading or trailing.  */
-
-string 
-kpse_expand_default P2C(const_string, path,  const_string, fallback)
-{
-  unsigned path_length;
-  string expansion;
-  
-  /* The default path better not be null.  */
-  assert (fallback);
-  
-  if (path == NULL)
-    expansion = (string) fallback;
-
-  /* Solitary or leading :?  */
-  else if (IS_ENV_SEP (*path))
-    {
-      expansion = path[1] == 0 ? (string) fallback : concat (fallback, path);
-    }
-
-  /* Sorry about the assignment in the middle of the expression, but
-     conventions were made to be flouted and all that.  I don't see the
-     point of calling strlen twice or complicating the logic just to
-     avoid the assignment (especially now that I've pointed it out at
-     such great length).  */
-  else if (path[(path_length = strlen (path)) - 1] == ENV_SEP)
-    expansion = concat (path, fallback);
-
-  /* OK, not leading or trailing.  Check for doubled.  */
-  else
-    {
-      const_string loc;
-
-      /* What we'll return if we find none.  */
-      expansion = (string) path;
-
-      for (loc = path; *loc && expansion == path; loc++)
-        {
-          if (IS_ENV_SEP (loc[0]) && IS_ENV_SEP (loc[1]))
-            { /* We have a doubled colon.  */
-              expansion = xmalloc (path_length + strlen (fallback) + 1);
-              
-              /* Copy stuff up to and including the first colon.  */
-              strncpy (expansion, path, loc - path + 1);
-              expansion[loc - path + 1] = 0;
-              
-              /* Copy in FALLBACK, and then the rest of PATH.  */
-              strcat (expansion, fallback);
-              strcat (expansion, loc + 1);
-            }
-        }
-    }
-  
-  return expansion;
-}
-
-#ifdef TEST
-
-void
-test_expand_default (const_string path, const_string def)
-{
-  string answer;
-  
-  printf ("Expansion of `%s':\t", path ? path : "(null)");
-  answer = kpse_expand_default (path, def);
-  puts (answer);
-}
-
-int
-main ()
-{
-  string default_path = "default";
-
-  test_expand_default (NULL, default_path);
-  test_expand_default ("", default_path);
-  test_expand_default ("none", default_path);
-  test_expand_default (":", default_path);
-  test_expand_default (":first", default_path);
-  test_expand_default ("last:", default_path);
-  test_expand_default ("middle::elddim", default_path);
-  
-  return 0;
-}
-
-#endif /* TEST */
-
-
-/*
-Local variables:
-standalone-compile-command: "gcc -g -I. -I.. -DTEST default.c kpathsea.a"
-End:
-*/
deleted file mode 100644
--- a/kpathsea/kpathsea.texi
+++ /dev/null
@@ -1,2088 +0,0 @@
-\input texinfo
-@setfilename kpathsea.info
-@settitle Kpathsea: A library for path searching
-
-@set version 2.6
-@set month-year January 1995
-
-@c Define new indices for commands, filenames, and options.
-@defcodeindex cm
-@defcodeindex fl
-@defcodeindex op
-
-@c Put everything in one index (arbitrarily chosen to be the concept index).
-@syncodeindex cm cp
-@syncodeindex fl cp
-@syncodeindex fn cp
-@syncodeindex ky cp
-@syncodeindex op cp
-@syncodeindex pg cp
-@syncodeindex tp cp
-@syncodeindex vr cp
-
-@ifinfo
-@format
-START-INFO-DIR-ENTRY
-* Kpathsea: (kpathsea).		File lookup along search paths.
-END-INFO-DIR-ENTRY
-@end format
-
-This file documents the Kpathsea library for path searching.
-
-Copyright (C) 1993, 94, 95 Karl Berry.
-
-Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
-@ignore
-Permission is granted to process this file through TeX and print the
-results, provided the printed document carries a copying permission
-notice identical to this one except for the removal of this paragraph
-(this paragraph not being relevant to the printed manual).
-@end ignore
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided also that the
-sections entitled ``Freedom'' and ``GNU General Public License'' are
-included exactly as in the original, and provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that the sections entitled ``Freedom'' and ``GNU General Public
-License'' may be included in a translation approved by the Free Software
-Foundation instead of in the original English.
-@end ifinfo
-
-
-@titlepage
-
-@title Kpathsea library
-@subtitle for version @value{version}
-@subtitle @value{month-year}
-@author Karl Berry
-
-@page
-
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1993, 94 Karl Berry.
-
-Permission is granted to make and distribute verbatim copies of this
-manual provided the copyright notice and this permission notice are
-preserved on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided also that the
-sections entitled ``Regain your programming freedom'' and ``GNU General
-Public License'' are included exactly as in the original, and provided
-that the entire resulting derived work is distributed under the terms of
-a permission notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that the sections entitled ``Regain your programming freedom''
-and ``GNU General Public License'' may be included in a translation
-approved by the Free Software Foundation instead of in the original English.
-
-@end titlepage
-
-
-@ifinfo
-@node Top
-@top Kpathsea library
-
-This manual documents how to install and use the Kpathsea library for
-filename lookup.  It corresponds to version @value{version}
-(released in @value{month-year}).
-
-@menu
-* Introduction::                Overview.
-* Installation::                Compilation, installation, and bug reporting.
-* Debugging::			Analyzing runtime problems.
-
-* Path searching::		How filename lookups work.
-* TeX searching::		Special support for TeX lookups.
-
-* TeX directory structure::	Ways to manage the many input files.
-
-* Programming::			How to use the library in your program.
-
-* Copying::                     Conditions for copying, modifying and sharing.
-* Freedom::                     Regain your programming freedom.
-* Index::                       General index.
-@end menu
-@end ifinfo
-
-
-@node Introduction
-@chapter Introduction
-
-@cindex introduction
-@cindex fundamental purpose
-
-This manual corresponds to version @value{version} of the Kpathsea
-library, released in @value{month-year}.
-
-The library's fundamental purpose is to look up a file in a list of
-directories specified by the user, similar to what shells do when
-looking up program names to execute.
-
-@cindex programs using the library
-The following software, all of which I maintain, uses this library:
-
-@itemize @bullet
-@item Dviljk
-@item Dvipsk (@pxref{Top, , Introduction, dvipsk, Dvips: A DVI driver})
-@item GNU font utilities (@pxref{Top, , Introduction, fontu, GNU font
-utilities})
-@item Web2c (@pxref{Top, , Introduction, web2c, Web2c: A @TeX{}
-implementation})
-@item Xdvik
-@end itemize
-
-@cindex interface, not frozen
-The library is still under development (and probably always will be,
-despite my hopes). I do not promise to keep the interface unchanged.  If
-you have comments or suggestions, please send them to me
-(@pxref{Reporting bugs}).
-
-@cindex conditions for use
-@cindex license for using the library
-@cindex GNU General Public License
-Currently, I distribute the library under the GNU General Public License
-(@pxref{Copying}).  In short, this means if you write a program using
-the library, you must (offer to) distribute the source, and allow anyone
-to modify the source and distribute their modifications.
-
-@cindex GNU Library General Public License
-If you have a problem with this, contact me. I would consider putting
-the library under the GNU Library General Public License, which would
-permit you to distribute the source only to the library, not to your
-program using it.  But I will only do this if someone actually says they
-will not use the library under the GPL conditions, and would use it
-under the LGPL.
-
-@cindex @TeX{} Users Group
-If you know enough about @TeX{} to be reading this manual, then you (or
-perhaps your institution) should consider joining the @TeX{} Users Group
-(if you're already a member, great!).  TUG produces a periodical called
-@cite{TUGboat}, sponsors an annual meeting (the proceedings of which are
-published in @cite{TUGboat}), and arranges courses on @TeX{} for all levels
-of users.  Given sufficient funding (which your joining will help) TUG
-could sponsor more projects that will benefit the @TeX{} community, such as
-a successor to @TeX{}
-@iftex
-$\pi$
-@end iftex
-@ifinfo
-pi
-@end ifinfo
-.  Anyway, here is the address:
-
-@flindex tug@@tug.org
-@display
-@TeX{} Users Group
-P.O. Box 869
-Santa Barbara, CA 93102 USA
-phone: (805) 899-4673
-email: @samp{tug@@tug.org}
-@end display
-
-@menu
-* History::
-@end menu
-
-@node History
-@section History
-
-@cindex history of Kpathsea
-
-@cindex Knuth, Donald E.
-(This section is for those people who are curious about how this came about.)
-(If you like to read historical accounts of software, I urge you to seek
-out the GNU Autoconf manual and, even more fun, the ``Errors of
-@TeX{}'' paper that Don Knuth published in @cite{Software---Practice and
-Experience}.)
-
-@cindex Morgan, Tim
-@cindex Rokicki, Tom
-My first ChangeLog entry for Web2c seems to be February 1990, but I may
-have done some stuff before then.  In any case, Tim Morgan and I were
-sort of jointly maintaining it for a time.  (I should say that Tim had
-made Web2c into a real distribution long before I had ever used it or
-even heard of it, and Tom Rokicki did the original implementation.)
-
-It must have been later in 1990 and 1991 that I started working on
-@cite{TeX for the Impatient} and Dvips, Xdvi, Web2c, and the GNU
-fontutils (which I was also writing at the time) using different
-environment variables, and, even more importantly, having different bugs
-in their path searching became extremely painful.  I also desperately
-wanted to implement subdirectory searching, since I couldn't stand
-putting everything in one big directory, and also couldn't stand having
-to explicitly specify @file{pandora}, @file{cm} in a path.
-
-@cindex Vojta, Paul
-In the first incarnation, I just hacked separately on each program---
-that was the original subdirectory searching code in both Xdvi and
-Dvips, though I think Paul Vojta has completely rewritten Xdvi's support
-by now.  That is, I tried to go with the flow in each program, rather
-than changing the program's calling sequences to conform to common
-routines.
-
-Then, as bugs inevitably appeared, I found I was fixing the same thing
-in each of three (Web2c and fontutils were always sharing code, since I
-maintained those---there was no Dvipsk or Xdvik or Dviljk at this
-point).  After a while, I finally started sharing source files.  They
-weren't a library, though.  I just kept things up to date with shell
-scripts.  (I was developing on a 386 running ISC 2.2 at the time, and so
-didn't have symbolic links.  An awful experience.)
-
-Things kept on like this for quite a while.  The @file{ChangeLog}s for
-Xdvik and Dvipsk record initial releases of those distributions in May
-and June 1992.  I think it was because I was tired of the different
-configuration strategies of each program, not so much because of the
-path searching.  (Autoconf was being developed by David MacKenzie and
-others, and I was adapting it to @TeX{} and friends.)
-
-@cindex zuhn, david
-I starting to make it a separate library that other programs could link
-with on my birthday in April 1993, according to the ChangeLog.  I don't
-remember exactly why I finally took the time to make it a separate
-library; I think it was a conversation with david zuhn that led to doing
-it.  Just seemed like it was time.
-
-@cindex Walsh, Norman
-@cindex Neumann, Gustaf
-Dviljk got started in March 1994 after I bought a Laserjet 4.  (Kpathsea
-work got suspended while Norm Walsh and I, with Gustaf Neumann's help,
-implemented a way for @TeX{} to get at all those neat builtin LJ4 fonts
-... such a treat to have something to typeset in besides Palatino!)
-
-At this point (October 1994), I've implemented just about all the
-path-searching features in Kpathsea that I ever intended to (and some I
-didn't intend @dots{}). After the next stable release of Web2c, I figure
-I'll be able to stop development, and turn most of my attention back to
-making fonts for GNU.  (Always assuming Microsoft hasn't completely
-obliterated Unix by then, or that software patents haven't stopped
-software development by anybody smaller than a company with a
-million-dollar-a-year legal budget.  Which is actually what I think is
-likely to happen, but that's another story@dots{})
-
-
-@node Installation
-@chapter Installation
-
-@cindex installation
-@cindex configuration
-@cindex compilation
-
-Here are the basic steps for configuration and installation:
-
-@enumerate
-
-@include install.texi
-
-@item
-@code{make install}. This installs the library, header files, and
-documentation. Or @code{make install-data} to just install the
-architecture-independent files. Or @code{make install-exec} to just
-install the (binary) archive library file.
-
-Since I only distribute Kpathsea as part of another package, you will
-probably be doing the above in a top-level directory that contains a
-@samp{Makefile}, @samp{kpathsea}, and the other package.  But you can do
-the installation in @samp{kpathsea} itself, if you only want to install
-the library, not the other package.
-
-@item
-The first time you install any manual in Info, you have to add a line
-(you choose where) to the @file{dir} file in your @samp{$(infodir)}
-directory.  A sample line to add is given near the top of the Texinfo
-source files (@file{kpathsea/kpathsea.texi} and
-@file{dvipsk/dvips.texi}).
-
-@item
-@code{make distclean}.  This removes all files created by the build.
-
-@end enumerate
-
-@xref{Filename database}, for a description of an externally-generated
-database that can help speed searches.
-
-@xref{Debugging}, for runtime debugging support that may help track down
-problems.
-
-Do not attempt to use any version of Kpathsea with any program except
-the version that the program came with, unless you are a glutton for
-punishment.
-
-@menu
-* Default paths::	Changing default installation directories and paths.
-* Common problems::	When things go wrong.
-* Shared library::	Making Kpathsea a shared library.
-* Reporting bugs::	Where and how to report bugs.
-@end menu
-
-
-@node Default paths
-@section Default paths 
-
-@cindex default paths, changing
-@cindex paths, changing default
-@cindex installation directories, changing default
-@cindex directories, changing default installation
-
-@cindex default paths, how they're made
-To summarize the chain of events that go into defining the default paths:
-
-@enumerate
-
-@item
-@samp{configure} creates a @file{Makefile} from each @file{Makefile.in}.
-
-@item
-@flindex texmf.sed
-When Make runs in the @file{kpathsea} directory, it creates
-a file @file{texmf.sed} that substitutes the Make value of @code{$(var)}
-for a string @code{@@var@@}. The variables in question are the one that
-define the installation directories.
-
-@item
-@flindex texmf.cnf.in
-@flindex texmf.cnf@r{, generated}
-@file{texmf.sed} (and a little extra magic---see
-@file{kpathsea/Makefile}) is applied to @file{texmf.cnf.in} to generate
-@file{texmf.cnf}. This is the file that will eventually be installed and
-used by the programs to look up programs.
-
-@item
-@flindex paths.h
-The definitions in @file{texmf.cnf} are changed into the form of C
-@samp{#define}'s, producing @file{paths.h}. These values will be the
-compile-time defaults; they are not used unless no @file{texmf.cnf} file
-can be found at runtime.
-
-(That's a partial lie: the compile-time defaults are what extra
-@samp{:}'s in @file{texmf.cnf} expand into; but the paths as distributed
-have no extra @samp{:}'s, and there's no particular reason for them to.)
-
-@end enumerate
-
-The purpose of this elaborate sequence is to avoid having the same
-information in more than one place. If you change the installation
-directories or top-level prefix before running @samp{configure}, those
-changes will propagate through the whole sequence. If you change the
-default paths in @file{texmf.cnf.in}, those changes are propagated to
-the compile-time defaults.
-
-Alternatively, you can ignore the whole mess and edit @file{texmf.cnf}
-after it is installed. Maybe even copying it into place beforehand so
-you can complete the installation, if @TeX{} or Metafont is having
-trouble finding their input files.
-
-@vindex prefix@r{, changing}
-@vindex exec_prefix@r{, changing}
-Unfortunately, editing @file{Makefile.in} @emph{does not work} in one
-common case---changing the @code{prefix} or @code{exec_prefix}
-variables. For these, you must use the @samp{-prefix} or
-@samp{-exec-prefix} options to @code{configure}.  @xref{Running
-configure Scripts, , Running @code{configure} scripts, autoconf,
-Autoconf}.  (That's another partial lie: editing does work, as long as a
-program named @code{tex} is not in your @code{PATH}.)
-
-@flindex HIER
-@flindex kpathsea/HIER
-@xref{TeX directory structure, @TeX{} directory structure}, for a
-description of some ways to arrange the @TeX{} library files, and some
-features of the distributed paths that may not be obvious.  The file
-@file{kpathsea/HIER} is a copy of that section.
-
-The Make definitions are all repeated in several @file{Makefile}'s; but
-changing the top-level @file{Makefile} should suffice, as it passes down
-all the variable definitions, thus overriding the submakes. (The
-definitions are repeated so you can potentially run Make in the
-subdirectories.)
-
-
-@node Common problems
-@section Common problems
-
-Some common problems with compilation, linking, or execution are
-described below.
-
-@menu
-* Unable to find files:: If your program can't find fonts or anything else.
-* Slow path searching::  If it takes forever to find anything.
-
-* XtInherit::		For XtInherit link problems on OSF/1 1.x.
-* wchar_t::		For wchar_t difficulties.
-* ShellWidgetClass::	For dynamic linking with Sun's openwin libraries.
-* Pointer combination warnings:: For old compilers that don't grok char *.
-@end menu
-
-
-@node Unable to find files
-@subsection 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:
-
-@itemize @bullet
-
-@item
-You don't have the fonts (or whatever) installed. Nothing will
-automatically generate TFM files or @TeX{} and Metafont sources for you
-(by default). @xref{Obtaining Web2c, , , web2c, Web2c}.
-
-You can, however, configure @TeX{} and Metafont to run a script to
-generate these input files, if you have (or write) such
-scripts. @xref{MakeTeX... invocation, , @samp{MakeTeX}@dots{}
-invocation, web2c, Web2c}.
-
-@item
-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, thus overriding what you carefully set in
-@file{texmf.cnf}. @xref{TeX environment variables, @TeX{} environment
-variables}.
-
-@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.
-
-Unfortunately, Kpathsea's subdirectory searching has a (congenital)
-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},
-for an explanation of why this happens.
-
-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.  This is since presumably you would not have asked for the
-directory to be searched for subdirectories if you didn't want it to be.
-
-@item
-There is a bug in the library. @xref{Reporting bugs}.
-
-@end itemize
-
-In any case, you may find the debugging options helpful in determining
-precisely where the fonts (or whatever) are being looked for. See the
-program's documentation for its debugging options, and also
-@pxref{Debugging}.
-
-
-@node Slow path searching
-@subsection 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 reinstall any of the
-programs.) 
-
-@item
-Your recursively-searched directories (e.g.,
-@file{/usr/local/lib/tex/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 directories where the
-dozens of TFM, PK, or whatever files reside.
-
-@item
-@cindex recursion from @file{/}
-@cindex @samp{~} searching caveat
-@cindex @samp{$HOME} searching caveat
-@cindex @samp{root} searching peculiarities
-Finally, one simple-to-fix (but unlikely) cause: If you recursively
-search @samp{$HOME} or @samp{~}, and you are running as @samp{root}, you
-will search every directory on the system.  This typically takes quite
-some time!
-
-@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},
-and also see the program's documentation.
-
-
-@node XtInherit
-@subsection @code{XtInherit}
-
-@findex XtInherit @r{bug on OSF/1}
-@cindex OSF/1 loader bug and @code{XtInherit}
-@cindex Alpha OSF/1 loader bug and @code{XtInherit}
-
-On DEC OSF/1 1.x systems, the loader has a bug that manifests itself in
-the following error (all on one line, but for the sake of the paper
-width it's broken here):
-
-@example
-xdvik/xdvi: /sbin/loader: Fatal Error: search_for_undefineds: 
-     symbol _XtInherit should not have any relocation entry
-@end example
-
-@noindent According to Michael Rickabaugh @samp{<mjr@@quarry.enet.dec.com>}:
-
-@display
-This is a bug fixed in DEC OSF/1 2.0.
-
-If you know how, installing @file{/sbin/loader} from a 2.0 system onto a
-1.3 system will work.  Make sure that @file{/usr} is @emph{not} mounted
-when you do this.  (If you forget about umounting @code{/usr}, it is
-possible most of your filesystems will become corrupted.)
-
-Otherwise, I suggest getting a hold of a 2.0 CD and running
-@file{/usr/sbin/installupdate}.
-@end display
-
-Alternatively, you may be able to use the freely available X11 libraries
-that come with the MIT distribution (on @file{ftp.x.org}, for example).
-
-Linking statically, perhaps only with some of the X libraries, may also
-work.  (if you find the definitive workaround, please let me know.)
-
-
-@node wchar_t
-@subsection @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).
-
-@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!
-
-@flindex Xlib.h
-The X11 header @file{<Xlib.h>} and GCC's @file{<stddef.h>} have
-conflicting definitions for 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
-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.
-
-
-@node ShellWidgetClass
-@subsection @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, @samp{comp.sys.sun.admin}
-This section is adapted from question 47 from the
-@samp{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}. This problem does not arise
-with the standard MIT 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 Get the Openwindows patches that apply to this problem.
-
-@item Statically link the @code{Xmu} library into the executable.
-
-@item Avoid using @code{Xmu} at all. For this last, 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
-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 format,
-alter the @code{x_libs} make variable to include
-
-@example
--Bstatic -lXmu -Bdynamic
-@end example
-
-@opindex -static
-If you are using @code{gcc}, include @samp{-static} in @samp{LDFLAGS};
-this will link all libraries statically. If you want to link only
-@code{Xmu} statically and everything else dynamically, you have to do it
-by hand: run @code{gcc -v}, grab the @code{ld} line, and add the
-@samp{-B}'s given above around @code{-lXmu}.
-
-The reason is that gcc moves all linker options to the front of the
-@code{ld} command line.  So you can't specify different options for
-different libraries.  When I reported this to the GCC maintainers, the
-reply was that they would happily merge in the changes, but they didn't
-want to take the time to do it themselves.
-
-
-@node Pointer combination warnings
-@subsection 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.
-
-In general, 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 bug list.)
-
-
-@node Shared library
-@section Shared library
-
-@cindex shared library, making
-You can compile Kpathsea as a shared library.  The advantage in doing
-this is that the different executables can then share the code,
-decreasing memory usage.  (The other advantage in general of shared
-libraries is that it's possible to update the library and programs
-independently.  But since the Kpathsea interface is not and can not be
-frozen, that doesn't apply here.)
-
-Under Solaris, use @samp{-K pic -xstrconst} if you compile with a Sun
-compiler, @samp{-fpic} if you use GCC.  Also add @samp{-L@var{$(libdir)}
--R@var{$(libdir)}} to @samp{LDFLAGS} when you link the binaries, so that
-the library can be found, and users do not have set @samp{LD_LIBRARY_PATH}.
-
-(If you know how to make Kpathsea shared on other systems, please send a
-message to the bug address in the next section.)
-
-
-@node Reporting bugs
-@section Reporting bugs
-
-@cindex reporting bugs
-@cindex bugs, reporting
-
-@flindex tex-k@@cs.umb.edu @r{(bug address)}
-@cindex bug address
-If you encounter problems, please report them to @samp{tex-k@@cs.umb.edu}.
-Include the version number of the library, the system you are using, and
-enough information to reproduce the bug in your report.  To get on this
-mailing list yourself, email @samp{tex-k-request@@cs.umb.edu} with a
-message whose body contains a line
-@example
-subscribe @var{you}@@@var{your.preferred.address}
-@end example
-
-To avoid wasted effort and time (both mine and yours), I strongly advise
-applying the principles given in the GNU C manual (@pxref{Bugs, ,
-Reporting Bugs, gcc, The GNU CC manual}) to your bug reports.
-
-Please also report bugs in this documentation---not only factual errors,
-but unclear explanations, typos, wrong fonts, @dots{}
-
-
-@node Debugging
-@chapter 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).  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, except for Dviljk, are different from those
-below).
-
-@vindex KPATHSEA_DEBUG
-You can also set the environment variable @code{KPATHSEA_DEBUG}.  In
-this case, you should use the numbers below.  Also use the numbers below
-if you run the program under a debugger and set the the variable
-@samp{kpathsea_debug} yourself.
-
-In any case, you can @emph{not} use the @emph{names} below; you must
-always use somebody's numbers. (Sorry.)  And to set more than option,
-just sum the corresponding numbers.
-
-@vtable @code
-
-@item KPSE_DEBUG_STAT
-(1). Reports @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 is searched for.
-
-@item KPSE_DEBUG_HASH
-(2). Reports lookups in all hash tables, including @file{ls-R}
-(@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
-(4). Reports file openings and closings. Especially useful when your
-system's file table is full, for seeing if some files have been opened
-but never closed. In case you want to set breakpoints: this works by
-redefining @samp{fopen} (@samp{fclose}) to be @samp{kpse_fopen_trace}
-(@samp{kpse_fclose_trace}).
-
-@item KPSE_DEBUG_PATHS
-(8). Reports 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},
-the compile-time default, an environment variable, etc.  This is the
-contents of a structure defined in @file{tex-file.h}.
-
-@item KPSE_DEBUG_EXPAND
-(16). Reports the directory list corresponding to each path element
-Kpathsea searches in. This is only relevant when Kpathsea is searching
-the disk, since @file{ls-R} searches don't look through directory lists
-in this way (they go straight to the file using the hash table).
-
-@item KPSE_DEBUG_SEARCH
-(32). Reports on each file search Kpathsea attempts: 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:}
-Debugging output from Kpathsea is always written to standard error, and
-begins with @samp{kdebug:}. (Except for hash table buckets, which just
-start with the number.)
-
-@menu
-* Logging::			Recording successful searches.
-@end menu
-
-
-@node Logging
-@section Logging
-
-@cindex log file
-
-@cindex recording successful searches
-Kpathsea can record the time and filename found for each successful
-search. This may be useful in finding good candidates for deletion when
-your disk is full.
-
-@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.
-
-@cindex epoch
-@findex time
-Each successful search turns into one line in the log file, with 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/lib/texmf/dvips/config.ps
-774455887 /usr/local/lib/texmf/dvips/psfonts.map
-774455888 /usr/local/lib/texmf/dvips/texc.pro
-774455888 /usr/local/lib/texmf/fonts/public/cm/pk/ljfour/cmbx10.600pk
-774455889 /usr/local/lib/texmf/fonts/public/cm/pk/ljfour/cmsl10.600pk
-774455889 /usr/local/lib/texmf/fonts/public/cm/pk/ljfour/cmr10.600pk
-774455889 /usr/local/lib/texmf/dvips/texc.pro
-@end example
-
-@noindent Only filenames that are absolute are recorded, to preserve
-some semblance of privacy.
-
-
-@node Path searching
-@chapter Path searching
-
-@cindex path searching
-
-This chapter describes the generic path searching mechanism Kpathsea
-provides. For information about searching for particular file types
-(e.g., @TeX{} fonts), see the next chapter.
-
-@menu
-* Searching overview::		Basic scheme for searching.
-* Path sources::		Constructing the search path.
-
-* Default expansion::           a: or :a or a::b expands to a default.
-* Variable expansion::          $foo and $@{foo@} expand to environment values.
-* Tilde expansion::             ~ and ~user expand to home directories.
-* Subdirectory expansion::	a// and a//b recursively expand to subdirs.
-
-* Filename database::		Using an externally-built list to search.
-@end menu
-
-
-@node Searching overview
-@section Searching overview
-
-@cindex path searching, overview
-@cindex searching overview
-@cindex overview of path searching
-
-@cindex search path, defined
-A @dfn{search path} is a colon-separated list of path elements, which
-are directory names with some extra frills. A search path can come from
-(a combination of) many sources; see below.  To look up a file
-@samp{foo} along a path @samp{.:/dir}, Kpathsea checks each element of
-the path in turn: first @file{./foo}, then @file{/dir/foo}, (typically)
-returning the first one that exists.
-
-@cindex magic characters
-@kindex : @r{may not be :}
-@kindex / @r{may not be /}
-The ``colon'' and ``slash'' mentioned here aren't necessarily @samp{:}
-and @samp{/} on non-Unix systems. Kpathsea tries to adapt to other
-operating systems' conventions.
-
-@cindex database search
-@cindex searching the database
-To check a path element @var{e}, Kpathsea first sees if a prebuilt
-database (see below) applies to @var{e}, i.e., if the database is in a
-directory that is a prefix of @var{e}. If so, the path specification is
-matched against the contents of the database.
-
-@cindex floating directories
-@cindex filesystem search
-@cindex disk search
-@cindex searching the disk
-If the database does not exist, or does not apply to this path element,
-contains no matches, the filesystem is searched. Kpathsea constructs the
-list of directories that correspond to this path element, and then
-checks in them for the file being searched for. (To help speed future
-lookups of files in the same directory, the directory in which a file is
-found is floated to the top of the directory list.)
-
-Each path element is checked in turn: first the database, then the
-disk. Once a match is found, the searching stops and the result is
-returned. This avoids possibly-expensive processing of path
-specifications that are never needed on a particular run.
-
-@cindex expansion of path elements
-Although the simplest and most common path element is a directory name,
-Kpathsea supports additional features in search paths: layers of default
-values, environment variable names, config file values, users' home
-directories, and recursive subdirectory searching. Thus, we say that
-Kpathsea @dfn{expands} a path element, meaning getting rid of all the
-magic specifications and getting down to the basic directory name or
-names. This process is described in the sections below. It happens in
-the same order as the sections.
-
-@cindex absolute filenames
-@cindex relative filenames
-@cindex explicitly relative filenames
-@cindex filenames, absolute or explicitly relative
-Exception to the above: If the filename being searched for is absolute
-or explicitly relative, i.e., starts with @samp{/} or @samp{./} or
-@samp{../}, Kpathsea simply checks if that file exists; it is not looked
-for along any paths.
-
-
-@node Path sources
-@section Path sources
-
-@cindex path sources
-@cindex sources for search paths
-
-A search path can come from many sources.  In priority order (meaning
-Kpathsea will use whichever it finds first):
-
-@enumerate
-
-@item
-@cindex environment variable, source for path
-A user-set environment variable, e.g., @samp{TEXINPUTS}.
-
-@item
-A program-specific configuration file, e.g., an @samp{S /a:/b} line in
-Dvips' @file{config.ps}.
-
-@item
-@cindex configuration file, source for path
-@cindex Kpathsea config file, source for path
-@flindex texmf.cnf@r{, source for path}
-A line in a Kpathsea configuration file @file{texmf.cnf}, e.g.,
-@samp{TEXINPUTS=/c:/d}. See section below.
-
-@item
-@cindex compilation value, source for path
-The compile-time default (specified in @file{kpathsea/paths.h}).
-
-@end enumerate
-
-@noindent In any case, once the path specification to use is determined, its
-evaluation is independent of its source.  These sources may also be
-combined via default expansion. See the next section.
-
-You can see each of these values for a given search path by using the
-debugging options of Kpathsea or your program. @xref{Debugging}.
-
-@menu
-* Config files::		Kpathsea's runtime config files (texmf.cnf).
-@end menu
-
-
-@node Config files
-@subsection Config files
-
-@cindex config files
-@flindex texmf.cnf @r{definition}
-
-@cindex runtime configuration files
-As mentioned above, Kpathsea reads @dfn{runtime configuration files}
-named @file{texmf.cnf} for search path definitions. The path used to
-search for them is constructed in the usual way, as described above
-(except that configuration files cannot be used to define the path,
-naturally; also, an @file{ls-R} database is not used to search for them,
-for technical reasons).
-
-@vindex TEXMFCNF
-The environment variable used is @samp{TEXMFCNF}.
-
-Kpathsea reads @emph{all} @file{texmf.cnf} files in the search path, not
-just the first one found; it uses the first definition of each variable
-encountered. Thus, with the (default) search path of @samp{.:$TEXMF},
-values from @file{./texmf.cnf} override those from
-@file{$TEXMF/texmf.cnf}.
-
-Here is the format for @file{texmf.cnf} files:
-
-@itemize @bullet
-
-@cindex comments, in @file{texmf.cnf}
-@item Anything after a @samp{%} or @samp{#} is ignored; this is for comments.
-
-@item Blank lines are ignored.
-
-@item Each remaining nonblank line must look like
-
-@example
-@var{variable} @r{[}. @var{progname}@r{]} @r{[}=@r{]} @var{value}
-@end example
-
-@noindent where the @samp{=} and surrounding whitespace is optional.
-
-@item The @var{variable} name may contain any characters except
-whitespace, @samp{=}, or @samp{.} characters, but sticking to
-@samp{A-Za-z_} is safest.
-
-@item If the @samp{.@var{progname}} is present, the definition only
-applies if the program that is running is named (i.e., the last
-component of @code{argv[0]}) @var{progname}.  This allows (for example)
-different flavors of @TeX{} to have different search paths.
-
-@item The @var{value} may contain any characters except whitespace,
-@samp{%}, and @samp{@@}.  (These restrictions are necessary because of
-the various @code{sed} and other processing done on @file{texmf.cnf} at
-build time.)
-
-@item All definitions are read before anything is expanded, so you can
-use variables before they are defined (like @code{make}, unlike most
-everything else).
-
-@end itemize
-
-@noindent Here is the fragment from the distributed file illustrating
-most of these points:
-
-@example
-% TeX input files -- i.e., anything to be found by \input or \openin [...]
-latex209_inputs = .:$TEXMF/tex/latex209//:$TEXMF/tex//
-latex2e_inputs = .:$TEXMF/tex/latex2e//:$TEXMF/tex//
-TEXINPUTS = .:$TEXMF/tex//
-TEXINPUTS.latex209 = $latex209_inputs
-TEXINPUTS.latex2e = $latex2e_inputs
-TEXINPUTS.latex = $latex2e_inputs
-@end example
-
-@cindex shell scripts as configuration files
-@cindex configuration files as shell scripts.
-Although this format has obvious similarities to Bourne shell
-scripts---change the comment character to @code{#}, disallow spaces
-around the @code{=}, and get rid of the @code{.@var{program}}
-convention, and it could be run through the shell. But there seemed
-little advantage to doing this, since all the information would have to
-passed back (with @code{echo}'s, presumably) to Kpathsea and parsed
-there anyway, since the @code{sh} process couldn't affect its parent's
-environment.
-
-@flindex cnf.c
-The implementation of all this is in @file{kpathsea/cnf.c}.
-
-
-@node Default expansion
-@section Default expansion
-
-@kindex ::
-@cindex doubled colons
-@cindex leading colons
-@cindex trailing colons
-@cindex extra colons
-@cindex default expansion
-@cindex expansion, default
-
-If the highest-priority search path (in the list in the previous
-section) contains an @dfn{extra colon} (i.e., leading, trailing, or
-doubled), Kpathsea inserts the next-highest-priority search path that is
-set at that point. If that search path has an extra colon, the same
-happens with the next-highest. (An extra colon in the compile-time
-default value has unpredictable results, and may cause the program to
-crash, so installers beware.)
-
-For example, given
-
-@example
-setenv TEXINPUTS /home/karl:
-@end example
-
-@noindent and a @samp{TEXINPUTS} value from @file{texmf.cnf} of
-
-@example
-.:$TEXMF//tex
-@end example
-
-@noindent then the final value used for searching will be:
-
-@example
-/home/karl:.:$TEXMF//tex
-@end example
-
-@noindent You can trace this by debugging ``paths'' (@pxref{Debugging}).
-
-Minor technical point: Since it would be useless to insert the default
-value in more than one place, Kpathsea changes only one extra @samp{:}
-and leaves any others in place (where they will eventually be
-effectively equivalent to @samp{.}, i.e., the current directory). It
-checks first for a leading @samp{:}, then a trailing @samp{:}, then a
-doubled @samp{:}.
-
-
-@node Variable expansion
-@section Variable expansion
-
-@kindex $
-@cindex environment variables in paths
-@cindex variable expansion
-@cindex expansion, variable
-@flindex texmf.cnf@r{, and variable expansion}
-
-@samp{$foo} or @samp{$@{foo@}} in a path element is replaced by (1) the
-value of an environment variable @samp{foo} (if it is set); (2) the
-value of @samp{foo} from @file{texmf.cnf} (if any such exists); (3) the
-empty string.
-
-If the character after the @samp{$} is alphanumeric or @samp{_}, the
-variable name consists of all consecutive such characters. If the
-character after the @samp{$} is a @samp{@{}, the variable name consists
-of everything up to the next @samp{@}} (braces are not balanced!).
-Otherwise, Kpathsea gives a warning and ignores the @samp{$} and its
-following character.
-
-@cindex quoting variable values
-Remember to quote the @samp{$}'s and braces as necessary for your shell.
-
-@cindex shell variables
-@emph{Shell} variable values cannot be seen by Kpathsea.
-
-For example, given
-
-@example
-setenv TEXMF /home/tex
-setenv TEXINPUTS .:$TEXMF:$@{TEXMF@}new
-@end example
-
-@noindent the final @samp{TEXINPUTS} path is the three directories:
-
-@example
-.:/home/tex:/home/texnew
-@end example
-
-@noindent You can trace this by debugging ``paths'' (@pxref{Debugging}).
-
-
-@node Tilde expansion
-@section Tilde expansion
-
-@kindex ~
-@cindex home directories in paths
-@cindex tilde expansion
-@cindex expansion, tilde
-
-A leading @samp{~} or @samp{~@var{user}} in a path element is replaced
-by the current or @var{user}'s home directory, respectively.
-
-If @var{user} is invalid, or the home directory cannot be determined,
-Kpathsea uses @file{.} instead.
-
-For example,
-
-@example
-setenv TEXINPUTS ~/mymacros:
-@end example
-
-@noindent will prepend a directory @file{mymacros} in your home
-directory to the default path.
-
-
-@node Subdirectory expansion
-@section Subdirectory expansion
-
-@kindex //
-@cindex subdirectory searching
-@cindex expansion, subdirectory
-
-A @samp{//} in a path element following a directory @var{d} is replaced
-by all subdirectories of @var{d}: first those subdirectories directly
-under @var{d}, then the subsubdirectories under those, and so on.  At
-each level, the order in which the directories are searched is
-unspecified. (It's ``directory order'', and definitely not
-alphabetical.)
-
-If you specify any filename components after the @samp{//}, only
-subdirectories which contain those components are included.  For example,
-@samp{/a//b} would expand into directories @file{/a/1/b}, @file{/a/2/b},
-@file{/a/1/1/b}, and so on, but not @file{/a/b/c} or @file{/a/1}.
-
-@cindex trick for detecting leaf directories
-@cindex leaf directory trick
-I should mention one related implementation trick, which I stole from
-GNU find.  Matthew Farwell @samp{<dylan@@ibmpcug.co.uk>} suggested it,
-and David MacKenzie @samp{<djm@@gnu.ai.mit.edu>} implemented it (as far
-as I know).
-
-@vindex st_nlink
-The trick is that in every real Unix implementation (as opposed to the
-POSIX specification), a directory which contains no subdirectories will
-have exactly two links (namely, one for @file{.} and one for @file{..}).
-That is to say, the @code{st_nlink} field in the @samp{stat} structure
-will be two.  Thus, we don't have to stat everything in the bottom-level
-(leaf) directories---we can just check @code{st_nlink}, notice it's two,
-and do no more work.
-
-But if you have a directory that contains @emph{one} subdirectory and
-five hundred files, @code{st_nlink} will be 3, and Kpathsea has to stat
-every one of those 501 entries.  Therein lies slowness.
-
-@vindex UNIX_ST_LINK
-You can disable the trick by undefining @code{UNIX_ST_LINK} in
-@file{kpathsea/config.h}. (It is undefined by default except under Unix.)
-
-@flindex elt-dirs.c
-Unfortunately, in some cases files in leaf directories are
-@code{stat}'d: if the path specification is, say,
-@samp{$TEXMF/fonts//pk//}, then files in a subdirectory
-@samp{@dots{}/pk}, even if it is a leaf, are checked. The reason cannot
-be explained without reference to the implementation, so read
-@file{kpathsea/elt-dirs.c} (search for @samp{may descend}) if you are
-curious. (And if you can find a way to @emph{solve} the problem, please
-let me know.)
-
-
-@node Filename database
-@section Filename database (@code{ls-R})
-
-@cindex filename database
-@cindex database for filename searches
-@cindex externally-built filename database
-
-Kpathsea goes to some lengths to minimize disk accesses for searches
-(@pxref{Subdirectory expansion}).  Nevertheless, at installations with
-enough directories, doing a linear search of each possible directory for
-a given file can take an excessively long time (``excessive'' depending
-on the speed of the disk, whether it's NFS-mounted, how patient you are,
-etc.). In practice, the union of font directories from the Dvips(k) and
-Dviljk distributions is large enough for searching to be noticeably slow
-on typical machines these days.
-
-@flindex ls-R @r{database file}
-Therefore, Kpathsea can use an externally-built ``database'' that maps
-files to directories, thus avoiding the need to exhaustively search the
-disk.  By fiat, you must name the file @file{ls-R}, and put it at the
-root of the @TeX{} installation hierarchy (@samp{$TEXMF} by
-default).  Kpathsea does variable expansion on the @samp{$TEXMF},
-naturally, so you can use different @file{ls-R}'s for different trees,
-if you are testing new ones.  However, one and only one @file{ls-R} is
-read; it is not searched for along any paths.
-
-@pindex cron @r{and @file{ls-R}}
-You can build @file{ls-R} with the command
-@example
-ls -R @var{/your/root/dir} >ls-R
-@end example
-@noindent if your @code{ls} produces the right output
-format (see the section below). GNU @code{ls}, for example, outputs in
-this format.  It is probably best to do this via @code{cron}, so changes
-in the installed files will be automatically reflected (albeit with some
-delay) in the database.
-
-@cindex symbolic links, and @file{ls-R}
-@opindex -L @r{option to @code{ls}}
-If your system uses symbolic links, the command @code{ls -LR} will be
-more reliable than plain @code{ls -R}.  The former follows the symbolic
-links to the real files, which is what Kpathsea needs.
-
-@cindex warning about unusable @file{ls-R}
-Kpathsea warns you if it finds an @file{ls-R} file, but the file does
-not contain any usable entries. The usual culprit is using just @code{ls
--R} to generate the @file{ls-R} file instead of @code{ls -R
-@var{/your/dir}}.  Kpathsea looks for lines starting with @samp{/}, to
-improve reliability with unusual filenames (specifically, those ending
-with a @samp{:}).
-
-@kindex !! @r{in path specifications}
-Because the database may be out-of-date for a particular run (e.g., if a
-font was just built with @code{MakeTeXPK}), if a file is not found in
-the database, by default Kpathsea goes ahead and searches the disk. If a
-particular path element begins with @samp{!!}, however, @emph{only} the
-database will be searched for that element, never the disk. If the
-database does not exist, nothing will be searched. Because this can
-greatly surprise users (``I see the font @file{foo.tfm} when I do an
-@code{ls}; why can't Dvips find it?''), I do not recommend using this
-feature.
-
-@menu
-* Database format::		Syntax details of the database file.
-@end menu
-
-
-@node Database format
-@subsection Database format
-
-@cindex format of external database
-@cindex database, format of
-
-The ``database'' read by Kpathsea is a line-oriented file of plain
-text. The format is that generated by GNU (and perhaps other) @code{ls}
-programs given the @samp{-R} option, as follows.
-
-@itemize @bullet
-
-@item
-Blank lines are ignored.
-
-@item
-If a line begins with @samp{/} and ends with a colon, it's the name of a
-directory.
-
-@item
-All other lines name entries in the most recently seen directory.
-@samp{/}'s in such lines will produce possibly-strange results.
-
-@item
-Files with no preceding directory line are ignored.
-
-@end itemize
-
-
-For example, here's the first few lines of @file{ls-R} on my system:
-
-@example
-bibtex
-dvips
-fonts
-ini
-ls-R
-mf
-tex
-
-/usr/local/lib/texmf/bibtex:
-bib
-bst
-doc
-
-/usr/local/lib/texmf/bibtex/bib:
-asi.bib
-bibshare
-btxdoc.bib
-@end example
-
-@noindent On my system, @file{ls-R} is about 30K bytes.
-
-
-@node TeX searching
-@chapter @TeX{} searching
-
-@cindex @TeX{} searching
-
-Although the basic features in Kpathsea can be used for any type of path
-searching, it came about (like all libraries) with a specific
-application in mind: I wrote Kpathsea specifically for @TeX{} system
-programs.  I had been struggling with the programs I was using (Dvips,
-Xdvi, and @TeX{} itself) having slightly different notions of how to
-specify paths; and debugging was painful, since no code was shared.
-
-Therefore, Kpathsea provides some @TeX{}-specific features.  Indeed,
-many of the supposedly generic path searching features were provided
-because they seemed useful in that con@TeX{}t (font lookup, particularly).
-
-@menu
-* Envvars: TeX environment variables.	Overriding compiled-in paths.
-* Glyph lookup::			Searching for bitmap fonts.
-@end menu
-
-
-@node TeX environment variables
-@section @TeX{} environment variables
-
-@cindex environment variables for @TeX{}
-@cindex @TeX{} environment variables
-
-Kpathsea defines a sequence of environment variables to search for each
-file type it supports.  This makes it easy for different programs to
-check the same environment variables, in the same order.
-
-The following table lists the environment variables searched for each
-file type in the order they are searched (and a brief description of the
-file type).  That is, only if the first variable is unset is the second
-variable checked, and so on.  If none are set, various other things are
-checked; @pxref{Path sources}.
-
-@table @samp
-
-@item .base
-@flindex .base
-@vindex MFBASES
-(Metafont memory dump)
-@samp{MFBASES}
-
-@item .bib
-@flindex .bib
-@vindex BIBINPUTS
-(Bib@TeX{} bibliography source)
-@samp{BIBINPUTS}
-
-@item .bst
-@flindex .bst
-@vindex BSTINPUTS
-@vindex TEXINPUTS
-(Bib@TeX{} style file)
-@samp{BSTINPUTS}, @samp{TEXINPUTS}
-
-@item .cnf
-@flindex .cnf
-@vindex TEXMFCNF
-(Kpathsea runtime configuration files)
-@samp{TEXMFCNF}
-
-@item .eps
-@flindex .eps
-@vindex TEXPICTS
-@vindex TEXINPUTS
-(Encapsulated PostScript figures)
-@samp{TEXPICTS}, @samp{TEXINPUTS}
-
-@item .fmt
-@flindex .fmt
-@vindex TEXFORMATS
-(@TeX{} memory dump)
-@samp{TEXFORMATS}
-
-@item gf
-@flindex .gf
-@vindex GFFONTS
-@vindex GLYPHFONTS
-@vindex TEXFONTS
-(generic font bitmap)
-@samp{@var{program}FONTS}, @samp{GFFONTS}, @samp{GLYPHFONTS}, @samp{TEXFONTS}
-
-@item .mf
-@flindex .mf
-@vindex MFINPUTS
-(Metafont source)
-@samp{MFINPUTS}
-
-@item mf.pool
-@flindex .pool
-@vindex MFPOOL
-(Metafont program strings)
-@samp{MFPOOL}
-
-@item .pict
-@flindex .pict
-(Other kinds of figures)
-Same as @file{.eps}.
-
-@item pk
-@flindex .pk
-@vindex PKFONTS
-@vindex TEXPKS
-@vindex GLYPHFONTS
-@vindex TEXFONTS
-(packed bitmap font)
-@samp{@var{program}FONTS}, @samp{PKFONTS}, @samp{TEXPKS},
-@samp{GLYPHFONTS}, @samp{TEXFONTS}
-
-@item .tex
-@flindex .tex
-@vindex TEXINPUTS
-(@TeX{} source)
-@samp{TEXINPUTS}
-
-@item tex.pool
-@flindex .pool
-@vindex TEXPOOL
-(@TeX{} program strings)
-@samp{TEXPOOL}
-
-@item .tfm
-@flindex .tfm
-@vindex TFMFONTS
-@vindex TEXFONTS
-(@TeX{} font metrics)
-@samp{TFMFONTS}, @samp{TEXFONTS}
-
-@item .vf
-@flindex .vf
-@vindex VFFONTS
-@vindex TEXFONTS
-(virtual font)
-@samp{VFFONTS}, @samp{TEXFONTS}
-
-@end table
-
-For the font variables, the intent is that:
-
-@enumerate
-
-@item
-@samp{TEXFONTS} is the default for everything.
-
-@item
-@samp{GLYPHFONTS} is the default for bitmap (or, more precisely,
-non-metric) files.
-
-@item
-Each format has its own variable.
-
-@item
-@vindex XDVIFONTS
-@vindex DVIPSFONTS
-Each program can and should have its own font override path as well;
-e.g., @samp{DVIPSFONTS} for Dvipsk. Again, this is for bitmaps, not metrics.
-
-@end enumerate
-
-If these environment variables are set, the corresponding
-@file{texmf.cnf} definition won't be looked at (unless, as usual, the
-environment variable has an extra @samp{:}). @xref{Default expansion}.
-
-
-@node Glyph lookup
-@section Glyph lookup
-
-@cindex glyph lookup
-@cindex searching for glyphs
-@cindex @TeX{} glyph lookup
-
-@flindex tex-glyph.c
-@findex kpse_find_glyph_format
-Kpathsea provides a routine (@code{kpse_find_glyph_format} in
-@file{kpathsea/tex-glyph.c}) which searches for a bitmap font in GF or
-PK format (or either) given a font name (e.g., @samp{cmr10}) and a
-resolution (e.g., 300).
-
-The search is based solely on filenames, not file contents---if a PK
-file is named @file{cmr10.300gf}, it will be found as a GF file.
-
-Here is an outline of the search strategy (details in the sections
-below) for a file @var{name} at resolution @var{dpi}.  The search stops
-at the first successful lookup.
-
-@enumerate
-
-@item Look for an existing file @var{name}.@var{dpi} in the specified
-format(s).
-
-@item If @var{name} is an alias for a file @var{f} in the fontmap
-file @file{texfonts.map}, look for @var{f}.@var{dpi}.
-
-@item Run an external script (typically named @code{MakeTeXPK}) to
-generate the font.
-
-@item Look for @var{fallback}.@var{dpi}, where @var{fallback} is some
-last-resort font (typically @samp{cmr10}).
-
-@end enumerate
-
-@menu
-* Basic glyph lookup::		Features common to all glyph lookups.
-* Fontmap::			Aliases for fonts.
-* MakeTeX... scripts::		Creating files on the fly.
-* Fallback font::		Resolutions and fonts of last resort.
-@end menu
-
-
-@node Basic glyph lookup
-@subsection Basic glyph lookup
-
-@cindex basic glyph lookup
-@cindex common features in glyph lookup
-
-When Kpathsea looks for a bitmap font @var{name} at resolution @var{dpi}
-in a format @var{format}, it first checks each directory in the search
-path for a file @samp{@var{name}.@var{dpi}@var{format}}; for example,
-@samp{cmr10.300pk}.  Kpathsea looks for a PK file first, then a GF file.
-
-If that fails, Kpathsea looks for
-@samp{dpi@var{dpi}/@var{name}.@var{format}}; for example,
-@samp{dpi300/cmr10.pk}. This is how fonts are typically stored on
-filesystems (like DOS's) that permit only three-character extensions.
-
-@cindex tolerance for glyph lookup
-@cindex glyph lookup bitmap tolerance
-@findex KPSE_BITMAP_TOLERANCE
-If that fails, Kpathsea looks for a font with a close-enough @var{dpi}.
-``Close enough'' is defined (by the macro @code{KPSE_BITMAP_TOLERANCE}
-in @file{kpathsea/tex-glyph.h}) to be @code{@var{dpi} / 500 + 1}, which
-is slightly more than the 0.2% allowed by the DVI standard.
-
-
-@node Fontmap
-@subsection Fontmap
-
-@cindex fontmap files
-@cindex font alias files
-@cindex aliases for fonts
-@flindex texfonts.map
-
-If a bitmap font is not found with the original name (see the previous
-section), Kpathsea looks through any @dfn{fontmap} files for an
-@dfn{alias} for the original font name.  These files are named
-@file{texfonts.map} and are searched for along the usual glyph path.
-
-This feature is intended to help in two respects:
-
-@enumerate
-
-@item
-@cindex fontnames, unlimited length
-An alias name is limited in length only by available memory, not by your
-filesystem.  Therefore, if you want to ask for
-@file{Adobe-Lucida-Bold-Sans=Typewriter} instead of @file{plcbst}, you
-can.
-
-@item
-@cindex circle fonts
-@flindex lcircle10
-A few fonts have historically had multiple names: specifically,
-La@TeX{}'s ``circle font'' has variously been known as @file{circle10},
-@file{lcircle10}, and @file{lcirc10}.  Aliases can make all the names
-equivalent, so that it no longer matters what the name of the installed
-file is; @TeX{} documents will find their favorite name.
-
-@end enumerate
-
-The format of fontmap files is straightforward: the first word on each
-line is the true filename; the second word is the alias; subsequent
-words are ignored.  A @dfn{word} is a sequence of non-whitespace
-characters.  Blank lines are ignored;
-comments start with @samp{%} and continue to end-of-line.
-
-If an alias has an extension, it matches only those files with
-that extension; otherwise, it matches anything with the same root,
-regardless of extension.  For example, an alias @samp{foo.tfm} matches only
-when exactly @file{foo.tfm} is being searched for; but an alias
-@samp{foo} matches @file{foo.vf}, @file{foo.300pk}, etc.
-
-As an example, here are the fontmap entries that make the circle fonts
-equivalent. These are in the distributed @file{texfonts.map} in the
-Web2C distribution.
-
-@example
-circle10	lcircle10
-circle10	lcirc10
-lcircle10	circle10
-lcircle10	lcirc10
-lcirc10		circle10
-lcirc10		lcircle10
-@end example
-
-
-@node MakeTeX... scripts
-@subsection @file{MakeTeX}@dots{} scripts
-
-@cindex @file{MakeTeX}@dots{} scripts
-@cindex scripts for file creation
-
-If Kpathsea cannot find a bitmap font, by either its original name or a
-fontmap alias, it can be configured to invoke an external program to
-create it.  The same mechanism can be used for other nonexistent files.
-
-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.
-
-@menu
-* MakeTeX... script names::
-* MakeTeX... script arguments::
-@end menu
-
-
-@node MakeTeX... script names
-@subsubsection @file{MakeTeX}@dots{} script names
-
-@cindex @file{MakeTeX}@dots{} script names
-@cindex names for @file{MakeTeX}@dots{} scripts
-
-@flindex tex-make.c
-@vindex kpse_make_specs
-The following table shows the default name of the script for each
-possible file types.  (The source is the variable @code{kpse_make_specs}
-in @file{kpathsea/tex-make.c}.)
-
-@table @file
-
-@item MakeTeXPK
-@pindex MakeTeXPK
-Glyph fonts.
-
-@item MakeTeXTeX
-@pindex MakeTeXTeX
-@TeX{} input files.
-
-@item MakeTeXMF
-@pindex MakeTeXMF
-Metafont input files.
-
-@item MakeTeXTFM
-@pindex MakeTeXTFM
-TFM files.
-
-@end table
-
-@vindex DVIPSMAKEPK
-@vindex XDVIMAKEPK
-@vindex DVILJMAKEPK
-@noindent These names are overridden by an environment variable specific
-to the program---for example, @samp{DVIPSMAKEPK} for Dvipsk.
-
-@flindex missfont.log
-@cindex failed @code{MakeTeX@dots{}}
-@vindex TEXMFOUTPUT
-If a @code{MakeTeX@dots{}} script fails, the invocation is appended to a
-file @file{missfont.log} in the current directory. If the current
-directory is not writable and the environment variable
-@samp{TEXMFOUTPUT} is set, its value is used. Otherwise, nothing is
-written.
-
-
-@node MakeTeX... script arguments
-@subsubsection @file{MakeTeX}@dots{} script arguments
-
-@cindex arguments to @file{MakeTeX}@dots{}
-
-The first argument to a @file{MakeTeX}@dots{} script is always the name
-of the file to be created.
-
-For @file{MakeTeXPK}, three or four additional arguments are also
-passed, via corresponding environment variables:
-
-@enumerate
-
-@item
-@vindex KPATHSEA_DPI
-The dpi to make the font at (@samp{KPATHSEA_DPI}).
-
-@item
-@vindex MAKETEX_BASE_DPI
-@cindex base dpi
-The ``base dpi'' the program is operating at (@samp{MAKETEX_BASE_DPI}),
-i.e., the assumed resolution of the output device.
-
-@item
-@vindex MAKETEX_MAG
-@vindex mag @r{Metafont variable}
-@cindex magstep for @code{MakeTeXPK}
-A ``magstep'' string suitable for the Metafont @code{mag} variable
-(@samp{MAKETEX_MAG}).
-
-@item
-@vindex MAKETEX_MODE
-@vindex mode @r{Metafont variable}
-@cindex Metafont mode name for @code{MakeTeXPK}
-Optionally, a Metafont mode name to assign to the Metafont @code{mode}
-variable (@samp{MAKETEX_MODE}).  Otherwise, (the default)
-@code{MakeTeXPK} guesses the mode from the resolution.  @xref{TeX
-directory structure, @TeX{} directory structure}.
-
-@item
-@vindex mtp_destdir
-@cindex destination directory for @code{MakeTeXPK}
-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 @code{DESTDIR} or
-@code{MTP_DESTDIR} or a compile-time default). If this argument is not
-supplied, the mode name is appended to the root destination directory.
-
-@end enumerate
-
-@noindent Kpathsea sets @samp{KPATHSEA_DPI} appropriately for each
-attempt at building a font.  It's up to the program using Kpathsea to
-set the others. (@xref{Calling sequence}.)
-
-@vindex MAKETEXPK @r{environment variable}
-@cindex specification for @code{MakeTeXPK}
-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---@samp{MAKETEXPK}, for example.  If you've
-changed the script name by setting (say) @samp{DVIPSMAKEPK} to
-@samp{foo}, then the spec is taken from the environment variable @samp{FOO}.
-
-The spec can contain any variable references, to the above variables or
-any others you might have set.  As an example, the default spec for
-@code{MakeTeXPK} is:
-
-@example
-$KPATHSEA_DPI $MAKETEX_BASE_DPI $MAKETEX_MAG $MAKETEX_MODE
-@end example
-
-@noindent The convention of passing the name of the file to be created
-as the first argument cannot be changed.
-
-
-@node Fallback font
-@subsection Fallback font
-
-@cindex fallback font
-@cindex fallback resolutions
-@cindex font of last resort
-@cindex resolutions, last-resort
-@cindex last-resort font
-
-@vindex DVIPSSIZES
-@vindex XDVISIZES
-@vindex DVILJSIZES
-@vindex TEXSIZES
-@vindex default_texsizes
-If a bitmap font cannot be found or created at the requested size,
-Kpathsea looks for the font at a set of @dfn{fallback resolutions}.  You
-specify these resolutions as a colon-separated list (like search paths).
-Kpathsea looks first for a program-specific environment variable (e.g.,
-@code{DVIPSSIZES} for Dvipsk), then the environment variable
-@samp{TEXSIZES}, then a default specified at compilation time (the Make
-variable @code{default_texsizes}).  You can set this list to be empty if
-you prefer to find fonts at their stated size or not at all.
-
-@flindex cmr10
-@vindex kpse_fallback_font
-Finally, if the font cannot be found even at the fallback resolutions,
-Kpathsea looks for a fallback font, typically @file{cmr10}.  Programs
-must enable this feature by assigning to the global variable
-@code{kpse_fallback_font} or calling @code{kpse_init_prog}
-(@pxref{Calling sequence}); the default is no such fallback font.
-
-
-@node TeX directory structure
-@chapter @TeX{} directory structure
-
-(This section obviously not really written yet; sorry.  See
-@file{kpathsea/HIER}.)
-
-@vindex TEXMF
-
-@vindex MAKETEX_MODE
-@cindex paths, device name included in
-By default, the bitmap font paths end with @code{$MAKETEX_MODE}, thus
-including the device name (i.e., the Metafont mode) in the path.  This
-is to make it possible to distinguish two different devices with the
-same resolution---write/white and write/black 300dpi printers, for
-example.
-
-@findex kpse_init_prog
-@flindex proginit.c
-@flindex kpathsea/proginit.c
-However, since most sites don't have this complication, Kpathsea
-(specifically, @code{kpse_init_prog} in @file{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 @samp{MAKETEX_MODE} to @code{/}.  This
-makes the default PK path, for example, expand into @code{@dots{}/pk//},
-so fonts will be found even if there is no subdirectory for the mode.
-(If your site has only one printer, for example.)
-
-To make the paths independent of the mode, simply edit
-@file{texmf.cnf.in} before installation, or the installed
-@file{texmf.cnf}.  @xref{Default paths}.
-
-@xref{MakeTeX...  script arguments, @file{MakeTeX}@dots{} script
-arguments}, for how this interacts with @code{MakeTeXPK}.
-
-
-@node Programming
-@chapter Programming
-
-This chapter is for programmers who wish to use
-Kpathsea. @xref{Introduction}, for the conditions under which you may do
-so. (If you do this, I'd appreciate a note, just to satisfy my
-curiousity.)
-
-@menu
-* Overview: Programming overview:	 Introduction.
-* Calling sequence::			 Specifics of what to call.
-* Config: Programming with config files:	Getting info from texmf.cnf.
-@end menu
-
-
-@node Programming overview
-@section Programming overview
-
-@cindex programming overview
-@cindex overview of programming with Kpathsea
-
-Aside from this manual, your best source of information is the source to
-the programs I've modified to use Kpathsea (also listed in the
-introduction). Of those, Dviljk is probably the simplest, and hence a
-good place to start. Xdvik adds VF support and the complication of X
-resources. Dvipsk adds the complication of its own config files.
-
-@flindex pathsearch.h
-@flindex tex-file.h
-@flindex tex-glyph.h
-Beyond these of examples of use, the @file{.h} files in the Kpathsea
-source describe the interfaces and functionality (and of course the
-@file{.c} files define the actual routines, which are the ultimate
-documentation).  @file{pathsearch.h} declares the basic searching
-routine. @file{tex-file.h} and @file{tex-glyph.h} define the interfaces
-for looking up particular kinds of files.
-
-The library provides no way for an external program to register new file
-types: @file{tex-file.[ch]} must be modified to do this. For example,
-Kpathsea has support for looking up Dvips config files, even though
-obviously no program other than Dvips will ever want to do so. I felt
-this was acceptable, since along with new file types should also come
-new defaults in @file{texmf.cnf} (and its descendant @file{paths.h}),
-since it's best for users if they can modify one configuration file for
-all kinds of paths.
-
-Kpathsea does not open any files or parse any formats itself. Its
-purpose is only to return filenames. The GNU font utilities source does
-contain libraries to read TFM, GF, and PK files.
-
-
-@node Calling sequence
-@section Calling sequence
-
-@cindex programming with Kpathsea
-@cindex calling sequence
-
-The typical way to use Kpathsea in your program goes something like this:
-
-@enumerate
-
-@item
-@findex kpse_set_progname
-@vindex argv[0]
-Call @code{kpse_set_progname} with @code{argv[0]}; This is the only
-initialization that is mandatory to take full advantage of
-Kpathsea---specifically, for the @code{.@var{program}} feature of config
-files (@pxref{Config files}).
-
-@vindex program_invocation_name
-@vindex program_invocation_short_name
-@vindex KPATHSEA_DEBUG
-@code{kpse_set_progname} sets the global variables
-@code{program_invocation_name} and @code{program_invocation_short_name}.
-It also initializes debugging flags based on the environment variable
-@code{KPATHSEA_DEBUG}, if that is set.  set.
-
-@cindex GNU C library
-The GNU C library provides these two global variables itself; in this
-case, the call to @code{kpse_set_program} does nothing. But you (as a
-software author) most likely do not want to force people installing your
-program to have glibc.
-
-@item
-@vindex kpathsea_debug
-@cindex debugging flags, in kpathsea-using program
-Set debugging options. @xref{Debugging}. If your program doesn't have a
-debugging flag already, you can define one and set @samp{kpathsea_debug}
-to the number that the user supplies (see Dviljk), or you can just omit
-this altogether (people can always set @samp{KPATHSEA_DEBUG}).  If you
-do have runtime debugging already, you need to merge Kpathsea's options
-with yours (see Dvipsk and Xdvik).
-
-@item
-@vindex client_path @r{in @code{kpse_format_info}}
-@vindex kpse_format_info
-@flindex resident.c
-@cindex config files, for kpathsea-using program
-If your program has its own configuration files that can define search
-paths, you should assign those paths to the @code{client_path} member in
-the appropriate element of the @file{kpse_format_info} array. (This array
-is indexed by file type; see @file{tex-file.h}.)  See @file{resident.c}
-in Dvipsk for an example.
-
-@item
-@findex kpse_init_prog
-@flindex proginit.h
-Call @code{kpse_init_prog} (see @file{proginit.c}). It's useful for the
-DVI drivers, at least, but for other programs it may be simpler to
-extract the parts of it that actually apply.  This does not initialize
-any paths, it just looks for (and sets) certain environment variables
-and other random information.  (A search path is always initialized at
-the first call to find a file of that type; this eliminates much useless
-work, e.g., initializing the Bib@TeX{} search paths in a DVI driver.)
-
-@item
-@findex kpse_find_*
-The routine to actually find a file of type @var{format} is
-@code{kpse_find_@var{format}}, defined in @file{tex-file.h}. These are
-macros that expand to a call to @file{kpse_find_file}.  You can call,
-say, @code{kpse_find_tfm} after doing only the first of the
-initialization steps above---Kpathsea will read the generic config file
-@file{texmf.cmf}, look for environment variables, and do the expansions
-at the first lookup.
-
-@item
-To find PK and/or GF bitmap fonts, the routines are @file{kpse_find_pk},
-@file{kpse_find_gf} and @file{kpse_find_glyph}, defined in
-@file{tex-glyph.h}. These return a structure in addition to the
-resultant filename, because fonts can be found in so many ways. See the
-documentation in the source.
-
-@end enumerate
-
-@cindex hash table routines
-@cindex memory allocation routines
-@cindex string routines
-@cindex reading unlimited-length lines
-@cindex input lines, reading
-@cindex lines, reading unlimited-length
-Kpathsea also provides many utility routines. Some are generic: hash
-tables, memory allocation, string concatenation and copying, string
-lists, reading input lines of unlimited length, etc. Others are
-filename-related: default path, tilde, and variable expansion,
-@code{stat} calls, etc. (Perhaps someday I'll move the former to a
-separate library.)
-
-@flindex c-*.h
-The @file{c-*.h} header files can also help your program adapt to many
-different systems.  You will almost certainly want to use Autoconf for
-configuring your software if you use Kpathsea; I strongly recommend
-using Autoconf regardless.  You can get it by ftp from
-@samp{prep.ai.mit.edu} in @file{pub/gnu/autoconf-*.tar.gz}, or from any
-of its mirrors.
-
-
-@node Programming with config files
-@section Programming with config files
-
-@cindex programming with config files
-@cindex config files, programming with
-
-You can use the same @code{texmf.cnf} configuration file as Kpathsea for
-your program. This will help installers do all configuration in one place.
-
-@findex kpse_var_expand
-@flindex variable.h
-To retrieve a value @var{var}, the best way is to call
-@code{kpse_var_expand} on the string @code{$@var{var}}. This will look
-first for an environment variable @var{var}, then a config file
-value. The result will be the value found, or the empty string. This
-function is declared in @file{kpathsea/variable.h}.
-
-@findex kpse_cnf_get
-@flindex cnf.h
-If for some reason you want to retrieve a value @emph{only} from a
-config file, not automatically looking for a corresponding environment
-variable, call @code{kpse_cnf_get} (declared in @file{kpathsea/cnf.h})
-with the string @var{var}.
-
-No initialization calls are needed.
-
-
-@include copying.texi
-@include freedom.texi
-
-
-@node Index
-@unnumbered Index
-
-@printindex cp
-
-@contents
-
-@bye
deleted file mode 100644
--- a/kpathsea/kpsewhich.c
+++ /dev/null
@@ -1,258 +0,0 @@
-/* kpsewhich -- standalone path lookup and variable expansion for Kpathsea.
-   Ideas from Tom Esser and Pierre MacKay.
-
-Copyright (C) 1995 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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/getopt.h>
-#include <kpathsea/line.h>
-#include <kpathsea/proginit.h>
-#include <kpathsea/progname.h>
-#include <kpathsea/tex-file.h>
-#include <kpathsea/tex-glyph.h>
-#include <kpathsea/variable.h>
-
-
-/* Base resolution. (-D, -dpi) */
-unsigned dpi = 300;
-
-/* A construct to do variable expansion on.  (-expand) */
-string expand = NULL;
-
-/* The file type for lookups.  (-format) */
-kpse_file_format_type format = kpse_last_format;
-
-/* Ask interactively?  (-interactive) */
-boolean interactive = false;
-
-/* The device name, for $MAKETEX_MODE.  (-mode) */
-string mode = NULL;
-
-/* The program name, for `.program' in texmf.cnf.  (-program) */
-string progname = NULL;
-
-/* Return the <number> substring in `<name>.<number><stuff>', if S has
-   that form.  If it doesn't, return 0.  */
-
-static unsigned
-find_dpi P1C(string, s)
-{
-  unsigned dpi_number = 0;
-  string extension = find_suffix (s);
-  
-  if (extension != NULL)
-    sscanf (extension, "%u", &dpi_number);
-
-  return dpi_number;
-}
-
-/* Use the -format if specified, else guess dynamically from NAME.  */
-
-/* We could partially initialize this array from `kpse_format_info',
-   but it doesn't seem worth the trouble.  */
-static const_string suffix[]
-  = { "gf", "pk", "", ".base", ".bib", ".bst", ".cnf", ".fmt", ".mf",
-      ".pool", ".eps", ".tex", ".pool", ".tfm", ".vf", ".ps", ".pfa" };
-
-static kpse_file_format_type
-find_format P1C(string, name)
-{
-  kpse_file_format_type ret;
-  
-  if (format != kpse_last_format)
-    ret = format;
-  else
-    {
-      unsigned name_len = strlen (name);
-      for (ret = 0; ret < kpse_last_format; ret++)
-        {
-          const_string suffix_try = suffix[ret];
-          unsigned try_len = strlen (suffix_try);
-          if (try_len && try_len < name_len
-              && STREQ (suffix_try, name + name_len - try_len))
-            break;
-        }
-      if (ret == kpse_last_format)
-        {
-          fprintf (stderr,
-                   "kpsewhich: Can't guess format for %s, using tex.\n", name);
-          ret = kpse_tex_format;
-        }
-    }
-  
-  return ret;
-}
-
-/* Look up a single filename NAME.  Return 0 if success, 1 if failure.  */
-
-static unsigned
-lookup P1C(string, name)
-{
-  string ret;
-  unsigned local_dpi;
-  kpse_glyph_file_type glyph_ret;
-  kpse_file_format_type fmt = find_format (name);
-  
-  switch (fmt)
-    {
-    case kpse_pk_format:
-    case kpse_gf_format:
-    case kpse_any_glyph_format:
-      /* Try to extract the resolution from the name.  */
-      local_dpi = find_dpi (name);
-      if (!local_dpi)
-        local_dpi = dpi;
-      ret = kpse_find_glyph (remove_suffix (name), local_dpi, fmt, &glyph_ret);
-      break;
-    default:
-      ret = kpse_find_file (name, fmt, false);
-    }
-  
-  if (ret)
-    puts (ret);
-  
-  return ret == NULL;
-}
-
-/* Reading the options.  */
-
-#define USAGE "Options:\n\
-  You can use `--' or `-' to start an option.\n\
-  You can use any unambiguous abbreviation for an option name.\n\
-  You can separate option names and values with `=' or ` '.\n\
-debug <integer>: set debugging flags.\n\
-D, dpi <unsigned>: use a base resolution of <unsigned>; default 300.\n\
-expand <string>: do variable expansion on <string>.\n\
-help: print this message and exit.\n\
-interactive: ask for additional filenames to look up.\n\
-mode <string>: set device name for $MAKETEX_MODE to <string>; no default.\n\
-version: print version number and exit.\n\
-"
-
-/* Test whether getopt found an option ``A''.
-   Assumes the option index is in the variable `option_index', and the
-   option table in a variable `long_options'.  */
-#define ARGUMENT_IS(a) STREQ (long_options[option_index].name, a)
-
-/* SunOS cc can't initialize automatic structs.  */
-static struct option long_options[]
-  = { { "debug",		1, 0, 0 },
-      { "dpi",			1, 0, 0 },
-      { "D",			1, 0, 0 },
-      { "expand",		1, 0, 0 },
-      { "format",		1, 0, 0 },
-      { "help",                 0, 0, 0 },
-      { "interactive",		0, (int *) &interactive, 1 },
-      { "mode",			1, 0, 0 },
-      { "program",		1, 0, 0 },
-      { "version",              0, 0, 0 },
-      { 0, 0, 0, 0 } };
-
-
-/* We return the name of the font to process.  */
-
-static void
-read_command_line P2C(int, argc,  string *, argv)
-{
-  int g;   /* `getopt' return code.  */
-  int option_index;
-
-  while (true)
-    {
-      g = getopt_long_only (argc, argv, "", long_options, &option_index);
-      
-      if (g == EOF)
-        break;
-
-      if (g == '?')
-        exit (1);  /* Unknown option.  */
-  
-      assert (g == 0); /* We have no short option names.  */
-      
-      if (ARGUMENT_IS ("debug"))
-        kpathsea_debug |= atoi (optarg);
-
-      else if (ARGUMENT_IS ("dpi") || ARGUMENT_IS ("D"))
-        dpi = atoi (optarg);
-
-      else if (ARGUMENT_IS ("expand"))
-        expand = optarg;
-
-      else if (ARGUMENT_IS ("format"))
-        format = atoi (optarg);
-
-      else if (ARGUMENT_IS ("help"))
-        {
-          printf ("Usage: %s [options] [filenames].\n", argv[0]);
-          fputs (USAGE, stdout);
-          exit (0);
-        }
-
-      else if (ARGUMENT_IS ("mode"))
-        mode = optarg;
-
-      else if (ARGUMENT_IS ("program"))
-        progname = optarg;
-
-      else if (ARGUMENT_IS ("version"))
-        {
-          extern char *kpathsea_version_string; /* from version.c */
-          printf ("%s.\n", kpathsea_version_string);
-          exit (0);
-        }
-      
-      /* Else it was just a flag; getopt has already done the assignment.  */
-    }
-}
-
-int
-main P2C(int, argc,  string *, argv)
-{
-  unsigned unfound = 0;
-  
-  read_command_line (argc, argv);
-  
-  if (!progname)
-    progname = (string) "";
-
-  kpse_set_progname (progname);
-  
-  /* false for no MakeTeXPK, NULL for no fallback font.  */
-  kpse_init_prog (uppercasify (progname), dpi, mode, false, NULL);
-  
-  /* No extra frills on expansion output, to make it easy to use.  */
-  if (expand)
-    puts (kpse_var_expand (expand));
-
-  for (; optind < argc; optind++)
-    {
-      unfound += lookup (argv[optind]);
-    }
-
-  if (interactive)
-    {
-      for (;;)
-        {
-          string name = read_line (stdin);
-          if (!name || STREQ (name, "q") || STREQ (name, "quit")) break;
-          unfound += lookup (name);
-          free (name);
-        }
-    }
-  
-  exit (unfound);
-}
deleted file mode 100644
--- a/kpathsea/kpsexpand.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* kpsexpand -- do Kpathsea variable expansion, pretending to be a given
-   program.  For example,
-     prompt$ kpsexpand latex2e '$TEXINPUTS'
-   expands $TEXINPUTS for latex2e.
-
-   Based on code from te@informatik.uni-hannover.de.  */
-
-/* Not worth chance of collisions to #include anything but this.  */
-#include <stdio.h> /* for stderr */
-
-#include "tex-file.h"
-extern char *kpse_var_expand ();
-extern void kpse_set_progname ();
-extern char *kpathsea_version_string;
-
-int
-main (argc, argv)
-    int argc;
-    char *argv[];
-{
-  if (argc < 3)
-    {
-      fprintf (stderr, "Usage: %s progname string [filename]\n", argv[0]);
-      fprintf (stderr, "%s\n", kpathsea_version_string);
-      fputs ("Sets the program name to `progname',\n", stderr);
-      fputs ("then prints the variable expansion of `string'.\n", stderr);
-      fputs ("If `filename' is present, does lookups of several types.\n",
-             stderr);
-      fputs ("Example: kpsexpand latex2e '$TEXFINPUTS'.\n", stderr);
-      exit (1);
-    }
-
-  kpse_set_progname (argv[1]);
-  printf ("%s\n", kpse_var_expand (argv[2]));
-
-  if (argc == 4)
-    {
-      printf ("PICT: %s\n", kpse_find_pict (argv[3]));
-      printf ("TEX: %s\n", kpse_find_tex (argv[3]));
-      printf ("TFM: %s\n", kpse_find_tfm (argv[3]));
-      printf ("VF: %s\n", kpse_find_vf (argv[3]));
-    }
-  return 0;
-}
deleted file mode 100644
--- a/kpathsea/lib.h
+++ /dev/null
@@ -1,154 +0,0 @@
-/* lib.h: declarations for common, low-level routines in kpathsea.
-
-Copyright (C) 1992, 93, 94 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_LIB_H
-#define KPATHSEA_LIB_H
-
-#include <kpathsea/types.h>
-
-/* Define common sorts of messages.  */
-
-/* This should be called only after a system call fails.  Don't exit
-   with status `errno', because that might be 256, which would mean
-   success (exit statuses are truncated to eight bits).  */
-#define FATAL_PERROR(s) do { perror (s); exit (EXIT_FAILURE); } while (0)
-
-
-#define START_FATAL() do { fputs ("fatal: ", stderr)
-#define END_FATAL() fputs (".\n", stderr); exit (1); } while (0)
-
-#define FATAL(str)							\
-  START_FATAL (); fputs (str, stderr); END_FATAL ()
-#define FATAL1(str, e1)							\
-  START_FATAL (); fprintf (stderr, str, e1); END_FATAL ()
-#define FATAL2(str, e1, e2)						\
-  START_FATAL (); fprintf (stderr, str, e1, e2); END_FATAL ()
-#define FATAL3(str, e1, e2, e3)						\
-  START_FATAL (); fprintf (stderr, str, e1, e2, e3); END_FATAL ()
-#define FATAL4(str, e1, e2, e3, e4)					\
-  START_FATAL (); fprintf (stderr, str, e1, e2, e3, e4); END_FATAL ()
-#define FATAL6(str, e1, e2, e3, e4, e5, e6)				\
-  START_FATAL (); fprintf (stderr, str, e1, e2, e3, e4, e5, e6); END_FATAL ()
-
-
-#define START_WARNING() do { fputs ("warning: ", stderr)
-#define END_WARNING() fputs (".\n", stderr); fflush (stderr); } while (0)
-
-#define WARNING(str)							\
-  START_WARNING (); fputs (str, stderr); END_WARNING ()
-#define WARNING1(str, e1)						\
-  START_WARNING (); fprintf (stderr, str, e1); END_WARNING ()
-#define WARNING2(str, e1, e2)						\
-  START_WARNING (); fprintf (stderr, str, e1, e2); END_WARNING ()
-#define WARNING3(str, e1, e2, e3)					\
-  START_WARNING (); fprintf (stderr, str, e1, e2, e3); END_WARNING ()
-#define WARNING4(str, e1, e2, e3, e4)					\
-  START_WARNING (); fprintf (stderr, str, e1, e2, e3, e4); END_WARNING ()
-
-
-/* I find this easier to read.  */
-#define STREQ(s1, s2) (strcmp (s1, s2) == 0)
-
-/* This is the maximum number of numerals that result when a 64-bit
-   integer is converted to a string, plus one for a trailing null byte,
-   plus one for a sign.  */
-#define MAX_INT_LENGTH 21
-
-/* If the environment variable TEST is set, return it; otherwise,
-   DEFAULT.  This is useful for paths that use more than one envvar.  */
-#define ENVVAR(test, default) (getenv (test) ? (test) : (default))
-
-/* Return a fresh copy of S1 followed by S2, et al.  */
-extern string concat P2H(const_string s1, const_string s2);
-extern string concat3 P3H(const_string, const_string, const_string);
-/* `concatn' is declared in its own include file, to avoid pulling in
-   all the varargs stuff.  */
-
-/* A fresh copy of just S.  */
-extern string xstrdup P1H(const_string s);
-
-/* Convert all lowercase characters in S to uppercase.  */
-extern string uppercasify P1H(const_string s);
-
-/* Convert the integer I to a string.  */
-extern string itoa P1H(int i);
-
-/* True if FILENAME1 and FILENAME2 are the same file.  If stat fails on
-   either name, return false, no error message.
-   Cf. `SAME_FILE_P' in xstat.h.  */
-extern boolean same_file_p P2H(const_string filename1, const_string filename2);
-
-#ifndef HAVE_BASENAME
-/* Return NAME with any leading path stripped off.  This returns a
-   pointer into NAME.  */
-extern const_string basename P1H(const_string name);
-#endif /* not HAVE_BASENAME */
-
-/* If NAME has a suffix, return a pointer to its first character (i.e.,
-   the one after the `.'); otherwise, return NULL.  */
-extern string find_suffix P1H(const_string name);
-
-/* Return NAME with any suffix removed.  */
-extern string remove_suffix P1H(const_string name);
-
-/* Return S with the suffix SUFFIX, removing any suffix already present.
-   For example, `make_suffix ("/foo/bar.baz", "karl")' returns
-   `/foo/bar.karl'.  Returns a string allocated with malloc.  */
-extern string make_suffix P2H(const_string s,  const_string suffix);
-
-/* Return NAME with STEM_PREFIX prepended to the stem. For example,
-   `make_prefix ("/foo/bar.baz", "x")' returns `/foo/xbar.baz'.
-   Returns a string allocated with malloc.  */
-extern string make_prefix P2H(string stem_prefix, string name);
-
-/* If NAME has a suffix, simply return it; otherwise, return
-   `NAME.SUFFIX'.  */
-extern string extend_filename P2H(const_string name, const_string suffix);
-
-/* Call putenv with the string `VAR=VALUE' and abort on error.  */
-extern void xputenv P2H(const_string var, const_string value);
-extern void xputenv_int P2H(const_string var, int value);
-
-/* Returns true if FN is a directory or a symlink to a directory.  */
-extern boolean dir_p P1H(const_string fn);
-
-/* If FN is a readable directory, return the number of links it has.
-   Otherwise, return -1.  */
-extern int dir_links P1H(const_string fn);
-
-/* Like their stdio counterparts, but abort on error, after calling
-   perror(3) with FILENAME as its argument.  */
-extern FILE *xfopen P2H(const_string filename, const_string mode);
-extern void xfclose P2H(FILE *, const_string filename);
-extern void xfseek P4H(FILE *, long, int, string filename);
-extern unsigned long xftell P2H(FILE *, string filename);
-
-
-/* These call the corresponding function in the standard library, and
-   abort if those routines fail.  Also, `xrealloc' calls `xmalloc' if
-   OLD_ADDRESS is null.  */
-extern address xmalloc P1H(unsigned size);
-extern address xrealloc P2H(address old_address, unsigned new_size);
-extern address xcalloc P2H(unsigned nelem, unsigned elsize);
-
-/* (Re)Allocate N items of type T using xmalloc/xrealloc.  */
-#define XTALLOC(n, t) ((t *) xmalloc ((n) * sizeof (t)))
-#define XTALLOC1(t) XTALLOC (1, t)
-#define XRETALLOC(addr, n, t) ((addr) = (t *) xrealloc (addr, (n) * sizeof(t)))
-
-#endif /* not KPATHSEA_LIB_H */
deleted file mode 100644
--- a/kpathsea/line.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/* line.c: return the next line from a file, or NULL.
-
-Copyright (C) 1992, 93 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-/* Don't include config.h or all our other usual includes, since
-   it's useful to just throw this file into other programs.  */
-
-#include <stdio.h>
-extern void free ();
-
-/* From xmalloc.c and xrealloc.c.  This saves having to include config.h.  */
-extern void *xmalloc (), *xrealloc ();
-
-
-/* Allocate in increments of this size.  */
-#define BLOCK_SIZE 40
-
-char *
-read_line (f)
-    FILE *f;
-{
-  int c;
-  unsigned limit = BLOCK_SIZE;
-  unsigned loc = 0;
-  char *line = xmalloc (limit);
-  
-  while ((c = getc (f)) != EOF && c != '\n')
-    {
-      line[loc] = c;
-      loc++;
-      
-      /* By testing after the assignment, we guarantee that we'll always
-         have space for the null we append below.  We know we always
-         have room for the first char, since we start with BLOCK_SIZE.  */
-      if (loc == limit)
-        {
-          limit += BLOCK_SIZE;
-          line = xrealloc (line, limit);
-        }
-    }
-  
-  /* If we read anything, return it.  This can't represent a last
-     ``line'' which doesn't end in a newline, but so what.  */
-  if (c != EOF)
-    {
-      /* Terminate the string.  We can't represent nulls in the file,
-         either.  Again, it doesn't matter.  */
-      line[loc] = 0;
-    }
-  else /* At end of file.  */
-    {
-      free (line);
-      line = NULL;
-    }
-
-  return line;
-}
deleted file mode 100644
--- a/kpathsea/line.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* line.h: read an arbitrary-length input line.
-
-Copyright (C) 1992 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef LINE_H
-#define LINE_H
-
-#include <stdio.h>
-#include <kpathsea/types.h>
-
-
-/* Return NULL if we are at EOF, else the next line of F.  The newline
-   character at the end of string is removed.  The string is allocated
-   with malloc.  */
-extern string read_line P1H(FILE *f);
-
-#endif /* not LINE_H */
deleted file mode 100644
--- a/kpathsea/magstep.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/* magstep.c: fix up fixed-point vs. floating-point.
-
-Copyright (C) 1994 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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/magstep.h>
-
-
-/* Return true magstep N, where the lsb of N means ``half'' (see
-   magstep.h) for resolution BDPI.  From Tom Rokicki's dvips.  */
-
-static int
-magstep P2C(int, n,  int, bdpi)
-{
-   double t;
-   int step;
-   int neg = 0;
-
-   if (n < 0)
-     {
-       neg = 1;
-       n = -n;
-     }
-
-   if (n & 1)
-     {
-       n &= ~1;
-       t = 1.095445115;
-     }
-    else
-      t = 1.0;
-
-   while (n > 8)
-     {
-       n -= 8;
-       t = t * 2.0736;
-     }
-
-   while (n > 0)
-     {
-       n -= 2;
-       t = t * 1.2;
-     }
-
-   step = 0.5 + (neg ? bdpi / t : bdpi * t);
-   return step;
-}
-
-/* This is adapted from code written by Tom Rokicki for dvips.  It's
-   part of Kpathsea now so all the drivers can use it.  The idea is to
-   return the true dpi corresponding to DPI with a base resolution of
-   BDPI.  If M_RET is non-null, we also set that to the mag value.  */
-   
-/* Don't bother trying to use fabs or some other ``standard'' routine
-   which can only cause trouble; just roll our own simple-minded
-   absolute-value function that is all we need.  */
-#undef ABS /* be safe */
-#define ABS(expr) ((expr) < 0 ? -(expr) : (expr))
-
-#define MAGSTEP_MAX 40
-
-unsigned
-kpse_magstep_fix P3C(unsigned, dpi,  unsigned, bdpi,  int *, m_ret)
-{
-  int m;
-  int mdpi = -1;
-  unsigned real_dpi = 0;
-  int sign = dpi < bdpi ? -1 : 1; /* negative or positive magsteps? */
-  
-  for (m = 0; !real_dpi && m < MAGSTEP_MAX; m++) /* don't go forever */
-    {
-      mdpi = magstep (m * sign, bdpi);
-      if (ABS (mdpi - (int) dpi) <= 1) /* if this magstep matches, quit */
-        real_dpi = mdpi;
-      else if ((mdpi - (int) dpi) * sign > 0) /* if gone too far, quit */
-        real_dpi = dpi;
-    }
-  
-  /* If requested, return the encoded magstep (the loop went one too far).  */
-  if (m_ret)
-    *m_ret = real_dpi == mdpi ? (m - 1) * sign : 0;
-
-  /* Always return the true dpi found.  */
-  return real_dpi ? real_dpi : dpi;
-}
deleted file mode 100644
--- a/kpathsea/magstep.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/* magstep.h: declaration for magstep fixing.
-
-Copyright (C) 1994 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_MAGSTEP_H
-#define KPATHSEA_MAGSTEP_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/types.h>
-
-/* If DPI is close enough to some magstep of BDPI, return the true dpi
-   value, and the magstep found (or zero) in M_RET (if
-   non-null). ``Close enough'' means within one pixel.
-   
-   M_RET is slightly encoded: the least significant bit is on for a
-   half-magstep, off otherwise.  Thus, a returned M_RET of 1 means
-   \magstephalf, i.e., sqrt(1.2), i.e., 1.09544.  Put another way,
-   return twice the number of magsteps.
-   
-   In practice, this matters for magstephalf.  Floating-point computation
-   with the fixed-point DVI representation leads to 328 (for BDPI ==
-   300); specifying `at 11pt' yields 330; the true \magstephalf is 329
-   (that's what you get if you run Metafont with mag:=magstep(.5)).
-   
-   The time to call this is after you read the font spec from the DVI
-   file, but before you look up any files -- do the usual floating-point
-   computations, and then fix up the result.  */
-
-extern unsigned kpse_magstep_fix P3H(unsigned dpi, unsigned bdpi, int *m_ret);
-
-#endif /* not KPATHSEA_MAGSTEP_H */
deleted file mode 100644
--- a/kpathsea/maintain.texi
+++ /dev/null
@@ -1,500 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@c %**start of header
-@setfilename maintain.info
-@settitle Information For Maintainers of GNU Software
-@c For double-sided printing, uncomment:
-@c @setchapternewpage odd
-@c UPDATE THIS DATE WHENEVER YOU MAKE CHANGES!
-@set lastupdate 08 November 1994
-@c %**end of header
-
-@ifinfo
-@format
-START-INFO-DIR-ENTRY
-* Maintaining: (maintain).        Maintaining GNU software.
-END-INFO-DIR-ENTRY
-@end format
-@end ifinfo
-
-@setchapternewpage off
-
-@ifinfo
-Information for maintainers of GNU software.
-Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-@ignore
-Permission is granted to process this file through TeX and print the
-results, provided the printed document carries copying permission
-notice identical to this one except for the removal of this paragraph
-(this paragraph not being relevant to the printed manual).
-@end ignore
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Free Software Foundation.
-@end ifinfo
-
-@titlepage
-@title Information For Maintainers of GNU Software
-@author Richard Stallman
-@author last updated @value{lastupdate}
-@page
-
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1992, 1993, 1994 Free Software Foundation, Inc.
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Free Software Foundation.
-@end titlepage
-
-@ifinfo
-@node Top, Preface, (dir), (dir)
-@top Version
-
-Last updated @value{lastupdate}.
-@end ifinfo
-
-@menu
-* Preface::
-* Legal Matters::
-* Clean Ups::
-* Mail::
-* Old Versions::
-* Archives::
-* Distributions::
-@end menu
-
-@node Preface
-@chapter About This Document
-
-This file contains guidelines and advice for someone who is the
-maintainer of a GNU program on behalf of the GNU project.  Anyone
-can change GNU software, but there's no need to pay attention to
-these guidelines unless you are maintaining a version for
-widespread distribution.
-
-Corrections or suggestions regarding this document should be sent to
-@code{gnu@@prep.ai.mit.edu}.  If you make a suggestion, please include a
-suggested new wording for it; our time is limited.  We prefer a context
-diff to the @file{maintain.texi} file, but if you don't have that file,
-please mail your suggestion anyway.
-
-This release of the GNU Maintenance Instructions was last updated
-@value{lastupdate}.
-
-@node Legal Matters
-@chapter Legal Matters
-
-When incorporating changes from other people, make sure to follow the
-correct procedures.  Doing this ensures that the FSF has the legal right
-to distribute and defend GNU software.
-
-@menu
-* Copyrights::
-* Recording Changes::
-@end menu
-
-@node Copyrights
-@section Copyrights
-
-For the sake of registering the copyright on later versions of the
-software, you need to keep track of each person who makes significant
-changes.  A change of ten lines or so, or a few such changes, in a 
-large program is not significant.
-
-@strong{Before} incorporating significant changes, make sure that the
-person has signed copyright papers and that the Foundation has
-received and signed them.
-
-You can tell the person what papers to sign by email.  For large
-changes, ask for an assignment.  Send the person a copy of
-@file{/gd/gnuorg/assign.changes}, but first, go to the second page
-and insert the person's name and the name of the program involved in
-place of @samp{NAME OF PERSON} and @samp{NAME OF PROGRAM}.  Do this
-before sending, because otherwise the person might sign without
-noticing them.  Then the papers would be useless.
-
-For medium to small changes, ask for a disclaimer.  Use the file
-@file{/gd/gnuorg/disclaim.changes}.
-
-To check whether papers have been received, look in
-@file{/gd/gnuorg/copyright.list}.  If you can't look there directly,
-@code{fsf-records@@prep.ai.mit.edu} can check for you, and can also
-check for papers that are waiting to be entered and inform you
-when expected papers arrive.
-
-You can also send the person @file{/gd/gnuorg/conditions.text}, which
-explains his options (assign vs. disclaim) and their consequences.
-
-@node Recording Changes
-@section Recording Changes
-
-@strong{Keep records of which portions were written by whom.}
-
-These records don't need to be as detailed as a change log.  They don't
-need to distinguish work done at different times, only different people.
-
-They should say which files or functions were written by each person,
-and which files or functions were revised by each person.  They don't
-need to say what the purpose of the change was.  The Register of
-Copyrights doesn't care what the program does.
-
-For example, this would describe an early version of GAS:
-
-@display
-Dean Elsner   first version of all files except gdb-lines.c and m68k.c.
-Jay Fenlason  entire files gdb-lines.c and m68k.c, most of app.c,
-  extensive changes in messages.c, input-file.c, write.c,
-  revisions elsewhere.
-@end display
-
-Please keep these records in a file named @file{AUTHORS} in the source
-directory for the program itself.
-
-@node Clean Ups
-@chapter Cleaning Up Changes
-
-If someone sends you changes which are ugly and will make the program
-harder to understand and maintain in the future, such as a port to
-another operating system containing ad hoc conditionals, don't
-hesitate to ask the person to clean up his changes before you merge
-them.
-
-Since the amount of work we do is constant in any case, the more work
-we get other people to do, the faster GNU will advance.
-
-If the person will not or can not make the changes clean enough, then
-say that you can't afford to merge them.  Invite him to distribute
-his changes himself, or to find other people who can make them clean
-enough for us to maintain.
-
-The only reason to do these cleanups yourself is if (1) it is easy
-enough that it is less work than telling the author what to clean up,
-or (2) users will greatly appreciate the improvement, and you would
-almost write it yourself if you had time.
-
-The GNU Coding Standards are a good thing to send people who have to
-clean up C programs (@pxref{Top, , Contents, standards, GNU Coding
-Standards}).  The Emacs Lisp manual contains an appendix that gives
-coding standards for Emacs Lisp programs; it is good to urge authors to
-read it (@pxref{Tips, , Tips and Standards, elisp, The GNU Emacs Lisp
-Reference Manual}).
-
-@node Mail
-@chapter Dealing With Mail
-
-Once a program is in use, you will start getting bug reports.  Some
-GNU programs have their own special lists for sending bug reports.
-For miscellaneous programs that don't have their own lists, we use a
-catch-all list, @code{bug-gnu-utils@@prep.ai.mit.edu}.  Talk with
-@code{gnu@@prep.ai.mit.edu} to arrange to be added to the proper list
-for your program.
-
-When you receive bug reports, keep in mind that the main purpose of
-the bug reports is to enable you to improve the next version of the
-program.  Helping individuals is only secondary.  So you don't
-need to give a substantial response unless you have a reason to
-(for example, to ask for more information, or to ask the user to
-test a fix).  But it is good to respond to the rest of the bug
-reports with just ``Thanks.''  That is quick and tells the user that
-the bug report was useful.
-
-As a practical matter, any time you spend helping individuals beyond
-what is necessary for you, takes time away from maintaining the program.
-While this may seem ``friendly'' and ``helpful,'' actually it is
-counterproductive.  If you help one person when you could instead have
-helped thousands, the world is worse off.
-
-@node Old Versions
-@chapter Recording Old Versions
-
-It is very important to keep backup files of all source files of GNU.
-You can do this using RCS if you like.  The easiest way to use RCS is
-via the Version Control library in Emacs; @ref{Concepts of VC, ,
-Concepts of Version Control, emacs, The GNU Emacs Manual}.
-
-Alternatively, you can keep backup files.
-
-@menu
-* Backup Files::
-* Deleting Backup Files::
-@end menu
-
-@node Backup Files
-@section Backup Files
-
-Emacs makes a backup file by renaming the old source file to a new
-name.  This means that if the file is also pointed to by a
-distribution directory, the distribution directory continues to point
-to the same version it always did---the right thing.
-
-We want to keep more than one backup for all GNU sources.  So, if you
-are going to edit GNU sources, @emph{make certain} to put
-@example
-(setq version-control t)
-@end example
-@noindent
-into your @file{.emacs} file, so that Emacs always creates numbered
-backup files.
-
-Using Emacs backup files works as long as people always make changes
-with Emacs.  If you change the file in some other way, and use
-@code{cp}, @code{ftp}, or @code{tar} to install it, you will
-@emph{overwrite} the old version and fail to make a backup.  Don't do
-that!
-
-If you want to make a change to a source file with something other
-than Emacs, you can write the changed file to another name, and use
-@kbd{C-x C-w} in Emacs to write it under the real name.  This makes the
-backup file properly.
-
-You can use GNU @code{cp} or @code{mv} to install changed files if you
-give them the @samp{--backup} (or, equivalently, @samp{-b}) option; then
-they make backup copies the same way that Emacs does.  You should also
-use the @samp{--version-control=t} option, or, alternately, first
-@example
-export VERSION_CONTROL=t
-@end example
-@noindent
-(or the @code{csh} equivalent); this makes GNU @code{cp} and @code{mv}
-create numbered backup files instead of a single backup file with a
-@samp{~} appended to the filename.  For installing many changed files,
-you can use shell wildcards and also give GNU @code{cp} or @code{mv} the
-@samp{--update} (@samp{-u}) option, which only copies (or moves) files
-that have been modified more recently than the existing destination
-files, and the @samp{--verbose} (@samp{-v}) option, which prints the
-names of the files that are actually copied (or moved).
-
-Before you use @code{mv} or @code{cp} in this way, @emph{make sure it is
-the GNU version}.  Do @samp{which mv} (in @code{csh}) or @samp{type mv}
-(in @code{bash}) to verify you are not getting @file{/bin/mv} (or
-likewise for @code{cp}).  Or just type @samp{cp} or @samp{mv} and look
-at the usage message.
-
-@node Deleting Backup Files
-@section Deleting Backup Files
-
-Always answer no when Emacs offers to delete backup files automatically.
-The way to delete them is by hand, using @kbd{M-x dired}.
-
-When you decide which backup files to delete, it is good to keep one
-every couple of weeks or so, going back about 2 months.
-
-If there is a long gap between versions, because that file did not change
-during a long period of time, then keep the version before the gap
-even if it is 2 months old.  Pretend it is just 2 weeks older than the
-next kept version, so delete it when the next version is >= 6 weeks old.
-
-If the changes in a program have been simple, then you don't need to
-keep as many backup files.  Just one a month for 2 months is enough.
-
-If you have made big changes, keep the versions before and after the
-big change, until they are old enough.
-
-If you made several changes the same day, usually the last version written
-that day is best to keep.
-
-It is almost always right to keep the most recent backup version.
-
-@node Archives
-@chapter Archives
-
-For each program, you should keep a special magtape or cartridge as an
-archive.  Each time you release a new version, @code{dd} the tar file onto
-the end of the tape.  Keep a list of versions on the tape's paper
-label, and add to it each time you add to the tape.
-
-For cartridges, you can type
-@example
-mt -f /dev/nrst8 eom
-@end example
-@noindent
-to go straight to the end of the data on the tape.
-
-For reel-to-reel tapes, there is no automated way to go to the end of
-the data on the tape.  You have to count the number of files (based
-on the written label), and space forward over them with @samp{mt fsf}.
-
-To be safe, it is important to check your count.  If the count is @var{n},
-then do:
-@example
-mt -f /dev/nrmt8 fsf @var{n}-1
-@end example
-@noindent
-This puts you at the beginning of the last existing tar file.
-
-Then do
-@example
-tar tf /dev/nrmt8
-@end example
-@noindent
-to list that tar file.  If the version number appears in a directory
-name, which is a good idea, you can use this to verify that you have
-reached the tar file you wanted to reach.
-
-@kbd{C-c} the @code{tar} before it finishes; then do
-@example
-mt -f /dev/nrmt8 fsf
-@end example
-@noindent
-to skip past it and its end-of-file marker.
-
-To copy the new distribution file onto cartridge tape, do:
-@example
-dd if=@var{tar-file-name} of=/dev/nrst8 bs=102400
-@end example
-@noindent
-(This specifies a blocking factor of 200.)
-
-For reel-to-reel tape, do:
-@example
-dd if=@var{tar-file-name} of=/dev/nrmt8 bs=10240
-@end example
-@noindent
-(This specifies a blocking factor of 20.)
-
-When the tape gets full, put it aside permanently and start writing
-another.
-
-@node Distributions
-@chapter Distributions
-
-It is important to follow the GNU conventions when making GNU software
-distributions.
-
-@menu
-* Distribution tar Files::
-* Distribution Patches::
-* Distribution on prep::
-* Test Releases::
-@end menu
-
-@node Distribution tar Files
-@section Distribution tar Files
-
-The tar file for version @var{m}.@var{n} of program @code{foo} should be
-named @file{foo-@var{m}.@var{n}.tar}.  It should unpack into a
-subdirectory named @file{foo-@var{m}.@var{n}}.  Tar files should not
-unpack into files in the current directory, because this is inconvenient
-if the user happens to unpack into a directory with other files in it.
-
-Here is how the @file{Makefile} for Bison creates the tar file.
-This method is good for other programs.
-
-@example
-dist: bison.info
-        echo bison-`sed -e '/version_string/!d' \
-          -e 's/[^0-9.]*\([0-9.]*\).*/\1/' -e q version.c` > .fname
-        -rm -rf `cat .fname`
-        mkdir `cat .fname`
-        dst=`cat .fname`; for f in $(DISTFILES); do \
-           ln $(srcdir)/$$f $$dst/$$f || @{ echo copying $$f; \
-             cp -p $(srcdir)/$$f $$dst/$$f ; @} \
-        done
-        tar --gzip -chf `cat .fname`.tar.gz `cat .fname`
-        -rm -rf `cat .fname` .fname
-@end example
-
-Source files that are symbolic links to other file systems cannot be
-installed in the temporary directory using @code{ln}, so use @code{cp}
-if @code{ln} fails.
-
-@node Distribution Patches
-@section Distribution Patches
-
-If the program is large, it is useful to make a set of diffs for each
-release, against the previous important release.
-
-At the front of the set of diffs, put a short explanation of which
-version this is for and which previous version it is relative to.
-Also explain what else people need to do to update the sources
-properly (for example, delete or rename certain files before
-installing the diffs).
-
-The purpose of having diffs is that they are small.  To keep them
-small, exclude files that the user can easily update.  For example,
-exclude info files, DVI files, tags tables, output files of Bison or
-Flex.  In Emacs diffs, we exclude compiled Lisp files, leaving it up
-to the installer to recompile the patched sources.
-
-When you make the diffs, each version should be in a directory suitably
-named---for example, @file{gcc-2.3.2} and @file{gcc-2.3.3}.  This way,
-it will be very clear from the diffs themselves which version is which.
-
-If you use GNU @code{diff} to make the patch, use the options
-@samp{-rc2P}.  That will put any new files into the output as ``entirely
-different.''
-
-If the distribution has subdirectories in it, then the diffs probably
-include some files in the subdirectories.  To help users install such
-patches reliably, give them precise directions for how to run patch.
-For example, say this:
-
-@display
-To apply these patches, cd to the main directory of the program
-and then use `patch -p1'.   `-p1' avoids guesswork in choosing
-which subdirectory to find each file in.
-@end display
-
-It's wise to test your patch by applying it to a copy of the old
-version, and checking that the result exactly matches the new version.
-
-@node Distribution on prep
-@section Distribution on @code{prep}
-
-Only the latest version of any program needs to be on @code{prep}.  Being an
-archive of old versions is not the function of @code{prep}.
-
-Diffs are another matter.  Since they are much smaller than
-distribution files, it is good to keep the diffs around for quite a
-while.
-
-@node Test Releases
-@section Test Releases
-
-When you release a greatly changed new major version of a program,
-you might want to do so as a beta test release.
-
-Once a program gets to be widely used and people expect it to work
-solidly, it is a good idea to do pretest releases before each ``real''
-release.  This means that you make a tar file, but send it only to a
-group of volunteers that you have recruited.  (Use a suitable GNU
-mailing list/newsgroup to recruit them.)
-
-One thing that you should never do is to release a distribution which
-is considered a pretest or beta test but which contains the version
-number for the planned real release.  Many people will look only at
-the version number (in the tar file name, in the directory name that
-it unpacks into, or wherever they can find it) to determine whether a
-tar file is the latest version.  People might look at the test release
-in this way and mistake it for the real release.  Therefore, always
-change the number when you make a new tar file.
-
-If you are about to release version 4.6 but you want to do a pretest
-or beta test first, call it 4.5.90.  If you need a second pretest,
-call it 4.5.91, and so on.
-
-@contents
-
-@bye
deleted file mode 100644
--- a/kpathsea/make-stds.texi
+++ /dev/null
@@ -1,628 +0,0 @@
-@comment This file is included by both standards.texi and make.texinfo.
-@comment It was broken out of standards.texi on 1/6/93 by roland.
-
-@node Makefile Conventions
-@chapter Makefile Conventions
-@comment standards.texi does not print an index, but make.texinfo does.
-@cindex makefile, conventions for
-@cindex conventions for makefiles
-@cindex standards for makefiles
-
-This chapter describes conventions for writing the Makefiles for GNU programs.
-
-@menu
-* Makefile Basics::
-* Utilities in Makefiles::
-* Standard Targets::
-* Command Variables::
-* Directory Variables::
-@end menu
-
-@node Makefile Basics
-@section General Conventions for Makefiles
-
-Every Makefile should contain this line:
-
-@example
-SHELL = /bin/sh
-@end example
-
-@noindent
-to avoid trouble on systems where the @code{SHELL} variable might be
-inherited from the environment.  (This is never a problem with GNU
-@code{make}.)
-
-Different @code{make} programs have incompatible suffix lists and
-implicit rules, and this sometimes creates confusion or misbehavior.  So
-it is a good idea to set the suffix list explicitly using only the
-suffixes you need in the particular Makefile, like this:
-
-@example
-.SUFFIXES:
-.SUFFIXES: .c .o
-@end example
-
-@noindent
-The first line clears out the suffix list, the second introduces all
-suffixes which may be subject to implicit rules in this Makefile.
-
-Don't assume that @file{.} is in the path for command execution.  When
-you need to run programs that are a part of your package during the
-make, please make sure that it uses @file{./} if the program is built as
-part of the make or @file{$(srcdir)/} if the file is an unchanging part
-of the source code.  Without one of these prefixes, the current search
-path is used.  
-
-The distinction between @file{./} and @file{$(srcdir)/} is important
-when using the @samp{--srcdir} option to @file{configure}.  A rule of
-the form:
-
-@smallexample
-foo.1 : foo.man sedscript
-        sed -e sedscript foo.man > foo.1
-@end smallexample
-
-@noindent
-will fail when the current directory is not the source directory,
-because @file{foo.man} and @file{sedscript} are not in the current
-directory.
-
-When using GNU @code{make}, relying on @samp{VPATH} to find the source
-file will work in the case where there is a single dependency file,
-since the @file{make} automatic variable @samp{$<} will represent the
-source file wherever it is.  (Many versions of @code{make} set @samp{$<}
-only in implicit rules.)  A makefile target like
-
-@smallexample
-foo.o : bar.c
-        $(CC) -I. -I$(srcdir) $(CFLAGS) -c bar.c -o foo.o
-@end smallexample
-
-@noindent
-should instead be written as
-
-@smallexample
-foo.o : bar.c
-        $(CC) -I. -I$(srcdir) $(CFLAGS) -c $< -o $@@
-@end smallexample
-
-@noindent
-in order to allow @samp{VPATH} to work correctly.  When the target has
-multiple dependencies, using an explicit @samp{$(srcdir)} is the easiest
-way to make the rule work well.  For example, the target above for
-@file{foo.1} is best written as:
-
-@smallexample
-foo.1 : foo.man sedscript
-        sed -e $(srcdir)/sedscript $(srcdir)/foo.man > $@@
-@end smallexample
-
-@node Utilities in Makefiles
-@section Utilities in Makefiles
-
-Write the Makefile commands (and any shell scripts, such as
-@code{configure}) to run in @code{sh}, not in @code{csh}.  Don't use any
-special features of @code{ksh} or @code{bash}.
-
-The @code{configure} script and the Makefile rules for building and
-installation should not use any utilities directly except these:
-
-@example
-cat cmp cp echo egrep expr grep
-ln mkdir mv pwd rm rmdir sed test touch
-@end example
-
-Stick to the generally supported options for these programs.  For
-example, don't use @samp{mkdir -p}, convenient as it may be, because
-most systems don't support it.
-
-The Makefile rules for building and installation can also use compilers
-and related programs, but should do so via @code{make} variables so that the
-user can substitute alternatives.  Here are some of the programs we
-mean:
-
-@example
-ar bison cc flex install ld lex
-make makeinfo ranlib texi2dvi yacc
-@end example
-
-Use the following @code{make} variables:
-
-@example
-$(AR) $(BISON) $(CC) $(FLEX) $(INSTALL) $(LD) $(LEX)
-$(MAKE) $(MAKEINFO) $(RANLIB) $(TEXI2DVI) $(YACC)
-@end example
-
-When you use @code{ranlib}, you should make sure nothing bad happens if
-the system does not have @code{ranlib}.  Arrange to ignore an error
-from that command, and print a message before the command to tell the
-user that failure of the @code{ranlib} command does not mean a problem.
-
-If you use symbolic links, you should implement a fallback for systems
-that don't have symbolic links.
-
-It is ok to use other utilities in Makefile portions (or scripts)
-intended only for particular systems where you know those utilities to
-exist.
-
-@node Standard Targets
-@section Standard Targets for Users
-
-All GNU programs should have the following targets in their Makefiles:
-
-@table @samp
-@item all
-Compile the entire program.  This should be the default target.  This
-target need not rebuild any documentation files; Info files should
-normally be included in the distribution, and DVI files should be made
-only when explicitly asked for.
-
-@item install
-Compile the program and copy the executables, libraries, and so on to
-the file names where they should reside for actual use.  If there is a
-simple test to verify that a program is properly installed, this target
-should run that test.
-
-The commands should create all the directories in which files are to be
-installed, if they don't already exist.  This includes the directories
-specified as the values of the variables @code{prefix} and
-@code{exec_prefix}, as well as all subdirectories that are needed.
-One way to do this is by means of an @code{installdirs} target
-as described below.
-
-Use @samp{-} before any command for installing a man page, so that
-@code{make} will ignore any errors.  This is in case there are systems
-that don't have the Unix man page documentation system installed.
-
-The way to install Info files is to copy them into @file{$(infodir)}
-with @code{$(INSTALL_DATA)} (@pxref{Command Variables}), and then run
-the @code{install-info} program if it is present.  @code{install-info}
-is a script that edits the Info @file{dir} file to add or update the
-menu entry for the given Info file; it will be part of the Texinfo package.
-Here is a sample rule to install an Info file:
-
-@comment This example has been carefully formatted for the Make manual.
-@comment Please do not reformat it without talking to roland@gnu.ai.mit.edu.
-@smallexample
-$(infodir)/foo.info: foo.info
-# There may be a newer info file in . than in srcdir.
-        -if test -f foo.info; then d=.; \
-         else d=$(srcdir); fi; \
-        $(INSTALL_DATA) $$d/foo.info $@@; \
-# Run install-info only if it exists.
-# Use `if' instead of just prepending `-' to the
-# line so we notice real errors from install-info.
-# We use `$(SHELL) -c' because some shells do not
-# fail gracefully when there is an unknown command.
-        if $(SHELL) -c 'install-info --version' \
-           >/dev/null 2>&1; then \
-          install-info --infodir=$(infodir) $$d/foo.info; \
-        else true; fi
-@end smallexample
-
-@item uninstall
-Delete all the installed files that the @samp{install} target would
-create (but not the noninstalled files such as @samp{make all} would
-create).
-
-@comment The gratuitous blank line here is to make the table look better
-@comment in the printed Make manual.  Please leave it in.
-@item clean
-
-Delete all files from the current directory that are normally created by
-building the program.  Don't delete the files that record the
-configuration.  Also preserve files that could be made by building, but
-normally aren't because the distribution comes with them.
-
-Delete @file{.dvi} files here if they are not part of the distribution.
-
-@item distclean
-Delete all files from the current directory that are created by
-configuring or building the program.  If you have unpacked the source
-and built the program without creating any other files, @samp{make
-distclean} should leave only the files that were in the distribution.
-
-@item mostlyclean
-Like @samp{clean}, but may refrain from deleting a few files that people
-normally don't want to recompile.  For example, the @samp{mostlyclean}
-target for GCC does not delete @file{libgcc.a}, because recompiling it
-is rarely necessary and takes a lot of time.
-
-@item realclean
-Delete everything from the current directory that can be reconstructed
-with this Makefile.  This typically includes everything deleted by
-@code{distclean}, plus more: C source files produced by Bison, tags tables,
-Info files, and so on.
-
-One exception, however: @samp{make realclean} should not delete
-@file{configure} even if @file{configure} can be remade using a rule in
-the Makefile.  More generally, @samp{make realclean} should not delete
-anything that needs to exist in order to run @file{configure}
-and then begin to build the program.
-
-@item TAGS
-Update a tags table for this program.
-
-@item info
-Generate any Info files needed.  The best way to write the rules is as
-follows:
-
-@smallexample
-info: foo.info
-
-foo.info: foo.texi chap1.texi chap2.texi
-        $(MAKEINFO) $(srcdir)/foo.texi
-@end smallexample
-
-@noindent
-You must define the variable @code{MAKEINFO} in the Makefile.  It should
-run the @code{makeinfo} program, which is part of the Texinfo
-distribution.
-
-@item dvi
-Generate DVI files for all TeXinfo documentation.  
-For example:
-
-@smallexample
-dvi: foo.dvi
-
-foo.dvi: foo.texi chap1.texi chap2.texi
-        $(TEXI2DVI) $(srcdir)/foo.texi
-@end smallexample
-
-@noindent
-You must define the variable @code{TEXI2DVI} in the Makefile.  It should
-run the program @code{texi2dvi}, which is part of the Texinfo
-distribution.  Alternatively, write just the dependencies, and allow GNU
-Make to provide the command.
-
-@item dist
-Create a distribution tar file for this program.  The tar file should be
-set up so that the file names in the tar file start with a subdirectory
-name which is the name of the package it is a distribution for.  This
-name can include the version number.
-
-For example, the distribution tar file of GCC version 1.40 unpacks into
-a subdirectory named @file{gcc-1.40}.
-
-The easiest way to do this is to create a subdirectory appropriately
-named, use @code{ln} or @code{cp} to install the proper files in it, and
-then @code{tar} that subdirectory.
-
-The @code{dist} target should explicitly depend on all non-source files
-that are in the distribution, to make sure they are up to date in the
-distribution.  
-@xref{Releases, , Making Releases, standards, GNU Coding Standards}.
-
-@item check
-Perform self-tests (if any).  The user must build the program before
-running the tests, but need not install the program; you should write
-the self-tests so that they work when the program is built but not
-installed.
-@end table
-
-The following targets are suggested as conventional names, for programs
-in which they are useful.
-
-@table @code
-@item installcheck
-Perform installation tests (if any).  The user must build and install
-the program before running the tests.  You should not assume that
-@file{$(bindir)} is in the search path.  
-
-@item installdirs
-It's useful to add a target named @samp{installdirs} to create the
-directories where files are installed, and their parent directories.
-There is a script called @file{mkinstalldirs} which is convenient for
-this; find it in the Texinfo package.@c It's in /gd/gnu/lib/mkinstalldirs.
-You can use a rule like this:
-
-@comment This has been carefully formatted to look decent in the Make manual.
-@comment Please be sure not to make it extend any further to the right.--roland
-@smallexample
-# Make sure all installation directories (e.g. $(bindir))
-# actually exist by making them if necessary.
-installdirs: mkinstalldirs
-        $(srcdir)/mkinstalldirs $(bindir) $(datadir) \
-                                $(libdir) $(infodir) \
-                                $(mandir)
-@end smallexample
-@end table
-
-@node Command Variables
-@section Variables for Specifying Commands
-
-Makefiles should provide variables for overriding certain commands, options,
-and so on.
-
-In particular, you should run most utility programs via variables.
-Thus, if you use Bison, have a variable named @code{BISON} whose default
-value is set with @samp{BISON = bison}, and refer to it with
-@code{$(BISON)} whenever you need to use Bison.
-
-File management utilities such as @code{ln}, @code{rm}, @code{mv}, and
-so on, need not be referred to through variables in this way, since users
-don't need to replace them with other programs.
-
-Each program-name variable should come with an options variable that is
-used to supply options to the program.  Append @samp{FLAGS} to the
-program-name variable name to get the options variable name---for
-example, @code{BISONFLAGS}.  (The name @code{CFLAGS} is an exception to
-this rule, but we keep it because it is standard.)  Use @code{CPPFLAGS}
-in any compilation command that runs the preprocessor, and use
-@code{LDFLAGS} in any compilation command that does linking as well as
-in any direct use of @code{ld}.
-
-If there are C compiler options that @emph{must} be used for proper
-compilation of certain files, do not include them in @code{CFLAGS}.
-Users expect to be able to specify @code{CFLAGS} freely themselves.
-Instead, arrange to pass the necessary options to the C compiler
-independently of @code{CFLAGS}, by writing them explicitly in the
-compilation commands or by defining an implicit rule, like this:
-
-@smallexample
-CFLAGS = -g
-ALL_CFLAGS = -I. $(CFLAGS)
-.c.o:
-        $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
-@end smallexample
-
-Do include the @samp{-g} option in @code{CFLAGS}, because that is not
-@emph{required} for proper compilation.  You can consider it a default
-that is only recommended.  If the package is set up so that it is
-compiled with GCC by default, then you might as well include @samp{-O}
-in the default value of @code{CFLAGS} as well.
-
-Put @code{CFLAGS} last in the compilation command, after other variables
-containing compiler options, so the user can use @code{CFLAGS} to
-override the others.
-
-Every Makefile should define the variable @code{INSTALL}, which is the
-basic command for installing a file into the system.
-
-Every Makefile should also define the variables @code{INSTALL_PROGRAM}
-and @code{INSTALL_DATA}.  (The default for each of these should be
-@code{$(INSTALL)}.)  Then it should use those variables as the commands
-for actual installation, for executables and nonexecutables
-respectively.  Use these variables as follows:
-
-@example
-$(INSTALL_PROGRAM) foo $(bindir)/foo
-$(INSTALL_DATA) libfoo.a $(libdir)/libfoo.a
-@end example
-
-@noindent
-Always use a file name, not a directory name, as the second argument of
-the installation commands.  Use a separate command for each file to be
-installed.
-
-@node Directory Variables
-@section Variables for Installation Directories
-
-Installation directories should always be named by variables, so it is
-easy to install in a nonstandard place.  The standard names for these
-variables are described below.  They are based on a standard filesystem
-layout; variants of it are used in SVR4, 4.4BSD, Linux, Ultrix v4, and
-other modern operating systems.
-
-These two variables set the root for the installation.  All the other
-installation directories should be subdirectories of one of these two,
-and nothing should be directly installed into these two directories.
-
-@table @samp
-@item prefix
-A prefix used in constructing the default values of the variables listed
-below.  The default value of @code{prefix} should be @file{/usr/local}
-When building the complete GNU system, the prefix will be empty and
-@file{/usr} will be a symbolic link to @file{/}.
-
-@item exec_prefix
-A prefix used in constructing the default values of some of the
-variables listed below.  The default value of @code{exec_prefix} should
-be @code{$(prefix)}.
-
-Generally, @code{$(exec_prefix)} is used for directories that contain
-machine-specific files (such as executables and subroutine libraries),
-while @code{$(prefix)} is used directly for other directories.
-@end table
-
-Executable programs are installed in one of the following directories.
-
-@table @samp
-@item bindir
-The directory for installing executable programs that users can run.
-This should normally be @file{/usr/local/bin}, but write it as
-@file{$(exec_prefix)/bin}.
-
-@item sbindir
-The directory for installing executable programs that can be run from
-the shell, but are only generally useful to system administrators.  This
-should normally be @file{/usr/local/sbin}, but write it as
-@file{$(exec_prefix)/sbin}.
-
-@item libexecdir
-@comment This paragraph adjusted to avoid overfull hbox --roland 5jul94
-The directory for installing executable programs to be run by other
-programs rather than by users.  This directory should normally be
-@file{/usr/local/libexec}, but write it as @file{$(exec_prefix)/libexec}.
-@end table
-
-Data files used by the program during its execution are divided into
-categories in two ways.
-
-@itemize @bullet
-@item
-Some files are normally modified by programs; others are never normally
-modified (though users may edit some of these).
-
-@item
-Some files are architecture-independent and can be shared by all
-machines at a site; some are architecture-dependent and can be shared
-only by machines of the same kind and operating system; others may never
-be shared between two machines.
-@end itemize
-
-This makes for six different possibilities.  However, we want to
-discourage the use of architecture-dependent files, aside from of object
-files and libraries.  It is much cleaner to make other data files
-architecture-independent, and it is generally not hard.
-
-Therefore, here are the variables makefiles should use to specify
-directories:
-
-@table @samp
-@item datadir
-The directory for installing read-only architecture independent data
-files.  This should normally be @file{/usr/local/share}, but write it as
-@file{$(prefix)/share}.  As a special exception, see @file{$(infodir)}
-and @file{$(includedir)} below.
-
-@item sysconfdir
-The directory for installing read-only data files that pertain to a
-single machine--that is to say, files for configuring a host.  Mailer
-and network configuration files, @file{/etc/passwd}, and so forth belong
-here.  All the files in this directory should be ordinary ASCII text
-files.  This directory should normally be @file{/usr/local/etc}, but
-write it as @file{$(prefix)/etc}.
-
-@c rewritten to avoid overfull hbox --tower
-Do not install executables
-@c here
-in this directory (they probably
-belong in @file{$(libexecdir)} or @file{$(sbindir))}.  Also do not
-install files that are modified in the normal course of their use
-(programs whose purpose is to change the configuration of the system
-excluded).  Those probably belong in @file{$(localstatedir)}.
-
-@item sharedstatedir
-The directory for installing architecture-independent data files which
-the programs modify while they run.  This should normally be
-@file{/usr/local/com}, but write it as @file{$(prefix)/com}.
-
-@item localstatedir
-The directory for installing data files which the programs modify while
-they run, and that pertain to one specific machine.  Users should never
-need to modify files in this directory to configure the package's
-operation; put such configuration information in separate files that go
-in @file{datadir} or @file{$(sysconfdir)}.  @file{$(localstatedir)}
-should normally be @file{/usr/local/var}, but write it as
-@file{$(prefix)/var}.
-
-@item libdir
-The directory for object files and libraries of object code.  Do not
-install executables here, they probably belong in @file{$(libexecdir)}
-instead.  The value of @code{libdir} should normally be
-@file{/usr/local/lib}, but write it as @file{$(exec_prefix)/lib}.
-
-@item infodir
-The directory for installing the Info files for this package.  By
-default, it should be @file{/usr/local/info}, but it should be written
-as @file{$(prefix)/info}.
-
-@item includedir
-@c rewritten to avoid overfull hbox --roland
-The directory for installing header files to be included by user
-programs with the C @samp{#include} preprocessor directive.  This
-should normally be @file{/usr/local/include}, but write it as
-@file{$(prefix)/include}.
-
-Most compilers other than GCC do not look for header files in
-@file{/usr/local/include}.  So installing the header files this way is
-only useful with GCC.  Sometimes this is not a problem because some
-libraries are only really intended to work with GCC.  But some libraries
-are intended to work with other compilers.  They should install their
-header files in two places, one specified by @code{includedir} and one
-specified by @code{oldincludedir}.
-
-@item oldincludedir
-The directory for installing @samp{#include} header files for use with
-compilers other than GCC.  This should normally be @file{/usr/include}.
-
-The Makefile commands should check whether the value of
-@code{oldincludedir} is empty.  If it is, they should not try to use
-it; they should cancel the second installation of the header files.
-
-A package should not replace an existing header in this directory unless
-the header came from the same package.  Thus, if your Foo package
-provides a header file @file{foo.h}, then it should install the header
-file in the @code{oldincludedir} directory if either (1) there is no
-@file{foo.h} there or (2) the @file{foo.h} that exists came from the Foo
-package.
-
-To tell whether @file{foo.h} came from the Foo package, put a magic
-string in the file---part of a comment---and grep for that string.
-@end table
-
-Unix-style man pages are installed in one of the following:
-
-@table @samp
-@item mandir
-The directory for installing the man pages (if any) for this package.
-It should include the suffix for the proper section of the
-manual---usually @samp{1} for a utility.  It will normally be
-@file{/usr/local/man/man1}, but you should write it as
-@file{$(prefix)/man/man1}. 
-
-@item man1dir
-The directory for installing section 1 man pages.
-@item man2dir
-The directory for installing section 2 man pages.
-@item @dots{}
-Use these names instead of @samp{mandir} if the package needs to install man
-pages in more than one section of the manual.
-
-@strong{Don't make the primary documentation for any GNU software be a
-man page.  Write a manual in Texinfo instead.  Man pages are just for
-the sake of people running GNU software on Unix, which is a secondary
-application only.}
-
-@item manext
-The file name extension for the installed man page.  This should contain
-a period followed by the appropriate digit; it should normally be @samp{.1}.
-
-@item man1ext
-The file name extension for installed section 1 man pages.
-@item man2ext
-The file name extension for installed section 2 man pages.
-@item @dots{}
-Use these names instead of @samp{manext} if the package needs to install man
-pages in more than one section of the manual.
-@end table
-
-And finally, you should set the following variable:
-
-@table @samp
-@item srcdir
-The directory for the sources being compiled.  The value of this
-variable is normally inserted by the @code{configure} shell script.
-@end table
-
-For example:
-
-@smallexample
-@c I have changed some of the comments here slightly to fix an overfull
-@c hbox, so the make manual can format correctly. --roland
-# Common prefix for installation directories.
-# NOTE: This directory must exist when you start the install.
-prefix = /usr/local
-exec_prefix = $(prefix)
-# Where to put the executable for the command `gcc'.
-bindir = $(exec_prefix)/bin
-# Where to put the directories used by the compiler.
-libexecdir = $(exec_prefix)/libexec
-# Where to put the Info files.
-infodir = $(prefix)/info
-@end smallexample
-
-If your program installs a large number of files into one of the
-standard user-specified directories, it might be useful to group them
-into a subdirectory particular to that program.  If you do this, you
-should write the @code{install} rule to create these subdirectories.
-
-Do not expect the user to include the subdirectory name in the value of
-any of the variables listed above.  The idea of having a uniform set of
-variable names for installation directories is to enable the user to
-specify the exact same values for several different GNU packages.  In
-order for this to be useful, all the packages must be designed so that
-they will work sensibly when the user does so.
-
deleted file mode 100644
--- a/kpathsea/make-suffix.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* make_suffix.c: unconditionally add a filename suffix.
-
-Copyright (C) 1992, 93 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#include <kpathsea/config.h>
-
-
-/* Return a new string: S suffixed with SUFFIX, regardless of what it
-   was before. This returns a newly allocated string.  */ 
-
-string
-make_suffix P2C(const_string, s,  const_string, suffix)
-{
-  string new_s;
-  const_string dot_pos = strrchr (s, '.');
-  const_string slash_pos = strrchr (s, '/');
-
-  if (dot_pos == NULL || dot_pos < slash_pos)
-    new_s = concat3 (s, ".", suffix);
-  else
-    {
-      unsigned past_dot_index = dot_pos + 1 - s;
-      
-      new_s = (string) xmalloc (past_dot_index + strlen (suffix) + 1);
-      strncpy (new_s, s, dot_pos + 1 - s);
-      strcpy (new_s + past_dot_index, suffix);
-    }
-
-  return new_s;
-}
deleted file mode 100644
--- a/kpathsea/path-elt.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/* path-elt.c: Return the stuff between colons.
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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-pathch.h>
-#include <kpathsea/pathsearch.h>
-
-
-/* The static (but dynamically allocated) area we return the answer in,
-   and how much we've currently allocated for it.  */
-static string elt = NULL;
-static unsigned elt_alloc = 0;
-
-/* The path we're currently working on.  */
-static const_string path = NULL;
-
-
-/* Upon entry, the static `path' is at the first (and perhaps last)
-   character of the return value, or else NULL if we're at the end (or
-   haven't been called).  I make no provision for caching the results;
-   thus, we parse the same path over and over, on every lookup.  If that
-   turns out to be a significant lose, it can be fixed, but I'm guessing
-   disk accesses overwhelm everything else.  */
-
-string
-kpse_path_element P1C(const_string, passed_path)
-{
-  const_string p;
-  string ret;
-  
-  if (passed_path)
-    path = passed_path;
-  
-  /* Check if called with NULL, and no previous path (perhaps we reached
-     the end).  */
-  else if (!path)
-    return NULL;
-  
-  /* OK, we have a non-null `path' if we get here.  */
-  assert (path);
-  p = path;
-  
-  /* Find the next colon (or the end of the path).  */
-  while (*p != 0 && !IS_ENV_SEP (*p))
-    p++;
-  
-  /* If there were no separators, return the whole thing this time, and
-     return NULL next time.  */
-  if (*p == 0)
-    {
-      ret = (string) path;
-      path = NULL;
-    }
-  
-  /* Otherwise, return the substring starting at `path'.  */
-  else
-    {
-      unsigned len = p - path;
-      
-      /* Make sure we have enough space (including the null byte).  */
-      if (len + 1 > elt_alloc)
-        {
-          elt_alloc = len + 1;
-          elt = xrealloc (elt, elt_alloc);
-        }
-
-      strncpy (elt, path, len);
-      elt[len] = 0;
-      ret = elt;
-      
-      path += len + 1;
-    }
-
-  return ret;
-}
-
-#ifdef TEST
-
-void
-print_path_elements (const_string path)
-{
-  string elt;
-  printf ("Elements of `%s':", path ? path : "(null)");
-  
-  for (elt = kpse_path_element (path); elt != NULL;
-       elt = kpse_path_element (NULL))
-    {
-      printf (" %s", *elt ? elt : "`'");
-    }
-  
-  puts (".");
-}
-
-int
-main ()
-{
-  /* All lists end with NULL.  */
-  print_path_elements (NULL);	/* */
-  print_path_elements ("");	/* "" */
-  print_path_elements ("a");	/* a */
-  print_path_elements (":");	/* "", "" */
-  print_path_elements ("::");	/* "", "", "" */
-  print_path_elements ("a:");	/* a, "" */ 
-  print_path_elements (":b");	/* "", b */ 
-  print_path_elements ("a:b");	/* a, b */ 
-  
-  return 0;
-}
-
-#endif /* TEST */
-
-
-/*
-Local variables:
-standalone-compile-command: "gcc -g -I. -I.. -DTEST path-elt.c kpathsea.a"
-End:
-*/
deleted file mode 100644
--- a/kpathsea/pathsearch.c
+++ /dev/null
@@ -1,417 +0,0 @@
-/* pathsearch.c: look up a filename in a path.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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/absolute.h>
-#include <kpathsea/expand.h>
-#include <kpathsea/db.h>
-#include <kpathsea/pathsearch.h>
-#include <kpathsea/readable.h>
-#include <kpathsea/str-list.h>
-#include <kpathsea/str-llist.h>
-#include <kpathsea/variable.h>
-
-#include <time.h> /* for `time' */
-
-/* This function is called after every search to record the filename(s)
-   found in $TEXMFLOG or if debugging.  */
-
-static void
-log_search P1C(str_list_type, filenames)
-{
-  static FILE *log_file = NULL;
-  static boolean first_time = true;
-  
-  if (first_time)
-    {
-      string log_name = kpse_var_expand ("$TEXMFLOG");
-      first_time = false;
-      /* Get name from either envvar or config file.  */
-      if (log_name && *log_name)
-        {
-          log_file = fopen (log_name, FOPEN_A_MODE);
-          if (!log_file)
-            perror (log_name);
-          free (log_name);
-        }
-    }
-
-  if (KPSE_DEBUG_P (KPSE_DEBUG_SEARCH) || log_file)
-    {
-      unsigned e;
-      
-      /* FILENAMES should never be null, but safety doesn't hurt.  */
-      for (e = 0;
-           e < STR_LIST_LENGTH (filenames) && STR_LIST_ELT (filenames, e);
-           e++)
-        {
-          string filename = STR_LIST_ELT (filenames, e);
-          
-          /* Only record absolute filenames, for privacy.  */
-          if (log_file && kpse_absolute_p (filename, false))
-            fprintf (log_file, "%u %s\n", time (NULL), filename);
-
-          /* And show them online, if debugging.  We've already started
-             the debugging line in `search', where this is called, so
-             just print the filename here, don't use DEBUGF.  */
-          if (KPSE_DEBUG_P (KPSE_DEBUG_SEARCH))
-            fputs (filename, stderr);
-        }
-    }
-}
-
-/* Concatenate each element in DIRS with NAME (assume each ends with a
-   /, to save time).  If SEARCH_ALL is false, return the first readable
-   regular file.  Else continue to search for more.  In any case, if
-   none, return a list containing just NULL.
-
-   We keep a single buffer for the potential filenames and reallocate
-   only when necessary.  I'm not sure it's noticeably faster, but it
-   does seem cleaner.  (We do waste a bit of space in the return
-   value, though, since we don't shrink it to the final size returned.)  */
-
-#define INIT_ALLOC 75  /* Doesn't much matter what this number is.  */
-
-static str_list_type
-dir_list_search P3C(str_llist_type *, dirs,  const_string, name,
-                    boolean, search_all)
-{
-  str_llist_elt_type *elt;
-  str_list_type ret;
-  unsigned name_len = strlen (name);
-  unsigned allocated = INIT_ALLOC;
-  string potential = xmalloc (allocated);
-
-  ret = str_list_init ();
-  
-  for (elt = *dirs; elt; elt = STR_LLIST_NEXT (*elt))
-    {
-      const_string dir = STR_LLIST (*elt);
-      unsigned dir_len = strlen (dir);
-      
-      while (dir_len + name_len + 1 > allocated)
-        {
-          allocated += allocated;
-          XRETALLOC (potential, allocated, char);
-        }
-      
-      strcpy (potential, dir);
-      strcat (potential, name);
-      
-      if (kpse_readable_file (potential))
-        { 
-          str_list_add (&ret, potential);
-          
-          /* Move this element towards the top of the list.  */
-          str_llist_float (dirs, elt);
-          
-          /* If caller only wanted one file returned, no need to
-             terminate the list with NULL; the caller knows to only look
-             at the first element.  */
-          if (!search_all)
-            return ret;
-
-          /* Start new filename.  */
-          allocated = INIT_ALLOC;
-          potential = xmalloc (allocated);
-        }
-    }
-  
-  /* If we get here, either we didn't find any files, or we were finding
-     all the files.  But we're done with the last filename, anyway.  */
-  free (potential);
-  
-  return ret;
-}
-
-/* This is called when NAME is absolute or explicitly relative; if it's
-   readable, return (a list containing) it; otherwise, return NULL.  */
-
-static str_list_type
-absolute_search P1C(string, name)
-{
-  str_list_type ret_list;
-  string found = kpse_readable_file (name);
-  
-  /* Some old compilers can't initialize structs.  */
-  ret_list = str_list_init ();
-
-  /* If NAME wasn't found, free the expansion.  */
-  if (name != found)
-    free (name);
-
-  /* Add `found' to the return list even if it's null; that tells
-     the caller we didn't find anything.  */
-  str_list_add (&ret_list, found);
-  
-  return ret_list;
-}
-
-/* If DB_DIR is a prefix of PATH_ELT, return true; otherwise false.
-   That is, the question is whether to try the db for a file looked up
-   in PATH_ELT.  If PATH_ELT == ".", for example, the answer is no. If
-   PATH_ELT == "/usr/local/lib/texmf/fonts//tfm", the answer is yes.
-   
-   In practice, ls-R is only needed for lengthy subdirectory
-   comparisons, but there's no gain to checking PATH_ELT to see if it is
-   a subdir match, since the only way to do that is to do a string
-   search in it, which is all we do anyway.
-   
-   In fact, we do a simple string compare, ignoring // complications,
-   since in practice I believe //'s will always be after `kpse_db_dir',
-   i.e., we would never want to find ls-R in /usr//texmf.  */
-   
-static boolean
-elt_in_db P1C(const_string, path_elt)
-{
-  boolean found = false;
-  
-  /* If `kpse_db_dir' is not set, we're being called from `read_files'
-     for the very first time -- for cnf file initialization.  We can't
-     use ls-R for that.  */
-  if (kpse_db_dir)
-    {
-      string db_temp = kpse_db_dir;
-
-      while (!found && *db_temp++ == *path_elt++)
-        { /* If we've matched the entire db directory, it's good.  */
-          if (*db_temp == 0)
-            found = true;
-          /* If we've reached the end of PATH_ELT, but not the end of the db
-             directory, it's no good.  */
-          else if (*path_elt == 0)
-            break;
-        }
-    }
-
-  return found;
-}
-
-
-/* This is the hard case -- look for NAME in PATH.  If
-   ALL is false, just return the first file found.  Otherwise,
-   search all elements of PATH.  */
-
-static str_list_type
-path_search P4C(const_string, path,  string, name,
-                boolean, must_exist,  boolean, all)
-{
-  string elt;
-  str_list_type ret_list;
-  boolean done = false;
-  ret_list = str_list_init (); /* some compilers lack struct initialization */
-
-  for (elt = kpse_path_element (path); !done && elt;
-       elt = kpse_path_element (NULL))
-    {
-      boolean try_db;
-      boolean allow_disk_search = true;
-      str_list_type *found = NULL;
-      
-      if (*elt == '!' && *(elt + 1) == '!')
-        { /* Magic leading chars in a path element means don't search the
-             disk regardless.  And move past the magic to get to the name.  */
-          allow_disk_search = false;
-          elt += 2;
-        }
-      
-      /* Try the prebuilt db only if it's relevant to this path element. */
-      try_db = elt_in_db (elt);
-      found = try_db ? kpse_db_search (name, elt, all) : NULL;
-      
-      /* Search the filesystem if (1) the path spec allows it, and either
-         (2a) the db was irrelevant to ELT (try_db == false); or
-         (2b) no db exists (kpse_db_search returns NULL); or
-         (3) NAME was not in the db (kpse_db_search returns an empty list)
-             and MUST_EXIST.
-         In (2a) and (2b), `found' will be NULL.  */
-      if (allow_disk_search && (!found || (!STR_LIST (*found) && must_exist)))
-        {
-          str_llist_type *dirs = kpse_element_dirs (elt);
-          if (dirs && *dirs)
-            {
-              if (!found)
-                found = XTALLOC1 (str_list_type);
-              *found = dir_list_search (dirs, name, all);
-            }
-        }
-
-      /* Did we find anything anywhere?  */
-      if (found && STR_LIST (*found))
-        if (all)
-          str_list_concat (&ret_list, *found);
-        else
-          {
-            str_list_add (&ret_list, STR_LIST_ELT (*found, 0));
-            done = true;
-          }
-      
-      /* Free the list space, if any (but not the elements).  */
-      if (found)
-	{
-	  str_list_free (found);
-	  free (found);
-	}
-    }
-
-  /* Free the expanded name we were passed.  It can't be in the return
-     list, since the path directories got unconditionally prepended.  */
-  free (name);
-  
-  return ret_list;
-}      
-
-/* Search PATH for ORIGINAL_NAME.  If ALL is false, or ORIGINAL_NAME is
-   absolute_p, check ORIGINAL_NAME itself.  Otherwise, look at each
-   element of PATH for the first readable ORIGINAL_NAME.
-   
-   Always return a list; if no files are found, the list will
-   contain just NULL.  If ALL is true, the list will be
-   terminated with NULL.  */
-
-static string *
-search P4C(const_string, path,  const_string, original_name,
-           boolean, must_exist,  boolean, all)
-{
-  str_list_type ret_list;
-
-  /* Make a leading ~ count as an absolute filename, and expand $FOO's.  */
-  string name = kpse_expand (original_name);
-  
-  /* If the first name is absolute or explicitly relative, no need to
-     consider PATH at all.  */
-  boolean absolute_p = kpse_absolute_p (name, true);
-  
-  if (KPSE_DEBUG_P (KPSE_DEBUG_SEARCH))
-    DEBUGF4 ("search(file=%s, must_exist=%d, find_all=%d, path=%s).\n",
-             name, must_exist, all, path);
-
-  /* Find the file(s). */
-  ret_list = absolute_p ? absolute_search (name)
-                        : path_search (path, name, must_exist, all);
-  
-  /* Append NULL terminator if we didn't find anything at all, or we're
-     supposed to find ALL and the list doesn't end in NULL now.  */
-  if (STR_LIST_LENGTH (ret_list) == 0
-      || (all && STR_LIST_LAST_ELT (ret_list) != NULL))
-    str_list_add (&ret_list, NULL);
-
-  /* Record the filenames we found, if desired.  And wrap them in a
-     debugging line if we're doing that.  */
-  if (KPSE_DEBUG_P (KPSE_DEBUG_SEARCH))
-    DEBUGF1 ("search(%s) =>", original_name);
-  log_search (ret_list);
-  if (KPSE_DEBUG_P (KPSE_DEBUG_SEARCH))
-    putc ('\n', stderr);
-  
-  return STR_LIST (ret_list);
-}
-
-/* Search PATH for the first NAME.  */
-
-string
-kpse_path_search P3C(const_string, path,  const_string, name,
-                     boolean, must_exist)
-{
-  static string *ret_list = 0;
-
-  if (ret_list)
-    {
-      free (ret_list);
-      ret_list = 0;  /* Don't let an interrupt in search() cause trouble */
-    }
-
-  ret_list = search (path, name, must_exist, false);
-
-  return *ret_list;  /* Freeing this is caller's responsibility */
-}
-
-
-/* Search all elements of PATH for files named NAME.  Not sure if it's
-   right to assert `must_exist' here, but it suffices now.  */
-
-string *
-kpse_all_path_search P2C(const_string, path,  const_string, name)
-{
-  string *ret = search (path, name, true, true);
-  return ret;
-}
-
-#ifdef TEST
-
-void
-test_path_search (const_string path, const_string file)
-{
-  string answer;
-  string *answer_list;
-  
-  printf ("\nSearch %s for %s:\t", path, file);
-  answer = kpse_path_search (path, file);
-  puts (answer ? answer : "(null)");
-
-  printf ("Search %s for all %s:\t", path, file);
-  answer_list = kpse_all_path_search (path, file);
-  putchar ('\n');
-  while (*answer_list)
-    {
-      putchar ('\t');
-      puts (*answer_list);
-      answer_list++;
-    }
-}
-
-#define TEXFONTS "/usr/local/lib/tex/fonts"
-
-int
-main ()
-{
-  /* All lists end with NULL.  */
-  test_path_search (".", "nonexistent");
-  test_path_search (".", "/nonexistent");
-  test_path_search ("/k:.", "kpathsea.texi");
-  test_path_search ("/k:.", "/etc/fstab");
-  test_path_search (".:" TEXFONTS "//", "cmr10.tfm");
-  test_path_search (".:" TEXFONTS "//", "logo10.tfm");
-  test_path_search (TEXFONTS "//times:.::", "ptmr.vf");
-  test_path_search (TEXFONTS "/adobe//:"
-                    "/usr/local/src/TeX+MF/typefaces//", "plcr.pfa");
-  
-  test_path_search ("~karl", ".bashrc");
-  test_path_search ("/k", "~karl/.bashrc");
-
-  xputenv ("NONEXIST", "nonexistent");
-  test_path_search (".", "$NONEXISTENT");
-  xputenv ("KPATHSEA", "kpathsea");
-  test_path_search ("/k:.", "$KPATHSEA.texi");  
-  test_path_search ("/k:.", "${KPATHSEA}.texi");  
-  test_path_search ("$KPATHSEA:.", "README");  
-  test_path_search (".:$KPATHSEA", "README");  
-  
-  return 0;
-}
-
-#endif /* TEST */
-
-
-/*
-Local variables:
-test-compile-command: "gcc -posix -g -I. -I.. -DTEST pathsearch.c kpathsea.a"
-End:
-*/
deleted file mode 100644
--- a/kpathsea/pathsearch.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* pathsearch.h: generic path searching.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_PATHSEARCH_H
-#define KPATHSEA_PATHSEARCH_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/str-llist.h>
-#include <kpathsea/types.h>
-
-/* If PATH is non-null, return its first element (as defined by
-   IS_ENV_SEP).  If it's NULL, return the next element in the previous
-   path, a la strtok.  Leading, trailing, or doubled colons result in
-   the empty string.  When at the end of PATH, return NULL.  In any
-   case, return a pointer to an area that may be overwritten on
-   subsequent calls.  */
-extern string kpse_path_element P1H(const_string path);
-
-
-/* Given a path element ELT, return a pointer to a NULL-terminated list
-   of the corresponding (existing) directory or directories, with
-   trailing slashes, or NULL.  If ELT is the empty string, check the
-   current working directory.
-   
-   It's up to the caller to expand ELT.  This is because this routine is
-   most likely only useful to be called from `kpse_path_search', which
-   has already assumed expansion has been done.  */
-extern str_llist_type *kpse_element_dirs P1H(const_string elt);
-
-
-/* Call `kpse_expand' on NAME.  If the result is an absolute or
-   explicitly relative filename, check whether it is a readable
-   (regular) file.
-   
-   Otherwise, look in each of the directories specified in PATH (also do
-   tilde and variable expansion on elements in PATH), using a prebuilt
-   db (see db.h) if it's relevant for a given path element.
-   
-   If the prebuilt db doesn't exist, or if MUST_EXIST is true and NAME
-   isn't found in the prebuilt db, look on the filesystem.  (I.e., if
-   MUST_EXIST is false, and NAME isn't found in the db, do *not* look on
-   the filesystem.)
-   
-   The caller must expand PATH. This is because it makes more sense to
-   do this once, in advance, instead of for every search using it.
-   
-   In any case, return the complete filename if found, otherwise NULL.  */
-extern string kpse_path_search P3H(const_string path, const_string name,
-                                   boolean must_exist);
-
-
-/* Like `kpse_path_search' with MUST_EXIST true, but return a list of
-   all the filenames (or NULL if none), instead of taking the first.  */
-extern string *kpse_all_path_search P2H(const_string path, const_string name);
-
-#endif /* not KPATHSEA_PATHSEARCH_H */
deleted file mode 100644
--- a/kpathsea/proginit.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/* proginit.c: useful initializations for DVI drivers.
-
-Copyright (C) 1994 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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-pathch.h>
-#include <kpathsea/proginit.h>
-#include <kpathsea/progname.h>
-#include <kpathsea/tex-file.h>
-
-
-/* These initializations were common to all the drivers modified for
-   kpathsea, so a single routine seemed in order.  Kind of a bollixed-up
-   mess, but still better than repeating the code.  */
-
-void
-kpse_init_prog P5C(const_string, prefix,  unsigned, dpi,  const_string, mode,
-                   boolean, make_tex_pk,  const_string, fallback)
-{
-  string makepk_var = concat (prefix, "MAKEPK");
-  string font_var = concat (prefix, "FONTS");
-  string size_var = concat (prefix, "SIZES");
-  
-  /* Do both `pk_format' and `any_glyph_format' for the sake of xdvi; in
-     general, MakeTeXPK might apply to either, and the program will ask
-     for the one it wants.  */
-     
-  /* Might have a program-specific name for MakeTeXPK itself.  */
-  kpse_format_info[kpse_pk_format].program
-    = kpse_format_info[kpse_any_glyph_format].program
-    = getenv (makepk_var);
-  
-  /* If we did, we want to enable the program, I think.  */
-  kpse_format_info[kpse_pk_format].program_enabled_p
-    = kpse_format_info[kpse_any_glyph_format].program_enabled_p
-    = getenv (makepk_var) || make_tex_pk;
-
-  kpse_font_override_path = getenv (font_var);
-  kpse_init_fallback_resolutions (size_var);
-  xputenv_int ("MAKETEX_BASE_DPI", dpi);
-  kpse_fallback_font = fallback;
-  
-  /* See comments in kpse_make_tex in kpathsea/tex-make.c.  */
-  xputenv ("MAKETEX_MODE", mode ? mode : DIR_SEP_STRING);
-  
-  free (makepk_var);
-  free (font_var);
-  free (size_var);
-}
deleted file mode 100644
--- a/kpathsea/proginit.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* proginit.h: declarations for DVI driver initializations.
-
-Copyright (C) 1994, 95 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_PROGINIT_H
-#define KPATHSEA_PROGINIT_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/types.h>
-
-
-/* Common initializations for DVI drivers -- check for `PREFIX'SIZES and
-   `PREFIX'FONTS environment variables, setenv MAKETEX_MODE to MODE,
-   etc., etc.  See the source.  */
-
-extern void
-kpse_init_prog P5H(const_string prefix,  unsigned dpi,  const_string mode,
-                   boolean make_tex_pk,  const_string fallback);
-
-#endif /* not KPATHSEA_PROGINIT_H */
deleted file mode 100644
--- a/kpathsea/progname.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* progname.c: the executable name we were invoked as; general initialization.
-
-Copyright (C) 1994 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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/progname.h>
-
-
-#ifndef HAVE_PROGRAM_INVOCATION_NAME
-/* Don't redefine the variables if glibc already has.  */
-string program_invocation_name;
-string program_invocation_short_name;
-#endif
-
-
-void
-kpse_set_progname P1C(const_string, progname)
-{
-#ifndef HAVE_PROGRAM_INVOCATION_NAME
-  program_invocation_name = xstrdup (progname);
-  program_invocation_short_name = (string) basename (program_invocation_name);
-#endif
-  {
-    string s = getenv ("KPATHSEA_DEBUG");
-    if (s) 
-     kpathsea_debug |= atoi (s);
-  }
-}
deleted file mode 100644
--- a/kpathsea/progname.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* progname.h: Declarations for argv[0] equivalents.
-
-Copyright (C) 1994 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_PROGNAME_H
-#define KPATHSEA_PROGNAME_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/types.h>
-
-extern string program_invocation_name;
-extern string program_invocation_short_name;
-
-
-/* Set the two variables above (if they're not predefined) to a copy of
-   ARGV0 and everything in ARGV0 after the last directory separator,
-   respectively.  */
-
-extern void kpse_set_progname P1H(const_string argv0);
-
-#endif /* not KPATHSEA_PROGNAME_H */
deleted file mode 100644
--- a/kpathsea/putenv.c
+++ /dev/null
@@ -1,118 +0,0 @@
-/****************************************************************/
-/*								*/
-/*	putenv(3)						*/
-/*								*/
-/*		Change or add an environment entry		*/
-/*								*/
-/****************************************************************/
-/*   origination        1987-Oct-7               T. Holm	*/
-/* (slightly modified by karl@cs.umb.edu for kpathsea.)         */
-/****************************************************************/
-
-/* for HAVE_PUTENV and const -- need nothing else.  */
-#include <kpathsea/c-auto.h>
-
-#ifndef HAVE_PUTENV /* whole file */
-
-/*
-Path: hoptoad!pacbell!ames!ll-xn!mit-eddie!uw-beaver!ssc-vax!uvicctr!tholm
-From: tholm@uvicctr.UUCP (Terrence W. Holm)
-Newsgroups: comp.os.minix
-Subject: putenv(3)
-Message-ID: <395@uvicctr.UUCP>
-Date: 5 May 88 06:40:52 GMT
-Organization: University of Victoria, Victoria B.C. Canada
-
-EFTH Minix report #2  - May 1988 -  putenv(3)
-
-This is an implementation of putenv(3) that we
-wrote for Minix. Please consider this a public
-domain program.
-*/
-
-#define NULL 0
-#define  PSIZE  sizeof(char *)
-
-extern  char  **environ;
-
-char  *strchr();
-char  *malloc();
-
-/****************************************************************/
-/*								*/
-/*      int							*/
-/*	putenv( entry )						*/
-/*								*/
-/*		The "entry" should follow the form 		*/
-/*		"NAME=VALUE". This routine will search the 	*/
-/*		user environment for "NAME" and replace its 	*/
-/*		value with "VALUE".				*/
-/*								*/
-/*		Note that "entry" is not copied, it is used 	*/
-/*		as the environment entry. This means that it 	*/
-/*		must not be unallocated or otherwise modifed 	*/
-/*		by the caller, unless it is replaced by a 	*/
-/*		subsequent putenv().				*/
-/*								*/
-/*		If the name is not found in the environment, 	*/
-/*		then a new vector of pointers is allocated, 	*/
-/*		"entry" is put at the end and the global 	*/
-/*		variable "environ" is updated.			*/
-/*								*/
-/*		This function normally returns 0, but -1	*/
-/*		is returned if it can not allocate enough 	*/
-/*		space using malloc(3), or "entry" does not	*/
-/*		contain a '='.					*/
-/*								*/
-/****************************************************************/
-
-
-int
-putenv( entry )
-  char *entry;
-{
-  unsigned length;
-  unsigned size;
-  char     *temp;
-  char     **p;
-  char     **new_environ;
-
-  /*  Find the length of the "NAME="  */
-
-  temp = strchr(entry,'=');
-  if ( temp == 0 )
-    return( -1 );
-
-  length = (unsigned) (temp - entry + 1);
-
-
-  /*  Scan through the environment looking for "NAME="  */
-
-  for ( p=environ; *p != 0 ; p++ )
-    if ( strncmp( entry, *p, length ) == 0 )
-      {
-      *p = entry;
-      return( 0 );
-      }
-
-
-  /*  The name was not found, build a bigger environment  */
-
-  size = p - environ;
-
-  new_environ = (char **) malloc( (size+2)*PSIZE );
-
-  if ( new_environ == (char **) NULL )
-    return( -1 );
-
-  memcpy ((char *) new_environ, (const char *) environ, size*PSIZE );
-
-  new_environ[size]   = entry;
-  new_environ[size+1] = NULL;
-
-  environ = new_environ;
-
-  return(0);
-}
-
-#endif /* not HAVE_PUTENV */
deleted file mode 100644
--- a/kpathsea/readable.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/* readable.c: check if a filename is a readable regular file.
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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-stat.h>
-#include <kpathsea/readable.h>
-#include <kpathsea/truncate.h>
-
-
-/* If access can read FN, run stat (assigning to stat buffer ST) and
-   check that fn is a regular file.  */
-
-#define READABLE(fn, st) \
-  (access (fn, R_OK) == 0 && stat (fn, &(st)) == 0 && S_ISREG (st.st_mode))
-
-
-/* POSIX invented the brain-damage of not necessarily truncating
-   filename components; the system's behavior is defined by the value of
-   the symbol _POSIX_NO_TRUNC, but you can't change it dynamically!
-   
-   Generic const return warning.  See extend-fname.c.  */
-
-string
-kpse_readable_file P1C(const_string, name)
-{
-  struct stat st;
-  string ret;
-  
-  if (READABLE (name, st))
-    ret = (string) name;
-
-#ifdef ENAMETOOLONG
-  else if (errno == ENAMETOOLONG)
-    {
-      ret = kpse_truncate_filename (name);
-
-      /* Perhaps some other error will occur with the truncated name, so
-         let's call access again.  */
-      if (!READABLE (ret, st))
-        { /* Failed.  */
-          if (ret != name) free (ret);
-          ret = NULL;
-        }
-    }
-#endif
-
-  else /* Some other error.  */
-    { 
-      if (errno == EACCES) /* Warn them if permissions are bad.  */
-        perror (name);
-      ret = NULL;
-    }
-  
-  return ret;
-}
deleted file mode 100644
--- a/kpathsea/readable.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* readable.h: Is a file readable?
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_READABLE_H
-#define KPATHSEA_READABLE_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/types.h>
-
-/* If NAME is readable and is a regular file, return it.  If the error is
-   ENAMETOOLONG, truncate any too-long path components, and if the
-   result is a readable file, return that.  Otherwise return NULL.  */
-   
-extern string kpse_readable_file P1H(const_string name);
-
-#endif /* not KPATHSEA_READABLE_H */
deleted file mode 100644
--- a/kpathsea/rm-suffix.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* rm-suffix.c: remove any suffix.
-
-Copyright (C) 1992, 93, 95 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#include <kpathsea/config.h>
-
-
-/* Generic const warning -- see extend-fname.c.  */
-
-string
-remove_suffix P1C(const_string, s)
-{
-  string ret;
-  const_string suffix = find_suffix (s);
-  
-  if (suffix)
-    {
-      /* Back up to before the dot.  */
-      suffix--;
-      ret = (string) xmalloc (suffix - s + 1);
-      strncpy (ret, s, suffix - s);
-      ret[suffix - s] = 0;
-    }
-  else
-    ret = (string) s;
-    
-  return ret;
-}
deleted file mode 100644
deleted file mode 100644
--- a/kpathsea/standards.texi
+++ /dev/null
@@ -1,2451 +0,0 @@
-\input texinfo @c -*-texinfo-*-
-@c %**start of header
-@setfilename standards.info
-@settitle GNU Coding Standards
-@c UPDATE THIS DATE WHENEVER YOU MAKE CHANGES!
-@set lastupdate 17 November 1994
-@c %**end of header
-
-@ifinfo
-@format
-START-INFO-DIR-ENTRY
-* Standards: (standards).        GNU coding standards.
-END-INFO-DIR-ENTRY
-@end format
-@end ifinfo
-
-@setchapternewpage off
-
-@ifinfo
-GNU Coding Standards
-Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-@ignore
-Permission is granted to process this file through TeX and print the
-results, provided the printed document carries copying permission
-notice identical to this one except for the removal of this paragraph
-(this paragraph not being relevant to the printed manual).
-@end ignore
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Free Software Foundation.
-@end ifinfo
-
-@titlepage
-@title GNU Coding Standards
-@author Richard Stallman
-@author last updated @value{lastupdate}
-@page
-
-@vskip 0pt plus 1filll
-Copyright @copyright{} 1992, 1993 Free Software Foundation, Inc.
-
-Permission is granted to make and distribute verbatim copies of
-this manual provided the copyright notice and this permission notice
-are preserved on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-manual under the conditions for verbatim copying, provided that the entire
-resulting derived work is distributed under the terms of a permission
-notice identical to this one.
-
-Permission is granted to copy and distribute translations of this manual
-into another language, under the above conditions for modified versions,
-except that this permission notice may be stated in a translation approved
-by the Free Software Foundation.
-@end titlepage
-
-@ifinfo
-@node Top, Preface, (dir), (dir)
-@top Version
-
-Last updated @value{lastupdate}.
-@end ifinfo
-
-@menu
-* Preface::			About the GNU Coding Standards
-* Reading Non-Free Code::	Referring to Proprietary Programs
-* Contributions::		Accepting Contributions
-* Change Logs::			Recording Changes
-* Compatibility::		Compatibility with Other Implementations
-* Makefile Conventions::	Makefile Conventions
-* Configuration::		How Configuration Should Work
-* Source Language::		Using Languages Other Than C
-* Formatting::			Formatting Your Source Code
-* Comments::			Commenting Your Work
-* Syntactic Conventions::	Clean Use of C Constructs
-* Names::			Naming Variables and Functions
-* Using Extensions::		Using Non-standard Features
-* System Functions::            Portability and ``standard'' library functions
-* Semantics::			Program Behavior for All Programs
-* Errors::			Formatting Error Messages
-* Libraries::			Library Behavior
-* Portability::			Portability As It Applies to GNU
-* User Interfaces::		Standards for Command Line Interfaces
-* Documentation::		Documenting Programs
-* Releases::			Making Releases
-@end menu
-
-@node Preface
-@chapter About the GNU Coding Standards
-
-The GNU Coding Standards were written by Richard Stallman and other GNU
-Project volunteers.  Their purpose is to make the GNU system clean,
-consistent, and easy to install.  This document can also be read as a
-guide to write portable, robust and reliable programs.  It focuses on
-programs written in C, but many of the rules and principles are useful
-even if you write in another programming language.  The rules often
-state reasons for writing in a certain way.
-
-Corrections or suggestions regarding this document should be sent to
-@code{gnu@@prep.ai.mit.edu}.  If you make a suggestion, please include a
-suggested new wording for it; our time is limited.  We prefer a context
-diff to the @file{standards.texi} or @file{make-stds.texi} files, but if
-you don't have those files, please mail your suggestion anyway.
-
-This release of the GNU Coding Standards was last updated
-@value{lastupdate}.
-
-@node Reading Non-Free Code
-@chapter Referring to Proprietary Programs
-
-Don't in any circumstances refer to Unix source code for or during
-your work on GNU!  (Or to any other proprietary programs.)
-
-If you have a vague recollection of the internals of a Unix program,
-this does not absolutely mean you can't write an imitation of it, but
-do try to organize the imitation internally along different lines,
-because this is likely to make the details of the Unix version
-irrelevant and dissimilar to your results.
-
-For example, Unix utilities were generally optimized to minimize
-memory use; if you go for speed instead, your program will be very
-different.  You could keep the entire input file in core and scan it
-there instead of using stdio.  Use a smarter algorithm discovered more
-recently than the Unix program.  Eliminate use of temporary files.  Do
-it in one pass instead of two (we did this in the assembler).
-
-Or, on the contrary, emphasize simplicity instead of speed.  For some
-applications, the speed of today's computers makes simpler algorithms
-adequate.
-
-Or go for generality.  For example, Unix programs often have static
-tables or fixed-size strings, which make for arbitrary limits; use
-dynamic allocation instead.  Make sure your program handles NULs and
-other funny characters in the input files.  Add a programming language
-for extensibility and write part of the program in that language.
-
-Or turn some parts of the program into independently usable libraries.
-Or use a simple garbage collector instead of tracking precisely when
-to free memory, or use a new GNU facility such as obstacks.
-
-
-@node Contributions
-@chapter Accepting Contributions
-
-If someone else sends you a piece of code to add to the program you are
-working on, we need legal papers to use it---the same sort of legal
-papers we will need to get from you.  @emph{Each} significant
-contributor to a program must sign some sort of legal papers in order
-for us to have clear title to the program.  The main author alone is not
-enough.
-
-So, before adding in any contributions from other people, tell us
-so we can arrange to get the papers.  Then wait until we tell you
-that we have received the signed papers, before you actually use the
-contribution.
-
-This applies both before you release the program and afterward.  If
-you receive diffs to fix a bug, and they make significant change, we
-need legal papers for it.
-
-You don't need papers for changes of a few lines here or there, since
-they are not significant for copyright purposes.  Also, you don't need
-papers if all you get from the suggestion is some ideas, not actual code
-which you use.  For example, if you write a different solution to the
-problem, you don't need to get papers.
-
-I know this is frustrating; it's frustrating for us as well.  But if
-you don't wait, you are going out on a limb---for example, what if the
-contributor's employer won't sign a disclaimer?  You might have to take
-that code out again!
-
-The very worst thing is if you forget to tell us about the other
-contributor.  We could be very embarrassed in court some day as a
-result.
-
-@node Change Logs
-@chapter Change Logs
-
-Keep a change log for each directory, describing the changes made to
-source files in that directory.  The purpose of this is so that people
-investigating bugs in the future will know about the changes that
-might have introduced the bug.  Often a new bug can be found by
-looking at what was recently changed.  More importantly, change logs
-can help eliminate conceptual inconsistencies between different parts
-of a program; they can give you a history of how the conflicting
-concepts arose.
-
-Use the Emacs command @kbd{M-x add-change-log-entry} to start a new
-entry in the
-change log.  An entry should have an asterisk, the name of the changed
-file, and then in parentheses the name of the changed functions,
-variables or whatever, followed by a colon.  Then describe the changes
-you made to that function or variable.
-
-Separate unrelated entries with blank lines.  When two entries
-represent parts of the same change, so that they work together, then
-don't put blank lines between them.  Then you can omit the file name
-and the asterisk when successive entries are in the same file.
-
-Here are some examples:
-
-@example
-* register.el (insert-register): Return nil.
-(jump-to-register): Likewise.
-
-* sort.el (sort-subr): Return nil.
-
-* tex-mode.el (tex-bibtex-file, tex-file, tex-region):
-Restart the tex shell if process is gone or stopped.
-(tex-shell-running): New function.
-
-* expr.c (store_one_arg): Round size up for move_block_to_reg.
-(expand_call): Round up when emitting USE insns.
-* stmt.c (assign_parms): Round size up for move_block_from_reg.
-@end example
-
-It's important to name the changed function or variable in full.  Don't
-abbreviate them; don't combine them.  Subsequent maintainers will often
-search for a function name to find all the change log entries that
-pertain to it; if you abbreviate the name, they won't find it when they
-search.  For example, some people are tempted to abbreviate groups of
-function names by writing @samp{* register.el
-(@{insert,jump-to@}-register)}; this is not a good idea, since searching
-for @code{jump-to-register} or @code{insert-register} would not find the
-entry.
-
-There's no need to describe the full purpose of the changes or how they
-work together.  It is better to put such explanations in comments in the
-code.  That's why just ``New function'' is enough; there is a comment
-with the function in the source to explain what it does.
-
-However, sometimes it is useful to write one line to describe the
-overall purpose of a large batch of changes.
-
-You can think of the change log as a conceptual ``undo list'' which
-explains how earlier versions were different from the current version.
-People can see the current version; they don't need the change log
-to tell them what is in it.  What they want from a change log is a
-clear explanation of how the earlier version differed.
-
-When you change the calling sequence of a function in a simple
-fashion, and you change all the callers of the function, there is no
-need to make individual entries for all the callers.  Just write in
-the entry for the function being called, ``All callers changed.''
-
-When you change just comments or doc strings, it is enough to write an
-entry for the file, without mentioning the functions.  Write just,
-``Doc fix.''  There's no need to keep a change log for documentation
-files.  This is because documentation is not susceptible to bugs that
-are hard to fix.  Documentation does not consist of parts that must
-interact in a precisely engineered fashion; to correct an error, you
-need not know the history of the erroneous passage.
-
-
-@node Compatibility
-@chapter Compatibility with Other Implementations
-
-With certain exceptions, utility programs and libraries for GNU should
-be upward compatible with those in Berkeley Unix, and upward compatible
-with @sc{ANSI} C if @sc{ANSI} C specifies their behavior, and upward
-compatible with @sc{POSIX} if @sc{POSIX} specifies their behavior.
-
-When these standards conflict, it is useful to offer compatibility
-modes for each of them.
-
-@sc{ANSI} C and @sc{POSIX} prohibit many kinds of extensions.  Feel
-free to make the extensions anyway, and include a @samp{--ansi} or
-@samp{--compatible} option to turn them off.  However, if the extension
-has a significant chance of breaking any real programs or scripts,
-then it is not really upward compatible.  Try to redesign its
-interface.
-
-Many GNU programs suppress extensions that conflict with POSIX if the
-environment variable @code{POSIXLY_CORRECT} is defined (even if it is
-defined with a null value).  Please make your program recognize this
-variable if appropriate.
-
-When a feature is used only by users (not by programs or command
-files), and it is done poorly in Unix, feel free to replace it
-completely with something totally different and better.  (For example,
-vi is replaced with Emacs.)  But it is nice to offer a compatible
-feature as well.  (There is a free vi clone, so we offer it.)
-
-Additional useful features not in Berkeley Unix are welcome.
-Additional programs with no counterpart in Unix may be useful,
-but our first priority is usually to duplicate what Unix already
-has.
-
-@comment The makefile standards are in a separate file that is also
-@comment included by make.texinfo.  Done by roland@gnu.ai.mit.edu on 1/6/93.
-@include make-stds.texi
-
-@node Configuration
-@chapter How Configuration Should Work
-
-Each GNU distribution should come with a shell script named
-@code{configure}.  This script is given arguments which describe the
-kind of machine and system you want to compile the program for.
-
-The @code{configure} script must record the configuration options so
-that they affect compilation.
-
-One way to do this is to make a link from a standard name such as
-@file{config.h} to the proper configuration file for the chosen system.
-If you use this technique, the distribution should @emph{not} contain a
-file named @file{config.h}.  This is so that people won't be able to
-build the program without configuring it first.
-
-Another thing that @code{configure} can do is to edit the Makefile.  If
-you do this, the distribution should @emph{not} contain a file named
-@file{Makefile}.  Instead, include a file @file{Makefile.in} which
-contains the input used for editing.  Once again, this is so that people
-won't be able to build the program without configuring it first.
-
-If @code{configure} does write the @file{Makefile}, then @file{Makefile}
-should have a target named @file{Makefile} which causes @code{configure}
-to be rerun, setting up the same configuration that was set up last
-time.  The files that @code{configure} reads should be listed as
-dependencies of @file{Makefile}.
-
-All the files which are output from the @code{configure} script should
-have comments at the beginning explaining that they were generated
-automatically using @code{configure}.  This is so that users won't think
-of trying to edit them by hand.
-
-The @code{configure} script should write a file named @file{config.status}
-which describes which configuration options were specified when the
-program was last configured.  This file should be a shell script which,
-if run, will recreate the same configuration.
-
-The @code{configure} script should accept an option of the form
-@samp{--srcdir=@var{dirname}} to specify the directory where sources are found
-(if it is not the current directory).  This makes it possible to build
-the program in a separate directory, so that the actual source directory
-is not modified.
-
-If the user does not specify @samp{--srcdir}, then @code{configure} should
-check both @file{.} and @file{..} to see if it can find the sources.  If
-it finds the sources in one of these places, it should use them from
-there.  Otherwise, it should report that it cannot find the sources, and
-should exit with nonzero status.
-
-Usually the easy way to support @samp{--srcdir} is by editing a
-definition of @code{VPATH} into the Makefile.  Some rules may need to
-refer explicitly to the specified source directory.  To make this
-possible, @code{configure} can add to the Makefile a variable named
-@code{srcdir} whose value is precisely the specified directory.
-
-The @code{configure} script should also take an argument which specifies the
-type of system to build the program for.  This argument should look like
-this:
-
-@example
-@var{cpu}-@var{company}-@var{system}
-@end example
-
-For example, a Sun 3 might be @samp{m68k-sun-sunos4.1}.
-
-The @code{configure} script needs to be able to decode all plausible
-alternatives for how to describe a machine.  Thus, @samp{sun3-sunos4.1}
-would be a valid alias.  For many programs, @samp{vax-dec-ultrix} would
-be an alias for @samp{vax-dec-bsd}, simply because the differences
-between Ultrix and @sc{BSD} are rarely noticeable, but a few programs
-might need to distinguish them.
-@c Real 4.4BSD now runs on some Suns.
-
-There is a shell script called @file{config.sub} that you can use
-as a subroutine to validate system types and canonicalize aliases.
-
-Other options are permitted to specify in more detail the software
-or hardware present on the machine, and include or exclude optional
-parts of the package:
-
-@table @samp
-@item --enable-@var{feature}@r{[}=@var{parameter}@r{]}
-Configure the package to build and install an optional user-level
-facility called @var{feature}.  This allows users to choose which
-optional features to include.  Giving an optional @var{parameter} of
-@samp{no} should omit @var{feature}, if it is built by default.
-
-No @samp{--enable} option should @strong{ever} cause one feature to
-replace another.  No @samp{--enable} option should ever substitute one
-useful behavior for another useful behavior.  The only proper use for
-@samp{--enable} is for questions of whether to build part of the program
-or exclude it.
-
-@item --with-@var{package}
-@c @r{[}=@var{parameter}@r{]}
-The package @var{package} will be installed, so configure this package
-to work with @var{package}.
-
-@c  Giving an optional @var{parameter} of
-@c @samp{no} should omit @var{package}, if it is used by default.
-
-Possible values of @var{package} include @samp{x}, @samp{x-toolkit},
-@samp{gnu-as} (or @samp{gas}), @samp{gnu-ld}, @samp{gnu-libc}, and
-@samp{gdb}.
-
-Do not use a @samp{--with} option to specify the file name to use to
-find certain files.  That is outside the scope of what @samp{--with}
-options are for.
-
-@item --nfp
-The target machine has no floating point processor.
-
-@item --gas
-The target machine assembler is GAS, the GNU assembler.
-This is obsolete; users should use @samp{--with-gnu-as} instead.
-
-@item --x
-The target machine has the X Window System installed.
-This is obsolete; users should use @samp{--with-x} instead.
-@end table
-
-All @code{configure} scripts should accept all of these ``detail''
-options, whether or not they make any difference to the particular
-package at hand.  In particular, they should accept any option that
-starts with @samp{--with-} or @samp{--enable-}.  This is so users will
-be able to configure an entire GNU source tree at once with a single set
-of options.
-
-You will note that the categories @samp{--with-} and @samp{--enable-}
-are narrow: they @strong{do not} provide a place for any sort of option
-you might think of.  That is deliberate.  We want to limit the possible
-configuration options in GNU software.  We do not want GNU programs to
-have idiosyncratic configuration options.
-
-Packages that perform part of compilation may support cross-compilation.
-In such a case, the host and target machines for the program may be
-different.  The @code{configure} script should normally treat the
-specified type of system as both the host and the target, thus producing
-a program which works for the same type of machine that it runs on.
-
-The way to build a cross-compiler, cross-assembler, or what have you, is
-to specify the option @samp{--host=@var{hosttype}} when running
-@code{configure}.  This specifies the host system without changing the
-type of target system.  The syntax for @var{hosttype} is the same as
-described above.
-
-Bootstrapping a cross-compiler requires compiling it on a machine other
-than the host it will run on.  Compilation packages accept a
-configuration option @samp{--build=@var{hosttype}} for specifying the
-configuration on which you will compile them, in case that is different
-from the host.
-
-Programs for which cross-operation is not meaningful need not accept the
-@samp{--host} option, because configuring an entire operating system for
-cross-operation is not a meaningful thing.
-
-Some programs have ways of configuring themselves automatically.  If
-your program is set up to do this, your @code{configure} script can simply
-ignore most of its arguments.
-
-@node Source Language
-@chapter Using Languages Other Than C
-
-Using a language other than C is like using a non-standard feature: it
-will cause trouble for users.  Even if GCC supports the other language,
-users may find it inconvenient to have to install the compiler for that
-other language in order to build your program.  So please write in C.
-
-There are three exceptions for this rule:
-
-@itemize @bullet
-@item
-It is okay to use a special language if the same program contains an
-interpreter for that language.
-
-Thus, it is not a problem that GNU Emacs contains code written in Emacs
-Lisp, because it comes with a Lisp interpreter.
-
-@item
-It is okay to use another language in a tool specifically intended for
-use with that language.
-
-This is okay because the only people who want to build the tool will be
-those who have installed the other language anyway.
-
-@item
-If an application is not of extremely widespread interest, then perhaps
-it's not important if the application is inconvenient to install.
-@end itemize
-
-@node Formatting
-@chapter Formatting Your Source Code
-
-It is important to put the open-brace that starts the body of a C
-function in column zero, and avoid putting any other open-brace or
-open-parenthesis or open-bracket in column zero.  Several tools look
-for open-braces in column zero to find the beginnings of C functions.
-These tools will not work on code not formatted that way.
-
-It is also important for function definitions to start the name of the
-function in column zero.  This helps people to search for function
-definitions, and may also help certain tools recognize them.  Thus,
-the proper format is this:
-
-@example
-static char *
-concat (s1, s2)        /* Name starts in column zero here */
-     char *s1, *s2;
-@{                     /* Open brace in column zero here */
-  @dots{}
-@}
-@end example
-
-@noindent
-or, if you want to use @sc{ANSI} C, format the definition like this:
-
-@example
-static char *
-concat (char *s1, char *s2)
-@{
-  @dots{}
-@}
-@end example
-
-In @sc{ANSI} C, if the arguments don't fit nicely on one line,
-split it like this:
-
-@example
-int
-lots_of_args (int an_integer, long a_long, short a_short,
-              double a_double, float a_float)
-@dots{}
-@end example
-
-For the body of the function, we prefer code formatted like this:
-
-@example
-if (x < foo (y, z))
-  haha = bar[4] + 5;
-else
-  @{
-    while (z)
-      @{
-        haha += foo (z, z);
-        z--;
-      @}
-    return ++x + bar ();
-  @}
-@end example
-
-We find it easier to read a program when it has spaces before the
-open-parentheses and after the commas.  Especially after the commas.
-
-When you split an expression into multiple lines, split it
-before an operator, not after one.  Here is the right way:
-
-@example
-if (foo_this_is_long && bar > win (x, y, z)
-    && remaining_condition)
-@end example
-
-Try to avoid having two operators of different precedence at the same
-level of indentation.  For example, don't write this:
-
-@example
-mode = (inmode[j] == VOIDmode
-        || GET_MODE_SIZE (outmode[j]) > GET_MODE_SIZE (inmode[j])
-        ? outmode[j] : inmode[j]);
-@end example
-
-Instead, use extra parentheses so that the indentation shows the nesting:
-
-@example
-mode = ((inmode[j] == VOIDmode
-         || (GET_MODE_SIZE (outmode[j]) > GET_MODE_SIZE (inmode[j])))
-        ? outmode[j] : inmode[j]);
-@end example
-
-Insert extra parentheses so that Emacs will indent the code properly.
-For example, the following indentation looks nice if you do it by hand,
-but Emacs would mess it up:
-
-@example
-v = rup->ru_utime.tv_sec*1000 + rup->ru_utime.tv_usec/1000
-    + rup->ru_stime.tv_sec*1000 + rup->ru_stime.tv_usec/1000;
-@end example
-
-But adding a set of parentheses solves the problem:
-
-@example
-v = (rup->ru_utime.tv_sec*1000 + rup->ru_utime.tv_usec/1000
-     + rup->ru_stime.tv_sec*1000 + rup->ru_stime.tv_usec/1000);
-@end example
-
-Format do-while statements like this:
-
-@example
-do
-  @{
-    a = foo (a);
-  @}
-while (a > 0);
-@end example
-
-Please use formfeed characters (control-L) to divide the program into
-pages at logical places (but not within a function).  It does not matter
-just how long the pages are, since they do not have to fit on a printed
-page.  The formfeeds should appear alone on lines by themselves.
-
-
-@node Comments
-@chapter Commenting Your Work
-
-Every program should start with a comment saying briefly what it is for.
-Example: @samp{fmt - filter for simple filling of text}.
-
-Please put a comment on each function saying what the function does,
-what sorts of arguments it gets, and what the possible values of
-arguments mean and are used for.  It is not necessary to duplicate in
-words the meaning of the C argument declarations, if a C type is being
-used in its customary fashion.  If there is anything nonstandard about
-its use (such as an argument of type @code{char *} which is really the
-address of the second character of a string, not the first), or any
-possible values that would not work the way one would expect (such as,
-that strings containing newlines are not guaranteed to work), be sure
-to say so.
-
-Also explain the significance of the return value, if there is one.
-
-Please put two spaces after the end of a sentence in your comments, so
-that the Emacs sentence commands will work.  Also, please write
-complete sentences and capitalize the first word.  If a lower-case
-identifer comes at the beginning of a sentence, don't capitalize it!
-Changing the spelling makes it a different identifier.  If you don't
-like starting a sentence with a lower case letter, write the sentence
-differently (e.g., ``The identifier lower-case is @dots{}'').
-
-The comment on a function is much clearer if you use the argument
-names to speak about the argument values.  The variable name itself
-should be lower case, but write it in upper case when you are speaking
-about the value rather than the variable itself.  Thus, ``the inode
-number NODE_NUM'' rather than ``an inode''.
-
-There is usually no purpose in restating the name of the function in
-the comment before it, because the reader can see that for himself.
-There might be an exception when the comment is so long that the function
-itself would be off the bottom of the screen.
-
-There should be a comment on each static variable as well, like this:
-
-@example
-/* Nonzero means truncate lines in the display;
-   zero means continue them.  */
-int truncate_lines;
-@end example
-
-Every @samp{#endif} should have a comment, except in the case of short
-conditionals (just a few lines) that are not nested.  The comment should
-state the condition of the conditional that is ending, @emph{including
-its sense}.  @samp{#else} should have a comment describing the condition
-@emph{and sense} of the code that follows.  For example:
-
-@example
-#ifdef foo
-  @dots{}
-#else /* not foo */
-  @dots{}
-#endif /* not foo */
-@end example
-
-@noindent
-but, by contrast, write the comments this way for a @samp{#ifndef}:
-
-@example
-#ifndef foo
-  @dots{}
-#else /* foo */
-  @dots{}
-#endif /* foo */
-@end example
-
-
-@node Syntactic Conventions
-@chapter Clean Use of C Constructs
-
-Please explicitly declare all arguments to functions.
-Don't omit them just because they are @code{int}s.
-
-Declarations of external functions and functions to appear later in the
-source file should all go in one place near the beginning of the file
-(somewhere before the first function definition in the file), or else
-should go in a header file.  Don't put @code{extern} declarations inside
-functions.
-
-It used to be common practice to use the same local variables (with
-names like @code{tem}) over and over for different values within one
-function.  Instead of doing this, it is better declare a separate local
-variable for each distinct purpose, and give it a name which is
-meaningful.  This not only makes programs easier to understand, it also
-facilitates optimization by good compilers.  You can also move the
-declaration of each local variable into the smallest scope that includes
-all its uses.  This makes the program even cleaner.
-
-Don't use local variables or parameters that shadow global identifiers.
-
-Don't declare multiple variables in one declaration that spans lines.
-Start a new declaration on each line, instead.  For example, instead
-of this:
-
-@example
-int    foo,
-       bar;
-@end example
-
-@noindent
-write either this:
-
-@example
-int foo, bar;
-@end example
-
-@noindent
-or this:
-
-@example
-int foo;
-int bar;
-@end example
-
-@noindent
-(If they are global variables, each should have a comment preceding it
-anyway.)
-
-When you have an @code{if}-@code{else} statement nested in another
-@code{if} statement, always put braces around the @code{if}-@code{else}.
-Thus, never write like this:
-
-@example
-if (foo)
-  if (bar)
-    win ();
-  else
-    lose ();
-@end example
-
-@noindent
-always like this:
-
-@example
-if (foo)
-  @{
-    if (bar)
-      win ();
-    else
-      lose ();
-  @}
-@end example
-
-If you have an @code{if} statement nested inside of an @code{else}
-statement, either write @code{else if} on one line, like this,
-
-@example
-if (foo)
-  @dots{}
-else if (bar)
-  @dots{}
-@end example
-
-@noindent
-with its @code{then}-part indented like the preceding @code{then}-part,
-or write the nested @code{if} within braces like this:
-
-@example
-if (foo)
-  @dots{}
-else
-  @{
-    if (bar)
-      @dots{}
-  @}
-@end example
-
-Don't declare both a structure tag and variables or typedefs in the
-same declaration.  Instead, declare the structure tag separately
-and then use it to declare the variables or typedefs.
-
-Try to avoid assignments inside @code{if}-conditions.  For example,
-don't write this:
-
-@example
-if ((foo = (char *) malloc (sizeof *foo)) == 0)
-  fatal ("virtual memory exhausted");
-@end example
-
-@noindent
-instead, write this:
-
-@example
-foo = (char *) malloc (sizeof *foo);
-if (foo == 0)
-  fatal ("virtual memory exhausted");
-@end example
-
-Don't make the program ugly to placate @code{lint}.  Please don't insert any
-casts to @code{void}.  Zero without a cast is perfectly fine as a null
-pointer constant.
-
-@node  Names
-@chapter Naming Variables and Functions
-
-Please use underscores to separate words in a name, so that the Emacs
-word commands can be useful within them.  Stick to lower case; reserve
-upper case for macros and @code{enum} constants, and for name-prefixes
-that follow a uniform convention.
-
-For example, you should use names like @code{ignore_space_change_flag};
-don't use names like @code{iCantReadThis}.
-
-Variables that indicate whether command-line options have been
-specified should be named after the meaning of the option, not after
-the option-letter.  A comment should state both the exact meaning of
-the option and its letter.  For example,
-
-@example
-/* Ignore changes in horizontal whitespace (-b).  */
-int ignore_space_change_flag;
-@end example
-
-When you want to define names with constant integer values, use
-@code{enum} rather than @samp{#define}.  GDB knows about enumeration
-constants.
-
-Use file names of 14 characters or less, to avoid creating gratuitous
-problems on System V.  You can use the program @code{doschk} to test for
-this.  @code{doschk} also tests for potential name conflicts if the
-files were loaded onto an MS-DOS file system---something you may or may
-not care about.
-
-
-@node Using Extensions
-@chapter Using Non-standard Features
-
-Many GNU facilities that already exist support a number of convenient
-extensions over the comparable Unix facilities.  Whether to use these
-extensions in implementing your program is a difficult question.
-
-On the one hand, using the extensions can make a cleaner program.
-On the other hand, people will not be able to build the program
-unless the other GNU tools are available.  This might cause the
-program to work on fewer kinds of machines.
-
-With some extensions, it might be easy to provide both alternatives.
-For example, you can define functions with a ``keyword'' @code{INLINE}
-and define that as a macro to expand into either @code{inline} or
-nothing, depending on the compiler.
-
-In general, perhaps it is best not to use the extensions if you can
-straightforwardly do without them, but to use the extensions if they
-are a big improvement.
-
-An exception to this rule are the large, established programs (such as
-Emacs) which run on a great variety of systems.  Such programs would
-be broken by use of GNU extensions.
-
-Another exception is for programs that are used as part of
-compilation: anything that must be compiled with other compilers in
-order to bootstrap the GNU compilation facilities.  If these require
-the GNU compiler, then no one can compile them without having them
-installed already.  That would be no good.
-
-Since most computer systems do not yet implement @sc{ANSI} C, using the
-@sc{ANSI} C features is effectively using a GNU extension, so the
-same considerations apply.  (Except for @sc{ANSI} features that we
-discourage, such as trigraphs---don't ever use them.)
-
-
-@node System Functions
-@chapter Calling System Functions
-
-C implementations differ substantially.  ANSI C reduces but does not
-eliminate the incompatibilities; meanwhile, many users wish to compile
-GNU software with pre-ANSI compilers.  This chapter gives
-recommendations for how to use the more or less standard C library
-functions to avoid unnecessary loss of portability.
-
-@itemize @bullet
-@item
-Don't use the value of @code{sprintf}.  It returns the number of
-characters written on some systems, but not on all systems.
-
-@item
-Don't declare system functions explicitly.
-
-Almost any declaration for a system function is wrong on some system.
-To minimize conflicts, leave it to the system header files to declare
-system functions.  If the headers don't declare a function, let it
-remain undeclared.
-
-While it may seem unclean to use a function without declaring it, in
-practice this works fine for most system library functions on the
-systems where this really happens.  The problem is only theoretical.  By
-contrast, actual declarations have frequently caused actual conflicts.
-
-@item
-If you must declare a system function, don't specify the argument types.
-Use an old-style declaration, not an ANSI prototype.  The more you
-specify about the function, the more likely a conflict.
-
-@item
-In particular, don't unconditionally declare @code{malloc} or
-@code{realloc}.
-
-Most GNU programs use those functions just once, in functions
-conventionally named @code{xmalloc} and @code{xrealloc}.  These
-functions call @code{malloc} and @code{realloc}, respectively, and
-check the results.
-
-Because @code{xmalloc} and @code{xrealloc} are defined in your program,
-you can declare them in other files without any risk of type conflict.
-
-On most systems, @code{int} is the same length as a pointer; thus, the
-calls to @code{malloc} and @code{realloc} work fine.  For the few
-exceptional systems (mostly 64-bit machines), you can use
-@strong{conditionalized} declarations of @code{malloc} and
-@code{realloc}---or put these declarations in configuration files
-specific to those systems.
-
-@item
-The string functions require special treatment.  Some Unix systems have
-a header file @file{string.h}; other have @file{strings.h}.  Neither
-file name is portable.  There are two things you can do: use Autoconf to
-figure out which file to include, or don't include either file.
-
-@item
-If you don't include either strings file, you can't get declarations for
-the string functions from the header file in the usual way.
-
-That causes less of a problem than you might think.  The newer ANSI
-string functions are off-limits anyway because many systems still don't
-support them.  The string functions you can use are these:
-
-@example
-strcpy   strncpy   strcat   strncat
-strlen   strcmp   strncmp
-strchr   strrchr
-@end example
-
-The copy and concatenate functions work fine without a declaration as
-long as you don't use their values.  Using their values without a
-declaration fails on systems where the width of a pointer differs from
-the width of @code{int}, and perhaps in other cases.  It is trivial to
-avoid using their values, so do that.
-
-The compare functions and @code{strlen} work fine without a declaration
-on most systems, possibly all the ones that GNU software runs on.
-You may find it necessary to declare them @strong{conditionally} on a
-few systems.
-
-The search functions must be declared to return @code{char *}.  Luckily,
-there is no variation in the data type they return.  But there is
-variation in their names.  Some systems give these functions the names
-@code{index} and @code{rindex}; other systems use the names
-@code{strchr} and @code{strrchr}.  Some systems support both pairs of
-names, but neither pair works on all systems.
-
-You should pick a single pair of names and use it throughout your
-program.  (Nowadays, it is better to choose @code{strchr} and
-@code{strrchr}.)  Declare both of those names as functions returning
-@code{char *}.  On systems which don't support those names, define them
-as macros in terms of the other pair.  For example, here is what to put
-at the beginning of your file (or in a header) if you want to use the
-names @code{strchr} and @code{strrchr} throughout:
-
-@example
-#ifndef HAVE_STRCHR
-#define strchr index
-#endif
-#ifndef HAVE_STRRCHR
-#define strrchr rindex
-#endif
-
-char *strchr ();
-char *strrchr ();
-@end example
-@end itemize
-
-Here we assume that @code{HAVE_STRCHR} and @code{HAVE_STRRCHR} are
-macros defined in systems where the corresponding functions exist.
-One way to get them properly defined is to use Autoconf.
-
-@node Semantics
-@chapter Program Behavior for All Programs
-
-Avoid arbitrary limits on the length or number of @emph{any} data
-structure, including filenames, lines, files, and symbols, by allocating
-all data structures dynamically.  In most Unix utilities, ``long lines
-are silently truncated''.  This is not acceptable in a GNU utility.
-
-Utilities reading files should not drop NUL characters, or any other
-nonprinting characters @emph{including those with codes above 0177}.  The
-only sensible exceptions would be utilities specifically intended for
-interface to certain types of printers that can't handle those characters.
-
-Check every system call for an error return, unless you know you wish to
-ignore errors.  Include the system error text (from @code{perror} or
-equivalent) in @emph{every} error message resulting from a failing
-system call, as well as the name of the file if any and the name of the
-utility.  Just ``cannot open foo.c'' or ``stat failed'' is not
-sufficient.
-
-Check every call to @code{malloc} or @code{realloc} to see if it
-returned zero.  Check @code{realloc} even if you are making the block
-smaller; in a system that rounds block sizes to a power of 2,
-@code{realloc} may get a different block if you ask for less space.
-
-In Unix, @code{realloc} can destroy the storage block if it returns
-zero.  GNU @code{realloc} does not have this bug: if it fails, the
-original block is unchanged.  Feel free to assume the bug is fixed.  If
-you wish to run your program on Unix, and wish to avoid lossage in this
-case, you can use the GNU @code{malloc}.
-
-You must expect @code{free} to alter the contents of the block that was
-freed.  Anything you want to fetch from the block, you must fetch before
-calling @code{free}.
-
-If @code{malloc} fails in a noninteractive program, make that a fatal
-error.  In an interactive program (one that reads commands from the
-user), it is better to abort the command and return to the command
-reader loop.  This allows the user to kill other processes to free up
-virtual memory, and then try the command again.
-
-Use @code{getopt_long} to decode arguments, unless the argument syntax
-makes this unreasonable.
-
-When static storage is to be written in during program execution, use
-explicit C code to initialize it.  Reserve C initialized declarations
-for data that will not be changed.
-
-Try to avoid low-level interfaces to obscure Unix data structures (such
-as file directories, utmp, or the layout of kernel memory), since these
-are less likely to work compatibly.  If you need to find all the files
-in a directory, use @code{readdir} or some other high-level interface.
-These will be supported compatibly by GNU.
-
-By default, the GNU system will provide the signal handling functions of
-@sc{BSD} and of @sc{POSIX}.  So GNU software should be written to use
-these.
-
-In error checks that detect ``impossible'' conditions, just abort.
-There is usually no point in printing any message.  These checks
-indicate the existence of bugs.  Whoever wants to fix the bugs will have
-to read the source code and run a debugger.  So explain the problem with
-comments in the source.  The relevant data will be in variables, which
-are easy to examine with the debugger, so there is no point moving them
-elsewhere.
-
-
-@node Errors
-@chapter Formatting Error Messages
-
-Error messages from compilers should look like this:
-
-@example
-@var{source-file-name}:@var{lineno}: @var{message}
-@end example
-
-Error messages from other noninteractive programs should look like this:
-
-@example
-@var{program}:@var{source-file-name}:@var{lineno}: @var{message}
-@end example
-
-@noindent
-when there is an appropriate source file, or like this:
-
-@example
-@var{program}: @var{message}
-@end example
-
-@noindent
-when there is no relevant source file.
-
-In an interactive program (one that is reading commands from a
-terminal), it is better not to include the program name in an error
-message.  The place to indicate which program is running is in the
-prompt or with the screen layout.  (When the same program runs with
-input from a source other than a terminal, it is not interactive and
-would do best to print error messages using the noninteractive style.)
-
-The string @var{message} should not begin with a capital letter when
-it follows a program name and/or filename.  Also, it should not end
-with a period.
-
-Error messages from interactive programs, and other messages such as
-usage messages, should start with a capital letter.  But they should not
-end with a period.
-
-
-@node Libraries
-@chapter Library Behavior
-
-Try to make library functions reentrant.  If they need to do dynamic
-storage allocation, at least try to avoid any nonreentrancy aside from
-that of @code{malloc} itself.
-
-Here are certain name conventions for libraries, to avoid name
-conflicts.
-
-Choose a name prefix for the library, more than two characters long.
-All external function and variable names should start with this
-prefix.  In addition, there should only be one of these in any given
-library member.  This usually means putting each one in a separate
-source file.
-
-An exception can be made when two external symbols are always used
-together, so that no reasonable program could use one without the
-other; then they can both go in the same file.
-
-External symbols that are not documented entry points for the user
-should have names beginning with @samp{_}.  They should also contain
-the chosen name prefix for the library, to prevent collisions with
-other libraries.  These can go in the same files with user entry
-points if you like.
-
-Static functions and variables can be used as you like and need not
-fit any naming convention.
-
-
-@node Portability
-@chapter Portability As It Applies to GNU
-
-Much of what is called ``portability'' in the Unix world refers to
-porting to different Unix versions.  This is a secondary consideration
-for GNU software, because its primary purpose is to run on top of one
-and only one kernel, the GNU kernel, compiled with one and only one C
-compiler, the GNU C compiler.  The amount and kinds of variation among
-GNU systems on different cpu's will be like the variation among Berkeley
-4.3 systems on different cpu's.
-
-All users today run GNU software on non-GNU systems.  So supporting a
-variety of non-GNU systems is desirable; simply not paramount.
-The easiest way to achieve portability to a reasonable range of systems
-is to use Autoconf.  It's unlikely that your program needs to know more
-information about the host machine than Autoconf can provide, simply
-because most of the programs that need such knowledge have already been
-written.
-
-It is difficult to be sure exactly what facilities the GNU kernel
-will provide, since it isn't finished yet.  Therefore, assume you can
-use anything in 4.3; just avoid using the format of semi-internal data
-bases (e.g., directories) when there is a higher-level alternative
-(@code{readdir}).
-
-You can freely assume any reasonably standard facilities in the C
-language, libraries or kernel, because we will find it necessary to
-support these facilities in the full GNU system, whether or not we
-have already done so.  The fact that there may exist kernels or C
-compilers that lack these facilities is irrelevant as long as the GNU
-kernel and C compiler support them.
-
-It remains necessary to worry about differences among cpu types, such
-as the difference in byte ordering and alignment restrictions.  It's
-unlikely that 16-bit machines will ever be supported by GNU, so there
-is no point in spending any time to consider the possibility that an
-int will be less than 32 bits.
-
-You can assume that all pointers have the same format, regardless
-of the type they point to, and that this is really an integer.
-There are some weird machines where this isn't true, but they aren't
-important; don't waste time catering to them.  Besides, eventually
-we will put function prototypes into all GNU programs, and that will
-probably make your program work even on weird machines.
-
-Since some important machines (including the 68000) are big-endian,
-it is important not to assume that the address of an @code{int} object
-is also the address of its least-significant byte.  Thus, don't
-make the following mistake:
-
-@example
-int c;
-@dots{}
-while ((c = getchar()) != EOF)
-        write(file_descriptor, &c, 1);
-@end example
-
-You can assume that it is reasonable to use a meg of memory.  Don't
-strain to reduce memory usage unless it can get to that level.  If
-your program creates complicated data structures, just make them in
-core and give a fatal error if malloc returns zero.
-
-If a program works by lines and could be applied to arbitrary
-user-supplied input files, it should keep only a line in memory, because
-this is not very hard and users will want to be able to operate on input
-files that are bigger than will fit in core all at once.
-
-
-@node User Interfaces
-@chapter Standards for Command Line Interfaces
-
-Please don't make the behavior of a utility depend on the name used
-to invoke it.  It is useful sometimes to make a link to a utility
-with a different name, and that should not change what it does.
-
-Instead, use a run time option or a compilation switch or both
-to select among the alternate behaviors.
-
-Likewise, please don't make the behavior of the program depend on the
-type of output device it is used with.  Device independence is an
-important principle of the system's design; do not compromise it
-merely to save someone from typing an option now and then.
-
-If you think one behavior is most useful when the output is to a
-terminal, and another is most useful when the output is a file or a
-pipe, then it is usually best to make the default behavior the one that
-is useful with output to a terminal, and have an option for the other
-behavior.
-
-Compatibility requires certain programs to depend on the type of output
-device.  It would be disastrous if @code{ls} or @code{sh} did not do so
-in the way all users expect.  In some of these cases, we supplement the
-program with a preferred alternate version that does not depend on the
-output device type.  For example, we provide a @code{dir} program much
-like @code{ls} except that its default output format is always
-multi-column format.
-
-It is a good idea to follow the @sc{POSIX} guidelines for the
-command-line options of a program.  The easiest way to do this is to use
-@code{getopt} to parse them.  Note that the GNU version of @code{getopt}
-will normally permit options anywhere among the arguments unless the
-special argument @samp{--} is used.  This is not what @sc{POSIX}
-specifies; it is a GNU extension.
-
-Please define long-named options that are equivalent to the
-single-letter Unix-style options.  We hope to make GNU more user
-friendly this way.  This is easy to do with the GNU function
-@code{getopt_long}.
-
-One of the advantages of long-named options is that they can be
-consistent from program to program.  For example, users should be able
-to expect the ``verbose'' option of any GNU program which has one, to be
-spelled precisely @samp{--verbose}.  To achieve this uniformity, look at
-the table of common long-option names when you choose the option names
-for your program.  The table appears below.
-
-If you use names not already in the table, please send
-@samp{gnu@@prep.ai.mit.edu} a list of them, with their meanings, so we
-can update the table.
-
-It is usually a good idea for file names given as ordinary arguments
-to be input files only; any output files would be specified using
-options (preferably @samp{-o}).  Even if you allow an output file name
-as an ordinary argument for compatibility, try to provide a suitable
-option as well.  This will lead to more consistency among GNU
-utilities, so that there are fewer idiosyncracies for users to
-remember.
-
-Programs should support an option @samp{--version} which prints the
-program's version number on standard output and exits successfully, and
-an option @samp{--help} which prints option usage information on
-standard output and exits successfully.  These options should inhibit
-the normal function of the command; they should do nothing except print
-the requested information.
-
-@c Please leave newlines between items in this table; it's much easier
-@c to update when it isn't completely squashed together and unreadable.
-@c When there is more than one short option for a long option name, put
-@c a semicolon between the lists of the programs that use them, not a
-@c period.   --friedman
-
-@table @samp
-
-@item after-date
-@samp{-N} in @code{tar}.
-
-@item all
-@samp{-a} in @code{du}, @code{ls}, @code{nm}, @code{stty}, @code{uname},
-and @code{unexpand}.
-
-@item all-text
-@samp{-a} in @code{diff}.
-
-@item almost-all
-@samp{-A} in @code{ls}.
-
-@item append
-@samp{-a} in @code{etags}, @code{tee}, @code{time};
-@samp{-r} in @code{tar}.
-
-@item archive
-@samp{-a} in @code{cp}.
-
-@item archive-name
-@samp{-n} in @code{shar}.
-
-@item arglength
-@samp{-l} in @code{m4}.
-
-@item ascii
-@samp{-a} in @code{diff}.
-
-@item assume-new
-@samp{-W} in Make.
-
-@item assume-old
-@samp{-o} in Make.
-
-@item auto-check
-@samp{-a} in @code{recode}.
-
-@item auto-pager
-@samp{-a} in @code{wdiff}.
-
-@item auto-reference
-@samp{-A} in @code{ptx}.
-
-@item avoid-wraps
-@samp{-n} in @code{wdiff}.
-
-@item backward-search
-@samp{-B} in @code{ctags}.
-
-@item basename
-@samp{-f} in @code{shar}.
-
-@item batch
-Used in GDB.
-
-@item baud
-Used in GDB.
-
-@item before
-@samp{-b} in @code{tac}.
-
-@item binary
-@samp{-b} in @code{cpio} and @code{diff}.
-
-@item bits-per-code
-@samp{-b} in @code{shar}.
-
-@item block-size
-Used in @code{cpio} and @code{tar}.
-
-@item blocks
-@samp{-b} in @code{head} and @code{tail}.
-
-@item break-file
-@samp{-b} in @code{ptx}.
-
-@item brief
-Used in various programs to make output shorter.
-
-@item bytes
-@samp{-c} in @code{head}, @code{split}, and @code{tail}.
-
-@item c@t{++}
-@samp{-C} in @code{etags}.
-
-@item catenate
-@samp{-A} in @code{tar}.
-
-@item cd
-Used in various programs to specify the directory to use.
-
-@item changes
-@samp{-c} in @code{chgrp} and @code{chown}.
-
-@item classify
-@samp{-F} in @code{ls}.
-
-@item colons
-@samp{-c} in @code{recode}.
-
-@item command
-@samp{-c} in @code{su};
-@samp{-x} in GDB.
-
-@item compare
-@samp{-d} in @code{tar}.
-
-@item compress
-@samp{-Z} in @code{tar} and @code{shar}.
-
-@item concatenate
-@samp{-A} in @code{tar}.
-
-@item confirmation
-@samp{-w} in @code{tar}.
-
-@item context
-Used in @code{diff}.
-
-@item copyright
-@samp{-C} in @code{ptx}, @code{recode}, and @code{wdiff}.
-
-@item core
-Used in GDB.
-
-@item count
-@samp{-q} in @code{who}.
-
-@item count-links
-@samp{-l} in @code{du}.
-
-@item create
-Used in @code{tar} and @code{cpio}.
-
-@item cut-mark
-@samp{-c} in @code{shar}.
-
-@item cxref
-@samp{-x} in @code{ctags}.
-
-@item date
-@samp{-d} in @code{touch}.
-
-@item debug
-@samp{-d} in Make and @code{m4};
-@samp{-t} in Bison.
-
-@item define
-@samp{-D} in @code{m4}.
-
-@item defines
-@samp{-d} in Bison and @code{ctags}.
-
-@item delete
-@samp{-D} in @code{tar}.
-
-@item dereference
-@samp{-L} in @code{chgrp}, @code{chown}, @code{cpio}, @code{du},
-@code{ls}, and @code{tar}.
-
-@item dereference-args
-@samp{-D} in @code{du}.
-
-@item diacritics
-@samp{-d} in @code{recode}.
-
-@item dictionary-order
-@samp{-d} in @code{look}.
-
-@item diff
-@samp{-d} in @code{tar}.
-
-@item digits
-@samp{-n} in @code{csplit}.
-
-@item directory
-Specify the directory to use, in various programs.  In @code{ls}, it
-means to show directories themselves rather than their contents.  In
-@code{rm} and @code{ln}, it means to not treat links to directories
-specially.
-
-@item discard-all
-@samp{-x} in @code{strip}.
-
-@item discard-locals
-@samp{-X} in @code{strip}.
-
-@item dry-run
-@samp{-n} in Make.
-
-@item ed
-@samp{-e} in @code{diff}.
-
-@item elide-empty-files
-@samp{-z} in @code{csplit}.
-
-@item end-delete
-@samp{-x} in @code{wdiff}.
-
-@item end-insert
-@samp{-z} in @code{wdiff}.
-
-@item entire-new-file
-@samp{-N} in @code{diff}.
-
-@item environment-overrides
-@samp{-e} in Make.
-
-@item eof
-@samp{-e} in @code{xargs}.
-
-@item epoch
-Used in GDB.
-
-@item error-limit
-Used in Makeinfo.
-
-@item error-output
-@samp{-o} in @code{m4}.
-
-@item escape
-@samp{-b} in @code{ls}.
-
-@item exclude-from
-@samp{-X} in @code{tar}.
-
-@item exec
-Used in GDB.
-
-@item exit
-@samp{-x} in @code{xargs}.
-
-@item exit-0
-@samp{-e} in @code{unshar}.
-
-@item expand-tabs
-@samp{-t} in @code{diff}.
-
-@item expression
-@samp{-e} in @code{sed}.
-
-@item extern-only
-@samp{-g} in @code{nm}.
-
-@item extract
-@samp{-i} in @code{cpio};
-@samp{-x} in @code{tar}.
-
-@item faces
-@samp{-f} in @code{finger}.
-
-@item fast
-@samp{-f} in @code{su}.
-
-@item fatal-warnings
-@samp{-E} in @code{m4}.
-
-@item file
-@samp{-f} in @code{info}, Make, @code{mt}, and @code{tar};
-@samp{-n} in @code{sed};
-@samp{-r} in @code{touch}.
-
-@item file-prefix
-@samp{-b} in Bison.
-
-@item file-type
-@samp{-F} in @code{ls}.
-
-@item files-from
-@samp{-T} in @code{tar}.
-
-@item fill-column
-Used in Makeinfo.
-
-@item flag-truncation
-@samp{-F} in @code{ptx}.
-
-@item fixed-output-files
-@samp{-y} in Bison.
-
-@item follow
-@samp{-f} in @code{tail}.
-
-@item footnote-style
-Used in Makeinfo.
-
-@item force
-@samp{-f} in @code{cp}, @code{ln}, @code{mv}, and @code{rm}.
-
-@item force-prefix
-@samp{-F} in @code{shar}.
-
-@item format
-Used in @code{ls}, @code{time}, and @code{ptx}.
-
-@item freeze-state
-@samp{-F} in @code{m4}.
-
-@item fullname
-Used in GDB.
-
-@item gap-size
-@samp{-g} in @code{ptx}.
-
-@item get
-@samp{-x} in @code{tar}.
-
-@item graphic
-@samp{-i} in @code{ul}.
-
-@item graphics
-@samp{-g} in @code{recode}.
-
-@item group
-@samp{-g} in @code{install}.
-
-@item gzip
-@samp{-z} in @code{tar} and @code{shar}.
-
-@item hashsize
-@samp{-H} in @code{m4}.
-
-@item header
-@samp{-h} in @code{objdump} and @code{recode}
-
-@item heading
-@samp{-H} in @code{who}.
-
-@item help
-Used to ask for brief usage information.
-
-@item here-delimiter
-@samp{-d} in @code{shar}.
-
-@item hide-control-chars
-@samp{-q} in @code{ls}.
-
-@item idle
-@samp{-u} in @code{who}.
-
-@item ifdef
-@samp{-D} in @code{diff}.
-
-@item ignore
-@samp{-I} in @code{ls};
-@samp{-x} in @code{recode}.
-
-@item ignore-all-space
-@samp{-w} in @code{diff}.
-
-@item ignore-backups
-@samp{-B} in @code{ls}.
-
-@item ignore-blank-lines
-@samp{-B} in @code{diff}.
-
-@item ignore-case
-@samp{-f} in @code{look} and @code{ptx};
-@samp{-i} in @code{diff} and @code{wdiff}.
-
-@item ignore-errors
-@samp{-i} in Make.
-
-@item ignore-file
-@samp{-i} in @code{ptx}.
-
-@item ignore-indentation
-@samp{-S} in @code{etags}.
-
-@item ignore-init-file
-@samp{-f} in Oleo.
-
-@item ignore-interrupts
-@samp{-i} in @code{tee}.
-
-@item ignore-matching-lines
-@samp{-I} in @code{diff}.
-
-@item ignore-space-change
-@samp{-b} in @code{diff}.
-
-@item ignore-zeros
-@samp{-i} in @code{tar}.
-
-@item include
-@samp{-i} in @code{etags};
-@samp{-I} in @code{m4}.
-
-@item include-dir
-@samp{-I} in Make.
-
-@item incremental
-@samp{-G} in @code{tar}.
-
-@item info
-@samp{-i}, @samp{-l}, and @samp{-m} in Finger.
-
-@item initial
-@samp{-i} in @code{expand}.
-
-@item initial-tab
-@samp{-T} in @code{diff}.
-
-@item inode
-@samp{-i} in @code{ls}.
-
-@item interactive
-@samp{-i} in @code{cp}, @code{ln}, @code{mv}, @code{rm};
-@samp{-e} in @code{m4};
-@samp{-p} in @code{xargs};
-@samp{-w} in @code{tar}.
-
-@item intermix-type
-@samp{-p} in @code{shar}.
-
-@item jobs
-@samp{-j} in Make.
-
-@item just-print
-@samp{-n} in Make.
-
-@item keep-going
-@samp{-k} in Make.
-
-@item keep-files
-@samp{-k} in @code{csplit}.
-
-@item kilobytes
-@samp{-k} in @code{du} and @code{ls}.
-
-@item language
-@samp{-l} in @code{etags}.
-
-@item less-mode
-@samp{-l} in @code{wdiff}.
-
-@item level-for-gzip
-@samp{-g} in @code{shar}.
-
-@item line-bytes
-@samp{-C} in @code{split}.
-
-@item lines
-Used in @code{split}, @code{head}, and @code{tail}.
-
-@item link
-@samp{-l} in @code{cpio}.
-
-@item list
-@samp{-t} in @code{cpio};
-@samp{-l} in @code{recode}.
-
-@item list
-@samp{-t} in @code{tar}.
-
-@item literal
-@samp{-N} in @code{ls}.
-
-@item load-average
-@samp{-l} in Make.
-
-@item login
-Used in @code{su}.
-
-@item machine
-No listing of which programs already use this;
-someone should check to
-see if any actually do and tell @code{gnu@@prep.ai.mit.edu}.
-
-@item macro-name
-@samp{-M} in @code{ptx}.
-
-@item mail
-@samp{-m} in @code{hello} and @code{uname}.
-
-@item make-directories
-@samp{-d} in @code{cpio}.
-
-@item makefile
-@samp{-f} in Make.
-
-@item mapped
-Used in GDB.
-
-@item max-args
-@samp{-n} in @code{xargs}.
-
-@item max-chars
-@samp{-n} in @code{xargs}.
-
-@item max-lines
-@samp{-l} in @code{xargs}.
-
-@item max-load
-@samp{-l} in Make.
-
-@item max-procs
-@samp{-P} in @code{xargs}.
-
-@item mesg
-@samp{-T} in @code{who}.
-
-@item message
-@samp{-T} in @code{who}.
-
-@item minimal
-@samp{-d} in @code{diff}.
-
-@item mixed-uuencode
-@samp{-M} in @code{shar}.
-
-@item mode
-@samp{-m} in @code{install}, @code{mkdir}, and @code{mkfifo}.
-
-@item modification-time
-@samp{-m} in @code{tar}.
-
-@item multi-volume
-@samp{-M} in @code{tar}.
-
-@item name-prefix
-@samp{-a} in Bison.
-
-@item nesting-limit
-@samp{-L} in @code{m4}.
-
-@item net-headers
-@samp{-a} in @code{shar}.
-
-@item new-file
-@samp{-W} in Make.
-
-@item no-builtin-rules
-@samp{-r} in Make.
-
-@item no-character-count
-@samp{-w} in @code{shar}.
-
-@item no-check-existing
-@samp{-x} in @code{shar}.
-
-@item no-common
-@samp{-3} in @code{wdiff}.
-
-@item no-create
-@samp{-c} in @code{touch}.
-
-@item no-defines
-@samp{-D} in @code{etags}.
-
-@item no-deleted
-@samp{-1} in @code{wdiff}.
-
-@item no-dereference
-@samp{-d} in @code{cp}.
-
-@item no-inserted
-@samp{-2} in @code{wdiff}.
-
-@item no-keep-going
-@samp{-S} in Make.
-
-@item no-lines
-@samp{-l} in Bison.
-
-@item no-piping
-@samp{-P} in @code{shar}.
-
-@item no-prof
-@samp{-e} in @code{gprof}.
-
-@item no-regex
-@samp{-R} in @code{etags}.
-
-@item no-sort
-@samp{-p} in @code{nm}.
-
-@item no-split
-Used in Makeinfo.
-
-@item no-static
-@samp{-a} in @code{gprof}.
-
-@item no-time
-@samp{-E} in @code{gprof}.
-
-@item no-timestamp
-@samp{-m} in @code{shar}.
-
-@item no-validate
-Used in Makeinfo.
-
-@item no-warn
-Used in various programs to inhibit warnings.
-
-@item node
-@samp{-n} in @code{info}.
-
-@item nodename
-@samp{-n} in @code{uname}.
-
-@item nonmatching
-@samp{-f} in @code{cpio}.
-
-@item nstuff
-@samp{-n} in @code{objdump}.
-
-@item null
-@samp{-0} in @code{xargs}.
-
-@item number
-@samp{-n} in @code{cat}.
-
-@item number-nonblank
-@samp{-b} in @code{cat}.
-
-@item numeric-sort
-@samp{-n} in @code{nm}.
-
-@item numeric-uid-gid
-@samp{-n} in @code{cpio} and @code{ls}.
-
-@item nx
-Used in GDB.
-
-@item old-archive
-@samp{-o} in @code{tar}.
-
-@item old-file
-@samp{-o} in Make.
-
-@item one-file-system
-@samp{-l} in @code{tar}, @code{cp}, and @code{du}.
-
-@item only-file
-@samp{-o} in @code{ptx}.
-
-@item only-prof
-@samp{-f} in @code{gprof}.
-
-@item only-time
-@samp{-F} in @code{gprof}.
-
-@item output
-In various programs, specify the output file name.
-
-@item output-prefix
-@samp{-o} in @code{shar}.
-
-@item override
-@samp{-o} in @code{rm}.
-
-@item overwrite
-@samp{-c} in @code{unshar}.
-
-@item owner
-@samp{-o} in @code{install}.
-
-@item paginate
-@samp{-l} in @code{diff}.
-
-@item paragraph-indent
-Used in Makeinfo.
-
-@item parents
-@samp{-p} in @code{mkdir} and @code{rmdir}.
-
-@item pass-all
-@samp{-p} in @code{ul}.
-
-@item pass-through
-@samp{-p} in @code{cpio}.
-
-@item port
-@samp{-P} in @code{finger}.
-
-@item portability
-@samp{-c} in @code{cpio} and @code{tar}.
-
-@item prefix-builtins
-@samp{-P} in @code{m4}.
-
-@item prefix
-@samp{-f} in @code{csplit}.
-
-@item preserve
-Used in @code{tar} and @code{cp}.
-
-@item preserve-environment
-@samp{-p} in @code{su}.
-
-@item preserve-modification-time
-@samp{-m} in @code{cpio}.
-
-@item preserve-order
-@samp{-s} in @code{tar}.
-
-@item preserve-permissions
-@samp{-p} in @code{tar}.
-
-@item print
-@samp{-l} in @code{diff}.
-
-@item print-chars
-@samp{-L} in @code{cmp}.
-
-@item print-data-base
-@samp{-p} in Make.
-
-@item print-directory
-@samp{-w} in Make.
-
-@item print-file-name
-@samp{-o} in @code{nm}.
-
-@item print-symdefs
-@samp{-s} in @code{nm}.
-
-@item printer
-@samp{-p} in @code{wdiff}.
-
-@item query-user
-@samp{-X} in @code{shar}.
-
-@item question
-@samp{-q} in Make.
-
-@item quiet
-Used in many programs to inhibit the usual output.  @strong{Note:} every
-program accepting @samp{--quiet} should accept @samp{--silent} as a
-synonym.
-
-@item quiet-unshar
-@samp{-Q} in @code{shar}
-
-@item quote-name
-@samp{-Q} in @code{ls}.
-
-@item rcs
-@samp{-n} in @code{diff}.
-
-@item read-full-blocks
-@samp{-B} in @code{tar}.
-
-@item readnow
-Used in GDB.
-
-@item recon
-@samp{-n} in Make.
-
-@item record-number
-@samp{-R} in @code{tar}.
-
-@item recursive
-Used in @code{chgrp}, @code{chown}, @code{cp}, @code{ls}, @code{diff},
-and @code{rm}.
-
-@item reference-limit
-Used in Makeinfo.
-
-@item references
-@samp{-r} in @code{ptx}.
-
-@item regex
-@samp{-r} in @code{tac} and @code{etags}.
-
-@item release
-@samp{-r} in @code{uname}.
-
-@item reload-state
-@samp{-R} in @code{m4}.
-
-@item relocation
-@samp{-r} in @code{objdump}.
-
-@item rename
-@samp{-r} in @code{cpio}.
-
-@item replace
-@samp{-i} in @code{xargs}.
-
-@item report-identical-files
-@samp{-s} in @code{diff}.
-
-@item reset-access-time
-@samp{-a} in @code{cpio}.
-
-@item reverse
-@samp{-r} in @code{ls} and @code{nm}.
-
-@item reversed-ed
-@samp{-f} in @code{diff}.
-
-@item right-side-defs
-@samp{-R} in @code{ptx}.
-
-@item same-order
-@samp{-s} in @code{tar}.
-
-@item same-permissions
-@samp{-p} in @code{tar}.
-
-@item save
-@samp{-g} in @code{stty}.
-
-@item se
-Used in GDB.
-
-@item sentence-regexp
-@samp{-S} in @code{ptx}.
-
-@item separate-dirs
-@samp{-S} in @code{du}.
-
-@item separator
-@samp{-s} in @code{tac}.
-
-@item sequence
-Used by @code{recode} to chose files or pipes for sequencing passes.
-
-@item shell
-@samp{-s} in @code{su}.
-
-@item show-all
-@samp{-A} in @code{cat}.
-
-@item show-c-function
-@samp{-p} in @code{diff}.
-
-@item show-ends
-@samp{-E} in @code{cat}.
-
-@item show-function-line
-@samp{-F} in @code{diff}.
-
-@item show-tabs
-@samp{-T} in @code{cat}.
-
-@item silent
-Used in many programs to inhibit the usual output.
-@strong{Note:} every program accepting
-@samp{--silent} should accept @samp{--quiet} as a synonym.
-
-@item size
-@samp{-s} in @code{ls}.
-
-@item sort
-Used in @code{ls}.
-
-@item sparse
-@samp{-S} in @code{tar}.
-
-@item speed-large-files
-@samp{-H} in @code{diff}.
-
-@item split-at
-@samp{-E} in @code{unshar}.
-
-@item split-size-limit
-@samp{-L} in @code{shar}.
-
-@item squeeze-blank
-@samp{-s} in @code{cat}.
-
-@item start-delete
-@samp{-w} in @code{wdiff}.
-
-@item start-insert
-@samp{-y} in @code{wdiff}.
-
-@item starting-file
-Used in @code{tar} and @code{diff} to specify which file within
-a directory to start processing with.
-
-@item statistics
-@samp{-s} in @code{wdiff}.
-
-@item stdin-file-list
-@samp{-S} in @code{shar}.
-
-@item stop
-@samp{-S} in Make.
-
-@item strict
-@samp{-s} in @code{recode}.
-
-@item strip
-@samp{-s} in @code{install}.
-
-@item strip-all
-@samp{-s} in @code{strip}.
-
-@item strip-debug
-@samp{-S} in @code{strip}.
-
-@item submitter
-@samp{-s} in @code{shar}.
-
-@item suffix
-@samp{-S} in @code{cp}, @code{ln}, @code{mv}.
-
-@item suffix-format
-@samp{-b} in @code{csplit}.
-
-@item sum
-@samp{-s} in @code{gprof}.
-
-@item summarize
-@samp{-s} in @code{du}.
-
-@item symbolic
-@samp{-s} in @code{ln}.
-
-@item symbols
-Used in GDB and @code{objdump}.
-
-@item synclines
-@samp{-s} in @code{m4}.
-
-@item sysname
-@samp{-s} in @code{uname}.
-
-@item tabs
-@samp{-t} in @code{expand} and @code{unexpand}.
-
-@item tabsize
-@samp{-T} in @code{ls}.
-
-@item terminal
-@samp{-T} in @code{tput} and @code{ul}.
-@samp{-t} in @code{wdiff}.
-
-@item text
-@samp{-a} in @code{diff}.
-
-@item text-files
-@samp{-T} in @code{shar}.
-
-@item time
-Used in @code{ls} and @code{touch}.
-
-@item to-stdout
-@samp{-O} in @code{tar}.
-
-@item total
-@samp{-c} in @code{du}.
-
-@item touch
-@samp{-t} in Make, @code{ranlib}, and @code{recode}.
-
-@item trace
-@samp{-t} in @code{m4}.
-
-@item traditional
-@samp{-t} in @code{hello};
-@samp{-G} in @code{m4} and @code{ptx}.
-
-@item tty
-Used in GDB.
-
-@item typedefs
-@samp{-t} in @code{ctags}.
-
-@item typedefs-and-c++
-@samp{-T} in @code{ctags}.
-
-@item typeset-mode
-@samp{-t} in @code{ptx}.
-
-@item uncompress
-@samp{-z} in @code{tar}.
-
-@item unconditional
-@samp{-u} in @code{cpio}.
-
-@item undefine
-@samp{-U} in @code{m4}.
-
-@item undefined-only
-@samp{-u} in @code{nm}.
-
-@item update
-@samp{-u} in @code{cp}, @code{ctags}, @code{mv}, @code{tar}.
-
-@item uuencode
-@samp{-B} in @code{shar}.
-
-@item vanilla-operation
-@samp{-V} in @code{shar}.
-
-@item verbose
-Print more information about progress.  Many programs support this.
-
-@item verify
-@samp{-W} in @code{tar}.
-
-@item version
-Print the version number.
-
-@item version-control
-@samp{-V} in @code{cp}, @code{ln}, @code{mv}.
-
-@item vgrind
-@samp{-v} in @code{ctags}.
-
-@item volume
-@samp{-V} in @code{tar}.
-
-@item what-if
-@samp{-W} in Make.
-
-@item whole-size-limit
-@samp{-l} in @code{shar}.
-
-@item width
-@samp{-w} in @code{ls} and @code{ptx}.
-
-@item word-regexp
-@samp{-W} in @code{ptx}.
-
-@item writable
-@samp{-T} in @code{who}.
-
-@item zeros
-@samp{-z} in @code{gprof}.
-
-@end table
-
-@node Documentation
-@chapter Documenting Programs
-
-Please use Texinfo for documenting GNU programs.  See the Texinfo
-manual, either the hardcopy or the version in the GNU Emacs Info
-subsystem (@kbd{C-h i}).  See existing GNU Texinfo files (e.g., those
-under the @file{man/} directory in the GNU Emacs distribution) for
-examples.
-
-The title page of the manual should state the version of the program
-which the manual applies to.  The Top node of the manual should also
-contain this information.  If the manual is changing more frequently
-than or independent of the program, also state a version number for
-the manual in both of these places.
-
-The manual should document all command-line arguments and all
-commands.  It should give examples of their use.  But don't organize
-the manual as a list of features.  Instead, organize it by the
-concepts a user will have before reaching that point in the manual.
-Address the goals that a user will have in mind, and explain how to
-accomplish them.  Don't use Unix man pages as a model for how to
-write GNU documentation; they are a bad example to follow.
-
-The manual should have a node named @samp{@var{program} Invocation} or
-@samp{Invoking @var{program}}, where @var{program} stands for the name
-of the program being described, as you would type it in the shell to run
-the program.  This node (together with its subnodes, if any) should
-describe the program's command line arguments and how to run it (the
-sort of information people would look in a man page for).  Start with an
-@samp{@@example} containing a template for all the options and arguments
-that the program uses.
-
-Alternatively, put a menu item in some menu whose item name fits one of
-the above patterns.  This identifies the node which that item points to
-as the node for this purpose, regardless of the node's actual name.
-
-There will be automatic features for specifying a program name and
-quickly reading just this part of its manual.
-
-If one manual describes several programs, it should have such a node for
-each program described.
-
-In addition to its manual, the package should have a file named
-@file{NEWS} which contains a list of user-visible changes worth
-mentioning.  In each new release, add items to the front of the file and
-identify the version they pertain to.  Don't discard old items; leave
-them in the file after the newer items.  This way, a user upgrading from
-any previous version can see what is new.
-
-If the @file{NEWS} file gets very long, move some of the older items
-into a file named @file{ONEWS} and put a note at the end referring the
-user to that file.
-
-Please do not use the term ``pathname'' that is used in Unix
-documentation; use ``file name'' (two words) instead.  We use the term
-``path'' only for search paths, which are lists of file names.
-
-It is ok to supply a man page for the program as well as a Texinfo
-manual if you wish to.  But keep in mind that supporting a man page
-requires continual effort, each time the program is changed.  Any time
-you spend on the man page is time taken away from more useful things you
-could contribute.
-
-Thus, even if a user volunteers to donate a man page, you may find this
-gift costly to accept.  Unless you have time on your hands, it may be
-better to refuse the man page unless the same volunteer agrees to take
-full responsibility for maintaining it---so that you can wash your hands
-of it entirely.  If the volunteer ceases to do the job, then don't feel
-obliged to pick it up yourself; it may be better to withdraw the man
-page until another volunteer offers to carry on with it.
-
-Alternatively, if you expect the discrepancies to be small enough that
-the man page remains useful, put a prominent note near the beginning of
-the man page explaining that you don't maintain it and that the Texinfo
-manual is more authoritative, and describing how to access the Texinfo
-documentation.
-
-@node Releases
-@chapter Making Releases
-
-Package the distribution of Foo version 69.96 in a gzipped tar file
-named @file{foo-69.96.tar.gz}.  It should unpack into a subdirectory
-named @file{foo-69.96}.
-
-Building and installing the program should never modify any of the files
-contained in the distribution.  This means that all the files that form
-part of the program in any way must be classified into @dfn{source
-files} and @dfn{non-source files}.  Source files are written by humans
-and never changed automatically; non-source files are produced from
-source files by programs under the control of the Makefile.
-
-Naturally, all the source files must be in the distribution.  It is okay
-to include non-source files in the distribution, provided they are
-up-to-date and machine-independent, so that building the distribution
-normally will never modify them.  We commonly include non-source files
-produced by Bison, Lex, @TeX{}, and Makeinfo; this helps avoid
-unnecessary dependencies between our distributions, so that users can
-install whichever packages they want to install.
-
-Non-source files that might actually be modified by building and
-installing the program should @strong{never} be included in the
-distribution.  So if you do distribute non-source files, always make
-sure they are up to date when you make a new distribution.
-
-Make sure that the directory into which the distribution unpacks (as
-well as any subdirectories) are all world-writable (octal mode 777).
-This is so that old versions of @code{tar} which preserve the
-ownership and permissions of the files from the tar archive will be
-able to extract all the files even if the user is unprivileged.
-
-Make sure that all the files in the distribution are world-readable.
-
-Make sure that no file name in the distribution is more than 14
-characters long.  Likewise, no file created by building the program
-should have a name longer than 14 characters.  The reason for this is
-that some systems adhere to a foolish interpretation of the POSIX
-standard, and refuse to open a longer name, rather than truncating as
-they did in the past.
-
-Don't include any symbolic links in the distribution itself.  If the tar
-file contains symbolic links, then people cannot even unpack it on
-systems that don't support symbolic links.  Also, don't use multiple
-names for one file in different directories, because certain file
-systems cannot handle this and that prevents unpacking the
-distribution.
-
-Try to make sure that all the file names will be unique on MS-DOG.  A
-name on MS-DOG consists of up to 8 characters, optionally followed by a
-period and up to three characters.  MS-DOG will truncate extra
-characters both before and after the period.  Thus,
-@file{foobarhacker.c} and @file{foobarhacker.o} are not ambiguous; they
-are truncated to @file{foobarha.c} and @file{foobarha.o}, which are
-distinct.
-
-Include in your distribution a copy of the @file{texinfo.tex} you used
-to test print any @file{*.texinfo} files.
-
-Likewise, if your program uses small GNU software packages like regex,
-getopt, obstack, or termcap, include them in the distribution file.
-Leaving them out would make the distribution file a little smaller at
-the expense of possible inconvenience to a user who doesn't know what
-other files to get.
-
-@contents
-
-@bye
deleted file mode 100644
--- a/kpathsea/str-list.c
+++ /dev/null
@@ -1,75 +0,0 @@
-/* str-list.c: define routines for string lists.
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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/str-list.h>
-
-
-/* See the .h file for comments.  */
-
-
-str_list_type
-str_list_init P1H(void)
-{
-  str_list_type ret;
-  
-  STR_LIST_LENGTH (ret) = 0;
-  STR_LIST (ret) = NULL;
-  
-  return ret;
-}
-
-
-void
-str_list_add P2C(str_list_type *, l,  string, s)
-{
-  STR_LIST_LENGTH (*l)++;
-  XRETALLOC (STR_LIST (*l), STR_LIST_LENGTH (*l), string);
-  STR_LIST_LAST_ELT (*l) = s;
-}
-
-
-/* May as well save some reallocations and do everything in a chunk
-   instead of calling str_list_add on each element.  */
-   
-void
-str_list_concat P2C(str_list_type *, target,  str_list_type, more)
-{
-  unsigned e;
-  unsigned prev_len = STR_LIST_LENGTH (*target);
-
-  STR_LIST_LENGTH (*target) += STR_LIST_LENGTH (more);
-  XRETALLOC (STR_LIST (*target), STR_LIST_LENGTH (*target), string);
-  
-  for (e = 0; e < STR_LIST_LENGTH (more); e++)
-    STR_LIST_ELT (*target, prev_len + e) = STR_LIST_ELT (more, e);
-}
-
-
-/* Free the list (but not the elements within it).  */
-
-void
-str_list_free P1C(str_list_type *, l)
-{
-  if (STR_LIST (*l))
-    {
-      free (STR_LIST (*l));
-      STR_LIST (*l) = NULL;
-    }
-}
deleted file mode 100644
--- a/kpathsea/str-list.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/* str-list.h: Declarations for string lists.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_STR_LIST_H
-#define KPATHSEA_STR_LIST_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/types.h>
-
-
-/* Lists of strings; used for, e.g., directory lists.  */
-
-typedef struct
-{
-  unsigned length;
-  string *list;
-} str_list_type;
-
-#define STR_LIST_LENGTH(l) ((l).length)
-#define STR_LIST(l) ((l).list)
-#define STR_LIST_ELT(l, n) STR_LIST (l)[n]
-#define STR_LIST_LAST_ELT(l) STR_LIST_ELT (l, STR_LIST_LENGTH (l) - 1)
-
-/* Return a new, empty, list.  */
-extern str_list_type str_list_init P1H(void);
-
-/* Append the string S to the list L.  It's up to the caller to not
-   deallocate S; we don't copy it.  Also up to the caller to terminate
-   the list with a null entry.  */
-extern void str_list_add P2H(str_list_type *l, string s);
-
-/* Append all the elements from MORE to TARGET.  */
-extern void str_list_concat P2H(str_list_type * target, str_list_type more);
-
-/* Free the space for the list elements (but not the list elements
-   themselves).  */
-extern void str_list_free P1H(str_list_type *l);
-
-#endif /* not KPATHSEA_STR_LIST_H */
deleted file mode 100644
--- a/kpathsea/str-llist.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/* str-llist.c: Implementation of a linked list of strings.
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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/str-llist.h>
-
-
-/* Add the new string STR to the end of the list L.  */
-
-void
-str_llist_add P2C(str_llist_type *, l,  string, str)
-{
-  str_llist_elt_type *e;
-  str_llist_elt_type *new_elt = XTALLOC1 (str_llist_elt_type);
-  
-  /* The new element will be at the end of the list.  */
-  STR_LLIST (*new_elt) = str;
-  STR_LLIST_MOVED (*new_elt) = false;
-  STR_LLIST_NEXT (*new_elt) = NULL;
-  
-  /* Find the current end of the list.  */
-  for (e = *l; e && STR_LLIST_NEXT (*e); e = STR_LLIST_NEXT (*e))
-    ;
-  
-  if (!e)
-    *l = new_elt;
-  else
-    STR_LLIST_NEXT (*e) = new_elt;
-}
-
-/* Move an element towards the top. The idea is that when a file is
-   found in a given directory, later files will likely be in that same
-   directory, and looking for the file in all the directories in between
-   is thus a waste.  */
-
-void
-str_llist_float P2C(str_llist_type *, l,  str_llist_elt_type *, mover)
-{
-  str_llist_elt_type *last_moved, *unmoved;
-  
-  /* If we've already moved this element, never mind.  */
-  if (STR_LLIST_MOVED (*mover))
-    return;
-  
-  /* Find the first unmoved element (to insert before).  We're
-     guaranteed this will terminate, since MOVER itself is currently
-     unmoved, and it must be in L (by hypothesis).  */
-  for (last_moved = NULL, unmoved = *l; STR_LLIST_MOVED (*unmoved);
-       last_moved = unmoved, unmoved = STR_LLIST_NEXT (*unmoved))
-    ;
-
-  /* If we are the first unmoved element, nothing to relink.  */
-  if (unmoved != mover)
-    { /* Remember `mover's current successor, so we can relink `mover's
-         predecessor to it.  */
-      str_llist_elt_type *before_mover;
-      str_llist_elt_type *after_mover = STR_LLIST_NEXT (*mover);
-      
-      /* Find `mover's predecessor.  */
-      for (before_mover = unmoved; STR_LLIST_NEXT (*before_mover) != mover;
-           before_mover = STR_LLIST_NEXT (*before_mover))
-        ;
-      
-      /* `before_mover' now links to `after_mover'.  */
-      STR_LLIST_NEXT (*before_mover) = after_mover;
-
-      /* Insert `mover' before `unmoved' and after `last_moved' (or at
-         the head of the list).  */
-      STR_LLIST_NEXT (*mover) = unmoved;
-      if (!last_moved)
-        *l = mover;
-      else
-        STR_LLIST_NEXT (*last_moved) = mover;
-    }
-
-  /* We've moved it.  */
-  STR_LLIST_MOVED (*mover) = true;
-}
deleted file mode 100644
--- a/kpathsea/str-llist.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* str-llist.h: A linked list of strings,
-
-It's pretty disgusting that both this and str-list exist; the reason is
-that C cannot express iterators very well, and I don't want to change
-all the for loops right now.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef STR_LLIST_H
-#define STR_LLIST_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/types.h>
-
-
-/* It's a little bizarre to be using the same type for the list and the
-   elements of the list, but no reason not to in this case, I think --
-   we never need a NULL string in the middle of the list, and an extra
-   NULL/NULL element always at the end is inconsequential.  */
-
-struct str_llist_elt
-{
-  string str;
-  boolean moved;
-  struct str_llist_elt *next;
-};
-typedef struct str_llist_elt str_llist_elt_type;
-typedef struct str_llist_elt *str_llist_type;
-
-#define STR_LLIST(sl) ((sl).str)
-#define STR_LLIST_MOVED(sl) ((sl).moved)
-#define STR_LLIST_NEXT(sl) ((sl).next)
-
-
-/* Add the new string E to the end of the list L.  */
-extern void str_llist_add P2H(str_llist_type *l, string e);
-
-/* Reorganize L so that E is below only other elements that have already
-   been moved.  Set `moved' member for E.  */
-extern void str_llist_float P2H(str_llist_type *l, str_llist_elt_type *e);
-
-#endif /* not STR_LLIST_H */
deleted file mode 100644
--- a/kpathsea/systypes.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* c-systypes.h: include <sys/types.h>.  It's too bad we need this file,
-   but some systems don't protect <sys/types.h> from multiple
-   inclusions, and I'm not willing to put up with that.
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef C_SYSTYPES_H
-#define C_SYSTYPES_H
-
-#include <sys/types.h>
-
-/* This is the symbol that X uses to determine if <sys/types.h> has been
-   read, so we define it.  */
-#define __TYPES__
-
-#endif /* not C_SYSTYPES_H */
deleted file mode 100644
--- a/kpathsea/tex-file.c
+++ /dev/null
@@ -1,344 +0,0 @@
-/* tex-file.c: stuff for all TeX formats.
-
-Copyright (C) 1993, 94, 95 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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-vararg.h>
-#include <kpathsea/cnf.h>
-#include <kpathsea/default.h>
-#include <kpathsea/expand.h>
-#include <kpathsea/paths.h>
-#include <kpathsea/pathsearch.h>
-#include <kpathsea/tex-file.h>
-
-
-/* See tex-file.h.  */
-const_string kpse_fallback_font = NULL;
-unsigned *kpse_fallback_resolutions = NULL;
-string kpse_font_override_path = NULL;
-kpse_format_info_type kpse_format_info[kpse_last_format];
-
-/* These are not in the structure
-   because it's annoying to initialize lists in C.  */
-#define KPSE_GF_ENVS "GFFONTS", KPSE_GLYPH_ENVS
-#define KPSE_PK_ENVS "PKFONTS", "TEXPKS", KPSE_GLYPH_ENVS
-#define KPSE_GLYPH_ENVS "GLYPHFONTS", "TEXFONTS"
-#define KPSE_BASE_ENVS "MFBASES"
-#define KPSE_BIB_ENVS "BIBINPUTS"
-#define KPSE_BST_ENVS "BSTINPUTS"
-#define KPSE_CNF_ENVS "TEXMFCNF"
-#define KPSE_FMT_ENVS "TEXFORMATS"
-#define KPSE_MF_ENVS "MFINPUTS"
-#define KPSE_MFPOOL_ENVS "MFPOOL"
-#define KPSE_PICT_ENVS "TEXPICTS", KPSE_TEX_ENVS
-#define KPSE_TEX_ENVS "TEXINPUTS"
-#define KPSE_TEXPOOL_ENVS "TEXPOOL"
-#define KPSE_TFM_ENVS "TFMFONTS", "TEXFONTS"
-#define KPSE_VF_ENVS "VFFONTS", "TEXFONTS"
-#define KPSE_DVIPS_CONFIG_ENVS "TEXCONFIG"
-#define KPSE_DVIPS_HEADER_ENVS "DVIPSHEADERS"
-
-/* The compiled-in default list, DEFAULT_FONT_SIZES, is intended to be
-   set from the command line (presumably via the Makefile).  */
-
-#ifndef DEFAULT_FONT_SIZES
-#define DEFAULT_FONT_SIZES ""
-#endif
-
-void
-kpse_init_fallback_resolutions P1C(string, envvar)
-{
-  const_string size_var = ENVVAR (envvar, "TEXSIZES");
-  string size_str = getenv (size_var);
-  unsigned *last_resort_sizes = NULL;
-  unsigned size_count = 0;
-  string size_list = kpse_expand_default (size_str, DEFAULT_FONT_SIZES);
-
-  /* Initialize the list of last-resort sizes.  */
-  for (size_str = kpse_path_element (size_list); size_str != NULL;
-       size_str = kpse_path_element (NULL))
-    {
-      if (! *size_str)
-        continue;
-
-      size_count++;
-      XRETALLOC (last_resort_sizes, size_count, unsigned);
-      last_resort_sizes[size_count - 1] = atoi (size_str);
-    }
-
-  /* Add a zero to mark the end of the list.  */
-  size_count++;
-  XRETALLOC (last_resort_sizes, size_count, unsigned);
-  last_resort_sizes[size_count - 1] = 0;
-
-  kpse_fallback_resolutions = last_resort_sizes;
-}
-
-/* Find the final search path to use for the format entry INFO, given
-   FONT_P (whether the font override path applies), the compile-time
-   default (DEFAULT_PATH), and the environment variables to check (the
-   remaining arguments, terminated with NULL).  We set the `path' and
-   `path_source' members of INFO.  The `client_path' member must already
-   be set upon entry.  */
-   
-#define EXPAND_DEFAULT(try_path, source_string)			\
-if (try_path)							\
-  {								\
-    info->raw_path = try_path;					\
-    info->path = kpse_expand_default (try_path, info->path);	\
-    info->path_source = source_string;				\
-  }
-
-static void
-init_path PVAR3C(kpse_format_info_type *, info,  boolean, font_p,
-                 const_string, default_path,  ap)
-{
-  string env_name;
-  string var = NULL;
-  
-  info->font_override_p = font_p;
-  info->default_path = default_path;
-
-  /* First envvar that's set to a nonempty value will exit the loop.  If
-     none are set, we want the first cnf entry that matches.  Find the
-     cnf entries simultaneously, to avoid having to go through envvar
-     list twice -- because of the PVAR?C macro, that would mean having
-     to create a str_list and then use it twice.  Yuck.  */
-  while ((env_name = va_arg (ap, string)) != NULL)
-    {
-      if (!var)
-        {
-          string env_value = getenv (env_name);
-          if (env_value && *env_value)
-            var = env_name;
-        }
-
-      /* If we are initializing the cnf path, don't try to get any
-         values from the cnf files; that's infinite loop time.  */
-      if (!info->cnf_path && (!info->suffix || !STREQ (info->suffix, ".cnf")))
-        info->cnf_path = kpse_cnf_get (env_name);
-      
-      if (var && info->cnf_path)
-        break;
-    }
-  va_end (ap);
-  
-  /* Expand any extra :'s.  For each level (the font override path down
-     through the compile-time default), an extra : should be replaced
-     with the path at the next lower level.  For example, an extra : in
-     a user-set envvar should be replaced with the path from the cnf
-     file.  Things are complicated because none of the levels above the
-     very bottom are guaranteed to exist.  */
-
-  /* Assume we can reliably start with the compile-time default.  */
-  info->path = info->raw_path = info->default_path;
-  info->path_source = "compile-time paths.h";
-
-  EXPAND_DEFAULT (info->cnf_path, "texmf.cnf");
-  EXPAND_DEFAULT (info->client_path, "program config file");
-  if (var)
-    EXPAND_DEFAULT (getenv (var), concat (var, " environment variable"));
-  if (info->font_override_p)
-    EXPAND_DEFAULT (kpse_font_override_path, "font override variable");
-  info->path = kpse_path_expand (info->path);
-}}
-
-
-/* The path spec we are defining, one element of the global array.  */
-#define FMT_INFO kpse_format_info[format]
-
-/* Call `init_path', including appending the trailing NULL to the envvar
-   list. Also initialize the fields not needed in setting the path.
-   Don't set `program_enabled' -- it'll be false via the compiler
-   initialization, and programs may want to enable it beforehand.  */
-#define INIT_FORMAT(ext, font_p, default_path, envs) \
-  FMT_INFO.suffix = FMT_INFO.type = ext; \
-  init_path (&FMT_INFO, font_p, default_path, envs, NULL)
-
-/* A few file types allow for runtime generation by an external program.  */
-#define INIT_MT(prog, args) \
-  FMT_INFO.program = prog; FMT_INFO.program_args = args
-#define MAKETEXPK_SPEC \
-  "$KPATHSEA_DPI $MAKETEX_BASE_DPI $MAKETEX_MAG $MAKETEX_MODE"
-
-/* Initialize everything for FORMAT.  */
-
-const_string
-kpse_init_format P1C(kpse_file_format_type, format)
-{
-  /* If we get called twice, don't redo all the work.  */
-  if (FMT_INFO.path)
-    return FMT_INFO.path;
-    
-  switch (format)
-    { /* We could avoid this repetition by token pasting, but it doesn't
-         seem worth it.  */
-    case kpse_gf_format:
-      INIT_FORMAT ("gf", true, DEFAULT_GFFONTS, KPSE_GF_ENVS);
-      FMT_INFO.suffix_search_only = false;
-      break;
-    case kpse_pk_format:
-      INIT_MT ("MakeTeXPK", MAKETEXPK_SPEC);
-      INIT_FORMAT ("pk", true, DEFAULT_PKFONTS, KPSE_PK_ENVS);
-      FMT_INFO.suffix_search_only = true;
-      break;
-    case kpse_any_glyph_format:
-      INIT_MT ("MakeTeXPK", MAKETEXPK_SPEC);
-      INIT_FORMAT ("bitmap", true, DEFAULT_GLYPHFONTS, KPSE_GLYPH_ENVS);
-      FMT_INFO.suffix_search_only = true;
-      break;
-    case kpse_base_format:
-      INIT_FORMAT (".base", false, DEFAULT_MFBASES, KPSE_BASE_ENVS);
-      break;
-    case kpse_bib_format:
-      INIT_FORMAT (".bib", false, DEFAULT_BIBINPUTS, KPSE_BIB_ENVS);
-      break;
-    case kpse_bst_format:
-      INIT_FORMAT (".bst", false, DEFAULT_BSTINPUTS, KPSE_BST_ENVS);
-      break;
-    case kpse_cnf_format:
-      /* I admit this is ugly, but making another field just for
-         this one file type seemed a waste.  We use this value in cnf.c
-         as the filename to search for in the path.  */
-      if (!FMT_INFO.program)
-        FMT_INFO.program = "texmf.cnf";
-      INIT_FORMAT (".cnf", false, DEFAULT_TEXMFCNF, KPSE_CNF_ENVS);
-      break;
-    case kpse_fmt_format:
-      INIT_FORMAT (".fmt", false, DEFAULT_TEXFORMATS, KPSE_FMT_ENVS);
-      break;
-    case kpse_mf_format:
-      INIT_MT ("MakeTeXMF", NULL);
-      INIT_FORMAT (".mf", false, DEFAULT_MFINPUTS, KPSE_MF_ENVS);
-      break;
-    case kpse_mfpool_format:
-      INIT_FORMAT (".pool", false, DEFAULT_MFPOOL, KPSE_MFPOOL_ENVS);
-      break;
-    case kpse_tex_format:
-      INIT_MT ("MakeTeXTeX", NULL);
-      INIT_FORMAT (".tex", false, DEFAULT_TEXINPUTS, KPSE_TEX_ENVS);
-      break;
-    case kpse_texpool_format:
-      INIT_FORMAT (".pool", false, DEFAULT_TEXPOOL, KPSE_TEXPOOL_ENVS);
-      break;
-    case kpse_pict_format:
-      INIT_FORMAT (NULL, false, DEFAULT_TEXINPUTS, KPSE_PICT_ENVS);
-      FMT_INFO.type = "graphic/figure";
-      break;
-    case kpse_tfm_format:
-      INIT_MT ("MakeTeXTFM", NULL);
-      INIT_FORMAT (".tfm", false, DEFAULT_TFMFONTS, KPSE_TFM_ENVS);
-      FMT_INFO.suffix_search_only = true;
-      break;
-    case kpse_vf_format:
-      INIT_FORMAT (".vf", false, DEFAULT_VFFONTS, KPSE_VF_ENVS);
-      FMT_INFO.suffix_search_only = true;
-      break;
-    case kpse_dvips_config_format:
-      INIT_FORMAT (NULL, false, DEFAULT_TEXCONFIG, KPSE_DVIPS_CONFIG_ENVS);
-      FMT_INFO.type = "dvips config";
-      break;
-    case kpse_dvips_header_format:
-      INIT_FORMAT (NULL, false, DEFAULT_DVIPSHEADERS, KPSE_DVIPS_HEADER_ENVS);
-      FMT_INFO.type = "dvips header/type1 font";
-      break;
-    default:
-      FATAL1 ("(kpathsea) init_path: Unknown format %d", format);
-    }
-
-#ifdef DEBUG
-#define MAYBE_NULL(member) (FMT_INFO.member ? FMT_INFO.member : "(none)")
-
-  /* Describe the monster we've created.  */
-  if (KPSE_DEBUG_P (KPSE_DEBUG_PATHS))
-    {
-      DEBUGF2 ("Search path for %s files (from %s)\n",
-              FMT_INFO.type, FMT_INFO.path_source);
-      DEBUGF1 ("  = %s\n", FMT_INFO.path);
-      DEBUGF1 ("  before expansion = %s\n", FMT_INFO.raw_path);
-      DEBUGF1 ("  font override var applies = %d\n", FMT_INFO.font_override_p);
-      DEBUGF1 ("  application config file path = %s\n",
-              MAYBE_NULL (client_path));
-      DEBUGF1 ("  texmf.cnf path = %s\n", MAYBE_NULL (cnf_path));
-      DEBUGF1 ("  compile-time path = %s\n", MAYBE_NULL (default_path));
-      DEBUGF1 ("  suffix = %s\n", MAYBE_NULL (suffix));
-      DEBUGF1 ("  search only with suffix = %d\n",
-               FMT_INFO.suffix_search_only);
-      DEBUGF1 ("  runtime generation program = %s\n", MAYBE_NULL (program));
-      DEBUGF1 ("  extra program args = %s\n", MAYBE_NULL (program_args));
-      /* Don't print the `program_enabled_p' member, since it's likely
-         always false (made true on a per-font basis), and hence it
-         would just confuse matters.  */
-    }
-#endif /* DEBUG */
-
-  return FMT_INFO.path;
-}
-
-/* Look up a file NAME of type FORMAT, and the given MUST_EXIST.  This
-   initializes the path spec for FORMAT if it's the first lookup of that
-   type.  Return the filename found, or NULL.  */
-   
-string
-kpse_find_file P3C(const_string, name,  kpse_file_format_type, format,
-                   boolean, must_exist)
-{
-  boolean name_has_suffix;
-  const_string suffix;
-  string ret = NULL;
-
-  if (FMT_INFO.path == NULL)
-    kpse_init_format (format);
-
-  suffix = FMT_INFO.suffix;
-  
-  /* Does NAME already end in `.suffix'?  */
-  if (suffix)
-    { /* Don't do the strlen's at all if no SUFFIX.  */
-      unsigned suffix_len = strlen (suffix);
-      unsigned name_len = strlen (name);
-      name_has_suffix = (name_len > suffix_len
-                         && STREQ (suffix, name + name_len - suffix_len));
-    }
-  else
-    name_has_suffix = false;
-  
-  if (suffix && !name_has_suffix)
-    {
-      /* Append `.suffix' and search for it.  If we're going to search
-         for the original name if this fails, then set must_exist=false;
-         otherwise, we'd be looking on the disk for foo.eps.tex.  */
-      string full_name = concat (name, suffix);
-      ret = kpse_path_search (FMT_INFO.path, full_name,
-                             FMT_INFO.suffix_search_only ? must_exist : false);
-      free (full_name);
-    }
-
-  /* For example, looking for foo.eps, first we look for foo.eps.tex,
-     which presumably fails, then we want to look for foo.eps.  (But we
-     want to find foo.tex before foo, so have to try with `suffix'
-     first.)  Another example: tftopl passes in cmr10.tfm, but the
-     drivers just pass in cmr10. To avoid pounding the disk for `cmr10',
-     `suffix_search_only' for PK format is true. But then
-     `name_has_suffix' must override, or tftopl would wind up doing
-     no searches at all.  */
-  if (!ret && (name_has_suffix || !FMT_INFO.suffix_search_only))
-    ret = kpse_path_search (FMT_INFO.path, name, must_exist);
-
-  return ret;
-}
deleted file mode 100644
--- a/kpathsea/tex-file.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/* tex-file.h: find files in a particular format.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_TEX_FILE_H
-#define KPATHSEA_TEX_FILE_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/types.h>
-
-
-/* If non-NULL, try looking for this if can't find the real font.  */
-extern const_string kpse_fallback_font;
-
-
-/* If non-NULL, check these if can't find (within a few percent of) the
-   given resolution.  List must end with a zero element.  */
-extern unsigned *kpse_fallback_resolutions;
-
-/* This initializes the fallback resolution list.  If ENVVAR
-   is set, it is used; otherwise, the envvar `TEXSIZES' is looked at; if
-   that's not set either, a compile-time default is used.  */
-extern void kpse_init_fallback_resolutions P1H(string envvar);
-
-
-/* If non-null, used instead of the usual envvar/path defaults, e.g.,
-   set to `getenv ("XDVIFONTS")'.  */
-extern string kpse_font_override_path;
-
-/* We put the glyphs first so we don't waste space in an array.  A new
-   format here must be accompanied by a new initialization
-   abbreviation below and a new entry in `tex-make.c'.  */
-typedef enum
-{
-  kpse_gf_format,
-  kpse_pk_format,
-  kpse_any_glyph_format,	/* ``any'' meaning anything above */
-  kpse_base_format, 
-  kpse_bib_format, 
-  kpse_bst_format, 
-  kpse_cnf_format,
-  kpse_fmt_format,
-  kpse_mf_format, 
-  kpse_mfpool_format, 
-  kpse_pict_format,
-  kpse_tex_format,
-  kpse_texpool_format,
-  kpse_tfm_format, 
-  kpse_vf_format,
-  kpse_dvips_config_format,
-  kpse_dvips_header_format,
-  kpse_last_format /* one past last index */
-} kpse_file_format_type;
-
-
-/* For each file format, we record the following information.  The main
-   thing that is not part of this structure is the environment variable
-   lists above. They are used directly in tex-file.c. We could
-   incorporate them here, but it would complicate the code a bit. We
-   could also do it via variable expansion, but not now, maybe not ever:
-   ${PKFONTS-${TEXFONTS-/usr/local/lib/texmf/fonts//}}.  */
-
-typedef struct
-{
-  const_string type;		/* Human-readable description.  */
-  const_string path;		/* The search path to use.  */
-  const_string raw_path;	/* Pre-$~ (but post-default) expansion.  */
-  const_string path_source;	/* Where the path started from.  */
-  boolean font_override_p;	/* Use kpse_font_override_path?  */
-  const_string client_path;	/* E.g., from dvips's config.ps.  */
-  const_string cnf_path;	/* From our texmf.cnf.  */
-  const_string default_path;	/* If all else fails.  */
-  const_string suffix;		/* For kpse_find_file to append, or NULL.  */
-  boolean suffix_search_only;	/* Only search if the suffix is present?  */
-  const_string program;		/* ``MakeTeXPK'', etc.  */
-  const_string program_args;	/* Args to the `program'.  */
-  boolean program_enabled_p;	/* Invoke the `program'?  */
-} kpse_format_info_type;
-
-/* The sole variable of that type, indexed by `kpse_file_format_type'.
-   Initialized by calls to `kpse_find_file' for `kpse_init_format'.  */
-extern kpse_format_info_type kpse_format_info[];
-
-
-/* Initialize the info for the given format.  This is called
-   automatically by `kpse_find_file', but the glyph searching (for
-   example) can't use that function, so make it available.  */
-extern const_string kpse_init_format P1H(kpse_file_format_type);
-
-/* If FORMAT has a non-null `suffix' member, concatenate NAME "." and it
-   and call `kpse_path_search' with the result and the other arguments.
-   If that fails, try just NAME.  */
-extern string kpse_find_file P3H(const_string name,  
-                            kpse_file_format_type format,  boolean must_exist);
-
-/* Here are some abbreviations.  */
-#define kpse_find_pict(name) kpse_find_file (name, kpse_pict_format, true)
-#define kpse_find_tex(name)  kpse_find_file (name, kpse_tex_format, true)
-#define kpse_find_tfm(name)  kpse_find_file (name, kpse_tfm_format, true)
-
-/* The `false' is correct for DVI translators, which should clearly not
-   require vf files for every font (e.g., cmr10.vf).  But it's wrong for
-   VF translators, such as vftovp.  */
-#define kpse_find_vf(name) kpse_find_file (name, kpse_vf_format, false)
-
-#endif /* not KPATHSEA_TEX_FILE_H */
deleted file mode 100644
--- a/kpathsea/tex-glyph.c
+++ /dev/null
@@ -1,383 +0,0 @@
-/* tex-glyph.c: Search for GF/PK files.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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/expand.h>
-#include <kpathsea/fontmap.h>
-#include <kpathsea/pathsearch.h>
-#include <kpathsea/tex-glyph.h>
-#include <kpathsea/tex-make.h>
-#include <kpathsea/variable.h>
-
-/* Routines are in bottom-up order.  */
-
-/* Support both cmr10.300pk and dpi300/cmr10.pk.  (Use the latter
-   instead of dpi300\cmr10.pk since DOS supports /'s, but Unix doesn't
-   support \'s.  */
-#define UNIX_BITMAP_SPEC "$KPATHSEA_NAME.$KPATHSEA_DPI$KPATHSEA_FORMAT"
-#define DPI_BITMAP_SPEC  "dpi$KPATHSEA_DPI/$KPATHSEA_NAME.$KPATHSEA_FORMAT"
-
-/* Look up FONT_NAME at resolution DPI in PATH, with filename suffix
-   EXTENSION.  Return file found or NULL.  */
-
-static string
-try_format P3C(const_string, font_name,  unsigned, dpi,
-               kpse_file_format_type,  format)
-{
-  static const_string bitmap_specs[]
-    = { UNIX_BITMAP_SPEC, DPI_BITMAP_SPEC, NULL };
-  const_string *spec;
-  boolean must_exist;
-  string ret = NULL;
-  const_string path = kpse_format_info[format].path;
-  if (!path)
-    path = kpse_init_format (format);
-  
-  /* Set the suffix on the name we'll be searching for.  */
-  xputenv ("KPATHSEA_FORMAT", kpse_format_info[format].suffix);
-
-  /* OK, the limits on this for loop are a little hokey, but it saves
-     having to repeat the body.  We want to do it once with `must_exist'
-     false to avoid looking on the disk for cmr10.600pk if
-     dpi600/cmr10.pk is in ls-R.  (The time spent in the extra variable
-     expansions and db searches is negligible.)  */
-  for (must_exist = false; !ret && must_exist <= true; must_exist++)
-    {
-      for (spec = bitmap_specs; !ret && *spec; spec++)
-        {
-          string name = kpse_var_expand (*spec);
-          ret = kpse_path_search (path, name, must_exist);
-          if (name != ret)
-            free (name);
-        }
-    }
-    
-  return ret;
-}
-
-/* Look for FONT_NAME at resolution DPI in format FORMAT.  Search the
-   (entire) PK path first, then the GF path, if we're looking for both.
-   Return any filename found, and (if we succeeded) fill in GLYPH_FILE.  */
-
-static string
-try_size P4C(const_string, font_name,  unsigned, dpi,
-             kpse_file_format_type, format,
-             kpse_glyph_file_type *, glyph_file)
-{
-  kpse_file_format_type format_found;
-  string ret;
-  boolean try_gf = format == kpse_gf_format || format == kpse_any_glyph_format;
-  boolean try_pk = format == kpse_pk_format || format == kpse_any_glyph_format;
-
-  xputenv_int ("KPATHSEA_DPI", dpi);
-  
-  /* Look for PK first (since it's more likely to be found), then GF.  */
-  ret = try_pk ? try_format (font_name, dpi, kpse_pk_format) : NULL;
-
-  if (ret != NULL)
-    format_found = kpse_pk_format;
-  else
-    {
-      if (try_gf)
-        {
-          ret = try_format (font_name, dpi, kpse_gf_format);
-          format_found = kpse_gf_format;
-        }
-    }
-  
-  if (ret != NULL && glyph_file)
-    { /* Success.  Fill in the return info.  Discard const.  */
-      glyph_file->name = (string) font_name;
-      glyph_file->dpi = dpi;
-      glyph_file->format = format_found;
-    }
-    
-  return ret;
-}
-
-/* Look for FONT_NAME at resolution DPI, then at the resolutions within
-   KPSE_BITMAP_TOLERANCE of DPI.  */
-
-static string
-try_resolution P4C(const_string, font_name,  unsigned, dpi,
-                   kpse_file_format_type, format,
-                   kpse_glyph_file_type *, glyph_file)
-{
-  string ret = try_size (font_name, dpi, format, glyph_file);
-  
-  if (!ret)
-    {
-      unsigned r;
-      unsigned tolerance = KPSE_BITMAP_TOLERANCE (dpi);
-      unsigned lower_bound = (int) (dpi - tolerance) < 0 ? 0 : dpi - tolerance;
-      unsigned upper_bound = dpi + tolerance;
-      
-      /* Prefer scaling up to scaling down, since scaling down can omit
-         character features (Tom did this in dvips).  */
-      for (r = lower_bound; !ret && r <= upper_bound; r++)
-        if (r != dpi)
-          ret = try_size (font_name, r, format, glyph_file);
-    }
-  
-  return ret;
-}
-
-/* Look up FONT_NAME in format FORMAT at DPI in the texfonts.map files
-   that we can find, returning the filename found and GLYPH_FILE.  */
-
-static string
-try_fontmap P4C(const_string, font_name,  unsigned, dpi,
-                kpse_file_format_type, format,
-                kpse_glyph_file_type *, glyph_file)
-{
-  static hash_table_type fontmap;
-  string *mapped_names;
-  string ret = NULL;
-
-  if (fontmap.size == 0)
-    { /* If we wanted to complicate our lives, we could handle separate
-         maps for GF and PK ones.  I don't see that this has any
-         practical utility, though, because if someone wants an alias,
-         most likely the alias should apply to non-glyphs as well as
-         glyphs (let alone to only GF format or PK format).  */
-      const_string map_path = kpse_init_format (kpse_any_glyph_format);
-      fontmap = map_create (map_path);
-    }
-
-  mapped_names = map_lookup (fontmap, font_name);
-  if (mapped_names)
-    {
-      string mapped_name;
-      while ((mapped_name = *mapped_names++) && !ret)
-        {
-          xputenv ("KPATHSEA_NAME", mapped_name);
-          ret = try_resolution (mapped_name, dpi, format, glyph_file);
-        }
-    }
-
-  return ret;
-}
-
-/* Look for FONT_NAME in `kpse_fallback_resolutions', omitting DPI if we
-   happen across it.  Return NULL if nothing found.  Pass GLYPH_FILE
-   along as usual.  Assume `kpse_fallback_resolutions' is sorted.  */
-
-static string
-try_fallback_resolutions P4C(const_string, font_name,  unsigned, dpi,
-                             kpse_file_format_type, format,
-                             kpse_glyph_file_type *, glyph_file)
-{
-  unsigned s;
-  int loc, max_loc;
-  int lower_loc, upper_loc;
-  unsigned lower_diff, upper_diff;
-  unsigned closest_diff = UINT_MAX;
-  string ret = NULL; /* In case the only fallback resolution is DPI.  */
-
-  /* First find the fallback size closest to DPI.  */
-  for (s = 0; kpse_fallback_resolutions[s] != 0; s++)
-    {
-      unsigned this_diff = abs (kpse_fallback_resolutions[s] - dpi);
-      if (this_diff < closest_diff)
-        {
-          closest_diff = this_diff;
-          loc = s;
-        }
-    }
-  if (s == 0)
-    return ret; /* If nothing in list, quit now.  */
-  
-  max_loc = s;
-  lower_loc = loc - 1;
-  upper_loc = loc + 1;
-  
-  for (;;)
-    {
-      unsigned fallback = kpse_fallback_resolutions[loc];
-      /* Don't bother to try DPI itself again.  */
-      if (fallback != dpi)
-        {
-          ret = try_resolution (font_name, fallback, format, glyph_file);
-          if (ret)
-            break;
-        }
-      
-      /* That didn't work. How far away are the locs above or below?  */
-      lower_diff = lower_loc > -1
-                   ? dpi - kpse_fallback_resolutions[lower_loc] : INT_MAX;
-      upper_diff = upper_loc < max_loc
-                   ? kpse_fallback_resolutions[upper_loc] - dpi : INT_MAX;
-      
-      /* But if we're at the end in both directions, quit.  */
-      if (lower_diff == INT_MAX && upper_diff == INT_MAX)
-        break;
-      
-      /* Go in whichever direction is closest.  */
-      if (lower_diff < upper_diff)
-        {
-          loc = lower_loc;
-          lower_loc--;
-        }
-      else
-        {
-          loc = upper_loc;
-          upper_loc++;
-        }
-    }
-
-  return ret;
-}
-
-/* See the .h file for description.  This is the entry point.  */
-
-string
-kpse_find_glyph P4C(const_string, font_name,  unsigned, dpi,
-                    kpse_file_format_type, format,
-                    kpse_glyph_file_type *, glyph_file)
-{
-  string ret;
-  kpse_glyph_source_type source;
-  
-  /* Start the search: try the name we're given.  */
-  source = kpse_glyph_source_normal;
-  xputenv ("KPATHSEA_NAME", font_name);
-  ret = try_resolution (font_name, dpi, format, glyph_file);
-  
-  /* Try all the various possibilities in order of preference.  */
-  if (!ret)
-    {
-      /* Maybe FONT_NAME was an alias.  */
-      source = kpse_glyph_source_alias;
-      ret = try_fontmap (font_name, dpi, format, glyph_file);
-
-      /* If not an alias, try creating it on the fly with MakeTeXPK,
-         unless FONT_NAME is absolute or explicitly relative.  */
-      if (!ret && !kpse_absolute_p (font_name, true))
-        {
-          source = kpse_glyph_source_maketex;
-          /* `try_resolution' leaves the envvar set randomly.  */
-          xputenv_int ("KPATHSEA_DPI", dpi);
-          ret = kpse_make_tex (format, font_name);
-        }
-       
-      /* If MakeTeX... succeeded, set return struct.  Doesn't make sense for
-         `kpse_make_tex' to set it, since it can only succeed or fail,
-         unlike the other routines.  */
-      if (ret)
-        {
-          KPSE_GLYPH_FILE_DPI (*glyph_file) = dpi;
-          /* Have to discard const here.  */
-          KPSE_GLYPH_FILE_NAME (*glyph_file) = (string) font_name;
-        }
-
-      /* If MakeTeX... failed, try any fallback resolutions.  */
-      else
-        {
-          if (kpse_fallback_resolutions)
-            ret = try_fallback_resolutions(font_name, dpi, format, glyph_file);
-
-          /* We're down to the font of last resort.  */
-          if (!ret && kpse_fallback_font)
-            {
-              const_string name = kpse_fallback_font;
-              source = kpse_glyph_source_fallback;
-              xputenv ("KPATHSEA_NAME", name);
-
-              /* As before, first try it at the given size.  */
-              ret = try_resolution (name, dpi, format, glyph_file);
-              
-              /* The fallback font at the fallback resolutions.  */
-              if (!ret && kpse_fallback_resolutions)
-                ret = try_fallback_resolutions (name, dpi, format, glyph_file);
-            }
-        }
-    }
-  
-  /* If RET is null, then the caller is not supposed to look at GLYPH_FILE,
-     so it doesn't matter if we assign something incorrect.  */
-  KPSE_GLYPH_FILE_SOURCE (*glyph_file) = source;
-  
-  return ret;
-}
-
-/* The tolerances change whether we base things on DPI1 or DPI2.  */
-
-boolean
-kpse_bitmap_tolerance P2C(double, dpi1,  double, dpi2)
-{
-  unsigned tolerance = KPSE_BITMAP_TOLERANCE (dpi2);
-  unsigned lower_bound = (int) (dpi2 - tolerance) < 0 ? 0 : dpi2 - tolerance;
-  unsigned upper_bound = dpi2 + tolerance;
-
-  return lower_bound <= dpi1 && dpi1 <= upper_bound;
-}
-
-#ifdef TEST
-
-void
-test_find_glyph (const_string font_name, unsigned dpi)
-{
-  string answer;
-  kpse_glyph_file_type ret;
-  
-  printf ("\nSearch for %s@%u:\n\t", font_name, dpi);
-
-  answer = kpse_find_glyph_format (font_name, dpi,
-                                   kpse_any_glyph_format, &ret);
-  if (answer)
-    {
-      string format = ret.format == kpse_pk_format ? "pk" : "gf";
-      if (!ret.name)
-        ret.name = "(null)";
-      printf ("%s\n\t(%s@%u, %s)\n", answer, ret.name, ret.dpi, format);
-    }
-  else
-    puts ("(null)");
-}
-
-
-int
-main ()
-{
-  test_find_glyph ("/usr/local/lib/tex/fonts/cm/cmr10", 300); /* absolute */
-  test_find_glyph ("cmr10", 300);     /* normal */
-  test_find_glyph ("logo10", 300);    /* find gf */
-  test_find_glyph ("cmr10", 299);     /* find 300 */
-  test_find_glyph ("circle10", 300);  /* in fontmap */
-  test_find_glyph ("none", 300);      /* do not find */
-  kpse_fallback_font = "cmr10";
-  test_find_glyph ("fallback", 300);  /* find fallback font cmr10 */
-  kpse_init_fallback_resolutions ("KPATHSEA_TEST_SIZES");
-  test_find_glyph ("fallbackdpi", 759); /* find fallback font cmr10@300 */
-  
-  xputenv ("GFFONTS", ".");
-  test_find_glyph ("cmr10", 300);     /* different GFFONTS/TEXFONTS */
-  
-  return 0;
-}
-
-#endif /* TEST */
-
-
-/*
-Local variables:
-test-compile-command: "gcc -g -I. -I.. -DTEST tex-glyph.c kpathsea.a"
-End:
-*/
deleted file mode 100644
--- a/kpathsea/tex-glyph.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/* tex-glyph.h: look for a TeX glyph font (GF or PK).
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_TEX_GLYPH_H
-#define KPATHSEA_TEX_GLYPH_H
-
-#include <kpathsea/tex-file.h>
-
-
-/* This type describes the origination of a glyph font.  */
-
-typedef enum
-{
-  kpse_glyph_source_normal,  /* the searched-for font: already existed */
-  kpse_glyph_source_alias,   /* : was an alias for an existing file */
-  kpse_glyph_source_maketex, /* : was created on the fly */
-  kpse_glyph_source_fallback /* : wasn't found, but the fallback font was */
-} kpse_glyph_source_type;
-
-
-typedef struct
-{
-  string name;			/* font name found */
-  unsigned dpi;			/* size found, for glyphs */
-  kpse_file_format_type format;	/* glyph format found */
-  kpse_glyph_source_type source;	/* where we found it */
-} kpse_glyph_file_type;		
-
-#define KPSE_GLYPH_FILE_NAME(f) ((f).name)
-#define KPSE_GLYPH_FILE_DPI(f) ((f).dpi)
-#define KPSE_GLYPH_FILE_FORMAT(f) ((f).format)
-#define KPSE_GLYPH_FILE_SOURCE(f) ((f).source)
-
-
-/* Search first for the font named FONT_NAME at resolution DPI in the
-   glyph format FORMAT (see `try_size' for details of format searching).
-   Then try resolutions within KPSE_BITMAP_TOLERANCE of DPI.  Then try
-   the resolutions in `kpse_fallback_sizes', then within the tolerance
-   of each of those.  Then if FONT_NAME is an alias defined in a
-   texfonts.map do all the above for its real name.  Then try the above
-   for kpse_fallback_name.  Then fail.  Return either the filename
-   found, or NULL.  Also return information about the file found in
-   *GLYPH_FILE.  */
-extern string kpse_find_glyph P4H(const_string font_name, unsigned dpi, 
-                                  kpse_file_format_type format,
-                                  kpse_glyph_file_type *glyph_file);
-
-/* Look for a specific format only.  */
-#define kpse_find_pk(font_name, dpi, glyph_file) \
-  kpse_find_glyph (font_name, dpi, kpse_pk_format, glyph_file)
-#define kpse_find_gf(font_name, dpi, glyph_file) \
-  kpse_find_glyph (font_name, dpi, kpse_gf_format, glyph_file)
-
-
-/* Defines how far away a pixel file can be found from its stated size.
-   The DVI standard says any resolution within 0.2% of the stated size
-   is ok, but we are more forgiving.  */
-#define KPSE_BITMAP_TOLERANCE(r) ((r) / 500.0 + 1)
-
-/* Check whether DPI1 is within KPSE_BITMAP_TOLERANCE of DPI2. */
-extern boolean kpse_bitmap_tolerance P2H(double dpi1, double dpi2);
-
-#endif /* not KPATHSEA_TEX_GLYPH_H */
deleted file mode 100644
--- a/kpathsea/tex-make.c
+++ /dev/null
@@ -1,301 +0,0 @@
-/* tex-make.c: Run external programs to make TeX-related files.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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-pathch.h>
-#include <kpathsea/concatn.h>
-#include <kpathsea/db.h>
-#include <kpathsea/fn.h>
-#include <kpathsea/magstep.h>
-#include <kpathsea/readable.h>
-#include <kpathsea/tex-make.h>
-#include <kpathsea/variable.h>
-
-
-/* We never throw away stdout, since that is supposed to be the filename
-   found, if all is successful.  This variable controls whether stderr
-   is thrown away.  */
-boolean kpse_make_tex_discard_errors = false;
-
-/* We set the envvar MAKETEX_MAG, which is part of the default spec for
-   MakeTeXPK above, based on KPATHSEA_DPI and MAKETEX_BASE_DPI.  */
-
-static void
-set_maketex_mag P1H(void)
-{
-  char q[MAX_INT_LENGTH * 3 + 3];
-  int m;
-  string dpi_str = getenv ("KPATHSEA_DPI");
-  string bdpi_str = getenv ("MAKETEX_BASE_DPI");
-  unsigned dpi = dpi_str ? atoi (dpi_str) : 0;
-  unsigned bdpi = bdpi_str ? atoi (bdpi_str) : 0;
-
-  /* If the environment variables aren't set, it's a bug.  */
-  assert (dpi != 0 && bdpi != 0);
-  
-  /* Fix up for roundoff error.  Hopefully the driver has already fixed
-     up DPI, but may as well be safe, and also get the magstep number.  */
-  (void) kpse_magstep_fix (dpi, bdpi, &m);
-  
-  /* Have to do something different for DOS?  */
-  if (m == 0)
-    sprintf (q, "%d+%d/%d", dpi / bdpi, dpi % bdpi, bdpi);
-  else
-    { /* m is encoded with LSB being a ``half'' bit (see magstep.h).  Are
-         we making an assumption here about two's complement?  Probably.
-         In any case, if m is negative, we have to put in the sign
-         explicitly, since m/2==0 if m==-1.  */
-      const_string sign = "";
-      if (m < 0)
-        {
-          m *= -1;
-          sign = "-";
-        }
-      sprintf (q, "magstep\\(%s%d.%d\\)", sign, m / 2, (m & 1) * 5);
-    }  
-  xputenv ("MAKETEX_MAG", q);
-}
-
-/* This MakeTeX... program was disabled, or the script failed.  If this
-   was a font creation (according to FORMAT), append CMD
-   to a file missfont.log in the current directory.  */
-
-static void
-misstex P2C(kpse_file_format_type, format,  const_string, cmd)
-{
-  static FILE *missfont = NULL;
-
-  /* If we weren't trying to make a font, do nothing.  Maybe should
-     allow people to specify what they want recorded?  */
-  if (format > kpse_any_glyph_format && format != kpse_tfm_format
-      && format != kpse_vf_format)
-    return;
-
-  /* If this is the first time, have to open the log file.  */
-  if (!missfont)
-    {
-      const_string missfont_name = "missfont.log";
-      missfont = fopen (missfont_name, FOPEN_A_MODE);
-      if (!missfont && getenv ("TEXMFOUTPUT"))
-        {
-          missfont_name = concat3 (getenv ("TEXMFOUTPUT"), DIR_SEP_STRING,
-                                   missfont_name);
-          missfont = fopen (missfont_name, FOPEN_A_MODE);
-        }
-
-      /* Should we really be unconditionally shouting this message?  */
-      if (missfont)
-        fprintf (stderr, "kpathsea: Appending font creation commands to %s.\n",
-                 missfont_name);
-    }
-  
-  /* Write the command if we have a log file.  */
-  if (missfont)
-    {
-      fputs (cmd, missfont);
-      putc ('\n', missfont);
-    }
-}  
-
-
-/* Assume the script outputs the filename it creates (and nothing
-   else) on standard output; hence, we run the script with `popen'.  */
-
-static string
-maketex P2C(kpse_file_format_type, format,  const_string, cmd)
-{
-  string ret;
-  FILE *f;
-  
-  /* Tell the user we are running the script, so they have a clue as to
-     what's going on if something messes up.  */
-  fprintf (stderr, "kpathsea: Running %s\n", cmd);
-  
-  /* Run the script.  */
-  f = popen (cmd, FOPEN_R_MODE);
-
-  if (f)
-    {
-      int c;
-      string fn;             /* The final filename.  */
-      unsigned len;          /* And its length.  */
-      fn_type output;
-      output = fn_init ();   /* Collect the script output.  */
-
-      /* Read all the output and terminate with a null.  */
-      while ((c = getc (f)) != EOF)
-        fn_1grow (&output, c);
-      fn_1grow (&output, 0);
-
-      /* Maybe should check for `EXIT_SUCCESS' status before even
-         looking at the output?  */
-      if (pclose (f) == -1)
-        FATAL_PERROR (cmd);
-
-      len = FN_LENGTH (output);
-      fn = FN_STRING (output);
-
-      /* Remove trailing newlines and returns.  */
-      while (len > 1 && (fn[len - 2] == '\n' || fn[len - 2] == '\r'))
-        {
-          fn[len - 2] = 0;
-          len--;
-        }
-
-      /* If no output from script, return NULL.  Otherwise check
-         what it output.  */
-      ret = len == 1 ? NULL : kpse_readable_file (fn);
-
-      /* Free the name if we're not returning it.  */
-      if (fn != ret)
-        free (fn);
-    }
-  else
-    /* popen failed.  Maybe should give error (optionally), but for
-       now be silent, to avoid annoying people who purposefully
-       don't have the script installed. */
-    ret = NULL;
-  
-  if (ret == NULL)
-    misstex (format, cmd);
-  else
-    db_insert (ret);
-    
-  return ret;
-}
-
-
-/* Create BASE in FORMAT and return the generated filename, or
-   return NULL.  */
-
-string
-kpse_make_tex P2C(kpse_file_format_type, format,  const_string, base)
-{
-  kpse_format_info_type spec; /* some compilers lack struct initialization */
-  string ret = NULL;
-  
-  spec = kpse_format_info[format];
-  
-  if (spec.program)
-    {
-      /* See the documentation for the envvars we're dealing with here.  */
-      string args, cmd;
-      const_string prog = spec.program; /* MakeTeXPK */
-      string PROG = uppercasify (prog); /* MAKETEXPK */
-      string progenv = getenv (PROG);   /* ENV{"MAKETEXPK"} */
-      const_string arg_spec = progenv ? progenv : spec.program_args;
-      string mode = getenv ("MAKETEX_MODE");
-      boolean unset_mode = false;
-      
-      set_maketex_mag ();
-      
-      /* Here's an awful kludge: if the mode is `/', unset it for the
-         call and then reset it.  We could ignore a mode of / in
-         MakeTeXPK, but then everyone's MakeTeXPK would have to handle
-         that special case, which seems too onerous.  `kpse_prog_init'
-         sets it to this in the first place when no mode is otherwise
-         specified; this is so when the user defines a resolution, they
-         don't also have to specify a mode; instead, MakeTeXPK's guesses
-         will take over.  They use / for the value because then when it
-         is expanded as part of the PKFONTS et al. path values, we'll
-         wind up searching all the pk directories.  We put $MAKETEX_MODE
-         in the path values in the first place so that sites with two
-         different devices with the same resolution can find the right
-         fonts; but such sites are uncommon, so they shouldn't make
-         things harder for everyone else.  */
-      if (mode && STREQ (mode, DIR_SEP_STRING))
-        {
-          xputenv ("MAKETEX_MODE", "");
-          unset_mode = true;
-        }
-      args = arg_spec ? kpse_var_expand (arg_spec) : (string) "";
-      if (unset_mode)
-        xputenv ("MAKETEX_MODE", DIR_SEP_STRING);
-      
-      /* The command is the program name plus the arguments.  */
-      cmd = concatn (prog, " ", base, " ", args, NULL);
-
-      if (spec.program_enabled_p)
-        {
-          /* Only way to discard errors is redirect stderr inside another
-             shell; otherwise, if the MakeTeX... script doesn't exist, we
-             will see the `sh: MakeTeX...: not found' error.  No point in
-             doing this if we're not actually going to run anything.  */
-          if (kpse_make_tex_discard_errors)
-            {
-              string old_cmd = cmd;
-              cmd = concat3 ("sh -c \"", cmd, "\" 2>/dev/null");
-              free (old_cmd);
-            }
-
-          ret = maketex (format, cmd);
-        }
-      else
-        misstex (format, cmd);
-
-      free (PROG);
-      free (cmd);
-      if (*args)
-        free (args);
-    }  
-
-  return ret;
-}
-
-#ifdef TEST
-
-void
-test_make_tex (kpse_file_format_type fmt, const_string base)
-{
-  string answer;
-  
-  printf ("\nAttempting %s in format %d:\n", base, fmt);
-
-  answer = kpse_make_tex (fmt, base);
-  puts (answer ? answer : "(null)");
-}
-
-
-int
-main ()
-{
-  xputenv ("KPATHSEA_DPI", "781"); /* call MakeTeXPK */
-  xputenv ("MAKETEX_BASE_DPI", "300"); /* call MakeTeXPK */
-  KPSE_MAKE_SPEC_ENABLED (kpse_make_specs[kpse_pk_format]) = true;
-  test_make_tex (kpse_pk_format, "cmr10");
-
-  /* Fail with MakeTeXTFM.  */
-  KPSE_MAKE_SPEC_ENABLED (kpse_make_specs[kpse_tfm_format]) = true;
-  test_make_tex (kpse_tfm_format, "foozler99");
-  
-  /* Call something disabled.  */
-  test_make_tex (kpse_bst_format, "no-way");
-  
-  return 0;
-}
-
-#endif /* TEST */
-
-
-/*
-Local variables:
-test-compile-command: "gcc -g -I. -I.. -DTEST tex-make.c kpathsea.a"
-End:
-*/
deleted file mode 100644
--- a/kpathsea/tex-make.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/* tex-make.h: declarations for executing external scripts.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_TEX_MAKE_H
-#define KPATHSEA_TEX_MAKE_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/tex-file.h>
-#include <kpathsea/types.h>
-
-
-/* Says whether to throw away stderr output from the MakeTeX... scripts,
-   or let it be seen.  */
-extern boolean kpse_make_tex_discard_errors;
-
-
-/* Run a program to create a file named by BASE_FILE in format FORMAT.
-   Return the full filename to it, or NULL.  Any other information about
-   the file is passed through environment variables.  See the MakeTeXPK
-   stuff in `tex-make.c' for an example. */
-extern string kpse_make_tex P2H(kpse_file_format_type format,
-                                const_string base_file);
-
-#endif /* not KPATHSEA_TEX_MAKE_H */
deleted file mode 100644
--- a/kpathsea/texmf.cnf.in
+++ /dev/null
@@ -1,107 +0,0 @@
-% original texmf.cnf -- runtime path configuration file for kpathsea.
-% 
-% (If you change or delete `original' on the previous line, the
-% distribution won't install its version over yours.)
-% 
-% What follows is a super-summary of what this .cnf file can
-% contain. Please read the Kpathsea manual for more information.
-% 
-% texmf.cnf is generated from texmf.cnf.in, by replacing @var@ with the
-% value of the Make variable `var', via a sed file texmf.sed, generated
-% (once) by kpathsea/Makefile (itself generated from
-% kpathsea/Makefile.in by configure).
-% 
-% Any identifier (sticking to A-Za-z_ for names is safest) can be assigned.
-% The `=' (and surrounding spaces) is optional.
-% No space, %, or @ in variable values, for the sake of autogeneration.
-% An environment variable foo overrides a definition of foo here.
-% $foo (or ${foo}) in a value expands to the envvar or cnf value of foo.
-% 
-% All definitions are read before anything is expanded, so you can use
-% variables before they are defined.
-% 
-% If a variable is qualified with `.<program>', it is ignored unless the
-% current executable (last component of argv[0]) is named <program>.
-% 
-% Which file formats use which paths for searches is described in the
-% various programs' and the kpathsea documentation.
-% 
-% // means to search subdirectories (recursively).
-% A leading !! means to look only in the ls-R db, never on the disk.
-% A leading/trailing/doubled : in the paths will be expanded into the
-%   compile-time default. Probably not what you want.
-
-
-% Where the wild files are. You can set an environment variable to
-% override this if you're testing a new TeX tree, without changing
-% anything else.
-TEXMF = @texmf@
-
-% TeX input files -- i.e., anything to be found by \input or \openin,
-% including .sty, .eps, etc.  Things are confused by the many variants
-% of LaTeX, which all have the same filenames.  The current
-% recommendation is to make `latex' be latex2e, and if you also want to
-% support latex 2.09, call it latex209. If you do the reverse, the
-% definitions below will need adjusting.
-% 
-latex209_inputs = .:@texinputdir@/latex209//:@texinputdir@//
-latex2e_inputs = .:@texinputdir@/latex2e//:@texinputdir@//
-TEXINPUTS.latex209 = $latex209_inputs
-TEXINPUTS.latex2e = $latex2e_inputs
-TEXINPUTS.latex = $latex2e_inputs
-% Earlier entries override later ones, so put this last.
-TEXINPUTS = .:@texinputdir@//
-
-% Ditto for MF.
-MFINPUTS = .:@mfinputdir@//:@fontdir@//src//
-
-% Predigested formats and string pools for initex/inimf.
-TEXFORMATS = .:@fmtdir@
-MFBASES = .:@basedir@
-TEXPOOL = @texpooldir@
-MFPOOL = @mfpooldir@
-
-% Device-independent font metric files.
-VFFONTS = .:@fontdir@//vf
-TFMFONTS = .:@fontdir@//tfm
-
-% Just an abbreviation.
-pkdir = @fontdir@//pk
-
-% The $MAKETEX_MODE below means the drivers will not use a cx font when
-% the mode is ricoh.  If no mode is explicitly specified, kpse_prog_init
-% sets MAKETEX_MODE to /, so all subdirectories are searched.  See the manual.
-
-% xdvi needs to find bitmaps for PostScript fonts, which can be
-% generated by standalone programs gsftopk and ps2pk (ps2mf needs no
-% special treatment). See xdvik/INSTALL for more info.
-PKFONTS.xdvi = .:$pkdir/$MAKETEX_MODE:$pkdir/gsftopk:$pkdir/ps2pk
-% Again, the standard definition must come after the program-specific one.
-% Don't use $pkdir since we can't do general variable expansion making paths.h.
-PKFONTS = .:@fontdir@//pk/$MAKETEX_MODE
-
-% Similarly for the GF format, which only remains in existence because
-% Metafont outputs it (and MF isn't going to change).
-GFFONTS = .:@fontdir@//gf/$MAKETEX_MODE
-
-% Used to find texfonts.map; also a backup for PKFONTS and GFFONTS,
-% but normally that is irrelevant, so don't bother with all subdirectories.
-GLYPHFONTS = .:@fontdir@
-
-% BibTeX bibliographies and style files.
-BIBINPUTS = .:@texmf@/bibtex/bib
-BSTINPUTS = .:@texmf@/bibtex/bst
-
-% Dvips' config.* files.
-TEXCONFIG = .:~:@psheaderdir@
-
-% Dvips' PostScript prologues (.pro) and .pfa/.pfb files.
-DVIPSHEADERS = .:@psheaderdir@:@fontdir@//type1
-
-% Enable this (or set the environment variable) if you want kpathsea to
-% log names and times for all files found.
-% TEXMFLOG = @texmf@/kpathsea.log
-
-% This definition isn't used from this .cnf file itself (that would be
-% paradoxical), but the compile-time default in paths.h is built from it.
-TEXMFCNF = .:@web2cdir@
deleted file mode 100644
--- a/kpathsea/tilde.c
+++ /dev/null
@@ -1,122 +0,0 @@
-/* tilde.c: Expand user's home directories.
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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-pathch.h>
-#include <kpathsea/tilde.h>
-
-#ifdef HAVE_PWD_H
-#include <pwd.h>
-#endif
-
-
-/* If NAME has a leading ~ or ~user, Unix-style, expand it to the user's
-   home directory, and return a new malloced string.  If no ~, or no
-   <pwd.h>, just return NAME.  */
-
-string
-kpse_tilde_expand P1C(const_string, name)
-{
-#ifdef HAVE_PWD_H
-  const_string expansion;
-  const_string home;
-  
-  assert (name);
-  
-  /* If no leading tilde, do nothing.  */
-  if (*name != '~')
-    expansion = name;
-  
-  /* If `~' or `~/', use $HOME if it exists, or `.' if it doesn't.  */
-  else if (IS_DIR_SEP (name[1]) || name[1] == 0)
-    {
-      home = getenv ("HOME");
-      if (!home)
-        home = ".";
-        
-      expansion = name[1] == 0
-                  ? xstrdup (home) : concat3 (home, DIR_SEP_STRING, name + 2);
-    }
-  
-  /* If `~user' or `~user/', look up user in the passwd database.  */
-  else
-    {
-      struct passwd *p;
-      string user;
-      unsigned c = 2;
-      while (!IS_DIR_SEP (name[c]) && name[c] != 0)
-        c++;
-      
-      user = (string) xmalloc (c);
-      strncpy (user, name + 1, c - 1);
-      user[c - 1] = 0;
-      
-      /* We only need the cast here for those (deficient) systems
-         which do not declare `getpwnam' in <pwd.h>.  */
-      p = (struct passwd *) getpwnam (user);
-      free (user);
-
-      /* If no such user, just use `.'.  */
-      home = p == NULL ? "." : p->pw_dir;
-      
-      expansion = name[c] == 0 ? xstrdup (home) : concat (home, name + c);
-    }
-  
-  /* We may return the same thing as the original, and then we might not
-     be returning a malloc-ed string.  */
-  return (string) expansion;
-#else
-  return name;
-#endif /* not HAVE_PWD_H */
-}
-
-#ifdef TEST
-
-void
-test_expand_tilde (const_string filename)
-{
-  string answer;
-  
-  printf ("Tilde expansion of `%s':\t", filename ? filename : "(null)");
-  answer = kpse_tilde_expand (filename);
-  puts (answer);
-}
-
-int
-main ()
-{
-  string tilde_path = "tilde";
-
-  test_expand_tilde ("");
-  test_expand_tilde ("none");
-  test_expand_tilde ("~root");
-  test_expand_tilde ("~");
-  test_expand_tilde ("foo~bar");
-  
-  return 0;
-}
-
-#endif /* TEST */
-
-
-/*
-Local variables:
-standalone-compile-command: "gcc -g -I. -I.. -DTEST tilde.c kpathsea.a"
-End:
-*/
deleted file mode 100644
--- a/kpathsea/tilde.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* tilde.h: Declare tilde expander.
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_TILDE_H
-#define KPATHSEA_TILDE_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/types.h>
-
-
-/* Replace a leading ~ or ~name in FILENAME with getenv ("HOME") or
-   name's home directory, respectively.  FILENAME may not be null.  */
-
-extern string kpse_tilde_expand P1H(const_string filename);
-
-#endif /* not KPATHSEA_TILDE_H */
deleted file mode 100644
--- a/kpathsea/truncate.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* truncate.c: truncate too-long components in a filename.
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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-namemx.h>
-#include <kpathsea/c-pathch.h>
-#include <kpathsea/c-pathmx.h>
-#include <kpathsea/truncate.h>
-
-
-/* Truncate any too-long components in NAME, returning the result.  It's
-   too bad this is necessary.  See comments in readable.c for why.  */
-
-string
-kpse_truncate_filename P1C(const_string, name)
-{
-  unsigned c_len = 0;        /* Length of current component.  */
-  unsigned ret_len = 0;      /* Length of constructed result.  */
-  
-  /* Allocate enough space.  */
-  string ret = (string) xmalloc (strlen (name) + 1);
-
-  for (; *name; name++)
-    {
-      if (IS_DIR_SEP (*name))
-        { /* At a directory delimiter, reset component length.  */
-          c_len = 0;
-        }
-      else if (c_len > NAME_MAX)
-        { /* If past the max for a component, ignore this character.  */
-          continue;
-        }
-
-      /* Copy this character.  */
-      ret[ret_len++] = *name;
-      c_len++;
-    }
-  ret[ret_len] = 0;
-
-  return ret;
-}
deleted file mode 100644
--- a/kpathsea/truncate.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* truncate.h: truncate too-long components in a filename.
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_TRUNCATE_H
-#define KPATHSEA_TRUNCATE_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/types.h>
-
-/* Truncate any component in NAME longer than the system NAME_MAX, and
-   return the result as a malloced string.  If none, return a copy of
-   NAME.  */
-extern string kpse_truncate_filename P1H(const_string name);
-
-#endif /* not KPATHSEA_TRUNCATE_H */
deleted file mode 100644
--- a/kpathsea/types.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* types.h: general types.
-
-Copyright (C) 1993 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_TYPES_H
-#define KPATHSEA_TYPES_H
-
-/* Booleans.  */
-typedef enum { false = 0, true = 1 } boolean;
-
-/* The X11 library defines `FALSE' and `TRUE', and so we only want to
-   define them if necessary.  */
-#ifndef FALSE
-#define FALSE false
-#define TRUE true
-#endif /* FALSE */
-
-/* The usual null-terminated string.  */
-typedef char *string;
-
-/* A pointer to constant data.  (ANSI says `const string' is
-   `char const *', which is a constant pointer, which is not what we
-   typically want.)  */
-typedef const char *const_string;
-
-/* A generic pointer.  */
-typedef void *address;
-
-#endif /* not KPATHSEA_TYPES_H */
deleted file mode 100644
--- a/kpathsea/uppercasify.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* uppercasify.c: change all lowercase letters to uppercase.
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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-ctype.h>
-
-
-string
-uppercasify P1C(const_string, s)
-{
-  string target;
-  string ret = xstrdup (s);
-  
-  for (target = ret; *target; target++)
-    {
-      *target = TOUPPER (*target);
-    }
-  
-  return ret;
-}
deleted file mode 100644
--- a/kpathsea/variable.c
+++ /dev/null
@@ -1,185 +0,0 @@
-/* variable.c: variable expansion.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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-ctype.h>
-#include <kpathsea/cnf.h>
-#include <kpathsea/fn.h>
-#include <kpathsea/variable.h>
-
-
-/* Append the result of value of `var' to EXPANSION, where `var' begins
-   at START and ends at END.  If `var' is not set, do not complain.  */
-
-static void
-expand P3C(fn_type *, expansion,  const_string, start,  const_string, end)
-{
-  string value;
-  unsigned len = end - start + 1;
-  string var = xmalloc (len + 1);
-  strncpy (var, start, len);
-  var[len] = 0;
-  
-  /* First check the environment variable.  */
-  value = getenv (var);
-  
-  /* If no envvar, check the config files.  */
-  if (!value)
-    value = kpse_cnf_get (var);
-    
-  if (value)
-    {
-      value = kpse_var_expand (value);
-      fn_grow (expansion, value, strlen (value));
-      free (value);
-    }
-  
-  free (var);
-}
-
-/* Can't think of when it would be useful to change these (and the
-   diagnostic messages assume them), but ... */
-#ifndef IS_VAR_START /* starts all variable references */
-#define IS_VAR_START(c) ((c) == '$')
-#endif
-#ifndef IS_VAR_CHAR  /* variable name constituent */
-#define IS_VAR_CHAR(c) (ISALNUM (c) || (c) == '_')
-#endif
-#ifndef IS_VAR_BEGIN_DELIMITER /* start delimited variable name (after $) */
-#define IS_VAR_BEGIN_DELIMITER(c) ((c) == '{')
-#endif
-#ifndef IS_VAR_END_DELIMITER
-#define IS_VAR_END_DELIMITER(c) ((c) == '}')
-#endif
-
-
-/* Maybe we should generalize to allow some or all of the various shell
-   ${...} constructs, especially ${var-value}.  */
-
-string
-kpse_var_expand P1C(const_string, src)
-{
-  const_string s;
-  string ret;
-  fn_type expansion;
-  expansion = fn_init ();
-  
-  /* Copy everything but variable constructs.  */
-  for (s = src; *s; s++)
-    {
-      if (IS_VAR_START (*s))
-        {
-          s++;
-          
-          /* Three cases: `$VAR', `${VAR}', `$<anything-else>'.  */
-          
-          if (IS_VAR_CHAR (*s))
-            { /* $V: collect name constituents, then expand.  */
-              const_string var_end = s;
-              
-              do
-                var_end++;
-              while (IS_VAR_CHAR (*var_end));
-              
-              var_end--; /* had to go one past */
-              expand (&expansion, s, var_end);
-              s = var_end;
-            }
-
-          else if (IS_VAR_BEGIN_DELIMITER (*s))
-            { /* ${: scan ahead for matching delimiter, then expand.  */
-              const_string var_end = ++s;
-              
-              while (*var_end && !IS_VAR_END_DELIMITER (*var_end))
-                var_end++;
-              
-              if (! *var_end)
-                {
-                  WARNING1 ("%s: No matching right brace for ${", src);
-                  s = var_end - 1; /* will incr to null at top of loop */
-                }
-              else
-                {
-                  expand (&expansion, s, var_end - 1);
-                  s = var_end; /* will incr past } at top of loop*/
-                }
-            }
-
-
-          else
-            { /* $<something-else>: error.  */
-              WARNING2 ("%s: Unrecognized variable construct `$%c'", src, *s);
-              /* Just ignore those chars and keep going.  */
-            }
-        }
-      else
-        fn_1grow (&expansion, *s);
-    }
-  fn_1grow (&expansion, 0);
-          
-  ret = FN_STRING (expansion);
-  return ret;
-}
-
-#ifdef TEST
-
-static void
-test_var (string test, string right_answer)
-{
-  string result = kpse_var_expand (test);
-  
-  printf ("expansion of `%s'\t=> %s", test, result);
-  if (!STREQ (result, right_answer))
-    printf (" [should be `%s']", right_answer);
-  putchar ('\n');
-}
-
-
-int
-main ()
-{
-   test_var ("a", "a");
-   test_var ("$foo", "");
-   test_var ("a$foo", "a");
-   test_var ("$foo a", " a");
-   test_var ("a$foo b", "a b");
-
-   xputenv ("FOO", "foo value");
-   test_var ("a$FOO", "afoo value");
-   
-   xputenv ("Dollar", "$");
-   test_var ("$Dollar a", "$ a");
-   
-   test_var ("a${FOO}b", "afoo valueb");
-   test_var ("a${}b", "ab");
-   
-   test_var ("$$", ""); /* and error */
-   test_var ("a${oops", "a"); /* and error */
-   
-   return 0;
-}
-
-#endif /* TEST */
-
-
-/*
-Local variables:
-standalone-compile-command: "gcc -g -I. -I.. -DTEST variable.c kpathsea.a"
-End:
-*/
deleted file mode 100644
--- a/kpathsea/variable.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/* variable.h: Declare variable expander.
-
-Copyright (C) 1993 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_VARIABLE_H
-#define KPATHSEA_VARIABLE_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/types.h>
-
-
-/* Expand $VAR and ${VAR} references in SRC, returning the (always
-   dynamically-allocated) result.  An unterminated ${ or any other
-   character following $ produce error messages, and that part of SRC is
-   ignored.  In the $VAR form, the variable name consists of consecutive
-   letters, digits, and underscores.  In the ${VAR} form, the variable
-   name consists of whatever is between the braces.  In any case,
-   ``expansion'' just means calling `getenv'; if the variable is not
-   set, the expansion is the empty string.  */
-extern string kpse_var_expand P1H(const_string src);
-
-#endif /* not KPATHSEA_VARIABLE_H */
deleted file mode 100644
--- a/kpathsea/version.c
+++ /dev/null
@@ -1,1 +0,0 @@
-char *kpathsea_version_string = (char *) "kpathsea version 2.6";
deleted file mode 100644
--- a/kpathsea/xcalloc.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* xcalloc.c: calloc with error checking.
-
-Copyright (C) 1992, 93 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#include <kpathsea/config.h>
-
-
-address
-xcalloc P2C(unsigned, nelem,  unsigned, elsize)
-{
-  address new_mem = (address) calloc (nelem, elsize);
-  
-  if (new_mem == NULL)
-    {
-      fprintf (stderr, "xcalloc: request for %u elements of size %u failed.\n",
-               nelem, elsize);
-      abort ();
-    }
-  
-  return new_mem;
-}
deleted file mode 100644
--- a/kpathsea/xfopen.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* xfopen.c: fopen and fclose with error checking.
-
-Copyright (C) 1992, 93 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#include <kpathsea/config.h>
-
-
-/* These routines just check the return status from standard library
-   routines and abort if an error happens.  */
-
-FILE *
-xfopen P2C(const_string, filename,  const_string, mode)
-{
-  FILE *f = fopen (filename, mode);
-
-  if (f == NULL)
-    FATAL_PERROR (filename);
-
-  return f;
-}
-
-
-void
-xfclose P2C(FILE *, f,  const_string, filename)
-{
-  if (fclose (f) == EOF)
-    FATAL_PERROR (filename);
-}
-
-
deleted file mode 100644
--- a/kpathsea/xmalloc.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* xmalloc.c: malloc with error checking.
-
-Copyright (C) 1992, 93 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-/* Don't include config.h or all our other usual includes, since
-   it's useful to just throw this file into other programs.  */
-
-#include <stdio.h>
-extern char *malloc ();
-
-
-void *
-xmalloc (size)
-    unsigned size;
-{
-  void *new_mem = (void *) malloc (size);
-
-  if (new_mem == NULL)
-    {
-      fprintf (stderr, "fatal: memory exhausted (xmalloc of %u bytes).\n",
-               size);
-      /* 1 means success on VMS, so pick a random number (ASCII `K').  */
-      exit (75);
-    }
-
-  return new_mem;
-}
deleted file mode 100644
--- a/kpathsea/xopendir.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* xopendir.c: opendir and closedir with error checking.
-
-Copyright (C) 1992, 93, 94 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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/xopendir.h>
-
-
-DIR *
-xopendir P1C(string, dirname)
-{
-  DIR *d = opendir (dirname);
-
-  if (d == NULL)
-    FATAL_PERROR (dirname);
-
-  return d;
-}
-
-
-void
-xclosedir P1C(DIR *, d)
-{
-#ifdef VOID_CLOSEDIR
-  closedir (d);
-#else
-  int ret = closedir (d);
-  
-  if (ret != 0)
-    FATAL ("closedir failed");
-#endif
-}
deleted file mode 100644
--- a/kpathsea/xopendir.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* xopendir.h: Checked directory operations.
-
-Copyright (C) 1994 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_XDIR_H
-#define KPATHSEA_XDIR_H
-
-#include <kpathsea/c-dir.h>
-#include <kpathsea/c-proto.h>
-#include <kpathsea/types.h>
-
-/* Like opendir and closedir, but abort on error.  */
-extern DIR *xopendir P1H(string dirname);
-extern void xclosedir P1H(DIR *);
-
-#endif /* not KPATHSEA_XDIR_H */
deleted file mode 100644
--- a/kpathsea/xputenv.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/* xputenv.c: set an environment variable without return.
-
-Copyright (C) 1993, 94 Karl Berry.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#include <kpathsea/config.h>
-
-/* Avoid implicit declaration warning.  */
-extern int putenv ();
-
-/* This `x' function is different from the others in that it takes
-   different parameters than the standard function; but I find it much
-   more convenient to pass the variable and the value separately.  Also,
-   this way we can guarantee that the environment value won't become
-   garbage.  Also, putenv just overwrites old entries with
-   the new, and we want to reclaim that space -- this may be called
-   hundreds of times on a run.
-   
-   But naturally, some systems do it differently. In this case, it's
-   net2 that is smart and does its own saving/freeing. If you can write
-   a test for configure to check this, please send it to me. Until then,
-   you'll have to define SMART_PUTENV yourself. */
-
-void
-xputenv P2C(const_string, var_name,  const_string, value)
-{
-  static const_string *saved_env_items = NULL;
-  static unsigned saved_len;
-  string old_item = NULL;
-  string new_item = concat3 (var_name, "=", value);
-
-#ifndef SMART_PUTENV
-  /* Check if we have saved anything yet.  */
-  if (!saved_env_items)
-    {
-      saved_env_items = XTALLOC1 (const_string);
-      saved_env_items[0] = var_name;
-      saved_len = 1;
-    }
-  else
-    {
-      /* Check if we've assigned VAR_NAME before.  */
-      unsigned i;
-      unsigned len = strlen (var_name);
-      for (i = 0; i < saved_len && !old_item; i++)
-        {
-          if (STREQ (saved_env_items[i], var_name))
-            {
-              old_item = getenv (var_name);
-              assert (old_item);
-              /* Back up to the `NAME=' in the environment before the
-                 value that getenv returns.  */
-              old_item -= (len + 1);
-            }
-        }
-      
-      if (!old_item)
-        {
-          /* If we haven't seen VAR_NAME before, save it.  Assume it is
-             in safe storage.  */
-          saved_len++;
-          XRETALLOC (saved_env_items, saved_len, const_string);
-          saved_env_items[saved_len - 1] = var_name;
-        }
-    }
-#endif /* not SMART_PUTENV */
-
-  /* As far as I can see there's no way to distinguish between the
-     various errors; putenv doesn't have errno values.  */
-  if (putenv (new_item) < 0)
-    FATAL1 ("putenv (%s) failed", new_item);
-  
-#ifndef SMART_PUTENV
-  /* Can't free `new_item' because its contained value is now in
-     `environ', but we can free `old_item', since it's been replaced.  */
-  if (old_item)
-    free (old_item);
-#endif /* not SMART_PUTENV */
-}
-
-
-/* A special case for setting a variable to a numeric value
-   (specifically, KPATHSEA_DPI).  We don't need to dynamically allocate
-   and free the string for the number, since it's saved as part of the
-   environment value.  */
-
-void
-xputenv_int P2C(const_string, var_name,  int, num)
-{
-  char str[MAX_INT_LENGTH];
-  sprintf (str, "%d", num);
-  
-  xputenv (var_name, str);
-}
deleted file mode 100644
--- a/kpathsea/xrealloc.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* xrealloc.c: realloc with error checking.
-
-Copyright (C) 1992, 93 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-/* Don't include config.h or all our other usual includes, since
-   it's useful to just throw this file into other programs.  */
-
-#include <stdio.h>
-extern char *realloc ();
-
-
-extern void *xmalloc ();
-
-void *
-xrealloc (old_ptr, size)
-    void *old_ptr;
-    unsigned size;
-{
-  void *new_mem;
-
-  if (old_ptr == NULL)
-    new_mem = xmalloc (size);
-  else
-    {
-      new_mem = (void *) realloc (old_ptr, size);
-      if (new_mem == NULL)
-        {
-          /* We used to print OLD_PTR here using %x, and casting its
-             value to unsigned, but that lost on the Alpha, where
-             pointers and unsigned had different sizes.  Since the info
-             is of little or no value anyway, just don't print it.  */
-          fprintf (stderr, "fatal: memory exhausted (realloc of %u bytes).\n",
-                   size);
-          /* 1 means success on VMS, so pick a random number (ASCII `B').  */
-          exit (66);
-        }
-    }
-
-  return new_mem;
-}
deleted file mode 100644
--- a/kpathsea/xstat.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* xstat.c: stat and (maybe) lstat with error checking.
-
-Copyright (C) 1992, 93 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; 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/xstat.h>
-
-
-struct stat
-xstat P1C(const_string, path)
-{
-  struct stat s;
-  
-  if (stat (path, &s) != 0)
-    FATAL_PERROR (path);
-  
-  return s;
-}
-
-
-/* If we don't have symbolic links, lstat is the same as stat, and
-   a #define is made in the include file.  We declare lstat to avoid an
-   implicit declaration warning for development; sigh.  */
-
-#ifdef S_ISLNK
-extern int lstat ();
-struct stat
-xlstat P1C(const_string, path)
-{
-  struct stat s;
-  
-  if (lstat (path, &s) != 0)
-    FATAL_PERROR (path);
-  
-  return s;
-}
-#endif
deleted file mode 100644
--- a/kpathsea/xstat.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* xstat.h: stat with error checking.
-
-Copyright (C) 1992, 93, 94 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#ifndef KPATHSEA_XSTAT_H
-#define KPATHSEA_XSTAT_H
-
-#include <kpathsea/c-proto.h>
-#include <kpathsea/c-stat.h>
-#include <kpathsea/types.h>
-
-/* Two files are indistinguishable if they are on the same device
-   and have the same inode.  This checks two stat buffers for that.  Cf.
-   the `same_file_p' routine in file-p.c, declared in kpathlib.h.  */
-#define SAME_FILE_P(s1, s2) \
-  ((s1).st_ino == (s2).st_ino && (s1).st_dev == (s2).st_dev)
-
-/* Does stat(2) on PATH, and aborts if the stat fails.  */
-extern struct stat xstat P1H(const_string path);
-
-/* Ditto, for lstat(2) (except that lstat might not exist).  */
-#ifdef S_ISLNK
-extern struct stat xlstat P1H(const_string path);
-#else
-#define xlstat xstat
-#endif
-
-#endif /* not KPATHSEA_XSTAT_H */
deleted file mode 100644
--- a/kpathsea/xstrdup.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* xstrdup.c: strdup with error checking.
-
-Copyright (C) 1992, 93 Free Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.  */
-
-#include <kpathsea/config.h>
-
-
-/* Return a copy of S in new storage.  */
-
-string
-xstrdup P1C(const_string, s)
-{
-  string new_string = (string) xmalloc (strlen (s) + 1);
-  return strcpy (new_string, s);
-}
deleted file mode 100644
--- a/make/ChangeLog
+++ /dev/null
@@ -1,398 +0,0 @@
-Wed Feb 26 12:40:12 1997  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* misc.make (maintainer-clean): Also remove configure and stamp-auto.
-
-Thu Feb 13 21:26:03 1997  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* common.make (SH_LD, SH_LDFLAGS): Substitute here.
-
-Tue May 14 22:35:12 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* misc.make (clean): Also remove pic/*.o.
-	(distclean): Also remove stamp-picdir and pic.
-
-Sat Mar 23 04:51:00 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* common.make: Use separate pattern rule for compiling PIC.
-
-Fri Feb  2 22:51:32 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* common.make (CPICFLAG): Fix typo.
-
-Mon Jan  8 22:57:17 1996  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* misc.make (mostlyclean):
-	If $(SHARED_LIBS), also remove shared libs.
-
-Fri Dec 29 21:42:33 1995  John W. Eaton  <jwe@bevo.che.wisc.edu>
-
-	* common.make: Handle creating position independent code.
-
-Thu Sep 14 04:36:44 1995  John Eaton  <jwe@bevo.che.wisc.edu>
-
-	* texi.make: Don't fail if makeinfo or tex fail.
-
-	* misc.make (maintainer-clean): Rename from realclean.
-
-Sun Jan  8 12:16:36 1995  Karl Berry  <karl@cs.umb.edu>
-
-        * kpathsea 2.6/dviljk 2.5/dvipsk 5.58f/xdvik 18f.
-
-Wed Jan  4 12:41:25 1995  Karl Berry  <karl@cs.umb.edu>
-
-        * tkpathsea.make (kpathsea): Don't depend on texmf.cnf, since it
-        doesn't exist at the first make.
-
-Tue Jan  3 13:43:12 1995  Karl Berry  <karl@cs.umb.edu>
-
-        * rdepend.make (depend): paths.h is not in the srcdir.
-
-        * config.make (autoconf): Add acsite.m4.
-
-        * dist.make (top_files): FTP belongs here, not in ln_files.
-
-Sun Jan  1 14:02:42 1995  Karl Berry  <karl@cs.umb.edu>
-
-        * makevars.make (makevars): Include web2cdir.
-        * paths.make (web2cdir): New directory.  Suggested by Joachim.
-
-Sat Dec 31 14:35:29 1994  Karl Berry  <karl@cs.umb.edu>
-
-        * tmtpk.make: Just incorporate this in kpathsea/Makefile.in now.
-
-        * rdepend.make (depend): Depend on ourselves.
-
-Fri Dec 30 15:50:37 1994  Karl Berry  <karl@cs.umb.edu>
-
-        * rdepend.make (depend): Use kpathsea_srcdir, not kpathsea_dir.
-        From Joachim.
-
-Wed Dec 28 14:16:50 1994  Karl Berry  <karl@cs.umb.edu>
-
-        * dist.make (ln_files): Add FTP.
-
-Mon Dec 26 10:31:14 1994  Karl Berry  <karl@cs.umb.edu>
-
-        * dist.make (dist): Copy aclocal.m4 from acsite.m4.
-        Suggested by interran@uluru.Stanford.EDU (John Interrante).
-
-Wed Dec 14 15:17:42 1994  Karl Berry  <karl@cs.umb.edu>
-
-        * kpathsea 2.5/dviljk 2.4/dvipsk 5.58e/xdvik 18e.
-
-Sun Dec 11 13:23:12 1994  Karl Berry  <karl@cs.umb.edu>
-
-        * rdepend.make (depend): Remove system include files that are
-        alone on a line.
-
-Fri Nov 25 09:21:02 1994  Karl Berry  <karl@cs.umb.edu>
-
-        * tmtpk.make (MakeTeXPK): Depend on the new filename.
-
-Tue Nov 15 15:28:14 1994  Karl Berry  <karl@cs.umb.edu>
-
-        * tkpathsea.make (makeargs): Change MAKEARGS to XMAKEARGS.
-
-        * targets.make (makeargs): Don't bother to pass $(SHELL).
-
-Tue Nov  8 19:12:45 1994  Karl Berry  <karl@cs.umb.edu>
-
-        * common.make (CFLAGS): Don't include -g, since now it's automatic.
-
-Sun Nov  6 15:53:36 1994  Karl Berry  <karl@cs.umb.edu>
-
-        * paths.make (prefix, exec_prefix): These value are now @prefix@
-        and @exec_prefix@.
-
-        * common.make: Call @SET_MAKE@.
-
-        * misc.make (distclean): Remove config.log and config.cache.
-
-        * programs.make (LDFLAGS): Add @LDFLAGS@.
-        * common.make (CPPFLAGS): Add @CPPFLAGS@.
-        (CFLAGS): Add @CFLAGS@.
-
-        * dist.make (top_files): Distribute install-sh, not install.sh,
-        for Autoconf 2.0.
-
-Sun Oct 30 16:15:34 1994  Karl Berry  <karl@cs.umb.edu>
-
-        * config.make (ac_dir): This is now $(gnu)/share.
-
-Tue Oct 25 17:48:02 1994  Karl Berry  <karl@cs.umb.edu>
-
-        * kpathsea 2.3/dviljk 2.3/dvipsk 5.58c/xdvik 18d.
-
-Sun Oct 23 17:33:56 1994  Karl Berry  <karl@cs.umb.edu>
-
-        * targets.make (MakeTeXPK): Make sed substitutions global.
-        Reported by wfranzki@hlrserv.hlrz.kfa-juelich.de.
-
-Mon Oct 17 13:28:41 1994  Karl Berry  <karl@cs.umb.edu>
-
-        * paths.make (mfpooldir): Doc fix.
-
-Fri Oct 14 10:31:35 1994  Karl Berry  <karl@cs.umb.edu>
-
-        * kpathsea 2.2/dviljk 2.2/dvipsk 5.58b/xdvik 18c.
-
-Mon Oct 10 15:31:06 1994  Karl Berry  <karl@cs.umb.edu>
-
-        * common.make (.SUFFIXES): Declare .c.o.
-
-        * programs.make (LOADLIBES): Omit LEXLIB here.
-
-Sun Sep 25 15:54:36 1994  Karl Berry  <karl@cs.umb.edu>
-
-        * rdepend.make: Doc fix.
-
-        * library.make: New file.
-
-        * makevars.make (makevars): Remove MAKEARGS from here.
-
-        * programs.make (CCLD, link_command): New variables.
-        (LOADLIBES): Add proglib, LEXLIB.
-
-Mon Sep 12 11:06:14 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * kpathsea 2.1/dviljk 2.1/dvipsk 5.58a/xdvik 18b.
-
-Sun Sep 11 14:44:21 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * targets.make (install-MakeTeXPK): Install this if it didn't
-        exist, and mkdirchain $(scriptdir).
-
-        * dist.make (top_files): Include aclocal.m4.
-
-Sat Sep 10 13:40:10 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * texi.make (.texi.dvi): No -o option to texi2dvi.
-
-Thu Sep  8 14:31:59 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * kpathsea 2.0, dviljk 2.0, dvipsk 5.55b, xdvik 18a.
-
-Tue Sep  6 11:39:06 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * targets.make (MakeTeXPK): Use psheaderdir, not psconfigdir, and
-        depend on ourselves.
-
-Sat Sep  3 08:37:11 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * paths.make (psconfigdir): Toss this.
-
-        * misc.make (distclean): Add MakeTeXPK.
-
-        * rdepend.make: Rename from depend.make.
-
-Fri Sep  2 13:29:14 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * targets.make (makeargs, installargs): Declare these here.
-
-        * makevars.make (makevars): No need for ??_fontdir or psmacrodir.
-
-        * misc.make (TAGS): Omit -t, use -i, for Emacs 19.25's etags.
-
-Thu Sep  1 17:51:10 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * dist.make (top_files): Add install.sh.
-
-Tue Aug 30 14:46:18 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * dist.make (dist): Touch *.info* if they exist.
-
-Mon Aug 29 16:28:19 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * paths.make (dcfontdir, sauterdir): Move these here, since
-        everyone has MakeTeXPK now.
-
-Sun Aug 28 17:09:09 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * common.make (INSTALL_FONTS): New variable.
-
-Thu Aug 25 17:04:43 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * kpathsea.make (kpathsea): Also depend on texmf.cnf.in.
-
-        * paths.make (texmf_prefix): Rename to texmf; change uses.
-
-Sun Aug 21 11:03:48 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * programs.make: New file for driver-specific stuff.
-
-        * paths.make (fontnamedir): New definition.
-        (configdir, headerdir): Prepend with `ps'.
-
-Sat Aug 13 17:19:53 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * misc.make (mostlyclean): Don't remove $(lib), since we've tossed
-        that.
-
-Sun Jul 31 14:18:28 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * paths.make (DB_DIR, DB_NAME): Remove from here.
-
-Fri Jul 29 14:56:47 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * depend.make (depend): Add dvilj4l.o to the special cases.
-
-Sun Jul 17 11:37:57 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * paths.make (db_dir): Use $TEXMF.
-
-Mon Jun 27 17:32:47 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * paths.make (db_dir): Use $TEXMFROOT.
-
-Tue Jun 14 12:41:33 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * depend.make (depend): No need for depend_encies, I think.
-
-Mon May 30 13:50:34 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * common.make (LDFLAGS): Don't include $(CFLAGS), for Linux's sake. 
-
-Tue May 24 13:26:05 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * config.make (stamp-auto, stamp-auto.in): New targets, to avoid
-        rerunning autoheader/autoconf even when they don't change the main
-        output files.
-
-Sun Apr 17 16:11:34 1994  Karl Berry  (karl@ra.cs.umb.edu)
-
-        * config.make (configure): Change ; to && in case the cd fails.
-
-Thu Mar 24 11:12:56 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * dist.make (dist): Don't append kutil/ChangeLog to the source
-        ChangeLog.
-
-        * misc.make (extraclean): Don't delete patch*, since that kills
-        patchlevel.h.
-
-Sat Mar  5 13:48:15 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * common.make (LOADLIBES): Include XLOADLIBES.
-
-Fri Feb 25 14:21:17 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * dist.make (dist): Append kutil/ChangeLog to the top level, not
-        the main program.
-
-Thu Feb 24 16:11:37 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * misc.make (clean): Remove *.lj here.
-
-        * paths.make ({bh,cg,mt}_fontdir, install_fonts): Add these.
-
-Mon Feb 21 14:04:26 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * misc.make (distclean): remove pool files here.
-
-Wed Feb 16 15:18:13 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * paths.make: Doc fix.
-
-Sun Jan 23 17:17:37 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * dist.make (dist): Don't fake kpathsea/MACHINES any more, now we
-        have a real one.
-
-Fri Jan 14 14:53:12 1994  Karl Berry  (karl@cs.umb.edu)
-
-        * paths.make ({tex,mf}pooldir, fmtdir, basedir): Use
-        $(texmf_prefix)/ini for all these.
-
-Tue Dec 21 19:23:29 1993  Karl Berry  (karl@cs.umb.edu)
-
-        * common.make (LDFLAGS): Don't include $(x_lib_flags) here --
-        winds up getting included twice for virmf
-
-Tue Dec 14 17:40:23 1993  Karl Berry  (karl@cs.umb.edu)
-
-	* dist.make (dist): Dist the top-level and kutil/ChangeLog.
-
-	* paths.make (formatdir): Rename to fmtdir.
-	(texprefix): Rename to texmf_prefix, change uses accordingly.
-
-Fri Dec 10 17:50:39 1993  Karl Berry  (karl@cs.umb.edu)
-
-	* paths.make (dvipsprefix): Rename to dvips_prefix.
-
-Sun Nov 14 11:52:33 1993  Karl Berry  (karl@cs.umb.edu)
-
-	* dist.make (dist): Do not depend on depend.make and TAGS, since
-	web2c doesn't have them.
-
-	* paths.make: Change defaults for new hierarchy.
-
-Thu Nov 11 11:07:22 1993  Karl Berry  (karl@cs.umb.edu)
-
-	* common.make (CPPFLAGS, LDFLAGS): xincludedir, xlibdir, wlibs
-	names have changed.
-
-Sun Nov  7 15:22:32 1993  Karl Berry  (karl@cs.umb.edu)
-
-	* paths.h: Give dire warning that editing Makefiles will not
-	rebuild paths.h.
-
-Fri Oct 29 14:01:57 1993  Karl Berry  (karl@cs.umb.edu)
-
-	* dist.make (dist): chmod a+rw.
-
-Thu Oct 28 17:48:01 1993  Karl Berry  (karl@cs.umb.edu)
-
-	* common.make (CPPFLAGS): Include -I. before -I$(srcdir).
-
-Fri Oct 22 13:08:19 1993  Karl Berry  (karl@cs.umb.edu)
-
-	* paths.make: Remove the paths, and add the dvips directories.
-
-	* common.make (kpathsea_srcdir{,_parent}): Define. From
-	simon@lia.di.epfl.ch.
-
-Tue Oct 19 15:59:03 1993  Karl Berry  (karl@cs.umb.edu)
-
-	* config.make (stamp-c-auto): New target.
-	(c-auto.h): Depend on it.
-
-Sat Oct  9 07:04:45 1993  Karl Berry  (karl@cs.umb.edu)
-
-	* misc.make (mostlyclean): Remove programs.
-
-Sun Oct  3 12:44:04 1993  Karl Berry  (karl@cs.umb.edu)
-
-	* misc.make (extraclean): Also remove .blg and .bbl, .vf and .vpl.
-	(clean): Remove *.pool.
-
-Tue Sep 28 13:11:01 1993  Karl Berry  (karl@cs.umb.edu)
-
-	* common.make (CPPFLAGS): Add $(xincludedir) again; when did I
-	remove it?
-
-Fri Sep 24 07:53:45 1993  Karl Berry  (karl@cs.umb.edu)
-
-	* common.make (warn_more) [kpathsea]: Move to kpathsea's Makefile.
-
-	* texi.make (.texi.dvi): New rule.
-
-	* common.make (warn_more): Had -pointer-arith twice.
-
-Thu Sep 23 17:42:42 1993  Karl Berry  (karl@cs.umb.edu)
-
-	* common.make (autoconf): Toss aclocal.m4.
-	* dist.make (top_files): Ditto.
-	
-	* common.make (autoheader): New variable, split off from autoconf.
-
-Sun Aug 29 11:30:39 1993  Karl Berry  (karl@cs.umb.edu)
-
-	* dist.make (dist): Remove MACHINES in kpathsea.
-
-	* common.make (CPPFLAGS): Remove the -I.  Why did I put it there?
-
-Sat Aug 28 07:01:52 1993  Karl Berry  (karl@cs.umb.edu)
-
-	* unbackslsh.awk: New file.
-
-	* common.make (CPPFLAGS): Add -I before $(xincludedir).
deleted file mode 100644
--- a/make/README
+++ /dev/null
@@ -1,3 +0,0 @@
-make -- this subdirectory contains Makefile fragments.
-configure substitutes them for ac_include lines in Makefile.in.
-(This is an enhancement to standard Autoconf; see aclocal.m4.)
deleted file mode 100644
--- a/make/common.make
+++ /dev/null
@@ -1,54 +0,0 @@
-# common.make -- used by all Makefiles.
-SHELL = /bin/sh
-@SET_MAKE@
-top_srcdir = @top_srcdir@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-CPICFLAG = @CPICFLAG@
-
-SHLEXT = @SHLEXT@
-
-SH_LD = @SH_LD@
-SH_LDFLAGS = @SH_LDFLAGS@
-
-SHARED_LIBS = @SHARED_LIBS@
-
-CC = @CC@
-# CFLAGS is used for both compilation and linking.
-CFLAGS = @CFLAGS@ $(XCFLAGS)
-
-# Do not override CPPFLAGS; change XCPPFLAGS, CFLAGS, XCFLAGS, or DEFS instead.
-CPPFLAGS = $(XCPPFLAGS) -I. -I$(srcdir) \
-	   -I$(kpathsea_parent) -I$(kpathsea_srcdir_parent) \
-	   $(prog_cflags) @CPPFLAGS@ $(DEFS) 
-
-%.o : %.c
-	$(CC) $(CPPFLAGS) $(CFLAGS) -c $<
-
-pic/%.o : %.c
-	$(CC) $(CPPFLAGS) $(CPICFLAG) $(CFLAGS) -c $< -o $@
-
-# Installation.
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-
-# This is used to recursively copy a fonts/ or tex/ directory to
-# $(fontdir) or $(texinputdir).
-# The first arg is `.', and the second is the target directory.
-CP_R = cp -r
-
-# This is so kpathsea will get remade automatically if you change
-# something in it and recompile from the package directory.
-kpathsea_parent = ..
-kpathsea_dir = $(kpathsea_parent)/kpathsea
-kpathsea_srcdir_parent = $(top_srcdir)/..
-kpathsea_srcdir = $(kpathsea_srcdir_parent)/kpathsea
-kpathsea = $(kpathsea_dir)/libkpathsea.a
-
-##ifeq ($(CC), gcc)
-##XDEFS = -Wall -Wpointer-arith $(warn_more)
-##CFLAGS = -g $(XCFLAGS)
-##endif
-# End of common.make.
deleted file mode 100644
--- a/make/config.make
+++ /dev/null
@@ -1,39 +0,0 @@
-# config.make -- autoconf rules to remake the Makefile, c-auto.h, etc.
-
-##ifdef HOSTNAME
-##ac_dir = $(gnu)/share/autoconf
-##autoconf = $(ac_dir)/acspecific.m4 $(ac_dir)/acgeneral.m4 $(ac_dir)/acsite.m4
-##autoheader = $(ac_dir)/acconfig.h
-##
-### I define $(autoconf) to acgeneral.m4 and the other Autoconf files, so
-### configure automatically gets remade in the sources with a new Autoconf
-### release.  But it would be bad for installers with Autoconf to remake
-### configure (not to mention require Autoconf), so I take out the variable
-### $(autoconf) definition before release.
-##configure_in = $(srcdir)/configure.in $(kpathsea_srcdir)/common.ac
-##$(srcdir)/configure: $(configure_in) $(autoconf)
-##	cd $(srcdir) && autoconf
-##endif
-
-config.status: $(srcdir)/configure
-	$(SHELL) $(srcdir)/configure --no-create --verbose
-
-Makefile: $(srcdir)/Makefile.in config.status $(top_srcdir)/../make/*.make
-	$(SHELL) config.status
-
-# This rule isn't used for web2c or the top-level Makefile, but it
-# doesn't hurt.  We don't depend on config.status because configure
-# always rewrites config.status, even when it doesn't change. Thus it
-# might be newer than c-auto.h when we don't need to remake the latter.
-c-auto.h: $(srcdir)/stamp-auto
-$(srcdir)/stamp-auto: $(srcdir)/c-auto.h.in
-	$(SHELL) config.status
-	touch $(srcdir)/stamp-auto
-
-##ifdef HOSTNAME
-### autoheader reads acconfig.h (and c-auto.h.top) automatically.
-##$(srcdir)/c-auto.h.in: $(srcdir)/stamp-auto.in
-##$(srcdir)/stamp-auto.in: $(configure_in) $(autoheader) $(srcdir)/acconfig.h
-##	cd $(srcdir) && autoheader
-##	touch $(srcdir)/stamp-auto.in
-##endif
deleted file mode 100644
--- a/make/dist.make
+++ /dev/null
@@ -1,33 +0,0 @@
-# dist.make -- how to make the distribution tar file.
-
-top_distdir = $(distname)-$(version)
-top_files = ChangeLog FTP Makefile.in configure configure.in README \
-  $(HOME)/gnu/gnuorg/COPYING* $(HOME)/gnu/gnuorg/install-sh \
-  $(HOME)/bin/mkdirchain \
-  $(plain)/texinfo.tex
-distdir = $(top_distdir)/$(distname)
-kpathsea_distdir = ../$(distname)/$(top_distdir)/kpathsea
-ln_files = AUTHORS ChangeLog INSTALL NEWS README TAGS *.in *.h *.c \
-  configure *.make .gdbinit stamp-auto
-
-dist: depend.make TAGS pre-dist-$(distname)
-	rm -rf $(top_distdir)*
-	mkdir -p $(distdir)
-	cd ..; make Makefile ./configure
-	cd ..; cp -p $(top_files) $(distname)/$(top_distdir)
-	ln -s $(gnu)/share/autoconf/acsite.m4 $(top_distdir)/aclocal.m4
-	-ln $(ln_files) $(distdir)
-	ln $(program_files) $(distdir)
-	cd $(kpathsea_dir); $(MAKE) distdir=$(kpathsea_distdir) \
-	  ln_files='$(ln_files)' distdir
-	cp -rp ../make $(top_distdir)
-	ungnumake $(distdir)/Makefile.in $(kpathsea_distdir)/Makefile.in \
-	  $(top_distdir)/Makefile.in $(top_distdir)/make/*.make
-# Remove the extra files our patterns got us.
-	cd $(top_distdir); rm -f */depend.make */c-auto.h */Makefile
-	$(MAKE) post-dist-$(distname)
-	cd $(distdir); add-version $(version) $(version_files)
-	cd $(distdir); test ! -r *.info || touch *.info*
-	chmod -R a+rwX $(top_distdir)
-	GZIP=-9 tar chzf $(top_distdir).tar.gz $(top_distdir)
-	rm -rf $(top_distdir)
deleted file mode 100644
--- a/make/library.make
+++ /dev/null
@@ -1,5 +0,0 @@
-# library.make -- stuff only useful for libraries.
-AR = ar
-ARFLAGS = cq
-RANLIB = @RANLIB@
-# End of library.make.
deleted file mode 100644
--- a/make/makevars.make
+++ /dev/null
@@ -1,16 +0,0 @@
-# makevars.make -- the directory names we pass.
-# It's important that none of these values contain [ @%], for the sake
-# of kpathsea/texmf.sed.
-makevars = prefix=$(prefix) exec_prefix=$(exec_prefix) \
-  bindir=$(bindir) scriptdir=$(scriptdir) libdir=$(libdir) \
-  datadir=$(datadir) infodir=$(infodir) includedir=$(includedir) \
-  manext=$(manext) mandir=$(mandir) \
-  texmf=$(texmf) web2cdir=$(web2cdir) \
-  texinputdir=$(texinputdir) mfinputdir=$(mfinputdir) \
-  fontdir=$(fontdir) \
-  fmtdir=$(fmtdir) basedir=$(basedir) \
-  texpooldir=$(texpooldir) mfpooldir=$(mfpooldir) \
-  install_fonts=$(install_fonts) \
-  dvipsdir=$(dvipsdir) psheaderdir=$(psheaderdir) \
-  default_texsizes='$(default_texsizes)'
-# End of makevars.make.
deleted file mode 100644
--- a/make/misc.make
+++ /dev/null
@@ -1,34 +0,0 @@
-# misc.make -- cleaning, etc.
-TAGS: *.c *.h
-	if pwd | grep kpathsea >/dev/null; then \
-	  etags *.c *.h; else etags -i $(kpathsea_dir)/TAGS *.c *.h; fi
-
-mostlyclean::
-	rm -f *.o $(program) $(programs) squeeze $(library).a pic/*.o
-	if $(SHARED_LIBS); then rm -f *.$(SHLEXT); fi
-
-clean:: mostlyclean
-	rm -f *.dvi *.lj
-
-distclean:: clean
-	rm -f Makefile MakeTeXPK *.pool
-	rm -f config.status config.log config.cache c-auto.h 
-	rm -f stamp-picdir
-	-rmdir pic
-
-# Although we can remake configure and c-auto.h.in, we don't remove
-# them, since many people may lack Autoconf.  Use configclean for that.
-maintainer-clean:: distclean
-	rm -f TAGS *.info* configure stamp-auto
-
-extraclean::
-	rm -f *.aux *.bak *.bbl *.blg *.dvi *.log *.orig *.pl *.rej
-	rm -f *.i *.s *.tfm *.vf *.vpl *\#* *gf *pk *~
-	rm -f CONTENTS.tex a.out core mfput.* texput.*
-
-configclean:
-	rm -f configure c-auto.h.in c-auto.h
-
-# Prevent GNU make 3.[59,63) from overflowing arg limit on system V.
-.NOEXPORT:
-# End of misc.make.
deleted file mode 100644
--- a/make/paths.make
+++ /dev/null
@@ -1,95 +0,0 @@
-# paths.make -- installation directories.
-#
-# The compile-time paths are defined in kpathsea/paths.h, which is built
-# from kpathsea/paths.h.in and these definitions.  See kpathsea/INSTALL
-# for a description of how the various path-related files are used and
-# created.
-
-# Do not change prefix and exec_prefix in Makefile.in!
-# configure doesn't propagate the change to the other Makefiles.
-# Instead, give the -prefix/-exec-prefix options to configure.
-# (See kpathsea/INSTALL for more details.) This is arguably
-# a bug, but it's not likely to change soon.
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-# Architecture-dependent executables.
-bindir = $(exec_prefix)/bin
-
-# Architecture-independent executables.
-scriptdir = $(bindir)
-
-# Architecture-dependent files, such as lib*.a files.
-libdir = $(exec_prefix)/lib
-
-# Architecture-independent files.
-datadir = $(prefix)/lib
-
-# Header files.
-includedir = $(prefix)/include
-
-# GNU .info* files.
-infodir = $(prefix)/info
-
-# Unix man pages.
-manext = 1
-mandir = $(prefix)/man/man$(manext)
-
-# TeX & MF-specific directories. Not all of the following are relevant
-# for all programs, but it seems cleaner to collect everything in one place.
-
-# The default paths are now in kpathsea/paths.h.in. Passing all the
-# paths to sub-makes can make the arg list too long on system V.
-
-# The root of the tree.
-texmf = $(datadir)/texmf
-
-# TeX and MF source files.
-texinputdir = $(texmf)/tex
-mfinputdir = $(texmf)/mf
-
-# MakeTeXPK.site, texmf.cnf, etc.
-web2cdir = $(texmf)/web2c
-
-# The top-level font directory.
-fontdir = $(texmf)/fonts
-
-# Memory dumps (.fmt and .base).
-fmtdir = $(texmf)/ini
-basedir = $(fmtdir)
-
-# Pool files.
-texpooldir = $(texmf)/ini
-mfpooldir = $(texpooldir)
-
-# If install_fonts=true, the PostScript/LaserJet TFM and VF files for
-# the builtin fonts get installed in subdirectories of this directory,
-# named for the typeface families of these directories. If you don't
-# have the default directory setup, you will want to set
-# install_fonts=false.  Ditto for install_macros.
-install_fonts = true
-install_macros = true
-
-# Where the .map files from fontname are installed.
-fontnamedir = $(texmf)/fontname
-
-# Where the dvips configuration files get installed, and where
-# psfonts.map is.
-dvipsdir = $(texmf)/dvips
-psheaderdir = $(dvipsdir)
-
-# MakeTeXPK will go here to create dc*.
-dcfontdir = $(fontdir)/public/dc
-
-# MakeTeXPK will go here if it exists to create nonstandard CM fonts,
-# e.g., cmr11. See ftp.cs.umb.edu:pub/tex/sauter.tar.gz. The Sauter
-# files must be in your regular MFINPUTS.
-sauterdir = $(fontdir)/public/sauter
-
-# If a font can't be found close enough to its stated size, we look for
-# each of these sizes in the order given.  This colon-separated list is
-# overridden by the envvar TEXSIZES, and by a program-specific variable
-# (e.g., XDVISIZES), and perhaps by a config file (e.g., in dvips).
-default_texsizes = 300:600
-
-# End of paths.make.
deleted file mode 100644
--- a/make/programs.make
+++ /dev/null
@@ -1,13 +0,0 @@
-# programs.make -- used by Makefiles for executables only.
-# Linking. Don't include $(CFLAGS), since ld -g under Linux forces
-# static libraries, including libc.a and libX*.a
-LDFLAGS = @LDFLAGS@ $(XLDFLAGS)
-LIBS = @LIBS@
-# proglib is for web2c; 
-# XLOADLIBES is for the installer.
-LOADLIBES= $(proglib) $(kpathsea) $(LIBS) -lm $(XLOADLIBES)
-
-# Why separate CCLD from CC?  No particular reason.
-CCLD = $(CC)
-link_command = $(CCLD) -o $@ $(LDFLAGS) 
-# End of programs.make.
deleted file mode 100644
--- a/make/rdepend.make
+++ /dev/null
@@ -1,15 +0,0 @@
-# rdepend.make -- rules for remaking the dependencies.
-# Have to use -M, not -MM, since we use <kpathsea/...> instead of
-# "kpathsea/..." in the sources.  But that means we have to remove the
-# directory prefixes and all the system include files.
-# And <kpathsea/paths.h> is generated, not part of the distribution.
-depend depend.make:: c-auto.h $(top_srcdir)/../make/rdepend.make
-	$(CC) -M $(CPPFLAGS) *.c \
-	  | sed -e 's,\.\./kpathsea/,$$(kpathsea_srcdir)/,g' \
-	        -e 's,$$(kpathsea_srcdir)/paths.h,paths.h,g' \
-	        -e 's,/usr[^ ]* ,,g' \
-	        -e 's,/usr[^ ]*$$,,g' \
-	        -e 's,dvi2xx.o,dvilj.o dvilj2p.o dvilj4.o dvilj4l.o,' \
-	  | grep -v '^ *\\$$' \
-	  >depend.make
-# End of rdepend.make.
deleted file mode 100644
--- a/make/texi.make
+++ /dev/null
@@ -1,11 +0,0 @@
-# texi.make -- making .dvi and .info from .texi.
-
-MAKEINFO = makeinfo
-MAKEINFO_FLAGS = --paragraph-indent=2 -I$(srcdir)
-TEXI2DVI = texi2dvi
-
-.SUFFIXES: .info .dvi .texi
-.texi.info:
-	-$(MAKEINFO) $(MAKEINFO_FLAGS) $< -o $@
-.texi.dvi:
-	-$(TEXI2DVI) $(TEXI2DVI_FLAGS) $<
deleted file mode 100644
--- a/make/tkpathsea.make
+++ /dev/null
@@ -1,9 +0,0 @@
-# tkpathsea.make -- remaking kpathsea.
-
-makeargs = $(MFLAGS) CC='$(CC)' CFLAGS='$(CFLAGS)' $(XMAKEARGS)
-
-$(kpathsea): $(kpathsea_srcdir)/*.c $(kpathsea_srcdir)/*.h \
-	     $(kpathsea_srcdir)/texmf.cnf.in $(top_srcdir)/../make/paths.make
-	cd $(kpathsea_dir); $(MAKE) $(makeargs)
-
-# End of tkpathsea.make.