Tcl 8.0p2 for Windows by Scott Stanton Sun Microsystems Laboratories scott.stanton@eng.sun.com SCCS: @(#) README 1.25 97/11/21 15:15:40 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 rest of this file contains information specific to the Windows version of Tcl. 2. Distribution notes --------------------- Tcl 8.0 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 Tcl ---------------- In order to compile Tcl for Windows, you need the following items: Tcl 8.0 Source Distribution (plus any patches) Borland C++ 4.52 (both 16-bit and 32-bit compilers) or Visual C++ 2.x/4.x Visual C++ 1.5 (to build tcl1680.dll for Win32s support of exec) 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 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 three places for the library files: 1) The path specified in the environment variable "TCL_LIBRARY". 2) In the lib\tcl8.0 directory under the installation directory as specified in the registry: For Windows NT & 95: HKEY_LOCAL_MACHINE\SOFTWARE\Sun\Tcl\8.0 Value Name is "Root" For Win32s: HKEY_CLASSES_ROOT\SOFTWARE\Sun\Tcl\8.0\ 3) Relative to the directory containing the current .exe. Tcl will look for a directory "..\lib\tcl8.0" relative to the directory containing the currently running .exe. Note that in order to run tclsh80.exe, you must ensure that tcl80.dll and tclpip80.dll (plus tcl1680.dll under Win32s) are on your path, in the system directory, or in the directory containing tclsh80.exe. 4. 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. In order to run the test suite, you build the "test" target using the appropriate makefile for your compiler. 5. Known Bugs ------------- Here is the current list of known bugs/missing features for the Windows version of Tcl: - Blocking "after" commands (e.g. "after 3000") don't work on Win32s. - Clock command fails to handle daylight savings time boundaries for things like "last week". - Background processes aren't properly detached on NT. - File events only work on sockets. - Pipes/files/console/serial ports don't support nonblocking I/O. - The library cannot be used by two processes at the same time under Win32s. If you have comments or bug reports for the Windows version of Tcl, please direct them to: Scott Stanton scott.stanton@eng.sun.com or post them to the comp.lang.tcl newsgroup.