2004-12-27 - On windows, there are at least two supported and well-working build systems for tcl: Building Tcl/Tk with Mingw
or use the MS VC++ compiler (6.0 is known to work well, this wiki has reports, that even the free VC++ 7.0 toolkit will work [1
]) and the platform specific makefile.vc, which is included into the source distribution.
I build tcl8.4.9 on a w2k system, using:
- VC++ 6.0 and makefile.vc
- VC++ 6.0, msys and configure
- mingw 3.1 (based on gcc 3.2.3), msys and configure
and tested that tclsh84 binaries with tclbench (from cvs, 2004-12-27). The over-all runtimes for the tclbench run was:
VC++ 6.0/makefile.vc: 10:34 min
VC++ 6.0/mys/configure: 13:28 min
mingw/msys/configure: 11:41 min
The notable difference between the VC++ 6.0 with makefile.vc build tclsh84 and the VC++ 6.0 with msys/configure build tclsh84 was surprising. The reason for this was obviously, that configure picked other build/linker options, than makefile.vc. After I've hand-edited the configure created Makefile to use the same optimization options, than makefile.vc, both VC++ 6.0 builds run equal fast, according to tclbench, as expected. That results triggered a bug report [2
] and that triggered an update of the core build system, if you use VC++ 6.0 w/ configure.
While the default optimization level for gcc on unix some times ago was cranked up from the for ages used -O to -O2, under windows the default for gcc based builds at 8.4.9 is still -O. Bumping that up to -02 sucked a bit more speed out of the mingw build. On the same box as above, the over-all time for the tclbench run was 11:01.