/* Copyright (c) 1994 Sun Wu, Udi Manber, Burra Gopal.  All Rights Reserved. */
This is version 3.0 of the glimpse package - a tool to search
entire file systems.  Please send any comments to glimpse@cs.arizona.edu.
Check the file CHANGES for the changes since version 2.1 (there are
many of them).  The files glimpse.1, glimpseindex.1, and 
glimpseserver.1 are the manual pages.

Instructions for installing glimpse, glimpseindex, glimpseserver, and agrep:

1. Both the agrep and index directories have individual Makefiles 
   which you can use independently. You can make everything 
   by just typing make in the root glimpse directory.

2. To make individual binaries in a subdirectory "ddd", do the following:
	cd ./ddd ; make ; cd ..

3. To rebuild everything from scratch, do the following:
	make clean
   This however does not remove the binaries that currently exist in ./bin
   You can then proceed with the above steps. However, see (4) below.

4. A small quirk when making clean: if you make clean from the glimpse-root
   directory, it will cleanup all subdirectories except the subdirectory
   "libtemplate". You must do:
	cd libtemplate ; make clean ; cd ..
   to cleanup that subdirectory. This was necessary so that Glimpse's
   makefiles could be kept independent of "libtemplate"'s makefiles (which
   are a part of the Harvest source distribution).

5. Glimpse was developed on Sun Sparcstations running SunOS 4.1.x. 
   On other machines or operating systems, the following changes to the
   makefiles might be necessary.
   (NOTE: we provide Solaris, Dec OSF/1, HP, Linux, NeXT, IBM-RS6000 and
   SGI makefiles. To compile for these platforms, use:
	make -f Makefile.solaris
   or
	make -f Makefile.alpha
   or
	make -f Makefile.hp
   or
	make -f Makefile.linux
   or
	make -f Makefile.NeXT
   or
	make -f Makefile.rs6000
   or
	make -f Makefile.sgi
   respectively).
   
   We will try to make this more convenient in the future by distributing an
   autoconf script so that the individual makefiles will not be necessary.
   (We have a script "configure" in our distribution but we haven't tested
   it as much as we would have liked: however, it MAY work on your system.)

NOTES:
------

   People in our mailing list have commented that the make files we provide
   work on many other architectures too. We recommend that you do a pairwise
   "diff" of these makefiles to find out whether they support the options you
   need before trying to modify makefiles to suit your environment. Often a
   few changes to compiler options, etc., are enough to port glimpse to a
   new architecture / OS. Source code modifications are usually not necessary.

   We request you to mail us any changes to the Makefile (or the source) that
   are necessary to port glimpse to your architecture, and the corresponding
   binaries, so that we can include it in our distribution. We will appreciate
   any suggestions and will duly acknowledge all contributions.

Some comments about portability:
--------------------------------

6. You must define HAVE_DIRENT_H in agrep/Makefile, index/Makefile, compress/Makefile
   to be 1 or 0 depending on whether your machine has /usr/include/dirent.h
   or /usr/include/sys/dir.h. We found that on most machines/OSs like SunOS4.1,
   Solaris, Ultrix, AIX, OSF/1, HPUX and SGI IRIX 5.3, HAVE_DIRENT_H should be 1.

7. On Solaris, "RANLIB" should be define to be "true" in
   agrep/Makefile.solaris and compress/Makefile.solaris.

8. On Solaris (at least the version we have), the library archive 
   program "ar" is in /usr/ccs/bin/ar instead of /usr/bin/ar. 
   You must define "AR" in agrep/Makefile.solaris and compress/Makefile.solaris
   appropriately or set your PATH to include the appropriate directory name.

9. On Solaris you have to link the glimpse executables with the
   socket and nls libraries by specifying "-lsocket" and "-lnsl" to the
   make rules for "glimpse" and "glimpseserver".

10. On the DEC ALPHA and HP, the make variable "CC" was changed from
   "gcc" to "cc".

11. If you have the utime() routine and <utime.h>, define the make variable
   UTIME to 1 in glimpse/Makefile and compress/Makefile. Else define it to 0.

12. If you want to support the international character set (ISO_CHAR_SET), define
   the make variable ISO_CHAR_SET to 1 in glimpse/Makefile. Else define it to 0.

13. If you have the function strerr() on your system, #defin HAVE_STRERROR to 1
   in libtemplate/autoconf.h, else #undef it (or leave the definition in /**/).
   This is necessary on some BSD systems (some of our users have said so).

14. If you need to add any new macros or flags, you can edit the file:
	glimpse/agrep/config.h
   and add whatever is needed to make porting easy on your machine / OS.
   This file is included throughout glimpse source code.

Porting to other platforms, special contributions:
--------------------------------------------------
We provide and maintain the binaries for the following platforms:
a. SUNOS4.1.1
b. SUNOS4.1.3
c. Solaris 5.3
d. Dec OSF/1 Alpha
You can address all questions regarding them to "glimpse@cs.arizona.edu".

With glimpse-3.0, we are also distributing the following binaries/Makefiles
that some of the people in our mailing list have sent us. We would like to
extend special thanks to them for providing us with binaries for platforms for
which we do not have access. We request you to contact them if you need any
porting tips to these platforms or have any questions regarding these binaries.

Platform ported to	Person to contact
e. AIX-3.2.5		stamer@merlin.physik.uni-oldenburg.DE (Heinrich Stamerjohanns)
f. HPPA, HPMC68K	Chris Dalton <crd@hplb.hpl.hp.com>
g. IBM-RS6000		"CHRISM" <cmelikian@VNET.IBM.COM> (0)
h. Linux		Jim Hurley <hurleyj@arachnaut.org>
i. SGI			"Piroz Mohseni" <mohseni@shemp.tip.ameslab.gov>

Thanks for your interest in glimpse.

Udi Manber, Burra Gopal, and Sun Wu.
