
		    This is file "INSTALL", which is part of

             ======================================================

	      tgdb, a graphical frontend to gdb, the GNU debugger.

		Based on Tcl, Tk, TclX, TkSteal, Expect and BLT.

             ======================================================

			       Copyright (c) 1994
				       by
					
			   HighTec EDV-Systeme GmbH
			   Neue Bahnhofstr. 71
			   66386 St. Ingbert, Germany
			   Phone: +49 (68 94) 87 00 41
			   Fax:   +49 (68 94) 87 00 44
			   Email: tgdb@HighTec@saarlink.de


A. Installing the tgdb binary release for Linux
-----------------------------------------------

   If you allow tgdb to live in this directory (which is what I recommend,
since it makes updating or un-installing much easier), and if you can live
with tgdb's default values (see below), then all you have to do is type in:

	./maketgdb

and add the name of this directory to the environment variable `PATH' -
that's it. Now you can start tgdb by typing:

	tgdb [gdb_options_and_files]

where `[gdb_options_and_files]' are exactly the same arguments which you'd
pass to gdb itself. Don't forget: since tgdb is an X application, X has to
be fired up first before using tgdb. As soon as tgdb is running, you should
activate the `Help->tgdb' menu entry, and take a closer look at the online
help facility. You will probably want to write one of those famous
"hello world" programs to start with (... and remember the -g switch! :-).

Here are the default values for the installation of tgdb:

	1) all tgdb related files are placed in this directory
	2) the name of the debugger used by tgdb is "gdb"
	3) this gdb uses "(gdb) " as its prompt
	4) X is configured for (at least) 1024x768 pixels and 256 colors

2), 3) and 4) can be overwritten by setting environment variables, and you
can change all defaults by editing the appropriate variables in `maketgdb'.
After changing this file, you should proceed as mentioned above. You may
also edit the file Tgdb (or Tgdb-small, respectively) to make sure that
the application defaults meet your personal taste.

NOTE: When tgdb is started for the first time, it will examine which commands
      gdb uses. This takes a minute or so, and the commands will be stored in
      the file `~/.t"$TGDB_DEBUGGER"_help', which means that (1) the next time
      you start tgdb, the required information is already there, and (2) since
      the information is stored in the user's home directory, the startup delay
      caused by the "command retrieval" happens for each new user and for each
      new `$TGDB_DEBUGGER'. This eats up some disk space, but allows each
      user to have his own version of gdb (and even different versions, e.g.
      for cross-development purposes).

         If tgdb doesn't react on keyboard accelerators (e.g. "Alt-i"), you
      should exit from tgdb and type the following commands on the shell's
      command line:

	 xmodmap -e "clear mod2"
	 xmodmap -e "add mod2 = Mode_switch Alt_L"

      This tells X to use the "Alt" and "Alt Gr" keys as "mod2" modifiers.
      You may add these two lines to your "~/.xinitrc" file, so you don't
      have to type them each time you start the X server. If the accelerators
      still don't work, you should check the window manager's initialization
      file (e.g. "~/.fvwmrc") to see if it uses some of these sequences for
      its own purposes.


B. Installing the tgdb source release for arbitrary platforms
-------------------------------------------------------------

NOTE: "arbitrary platforms" should be read as "any platform capable of
      running gdb and ALL of the packages mentioned below". This includes
      almost every Un*x workstation, as well as some other OSs, BUT IT
      EXCLUDES MS DOG\WINDOZE, MS WINDOZE\ANTENNA, MS MONZA, MS CALCUTTA
      AND ALL OTHER RELATED MOTORSHIPS, SUCH AS MS WINDOZEFORWEREWOLVES,
      MS WINDOZEFORPRESIDENT AND MS WINDOZEFORTOILETS. Just to mention a few.

   There are two files in this directory, "mkxtty.c" and "callcld.c", which
must be compiled and linked. To do so, simply type:

   make mkxtty
   make callcld

