summaryrefslogtreecommitdiffstats
path: root/win/README
blob: f25eac4164ca6617fb830b49d2b78ddc3339d5aa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
Tcl 8.4 for Windows

RCS: @(#) $Id: README,v 1.26 2002/03/09 00:49:05 mdejong Exp $

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://www.tcl.tk/doc/howto/compile.html#win

The above URL includes a lengthy discussion of compiler macros necessary
when compiling Tcl extensions that will be dynamically loaded.

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

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

	Tcl 8.4 Source Distribution (plus any patches)

	and

	Visual C++ 5 or newer

	or

	Msys + Mingw 1.1

	http://prdownloads.sourceforge.net/tcl/msys_mingw1.zip

	This Msys + Mingw download is the minimal environment
	needed to build Tcl/Tk under Windows. It includes a
	shell environment and gcc. The release is designed to
	make it as easy a possible to build Tcl/Tk. To install,
	you just download the zip file and extract the files
	into a directory. The README.TXT file describes how
	to launch the msys shell, you then run the configure
	script in the tcl/win directory.

	or

	Cygwin 1.1 or newer (See http://sources.redhat.com/cygwin)

	Mingw 1.1 (http://prdownloads.sourceforge.net/mingw/MinGW-1.1.tar.gz)

	Extract the contents of the archive file into /usr/local/mingw
	and place /usr/local/mingw/bin at the front of your PATH env var
	before running the configure script in the tcl/win directory.


In practice, this release is built with Visual C++ 6.0 and the TEA
Makefile.

If you are building with Visual C++, in the "win" subdirectory of the
source release, you will find "makefile.vc".  This is the makefile for
the Visual C++ compiler and uses the stock NMAKE tool.  Detailed
directions for using it, are in the comments of "makefile.vc".  A quick
example would be:
	C:\tcl_source\win\>nmake -f makefile.vc

There is also a Developer Studio workspace and project file, too, if you
would like to use them.

If you are building with Msys or Cygwin, you can use the configure script
that lives in the win subdirectory. The Msys or Cygwin based configure/build
process works just like the UNIX one, so you will want to refer to
../unix/README for available configure options. An error will be
generated by the configure script if you try to compile Tcl with
the Cygwin version of gcc instead of the Mingw version. Check your
PATH if you get this error. Be aware that gcc will generate
lots of compile time warnings when building Tcl. Warnings are
not errors, so please don't file a bug report about them.

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) Relative to the directory containing the current .exe.
	   Tcl will look for a directory "..\lib\tcl8.4" relative to the
	   directory containing the currently running .exe.

Note that in order to run tclsh84.exe, you must ensure that tcl84.dll
and tclpip84.dll are on your path, in the system directory, or in the 
directory containing tclsh84.exe.

Note: Tcl no longer provides support for Win32s.

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://tcl.sourceforge.net/

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