This is the directory where you configure, compile, test, and install
UNIX versions of Tk.  This directory also contains source files for Tk
that are specific to UNIX.

The rest of this file contains instructions on how to do this.  The
release should compile and run either "out of the box" or with trivial
changes on any UNIX-like system that approximates POSIX, BSD, or System
V.  We know that it runs on workstations from Sun, H-P, DEC, IBM, and
SGI, as well as PCs running Linux, BSDI, and SCO UNIX.  To compile for
a PC running Windows, see the README file in the directory ../win.  To
compile for a Macintosh, see the README file in the directory ../mac.


How To Compile And Install Tk:
------------------------------

(a) Make sure that the Tcl 7.5a2 release is present in the directory
    ../../tcl7.5a2.  This release of Tk will only work with Tcl 7.5a2.

(b) Check for patches as described in ../README.

(b) Type "./configure".  This runs a configuration script created by GNU
    autoconf, which configures Tcl for your system and creates a
    Makefile.  The configure script allows you to customize the Tcl
    configuration for your site; for details on how you can do this,
    type "./configure -help" or refer to the autoconf documentation (not
    included here).  Note:  Tk will use the same C compiler (e.g. gcc)
    as Tcl, as well as several other of Tcl's configuration options.
    You should not usually modify CC in the Makefile generated here
    (if do you, be sure to check all of the definitions related to dynamic
    loading to make sure that they are still correct).

(d) Type "make".  This will create a library archive called "libtk.a"
    and an interpreter application called "wish" that allows you to type
    Tcl commands interactively or execute script files.

(e) If the make fails then you'll have to personalize the Makefile
    for your site or possibly modify the distribution in other ways.
    First check the file "porting.notes" to see if there are hints
    for compiling on your system.  Then look at the porting Web page
    described later in this file.  If you need to modify Makefile,
    there are comments at the beginning of it that describe the things
    you might want to change and how to change them.
    
(f) Type "make install" to install Tk's binaries and script files in
    standard places.  You'll need write permission on the installation
    directoryies to do this.  The installation directories are
    determined by the "configure" script and may be specified with
    the --prefix and --exec_prefix options to "configure".  See the
    Makefile for information on what directories were chosen; you
    can override these choices by modifying the "prefix" and
    "exec_prefix" variables in the Makefile.

(g) At this point you can play with Tk by invoking the "wish"
    program and typing Tcl commands.  However, if you haven't installed
    Tk then you'll first need to set your TK_LIBRARY environment
    variable to hold the full path name of the "library" subdirectory.
    If you haven't installed Tcl either then you'll need to set your
    TCL_LIBRARY environment variable as well (see the Tcl README file
    for information on this).  Note that installed versions of wish,
    libtk.a, and the Tk library have a version number in their names,
    such as "wish4.0" or "libtk4.0.a"; to use the installed versions,
    either specify the version number or create a symbolic link (e.g.
    from "wish" to "wish4.0").

If you have trouble compiling Tk, read through the file "porting.notes".
It contains information that people have provided about changes they had
to make to compile Tcl in various environments.  Or, check out the
following Web URL:
    http://www.sunlabs.com/cgi-bin/tcl/info.4.0
This is an on-line database of porting information.  We make no guarantees
that this information is accurate, complete, or up-to-date, but you may
find it useful.  If you get Tk running on a new configuration and had to
make non-trivial changes to do it, we'd be happy to receive new information
to add to "porting.notes".  You can also make a new entry into the
on-line Web database.  We're also interested in hearing how to change the
configuration setup so that Tcl compiles on additional platforms "out of
the box".

Test suite
----------

Tk has a substantial self-test suite, consisting of a set of scripts in
the subdirectory "tests".  To run the test suite just type "make test"
in this directory.  You should then see a printout of the test files
processed.  If any errors occur, you'll see a much more substantial
printout for each error.  In order to avoid false error reports, be sure
to run the tests with an empty resource database (e.g., remove your
.Xdefaults file or delete any entries starting with *).  See the README
file in the "tests" directory for more information on the test suite.

If the test suite generates errors, most likely they are due to non-
portable tests that are interacting badly with your system configuration.
We are gradually eliminating the non-portable tests, but this release
includes many new tests so there will probably be some portability
problems.  As long as the test suite doesn't core dump, it's probably
safe to conclude that any errors represent portability problems in the
test suite and not fundamental flaws with Tk.

There are also a number of visual tests for things such as screen layout,
Postscript generation, etc.  These tests all have to be run manually and
the results have to be verified visually.  To run the tests, cd to the
"tests" directory and run the script "visual".  It will present a main
window with a bunch of menus, which you can use to select various tests.
