README for GNU ptx - last revised 91-10-10.
Copyright (C) 1991 Free Software Foundation, Inc.
See file COPYING for copying conditions.

   This is the 0.2 alpha release of `gptx', the GNU version of a
permuted index generator.  This software has the main goal of
providing a `ptx' *almost* compatible replacement, able to handle
small files quickly, while providing a platform for more development.

   This version reimplements and extends standard `ptx'.  Among other
things, it can produce a readable "KWIC" (keywords in their context)
without the need of `nroff', there is also an option to produce TeX
compatible output.  This version does not yet handle huge input files,
that is, those files which do not fit in memory all at once.

   *Please note* that an overall renaming of all options is
foreseeable.  In fact, GNU ptx specifications are not frozen yet.

   There is some documentation in `gptx.texinfo', but no man page.
This software installs as two programs: gptx and ptx, which have
different calling sequences and behaviour; ptx attempts to be
compatible with UNIX ptx.  Calling `gptx +help' or `ptx -h' prints an
option summary.

  I tried to follow GNU installation standards.  `gptx' has been
tested on 386/ix, Appolo-3, Iris-4D, Sun-3 and Sparc systems.  Tell me
how it worked on your machine!  To install, please follow these steps:

0.  Only `gptx' will be compiled, and not `ptx', if the standard `ptx'
default Ignore file is not found.  So, if you also want `ptx' and the
Ignore file is not /usr/lib/eign, be careful to define IGNOREFILE to
the location of the Ignore file to use.  You can do this while calling
configure, as explained a little below.

1.  At the top level (the directory this README is in), type
`./configure'.  This shell script attempts to guess correct values for
various system-dependent variables used during compilation, and
creates the files `Makefile', `lib/Makefile', `src/Makefile' and
`doc/Makefile'.  This takes a minute or two.

  If you want to compile in a different directory from the one
containing the source code, `cd' to that directory and run `configure'
with the option `+srcdir=DIR', where DIR is the directory that
contains the source code.  The object files and executables will be
put in the current directory.  This option only works with versions of
`make' that support the VPATH variable.  `configure' ignores any other
arguments you give it.

  If your system requires unusual options for compilation or linking
that `configure' doesn't know about, you can give `configure' initial
values for variables by setting them in the environment; in
Bourne-compatible shells, you can do that on the command line like
this:

	$ CC='gcc -traditional' LIBS=-lposix ./configure

2.  If you want to change the directories where the programs will be
installed, or the optimization options, edit `Makefile' and change
those values.  If you have an unusual system that needs special
compilation options that `configure' doesn't know about, and you
didn't pass them in the environment when running `configure', you
should add them to `Makefile' now.  Alternately, teach `configure' how
to figure out that it is being run on a system where they are needed,
and mail the diffs to the address listed at the end of this file so we
can include them in the next release.

3.  In the top-level directory, type `make'.  You don't need to
otherwise touch the Makefiles in the subdirectories or use them
directly.

4.  If the programs compile successfully, type `make check'.  There
should not be any output from the `diff' program.

5.  If everything went fine so far, type `make install' to install
the programs and their documentation.

6.  After you have installed the programs, you can remove the binaries
from the source directories by typing `make clean'.  Type `make
distclean' if you also want to remove the Makefiles that `configure'
created, for instance if you are going to recompile the utilities next
on another type of machine.

  Please mail suggestions and bug reports to Francois Pinard, using
<pinard@iro.umontreal.ca> or <...uunet!iros1!pinard>.
