This file attempts to describe how to build the Tcl/Tk shared
libraries for Linux.  Documentation isn't one of my strengths so I
don't promise that everything will build without a hitch.  If you
have problems, please let me know and I'll try to update this file.

All source has been pre-configured to compile on my Linux system.  The
only things I changed from the original sources were to tweak the
Makefiles to install in the desired directories and make it easier to
build the binary packages, and to #ifdef a few files to avoid
conflicts with the standard headers.  If you unpacked this in a
directory other than /home/david/src, you'll have to scan the
Makefiles and change some of the paths accordingly.  Everything was
built using the following packages: Linux-0.99pl13X, GCC-2.5.[24] and
DLL tools-2.9.

The first thing to do is to build and install static versions of
everything.  I don't really expect anyone to use the static versions,
but this is the easiest way to install all the support files.  To
build and install the static versions, cd into each of the major
source directories (tcl7.3, tk3.6, tclX7.3a, blt-1.0 and itcl-1.3) and
run 'make' followed by a 'make install'.  The latter must be done as
root.  Additionally, for TclX, you must set an environment variable
named POSIXLY_CORRECT.  Not everything I included in the binary
packages is installed automatically.  You'll have to manually copy the
remaining files to the appropriate places.

We're now ready to build the shared libraries.  Clean out the static
versions by running 'make clean' in all but the tclX7.3a directory.
In the tclX7.3a directory, run 'rm src/*.o tksrc/*.o'.  Now build the
shared libraries by running each of the make.{tcl,tk,tclx,tkx,blt,
itcl} shell scripts in turn.  This will leave the stub libraries and
unstripped binaries and library images in the current directory.
Strip the binaries and images, if desired.  Then, as root, copy them
along with the stubs to the appropriate place and run 'ldconfig'.

And that's it.  Please report any problems or suggestions to me.

David Engel
david@ods.com