There's no makefile included, since make's built-in rules are sufficient for
building the executables (e.g. "make mkxtty" -> "cc -O -o mkxtty mkxtty.c").
If the header files "signal.h" and "fcntl.h" are not located in the "sys"
subdirectory of your system's standard include path, or if your system
provides "strings.h", but not "string.h", you will have to modify the #includes.
No further changes should be necessary (please drop me a line if you find an
exception; please include the name of the OS, and any potential fixes).

   The next step is to build tgdb_wish, the Tcl/Tk interpreter for tgdb's code.
The following packages are needed:

   tcl7.3
   tk3.6
   tclX7.3a (newer versions available, but I haven't tested them yet)
   BLT1.3 (dto.)
   TkSteal3.6c (dto.)
   expect5.3 (dto.)

These packages are available via anonymous FTP on:

   ftp.cs.berkeley.edu:/ucb/tcl
   harbor.ecn.purdue.edu:/pub/tcl
   ftp.ibp.fr:/pub/tcl
   nic.funet.fi:/pub/languages/tcl
   syd.dit.csiro.au:/pub/{tcl,tk}
   ftp.cs.tu-berlin.de:/pub/tcl

and many other ftp sites around the planet. The Tcl/Tk extensions (such
as BLT and TkSteal) can be found in subdirectories called "extensions" or
"contrib/extensions", depending on the server's naming conventions. Please
make sure that you get the versions mentioned above, since older versions
might not work with tgdb (newer versions should be okay, as long as their
major version number is identical). Unpack the distributions according to
the following directory structure:

				    tcldev/
				       |
	   +----------+------------+---+-------+----------+---------+
	   |	      |		   |	       |	  |	    |
	TkSteal/   blt-1.3/   expect-5.3/   tcl7.3/   tclX7.3a/   tk3.6/

Now build the packages (as described in their INSTALL and README files) in the
following order: Tcl, Tk, TclX, BLT, TkSteal and last, but not least, Expect.
You will only need the libraries created by the first five packages, so you
can remove the "*tcl*sh" and "*wish*" executables to save disk space. Most
of the packages compile "out of the box" (thanks to GNU's autoconf program),
provided the directory structure appears as shown above. Before you start to
build Expect (i.e. after you typed "configure", but before you start "make"),
copy the files "exp_main_tk.c", "exp_main_sub.c" and "exp_main_exp.c"
from the "./expect" subdirectory to the "expect-5.3/" directory. Then run a
"diff" between "./expect/Makefile" and "expect-5.3/Makefile" to see what
should be added to the latter Makefile (note: "./expect/Makefile" was
configured for my Linux box, so you should only look for differences concerning
the extensions, such as the definition of STEALINC). After you've changed
the "expect-5.3/Makefile" appropriately, you can type "make", which should
produce the executable named "expectk". Now you can copy (or move) that
program to this directory (".") and rename it "tgdb_wish"; Afterwards, simply
proceed as described in "A.". Note: since tgdb's source distribution includes
all necessary Tcl/Tk/TclX/BLT/TkSteal script files in "./tcllib", you don't
have to install the packages (Tcl, Tk, ...). If you do, you will have to change
"./tgdb" such that the environment variables "{TCL,TK,BLT}_LIBRARY" reflect the
correct path names of the corresponding script libraries.

   As tgdb's grows in popularity (hopefully! :), there is a chance that binary
releases of tgdb will be available on harbor.ecn.purdue.edu and other ftp
sites for platforms other than Linux. There's rumor on the USEnet saying
that a "Swiss Army Wish" (a "WIndowing SHell" containing everything
you need for tgdb, plus many other extensions) will soon be available on
"harbor" for SGI, IBM RS/6000, HP 700, SunOS and Solaris workstations, so
it might be wise to check if it is already there, before building your own
tgdb_wish. If not, we would like to hear from you once the new tgdb_wish is
built, so that we (or you?) can make a binary tgdb release for this platform.
This would prevent people from repeatedly reinventing the wheel, and would
save some valuable resources (bandwidth, disk space, time, nerves, ...).
Thank you in advance for your help!

================================================================================


Hope you enjoy tgdb - or, as "Steven.Tyler@Aerosmith.COM" would say:
"Get a grip", "Rock this way", and you "Gotta love it"...


HighTec EDV-Systeme GmbH
