summaryrefslogtreecommitdiffstats
path: root/win/README
blob: 98ba19f5cb453a5f6c4cf482c22a68453b19e9e5 (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
Tcl 8.6 for Windows

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

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

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

	Tcl 8.6 Source Distribution (plus any patches)

	and

	Visual C++ 6 or newer

	or

	Linux + MinGW-w64 (any distribution e.g. Ubuntu)
	    (for either 32-bit or 64-bit executables)

	or

	Cygwin + MinGW-w64 [http://cygwin.com/install.html]
	    (for either 32-bit or 64-bit executables)

	or

	Darwin + MinGW-w64 [http://mingw-w64.sourceforge.net/]
	    (for either 32-bit or 64-bit executables)

	or

	Msys + MinGW-w64 [http://mingw-w64.sourceforge.net/]
	    (for either 32-bit or 64-bit executables)

	or

	Msys + Mingw [http://www.mingw.org/download.shtml]
	    (32-bit executables only)


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 Linux, Cygwin or Msys, you can use the configure
script that lives in the win subdirectory. The Linux/Cygwin/Msys based
configure/build process works just like the UNIX one, so you will want
to refer to ../unix/README for available configure options.

If you want 64-bit executables (x86_64), you need to configure using
the --enable-64bit option. Then make sure that the x86_64-w64-mingw32
compiler is present. For Cygwin this compiler can be found in the
"mingw64-x86_64-gcc-core" package, which can be installed through
the normal Cygwin install process. If you only want 32-bit executables,
the "mingw64-i686-gcc-core" package is what you need. If your Linux
distribution does not have a MinGW-w64 package, you can download one
from [https://sourceforge.net/projects/mingw-w64/files/]

Use the Makefile "install" target to install Tcl.  It will install it
according to the prefix options you provided in the correct directory
structure.

Note that in order to run tclsh86.exe, you must ensure that tcl86.dll is on
your path, in the system directory, or in the directory containing
tclsh86.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.