NEOSOFT TCL
===========

Welcome to NeoSoft Tcl, a single, integrated release of Tcl that includes
Tcl, Extended Tcl, Tk, color X pixmap and GIF support, Tcl distributed
processing, and [incr tcl], the object-oriented Tcl extension modelled 
after C++.

Current release is: NEOTCL 7.3A BETA 2

$Id: RELEASE_NOTES,v 2.0 1994/12/23 20:01:49 karl Exp $

These notes assume that you have unpacked NeoSoft Tcl in /usr/neosoft/src.
If you have unpacked it elsewhere, substitute that directory path wherever
you see /usr/neosoft/src.

EDIT THE MASTER MAKEFILE
------------------------

You need to set three variables in the toplevel Makefile, the architecture
(ARCH), the directory that subordinate directories such as bin and lib
will be created and installed into, and the shell that will handle the
shell scripts, usually /bin/sh but may also be ksh or bash.

NeoSoft Tcl uses GNU autoconf to configure itself for your system type.
These carefully crafted configure scripts allows NeoSoft Tcl to be built
on most Unix-based systems without any special editing/porting/etc.
(Use of GNU autoconf does *not* make any Tcl component, or any application
that you create using Tcl, subject to the GNU distribution requirements.)

The architecture definition in the Makefile simply defines a architecture-
dependent partial pathname to allow binaries and libraries for multiple
architectures to reside in parallel under the same tree.

Sample configuration for BSDI BSD/386 1.1:

    ARCH=bsd386
    PREFIX=/usr/neosoft
    SHELL=/bin/bash

Sample configuration for SCO Open Desktop:

    ARCH=sco
    PREFIX=/usr/neosoft
    SHELL=/bin/sh

Sample configuration for Sun SPARC:

    ARCH=sun4
    PREFIX=/usr/neosoft
    SHELL=/bin/sh


CONFIGURE FOR YOUR TYPE OF SYSTEM
---------------------------------

You should be able to do a:

    cd /usr/neosoft/src/tcl7.3
    make configure

...and configuration should occur automatically.  Certain things in
Extended Tcl can be fine-tuned in tcl7.3/tclX7.3a/Config.mk.
If you have problems, please contact NeoSoft.

When the "make configure" configures [incr tcl] (itcl-1.5), it may ask 
some questions.  If you are using /usr/neosoft for the install location, 
answer as follows:

    What directory contains Tcl source code (absolute path) ?

	/usr/neosoft/src/tcl7.3/tcl7.3

    What directory contains libtcl.a ?

	/usr/neosoft/src/tcl7.3/tcl7.3

    What directory contains tk.h (absolute path) ?

	/usr/neosoft/src/tcl7.3/tk3.6

    What directory contains libtk.a ?

	/usr/neosoft/src/tcl7.3/tk3.6


BUILD
-----

To build NeoSoft Tcl, perform the following steps:

    cd /usr/neosoft/src/tcl7.3
    make make

This should compile, in turn, all of the pieces, finally producing
in-tree executables of tcl and wishx.

INSTALL
-------

    cd /usr/neosoft/src/tcl7.3
    make install

This will install the executables and support files, including help,
source libraries, etc.

Everything in a runtime release, including executables, libraries,
help files, manual pages, etc, install into one directory hierarchy.

Machine-specific executables install into architecture-specific trees,
allowing binaries for multiple architectures to be served out via
one NFS export, for example.

Also note that the release ID (currently 7.3a-p2) is in the path
of this tree, allowing 7.3b to be built and installed alongside,
permitting multiple releases for multiple architectures to be served
out from one NFS export simultaneously.

