		  Installation Notes
		       on the
		    Xgopher client


These notes describe Xgopher version 1.1, completed in April 1992.

And the previous release:
                     Xgopher version 1.0, completed in February 1992.


System Requirements
-------------------

Xgopher requires Release 5 of the X window system, version 11.  It uses
the Athena widget set, the X toolkit intrinsics, and the X library.

PLEASE NOTE: Xgopher should work with X11R4 also, but will require a
	     small change.  Please see the note below if you must use
	     X11 Release 4.

The Xgopher client has been compiled and tested on

 . Sun 4 (SparcStation) running SunOS 4.1.2
   (compiled with cc and linked with the MIT X11R5 libraries). 
   Tested both display on a remote machine, and with display
   using Sun's OpenWindows server.
   (NOTE: Xgopher should run with the OpenWindows server Release 3.
	  A minor change to conf.h is required for OpenWindows Release 2 -
	  see the comments in conf.h.)
 . Sequent running Dynix 3.1.1 (a BSD-derived system)
   (compiled with gcc and linked with the MIT X11R5 libraries). 
 . Gateway 2000 486/33 running BSD Unix (beta release 0.3 of
   BSD/386 from BSDI).  Tested in all combinations using this
   machine as X client, server, and both.
 . Convex running Unix
 . IBM RS/6000 320 under AIX 3.2.  Tested both IBM's X11R4 distribution
   and MIT's X11R5 client libraries with the IBM server.  (With IBM's
   X11R4 you may still need to compile the Athena widget library yourself.
   Compile all the stuff under /usr/lpp/X11/Xamples, or just that library.)
 . Various X servers have been tested including the Sun's OpenWindows
   and IBM X terminals.

The author would appreciate any assistance in fixing problems that
will allow Xgopher to be used on other platforms.


Installation
------------

The Xgopher program will likely be obtained as a Unix tar file.
After using tar to extract the contents of this file, perform
the following steps.

1. xmkmf
   (this will turn the Imakefile into a Makefile, if X11R5
   is properly installed on your system.)

2. make depend
   (this will build the include file dependency information
   into the Makefile.)

3. Modify the configuration file (conf.h).  The comments in the
   file tell you what is expected.  Possibly little change will 
   be necessary, but at least consider changing the default
   top-level gopher server host name and port number.  These
   are just the compiled-in defaults, many can still be changed
   at run-time to accommodate individual preferences.

4. make
   (this will compile the 15 or so source files and link them
   with X11 to produce the executable file xgopher.)

5. Modify the application defaults file (Xgopher.ad).
   Little change may be necessary.  However, entries in this
   file for host name, port number, help file name, etc., 
   override those defaults compiled into xgopher through
   the configuration file (step 3).

6. Install the application defaults file (Xgopher.ad).  For
   testing, it is sufficient to use xrdb to load these defaults.
   But several mechanisms exist in X.  For final installation,
   this file should be stored in the X application defaults directory,
   with the file named Xgopher.  This will probably be the file
     /usr/lib/X11/app-defaults/Xgopher

   PLEASE NOTE: Remove all of the application defaults from previous
		versions of Xgopher before you attempt to run Xgopher 1.1.

7. to test: xgopher
   (this will execute xgopher, allowing testing.)

8. With root privileges:
       make install
       make install.man
   this should install the 4 files needed by Xgopher.  If you wish
   to install them manually (see below if you are using X11R4), the
   four files that need to be installed are:

   xgopher	this is the xgopher 1.1 program.  It may be installed
		as the file xgopher in /usr/local/bin, for example.
   xgopher.help the help text file.  It may be installed with this
		name in /usr/local/lib, for example.
   Xgopher.ad	the X application defaults file.  It may be installed
		as Xgopher, in /usr/lib/X11/app-defaults, for example.
   xgopher.man	the user documentation (man page).  It may be installed
		as xgopher.l (letter l), in /usr/man/manl, for example.


X11 Release 4
-------------
There has been considerable interest in compiling Xgopher under X11R4.
I will try to make some effort to provide that capability to the extent
possible, perhaps with some minor loss of function.   To that end,
if you must use X11R4, look for the symbol XGOPHER_X11R4 in the file
conf.h, and remove the comments from the define statement (or use
-DXGOPHER_X11R4 as a compiler option).  This will cause the compiler
to omit some minor R5 specific things without loss of functionality.
I cannot promise to maintain this backwards compatibility forever.
I do not have good access to an X11R4 library for testing so
I must depend on feedback from others to detect release-dependencies.

The X11R4 Imake templates are missing one of the target rules (for
installing the help file).  So, the generated Makefile may need a
slight modification.  Better yet, remove the line:
    InstallNonExecFile(xgopher.help,$(XGOPHERDIR))
from the Imakefile and install xgopher.help manually in the directory
suggested above.

OpenWindows
-----------
If you plan to run with Sun's OpenWindows Release 2, then please
see the comments in conf.h.  For Release 3 no special changes seem
to be needed.

Many people compile with MIT's X11 library then use Sun's OpenWindows
server.  For those who compile with OpenWindows software also, the
following advise may be helpful.  I do not have a convenient test platform
for OpenWindows, but the following was reported by another installer
of Xgopher on a Sun:

    I wanted to warn you about the install procedures under OW 3.0
    as installed by Sun.

    After I did the xmkmf I had to perform a few edits to the
    Makefile (because Sun's imake templates are not correct).
    These are standard changes that everyone has to make to the
    generated Makefile - a STD_INCLUDE entry for -I/usr/openwin/include,
    a EXTRA_LD_FLAG for -L/usr/openwin/lib and remove the values for
    the dependeny macros for whatever libraries are specified.  When
    I ran the make depend though, I got a new error.  It turns out that
    xmkmf/imake didn't translate the Imakefile line for xgopher.help.
    I don't know why - it just didn't.  I looked at the other INSTALL
    line and created one similar to it by hand.


Problems
--------

Please report and problems, suggestions, or portability problems to
the author of xgopher.  e-mail contact is preferred:

	Allan Tuchman
	Computing and Communications Services Office (CCSO)
	University of Illinois at Urbana-Champaign
	1304 W. Springfield Ave.
	Urbana, Illinois   61801

	(217) 244-0048
	a-tuchman@uiuc.edu


Yet to come
-----------

There are some user interface and usability issues I will work on.
(For example saving bookmarks between sessions and the ability
to interrupt a time-consuming network request.)

New gopher capabilities (binary files) will be handled in time.
The University of Minnesota gopher protocol documents all caution
that the binary file protocol may change.  I will wait until
the protocol is determined before implementing it.

Portability issues and bugs discovered in this release will be
addressed.  Please send comments or suggestions for future
releases to me at the above address.


Other Contributors
------------------

Thanks to all people who took the time to send me their comments,
suggestions, and problems in the versions of Xgopher 1.0, especially
John Franks.  All bug reports and most of the suggestions have been
incorporated into Xgopher 1.1.  A couple of the more time consuming
requests will show up in a future release.

Versions 1.0 and beyond of Xgopher are by and large a total rewrite
of a beta version supplied by the University of Minnesota.  It
does however re-use some code and ideas from previous versions.
I cannot determine from older versions who did what, so I want
to credit:

  . jonathan@Think.COM  (apparently responsible for WAIS
    software that had been included in xgopher)
  . Paul Lindner at University fo Minnesota who wrote the 
    original Xgopher client.

Of course, the present author assumes responsibility for any
problems introduced.
