About the "plus"-patch for Tcl8.0.4

LICENCE TERMS

The plus-patches are distributed under the same terms
as Tcl/Tk. Read the file "licence.terms" for more information.

======================================================================
This patch contains the following enhancements:

Shared library support

If the option "--enable-shared" is given to the configure script both the
static and shared libraries are created. Also in all directories where
shared libraries are a pkgIndex.tcl file is created which contains
references to all functions in these shared libraries.

Because of the existance of pkgIndex.tcl files, the "package require"
command is enough to load the shared libraries into tclsh. For example:

	>tclsh8.0
	%package require Tk

This single command is enough to load libtk8.0.so  dynamically. The main
window "." will appear and all tk commands are available. For some systems
(e.g. SunOS4) this will not yet work in all situations, but usually the
cause of such a failure is because of your system doesn't have a shared
X11 library. Because the event loop enhancements (see below) are not yet
functional in this patch, you have to provide your own event loop in
your script.

Standalone Applications

In addition to Tcl_Init() and Tk_Init (or Xxx_Init in general) there are now
additional functions Tcl_InitStandAlone() and Tk_InitStandAlone() (or
Xxx_InitStandAlone in general). These perform the same function, only the
Tcl and Tk libraries are compiled into the executable. This makes the
executable larger, of course, but they will run on any system no matter if
Tcl/Tk (or blt or Tix) is installed or not. Included is a program tcl2c,
which translates tcl scripts into C source code. Compiling this code and
linking with the necessary static libraries results in a standalone
executable.

It is possible to link your executable with shared libraries if you
use the flag "-DSHARED" with your C-compiler. This will result in
a much smaller executable, but it doesn't work standalone: it only
works if Tcl/Tk/TclX, whichever libraries you link in, are installed
on the system. The installed libraries don't need to be the plus-
patched versions: the original ones are O.K. as well.

C++-support

The following files are changed such that they now can be compiled by
any C or C++ compiler (both K&R and ANSI).

Tcl
     tclAppInit.c
     tclTest.c
     tclUnixTest.c
     pkga.c
     pkgb.c
     pkgc.c
     pkgd.c
     pkge.c
     pkgf.c

Tk
     tkAppInit.c
     tkTest.c
     tkSquare.c

Loadable extensions

If shared libraries are enabled, the executables tcltest and tktest are no
longer created for testing purposes. In stead, loadable libraries Tcltest.so,
Objtest.so, Proctest.so, Unixtest.so, Tktest.so and Tksquare.so are created
which only contain the additional test functions. These loadable libraries
will be used to test tclsh and wish.

----------------------------------------------------------------------------
 The "plus"-patch is implemented by:

     Jan Nijtmans
     CMG (Computer Management Group) Arnhem B.V.
     email: Jan.Nijtmans@wxs.nl (private)
            Jan.Nijtmans@cmg.nl (work)
     url:   http://home.wxs.nl/~nijtmans/