In the case of BSDI BSD/386 1.1 above, with PREFIX set to /usr/neosoft
and ARCH set to bsd386, the following tree will be created:


	/usr/neosoft/tclX/7.3a-p2

		Master directory -- all Tcl and TclX runtime
		    files install underneath.

	/usr/neosoft/tclX/7.3a-p2/bin.bsd386

		Architecture-specific executables (tcl)

	/usr/neosoft/tclX/7.3a-p2/help

		Help files for Tcl and Extended Tcl

	/usr/neosoft/tclX/7.3a-p2/include

		C include files for Tcl and Extended Tcl

	/usr/neosoft/tclX/7.3a-p2/lib.bsd386

		Architecture-specific Tcl and Extended Tcl C libraries

	/usr/neosoft/tclX/7.3a-p2/man

		Manual pages for Tcl and Extended Tcl

	/usr/neosoft/tclX/7.3a-p2/src

		File to include in a C program to link Tcl, TclX, etc,
		into it.

	/usr/neosoft/tkX/3.6a-p2/bin.bsd386

		Master directory -- all Tk files install underneath.

	/usr/neosoft/tkX/3.6a-p2/demos

		Architecture-specific executables (wishx)

	/usr/neosoft/tkX/3.6a-p2/help

		Help files for Tk

	/usr/neosoft/tkX/3.6a-p2/include

		Include files for Tk

	/usr/neosoft/tkX/3.6a-p2/lib.bsd386

		Architecture-specific Tk libraries

	/usr/neosoft/tkX/3.6a-p2/man

		Manual pages for Tk

	/usr/neosoft/tkX/3.6a-p2/src

		File to include in C code to link Tk into it.


INSTALLING EXECUTABLES ONLY
---------------------------

Often you will make a change to some code in one of these packages and
wish to recompile and reinstall, but you don't want to incur the overhead
of reinstalling all the manpages, libraries, and the like.  In this case,
do a:

    cd /usr/neosoft/src/tcl7.3
    make install-exec


CONFIGURING AND BUILDING MANUALLY
---------------------------------

If "make configure" fails, you may want to try building manually.
In this case, issue the following commands to build tcl7.3, xpm,
Tk, itcl, and tclX:

    cd /usr/neosoft/src/tcl7.3/tcl7.3
    configure --prefix=/usr/neosoft
    make

    cd /usr/neosoft/src/tcl7.3/tk3.6/xpm
    xmkmf
    cd ..
    configure --prefix=/usr/neosoft
    make

    cd /usr/neosoft/src/tcl7.3/itcl-1.5
    configure --prefix=/usr/neosoft
    make

    cd /usr/neosoft/src/tcl7.3/tclX7.3a
    configure --prefix=/usr/neosoft
    make
    make install


HINTS
-----

Many "make" commands are not adequate to the task of building all of this.
Consequently source code to GNU make is included in the complete release.

If you are installing in /usr/neosoft, configuring, building and installing 
GNU make in src/make-* and making sure that /usr/neosoft/bin comes before
whatever directory has your system's make command are essential.

for shell users,
PATH=/usr/neosoft/bin:$PATH

for csh users,
set path=(/usr/neosoft/bin $path)

Getting the right "make" in the path should be done before running configure,
or configure should be rerun.  What configure decides to do depends in part
on the behavior of "make".


POTENTIAL PROBLEMS
------------------

If you have trouble with "make configure" from the top tcl7.3 directory
failing in tk3.6, try cd'ing to each subdirectory of the top directory
by hand and doing a "configure --prefix=/usr/neosoft"


INCR TCL
--------

The Makefile for [incr tcl] has been modified to only produce the library and
not the itcl_sh and itcl_wish executables, as tcl and wishx will have itcl
linked in when it's been selected.

DOCUMENTATION
-------------

Each package comes with extensive documentation in the form of README files
and manual pages.

For each package, manual pages can be found in:

tcl				/usr/neosoft/src/tcl7.3/tcl7.3/doc
tk				/usr/neosoft/src/tcl7.3/tk3.6/doc
extended tcl			/usr/neosoft/src/tcl7.3/tclX7.3a/man
incr tcl			/usr/neosoft/src/tcl7.3/itcl-1.5/man
tcl distributed processing	/usr/neosoft/src/tcl7.3/tcl-dp3.2/doc
distributed processing w/o tk	/usr/neosoft/src/tcl7.3/tcl-dp3.2/dplite/doc

Karl Lehenbauer
karl@neosoft.com
