20-Mar-2011: updated to follow the fossil repository sources

9-Sep-2010: tcl 8.5.9 released - new tclkits available

TclKit is a single-file executable that provides a complete Tcl and Tk runtime and can execute both normal tcl scripts or script archive files known as starkits. TclKit is provided pre-built for a number of platforms and is updated to track Tcl releases. However it is also useful to track the current CVS development. To this end I'm attempting to maintain daily builds for Windows builds uploaded here. I am also testing Tcl/Tk on Vista x64 and so some AMD64 native tclkits are available here.

David Zolli is doing nightly builds for Linux and MacOS X.

Bleeding-edge Windows builds

The lastest HEADtrunk builds for 32 bit Windows are held in the prerelease directory. These are are snapshots build with the current Tcl and Tk trunks from the core fossil repository as of the date of the executable file. Other files provided are built from the actual release version and include that version number in the filename.

Daily builds

Daily builds for 32 bit Windows are copied to daily builds. Check the build log in case of failures.

Daily builds for 32 bit Linux intel are copied to daily builds. Check the build log for failure.

Kitgen build system

I have moved from the previous tclkit build system (genkit) to kitgen. This makes use of vlerq-based vqtcl instead of metakit. I've added a NMAKE compatible set of makefiles to this system and can use this to build ix86 or amd64 binaries from the CVS HEAD checkouts.

A word about file naming: the kitgen build system produces three types of file, tclkit-cli, tclkit-gui and tclkit-dyn. For windows the -dyn which contains a dynamically loadable version of Tk is not much use so I only produce -cli (command-line interface, aka tclkitsh) and -gui which is the fully gui version. Some of the 8.4 binaries are built with the genkit system and don't include -cli or -gui, but instead are named tclkit or tclkitsh (for the command-line version).

If you want to use kitgen yourself you can checkout the code from github or from my git repository. Read the Makefile and files to get started. The build instructions should work ok.

Building and linking to stardll or basekit dlls

I've written up how to link dynamically to a stardll (that is a tclkit as a shared library) which might be very useful for applications that embed tcl. See building basekits with kitgen.

Windows AuthentiCode signed starkits

I've been doing some testing of creating signed tclkit and starpack binaries for Vista using the Windows AuthentiCode signing. The 8.5 tclkits released here use a patched version of vqtcl that supports signed binaries. The signing process appends a certificate to the end of the binary which interferes with the metakit/vqtcl reader which expects to find a metakit tail. The patch checks for the presence of a certificate section in the Windows PE header data and adjusts the metakit data region as required. So far this has not been ported back to metakit itself hence this is only available for vqtcl-based tclkits (ie: those built using kitgen).

As I'm too poor to buy a code-signing certificate from Verisign or some other recognised certificate-authority so I made a CA certificate for myself and issued a signing certificate from this authority. This means that if you want to test out verification of my signatures you need to import the CA certificate into the local machine trusted CA store. If you intend to do this for real you will have to buy a real AuthentiCode certificate.

Tclkit with L

I have built some 8.5 tclkit executables that include Larry McVoy's L language extensions to Tcl. These files, prefixed Lkit are in the platform folders below. They are standard tclkits but include the modified Tcl that includes L and so can run .l files.

Just to prove it works - here is a screenshot of an L Tk app native on 64bit Vista


All files have detached GPG signatures. You can get my GPG key or lookup pat thoyts in the keyservers (key id is F084E489).


Valid XHTML 1.0! Valid CSS! Viewable with any browser