From: zoo@cygnus.com (david d 'zoo' zuhn)
Newsgroups: comp.lang.tcl
Subject: first TclTools release (Tcl & Tk using GNU configure)
Date: 24 Jan 93 10:12:50 GMT
Distribution: world
Organization: Cygnus Support -- +1 415 903 1434


Since Cygnus has developed some tools that require Tcl (that's another
announcement to be made shortly), we have taken Tcl 6.5 and Tk 3.0 and put
them under a GNU style configuration.  This make integration with a larger
source tree much easier.  

This distribution is now available by anonymous ftp from cygnus.com:

   anonymous@cygnus.com:/pub/
   -rw-rw-r--  1 66       1002         4253 Jan 24 10:08 tcltools-README
   -rw-rw-r--  1 66       1002      1851209 Jan 24 10:07 tcltools-930124.tar.Z

and (hopefully) soon from barkley.berkeley.edu:/tcl/code.

Here is the tcltools-README file.

--------------------------------------------------------------------------------

                             Cygnus Tcl Tools
                              Release-930124

This is the first public release of versions of Tcl 6.5 and Tk 3.0 that use
the GNU automatic configuration mechanism, instead of the 'config' script
in the baseline Tcl releases.

Advantages to this version include 

* support for separate source and object directories.  When using the
  --srcdir option to configure, and using a make that properly supports the
  VPATH mechanism (GNU make and SunPRO make are the only two that I know
  of), you can configure the object code directory in a separate location
  from the source code.

* greater portability (this release works out-of-the-box on some machines
  that the baseline Tcl release didn't).  It also is more likely to work on
  machines that Tcl has not yet been ported to.  It also doesn't use a csh
  shell script, for those machines that don't have csh.

* a good framework exists for adding additional packages.  Expect and
  Extended Tcl will soon be added, and other developers are welcome to
  start from this base.

* compatibility with trees of GNU software (I currently maintain a 65Mb
  source tree of GNU software, all of which can be configured and installed
  from a single command).


This release has been tested on the following platforms:

  HP 9000/720 running HP/UX 8.07
  HP 9000/320 running HP/UX 8.00
  SGI Iris running Irix 4.0.1
  DECstation 3100 running Ultrix 4.2
  Sun 4 running Solaris 2.1
  Sun 4 running SunOS 4.1.1
  Sun 3 running SunOS 4.1.1
  a PC running SCO ODT 2.0, aka SCO Unix 3.2v4

If you like this release, and would like to see this in the Tcl/Tk
baseline, please let me know.  I will forward comments on to Dr.
Ousterhout.  

If you have any questions or comments, please let me know.  I'll do what I
can to answer them.

  david d 'zoo' zuhn |    
    cygnus support   |    And if you're never lost, how can you be found?     
    zoo@cygnus.com   |    



                         ************************

                        *****  INSTALLATION  *****

                         ************************

To build this software, first unpack the tar file.  If you don't wish to
use separate source and object directories, just type:

  % cd tcltools-930124
  % ./configure  
  [ wait while it configures ]
  % make all install

If you are on a machine where 'configure' doesn't recognize the machine
type, try using the same configure name that you would use for GCC or GDB. 

Various options to configure exist, including --srcdir, which is used to
setup for separate source and object directories:

  % tar Zxf tcltools-930124.tar.Z
  % mkdir hp700
  % cd hp700
  % ../tcltools-930124/configure -srcdir=../tcltools-930124
  % make all install

As well as the --prefix and --exec_prefix options, which are used to
determine where in the file system the software is to be installed.  The
default is for everything to be installed under /usr/local.  Different
values may be specified for --prefix and --exec_prefix, for separating
architecture dependent-files from architecture-independent files.

For example, my working directory for this release looks something like
this:

  % ls
  README     hp300/     rs6000/    sco/       solaris2/  sun4/
  tcltools/  hp700/     pmax/      sgi/       sun3/      

Where tcltools is the source directory (tcltools-930124 in this release),
and the other directories are for each architecture.  These directories are
all configured like this:

  % cd sun4; configure --prefix=/abc/zoo/Tcl -exec_prefix=/abc/zoo/Tcl/H-sun4
  % cd sun3; configure --prefix=/abc/zoo/Tcl -exec_prefix=/abc/zoo/Tcl/H-sun3
  % cd sgi; configure --prefix=/abc/zoo/Tcl -exec_prefix=/abc/zoo/Tcl/H-sgi
  % cd pmax; configure --prefix=/abc/zoo/Tcl -exec_prefix=/abc/zoo/Tcl/H-pmax
  % cd sco; configure --prefix=/abc/zoo/Tcl -exec_prefix=/abc/zoo/Tcl/H-sco
  
Each of these 'configure' commands was run on the machine that the software
is to be built on (eg, the sco configure was run on the sco machine).  Once
all of these toolchains have been built and installed, if I have
/abc/zoo/Tcl/H-$host/bin in my $PATH, I get the right tools.  But all of
the library files and such that can be shared between architectures are not
duplicated.