/************************************************************************/
/*	
/*			Instructions for Installing GDB
/*	
/*			    Noah Mendelsohn
/*			     April 22, 1987
/*	
/*	Copyright (C) 1987 Massachusetts Institute of Technology
/*	
/*			=========================
/*	
/*	NOTE:  GDB is not currently a supported service of Project Athena
/*	or of any other MIT organization.  It is a set of programs which
/*	I have written while working for Project Athena and which I
/*	am making available to the MIT community in the hope that they
/*	will prove useful.  The decision as to whether GDB will become
/*	supported is not mine to make.   If you wish to express an opinion,
/*	you should write a note including the following people on the
/*	distibution:
/*	
/*		Prof. Steve Lerman    (lerman@athena.mit.edu)
/*		Prof. Jerry Saltzer   (Saltzer@athena.mit.edu)
/*		Dan Geer	      (geer@athena.mit.edu)
/*		Noah Mendelsohn       (noah@athena.mit.edu)
/*	
/*	Thank you!
/*	
/*	This file is named: README
/*	
/************************************************************************/


/************************************************************************/
/*	
/*			Obtaining GDB
/*	
/************************************************************************/


GDB is now available to the MIT community by anonymous ftp 
from meathead.mit.edu.  There are currently two files:

	1) README    (this file)

	2) tar.file.Z  (compressed tar.file containing all of gdb)

To install gdb, make a directory on your own system.  It can
have any name, but we'll use gdb in this example:

	% mkdir gdb
	% cd gdb
	% ftp meathead.mit.edu
	===>login as anonymous and give your user i.d. as passwd
	ftp> cd gdb
	ftp> get README
	ftp> bin           	       <= make sure transfer of tar.file.Z
					  is done in binary mode, or the
					  uncompress step below may fail
	ftp> get tar.file.Z
	ftp> quit

	% uncompress tar.file.Z        <== this re-creates tar.file
					   If this step fails, you may have
					   forgotten to transfer the file
					   in binary mode (see above.)
	% tar xf tar.file              <== this extracts all the gdb
					   files from the tar file

/************************************************************************/
/*	
/*	Making the gdb libraries
/*	
/************************************************************************/

To build the GDB library:

	% make libgdb.a

/************************************************************************/
/*	
/*	Formatting documentation
/*	
/************************************************************************/

To format the gdb documents, you need scribe and access to a PostScript
printer.  To make the user guide:

	% make gdb_ugd.PS
	% rm gdb_ugd.PS
	% make gdb_ugd.PS

The reason you do it twice is that scribe requires two tries at a document 
in order to get the forward references to page numbers right.  The resulting
gdb_ugd.PS file may be sent to your PostScript printer:

	% lpr gdb_ugd.PS

To format the library reference manual:

	% make library.PS
	% rm library.PS
	% make library.PS

/************************************************************************/
/*	
/*			Writing and running programs
/*	
/************************************************************************/

The user guide tells you how to do this.  Note that gdb.h winds up in
the gdb directory (where the tar.file is) when you use these installation
instructions, and so does libgdb.a.  You will have to use the appropriate
Unix incantations, i.e. making links or telling cc and ld where to find 
things in order for your compilations and loads to work.  Make sure you
specify libgdb.a as one of the files to load along with your program.

/************************************************************************/
/*	
/*			Building the database server
/*	
/************************************************************************/

The database server program is named dbserv.  To build it:

	% make dbserv

This MUST be done on a machine where RTI Ingres is installed.  You may
have to edit the makefile if /rtingres is not the directory where Ingres
lives, and you may have to put /rtingres/bin in your path before doing the 
make.

/************************************************************************/
/*	
/*				Sample programs
/*	
/************************************************************************/

Various test programs are included in the tar.file.  These are not intended
primarily for users, they are used for my private testing, but a few of
them are well commented and many of them work.  The ones whose names begin
with the letter 't' are most likely to be useful.  Each of them can be
built with 'make'.

/************************************************************************/
/*	
/*				  Debugging
/*	
/************************************************************************/

Both the dbx and the Saber C debuggers have successfully executed many 
GDB applications.  I have found Saber to be particularly useful, and I
have included a .saberinit file which should serve as a starting point
for you.  (Warning:  .saberinit is supplied as a courtesy and I don't
guarantee to check it out with every re-release.  If you know enough
to use Saber, you can probably make any minor corrections which may
be needed without too much trouble.)  Note that both debuggers have trouble
on programs that fork.  See the gdb_debug routine and the GDB_NOFORK flag
for a useful trick to avoid forking when debugging.

/************************************************************************/
/*	
/*				Mailing lists
/*	
/************************************************************************/

gdb-users@athena.mit.edu	reaches all users of GDB bugs and fixes	
				are advertised here
gdb-news@athena.mit.edu		announcements of interest to a wider
				community of people who may not want to 
				know about every 2 line change to the system

noah@athena.mit.edu		the author



