| 
sl@0
 | 
     1  | 
Tcl 8.4 for Windows
  | 
| 
sl@0
 | 
     2  | 
  | 
| 
sl@0
 | 
     3  | 
RCS: @(#) $Id: README,v 1.30.2.1 2005/07/29 03:50:51 mdejong Exp $
  | 
| 
sl@0
 | 
     4  | 
  | 
| 
sl@0
 | 
     5  | 
1. Introduction
  | 
| 
sl@0
 | 
     6  | 
---------------
  | 
| 
sl@0
 | 
     7  | 
  | 
| 
sl@0
 | 
     8  | 
This is the directory where you configure and compile the Windows
  | 
| 
sl@0
 | 
     9  | 
version of Tcl.  This directory also contains source files for Tcl
  | 
| 
sl@0
 | 
    10  | 
that are specific to Microsoft Windows.
  | 
| 
sl@0
 | 
    11  | 
  | 
| 
sl@0
 | 
    12  | 
The information in this file is maintained on the web at:
  | 
| 
sl@0
 | 
    13  | 
	http://www.tcl.tk/doc/howto/compile.html#win
  | 
| 
sl@0
 | 
    14  | 
  | 
| 
sl@0
 | 
    15  | 
The above URL includes a lengthy discussion of compiler macros necessary
  | 
| 
sl@0
 | 
    16  | 
when compiling Tcl extensions that will be dynamically loaded.
  | 
| 
sl@0
 | 
    17  | 
  | 
| 
sl@0
 | 
    18  | 
2. Compiling Tcl
  | 
| 
sl@0
 | 
    19  | 
----------------
  | 
| 
sl@0
 | 
    20  | 
  | 
| 
sl@0
 | 
    21  | 
In order to compile Tcl for Windows, you need the following:
  | 
| 
sl@0
 | 
    22  | 
  | 
| 
sl@0
 | 
    23  | 
	Tcl 8.4 Source Distribution (plus any patches)
  | 
| 
sl@0
 | 
    24  | 
  | 
| 
sl@0
 | 
    25  | 
	and
  | 
| 
sl@0
 | 
    26  | 
  | 
| 
sl@0
 | 
    27  | 
	Visual C++ 5 or newer
  | 
| 
sl@0
 | 
    28  | 
  | 
| 
sl@0
 | 
    29  | 
	or
  | 
| 
sl@0
 | 
    30  | 
  | 
| 
sl@0
 | 
    31  | 
	Msys + Mingw
  | 
| 
sl@0
 | 
    32  | 
  | 
| 
sl@0
 | 
    33  | 
	http://prdownloads.sourceforge.net/tcl/msys_mingw8.zip
  | 
| 
sl@0
 | 
    34  | 
  | 
| 
sl@0
 | 
    35  | 
	This Msys + Mingw download is the minimal environment
  | 
| 
sl@0
 | 
    36  | 
	needed to build Tcl/Tk under Windows. It includes a
  | 
| 
sl@0
 | 
    37  | 
	shell environment and gcc. The release is designed to
  | 
| 
sl@0
 | 
    38  | 
	make it as easy a possible to build Tcl/Tk. To install,
  | 
| 
sl@0
 | 
    39  | 
	you just download the zip file and extract the files
  | 
| 
sl@0
 | 
    40  | 
	into a directory. The README.TXT file describes how
  | 
| 
sl@0
 | 
    41  | 
	to launch the msys shell, you then run the configure
  | 
| 
sl@0
 | 
    42  | 
	script in the tcl/win directory.
  | 
| 
sl@0
 | 
    43  | 
  | 
| 
sl@0
 | 
    44  | 
In practice, this release is built with Visual C++ 6.0 and the TEA
  | 
| 
sl@0
 | 
    45  | 
Makefile.
  | 
| 
sl@0
 | 
    46  | 
  | 
| 
sl@0
 | 
    47  | 
If you are building with Visual C++, in the "win" subdirectory of the
  | 
| 
sl@0
 | 
    48  | 
source release, you will find "makefile.vc".  This is the makefile for
  | 
| 
sl@0
 | 
    49  | 
the Visual C++ compiler and uses the stock NMAKE tool.  Detailed
  | 
| 
sl@0
 | 
    50  | 
directions for using it, are in the comments of "makefile.vc".  A quick
  | 
| 
sl@0
 | 
    51  | 
example would be:
  | 
| 
sl@0
 | 
    52  | 
	C:\tcl_source\win\>nmake -f makefile.vc
  | 
| 
sl@0
 | 
    53  | 
  | 
| 
sl@0
 | 
    54  | 
There is also a Developer Studio workspace and project file, too, if you
  | 
| 
sl@0
 | 
    55  | 
would like to use them.
  | 
| 
sl@0
 | 
    56  | 
  | 
| 
sl@0
 | 
    57  | 
If you are building with Msys or Cygwin, you can use the configure script
  | 
| 
sl@0
 | 
    58  | 
that lives in the win subdirectory. The Msys or Cygwin based configure/build
  | 
| 
sl@0
 | 
    59  | 
process works just like the UNIX one, so you will want to refer to
  | 
| 
sl@0
 | 
    60  | 
../unix/README for available configure options. An error will be
  | 
| 
sl@0
 | 
    61  | 
generated by the configure script if you try to compile Tcl with
  | 
| 
sl@0
 | 
    62  | 
the Cygwin version of gcc instead of the Mingw version. Check your
  | 
| 
sl@0
 | 
    63  | 
PATH if you get this error. Be aware that gcc will generate
  | 
| 
sl@0
 | 
    64  | 
lots of compile time warnings when building Tcl. Warnings are
  | 
| 
sl@0
 | 
    65  | 
not errors, so please don't file a bug report about them.
  | 
| 
sl@0
 | 
    66  | 
  | 
| 
sl@0
 | 
    67  | 
In order to use the binaries generated by these makefiles, you will
  | 
| 
sl@0
 | 
    68  | 
need to place the Tcl script library files someplace where Tcl can
  | 
| 
sl@0
 | 
    69  | 
find them.  Tcl looks in one of following places for the library files:
  | 
| 
sl@0
 | 
    70  | 
  | 
| 
sl@0
 | 
    71  | 
	1) The path specified in the environment variable "TCL_LIBRARY".
  | 
