Tcl 8.3 for Windows

by Scott Stanton
Scriptics Corporation
scott.stanton@scriptics.com

RCS: @(#) $Id$

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

This is the directory where you configure and compile the Windows
version of Tcl.  This directory also contains source files for Tcl
that are specific to Microsoft Windows.

The information in this file is maintained on the web at:
	http://dev.scriptics.com/doc/howto/compile.html#win

2. Compiling Tcl
----------------

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

	Tcl 8.3 Source Distribution (plus any patches)

	Visual C++ 2.x/4.x/5.x

In practice, this release is built with Visual C++ 5.0

In the "win" subdirectory of the source release, you will find
"makefile.vc".  This is the makefile Visual C++ compiler.  You should
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 tcl libraries and the tclsh executable.

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

	1) The path specified in the environment variable "TCL_LIBRARY".

	2) In the lib\tcl8.3 directory under the installation directory
	   as specified in the registry:

		HKEY_LOCAL_MACHINE\SOFTWARE\Scriptics\Tcl\8.3

	3) Relative to the directory containing the current .exe.
	    Tcl will look for a directory "..\lib\tcl8.3" relative to the
	    directory containing the currently running .exe.

Note that in order to run tclsh83.exe, you must ensure that tcl83.dll
and tclpip83.dll are on your path, in the system directory, or in the 
directory containing tclsh83.exe.

Note: Tcl no longer provides support for Win32s.

This page includes a lengthy discussion of compiler macros necessary
when compiling Tcl extensions that will be dynamically loaded.

3. Test suite
-------------

This distribution contains an extensive test suite for Tcl.  Some of
the tests are timing dependent and will fail from time to time.  If a
test is failing consistently, please send us a bug report with as much
detail as you can manage.  Please use the online database at
	http://dev.scriptics.com/ticket/

In order to run the test suite, you build the "test" target using the
appropriate makefile for your compiler.




