Tk 4.2 for Windows

by Scott Stanton
Sun Microsystems Laboratories
scott.stanton@eng.sun.com

SCCS: @(#) README 1.14 96/10/15 18:38:40

1. Introduction
---------------

This is the directory where you configure and compile the Windows
version of Tk.  This directory also contains source files for Tk
that are specific to Microsoft Windows.  The rest of this file
contains information specific to the Windows version of Tk.

2. Distribution notes
---------------------

Tk 4.2 for Windows is distributed in binary form in addition to the
common source release.  The binary distribution is a self-extracting
archive with a built-in installation script.

Look for the binary release in the same location as the source release
(ftp.smli.com:/pub/tcl or any of the mirror sites).  For most users,
the binary release will be much easier to install and use.  You only
need the source release if you plan to modify the core of Tcl, or if
you need to compile with a different compiler.  With the addition of
the dynamic loading interface, it is no longer necessary to have the
source distribution in order to build and use extensions.

3. Compiling Tk
----------------

In order to compile Tk for Windows, you need the following items:

	Tcl 7.6 Source Distribution (plus any patches)
	Tk 4.2 Source Distribution (plus any patches)

	The latest Win32 SDK header files

	Borland C++ 4.5/5.0 (32-bit compiler)
	  or
	Visual C++ 2.x/4.0
	

In the "win" subdirectory of the source release, you will find two
files called "makefile.bc" and "makefile.vc".  These are the makefiles
for the Borland and Visual C++ compilers respectively.  You should
copy the appropriate one to "makefile" and update the paths at the top
of the file to reflect your system configuration.  Now you can use
"make" (or "nmake" for VC++) to build the tk libraries and the wish
executable.

In order to use the binaries generated by these makefiles, you will
need to place the Tk script library files someplace where Tk can
find them.  Tk looks in one of two places for the library files:

	1) The environment variable "TK_LIBRARY".

	2) In the lib\tk4.2 directory under the Tcl installation directory
	   as specified in the registry:

		For Windows NT & 95:
		    HKEY_LOCAL_MACHINE\SOFTWARE\Sun\Tcl\7.6
			Value Name is "Root"

		For Win32s:
		    HKEY_CLASSES_ROOT\SOFTWARE\Sun\Tcl\7.6\

	2) Relative to the directory containing the current .exe.
	    Tk will look for a directory "..\lib\tk4.2" relative to the
	    directory containing the currently running .exe.

Note that in order to run wish42.exe, you must ensure that tcl76.dll,
tclpip76.dll (plus tcl1676.dll under Win32s), and tk42.dll are on your
path, in the system directory, or in the directory containing
wish42.exe.

4. Test suite
-------------

The Windows version of Tk does not pass many of the tests in the test
suite.  This is primarily due to dependencies in the test suite on the
size of particular X fonts, and other X related features as well as
problems with "exec".  We will be working to develop a more general
test suite for Tk under Windows, but for now, you will not be able to
pass many of the tests.

5. Known Bugs
-------------

Here is the current list of known bugs/missing features for the
Windows beta version of Tk:

- There is no support for custom cursors/application icons.  The core
  set of X cursors is supported, although you cannot change their color.
- Stippling of arcs isn't implemented yet.
- Some "wm" functions don't map to Windows and aren't implemented.
- There is no support for the option database yet.
- Under Win32s, you can only start one instance of Wish at a time.
- Color management on some displays doesn't work properly resulting in
  Tk switching to monochrome mode.
- Send and winfo interps are not currently supported

If you have comments or bug reports for the Windows version of Tk,
please direct them to:

Scott Stanton
scott.stanton@eng.sun.com

or post them to the newsgroup comp.lang.tcl.