| 
sl@0
 | 
    72  | 
  | 
| 
sl@0
 | 
    73  | 
	2) Relative to the directory containing the current .exe.
  | 
| 
sl@0
 | 
    74  | 
	   Tcl will look for a directory "..\lib\tcl8.4" relative to the
  | 
| 
sl@0
 | 
    75  | 
	   directory containing the currently running .exe.
  | 
| 
sl@0
 | 
    76  | 
  | 
| 
sl@0
 | 
    77  | 
Note that in order to run tclsh84.exe, you must ensure that tcl84.dll
  | 
| 
sl@0
 | 
    78  | 
and tclpip84.dll are on your path, in the system directory, or in the 
  | 
| 
sl@0
 | 
    79  | 
directory containing tclsh84.exe.
  | 
| 
sl@0
 | 
    80  | 
  | 
| 
sl@0
 | 
    81  | 
Note: Tcl no longer provides support for Win32s.
  | 
| 
sl@0
 | 
    82  | 
  | 
| 
sl@0
 | 
    83  | 
3. Test suite
  | 
| 
sl@0
 | 
    84  | 
-------------
  | 
| 
sl@0
 | 
    85  | 
  | 
| 
sl@0
 | 
    86  | 
This distribution contains an extensive test suite for Tcl.  Some of
  | 
| 
sl@0
 | 
    87  | 
the tests are timing dependent and will fail from time to time.  If a
  | 
| 
sl@0
 | 
    88  | 
test is failing consistently, please send us a bug report with as much
  | 
| 
sl@0
 | 
    89  | 
detail as you can manage.  Please use the online database at
  | 
| 
sl@0
 | 
    90  | 
	http://tcl.sourceforge.net/
  | 
| 
sl@0
 | 
    91  | 
  | 
| 
sl@0
 | 
    92  | 
In order to run the test suite, you build the "test" target using the
  | 
| 
sl@0
 | 
    93  | 
appropriate makefile for your compiler.
  |