******************** tcl7.4p1+.patch (version 9/4/95) *********************
*                                                                         *
* Written by:   Jan Nijtmans                                              *
*               NICI (Nijmegen Institute of Cognition and Information)    *
*               email: nijtmans@nici.kun.nl                               *
*               url:   http://www.nici.kun.nl/~nijtmans/                  *
*                                                                         *
***************************************************************************

This patch updated from Tcl 7.4p1 to Tcl 7.4p1+. It should be applied
by running the "patch" program in the top-level directory of a clean
Tcl 4.0p1 release, using the command "patch -p <tcl7.4p1+.patch"

Then run "configure", and do "make" in this directory. This creates
all libraries and the Tcl7.4 shell (tclsh). Then do "make install"
(in super-user mode) to install it on your machine for general use.

This patch adds a lot of functionality to the standard distributions
of Tcl7.4p1, such as:

* Shared Libraries. These can be created now for AIX, FreeBSD, HP-UX-9,
  IRIX-5, Linux (ELF only), NetBSD, OSF/1 and Sun (both SunOS-4 and
  Solaris). Also, the configure script and the makefiles contain a lot
  of comments about how to adapt it for your own system, if it is not
  in the above list.

* Standalone Applications. Now an extra function Tcl_InitStandAlone() is
  available that performs the same function as Tcl_Init(). The difference
  is that all the files in /usr/local/lib/tcl7.4/ are now compiled into
  the application. This makes the executable larger (about 7 kbyte), but
  it will run on any machine (of the same architecture). It makes no
  difference any more if Tcl is installed or not, or which version.

* tcl2c. A tiny compiler (only 10 kBytes of source-code, the executable
  is about 17 kByte for Solaris2.4 ) that compiles any well-formed
  tcl-script into C-source code. The resulting output can be compiled
  using any C (K&R, ANSI) or C++  compiler. As an example for how to
  use it, there is a "hello.tcl" script in the distribution. You can
  compile this example by:
        tcl2c hello.tcl -o hello.c -tcl         (create hello.c)
        cc -o hello hello.c libtcl.a -lm        (create hello)
  Or, simply do:
        make hello
  The result is a binary executable that performs the same function as
  the original "hello.tcl" script. It will run as a standalone
  application, excuting your own script that you compiled into it.
  Don't expect any faster operation, because everything is still
  interpreted internally.

* C++ support. tclAppInit.c has been adapted such that it can be compiled
  with any C++ compiler. Try:
        make wish++
  This will create a C++ version of wish (if you have a C++ compiler).

* Event loop. The event loop from Tk4.0 is glued into the Tcl7.4 core.
  This means that the commands "after", "fileevent", "update" and
  "tclerror" (replacement for "tkerror") are now available without Tk.
  Documentation and tests for these commands are added too. This addition
  is 100% upwards compatible with Tcl7.4p1. Because all symbols that
  originally started with "Tcl" or "TCL" now start with "Tk" or "TK",
  it doesn't even disturb Tk4.0 (otherwise I wouldn't dare to include
  it in this plus-patch, because most people only are interested in
  the shared library support).

CONFIGURE
=========

The configure script has the following additional options:

        configure --enable-static       create tclsh.static
        configure --enable-standalone   create tclsh.standalone
        configure --enable-tcltest      create tcltest
        configure --enable-test         create and run tests

These options can be used combined. They influence which files will
be created when you do "make" or "make all".

MAKE
====
You can make the following extra files:
        make tclsh              Shared version of tclsh (default)
        make tclsh++            C++ version of tclsh
        make tclsh.static       Static version of tclsh
        make tclsh.standalone   Standalone version of tclsh
        make static             the same as make tclsh.static
        make standalone         the same as make tclsh.standalone
        make tcltest            Shared version of tcltest
        make tcltest.static     Static version of tcltest
        make tcltest.standalone Standalone version of tcltest
        make test               Execute tests using tcltest
        make test.static        Execute tests using tcltest.static
        make test.standalone    Execute tests using tcltest.standalone
        make hello.c            C-source of hello.tcl
        make hello              binary executable of hello.tcl
