A
basekit is a single-file binary executable into which is bundled a complete
Tcl interpreter along with a
virtual filesystem that contains all its standard built-in commands and scripts, and possibly also some collection of other Tcl packages and modules and extensions. This standalone executable acts as a hassle-free runtime for
Starkits, but can also be used as a standard
Tcl interpreter.
Description edit
The bundling technology used by basekits first appeared in
Tclkit, which is defined by its author to contain a specific set of packages. Any other interpreter/VFS bundle is not a tclkit, but simply another basekit.
The term '
basekit was first used by
ActiveState to describe their interpreter bundles that did not conform to the
Tclkit specification.
Basekits edit
- ActiveTcl
- ActiveTcl includes basekits with each distro release that mirror the core release of the dist. basekits are found in the bin directory
- kitgen
- Kitgen is the build package for creating tclkit executables.
- KitCreator
- a build environment to create a tclkit-like executables
- CustomKit

- by Roy Keene. As of 2013-03-20, the latest builds are 8.5.11 (Solaris), 8.5.10 (Win32), and 8.5.9 (Mac OS X)
- ODIE
- includes a so-far-not-very-user-friendly system for generating zip-based kits
- cookit
- uses cookfs
- Tclkit
- the original basekit
- Tclkit aqua x86_64 builds for Mac OS X
, by David Zolli - currently provides versions 8.6.7 and 8.5.19.
- Tclkit Lite
- like Tclkit, but with fewer extensions included
- Tclkit Mobile
- a port of Tclkit + Tkcon to certain PDAs
- Tclkit-X11 (Mac OS X only)
- like Tclkit but with Tk/X11 in place of Tk/Aqua; part of the TclTkAquaBI distribution for Mac OS X
- TixTclKit (Windows only)
- a different set of extensions including Tix and Windows-specific tools
- Dqkit
- a much larger set of extensions, including BLT
- kbskit
- build environment creates either tclkit-like or tclkit lite-like executables (slightly different, but intended to be similar)
- tcltkaquabi
- Tcl/Tk Aqua Batteris Included. Includes a single-file Wish program similar to a basekit
- Tclkit Lite
- a light-weight variant of Tclkit
- Wize - Wish Integrated Zip Executable
- tclkit like with compiler and a lot of goodies.
[anyone want to build a table that lists what extensions are in each basekit?]
The following table lists the package version numbers for the basekits above. The version numbers and availability come from the latest version available at the time of writing.
Legend:
- varies - Indicates that the value varies depending on the version of some other package (usually the version of Tcl)
- same - Indicates that thet value is the same as the nearest filled in value leftwards
- (opt) - Indicates that this Tclkit is available with and without this package
- same as Tcl - Indicates that the value is the same value as the version of Tcl
- Win-only - Indicates this is only supplied when being built for Microsoft's Windows platform
- ??? - Indicates that this package looks like it should be available, but is not.
| | ActiveTcl | Tclkit | Tclkit Lite | Tclkit Mobile | Tclkit-X11 | TixTclKit | Dqkit | kbskit(*bi) | KitCreator | Wize |
|---|
| Tcl | 8.4, 8.5, 8.6, | 8.4, 8.5 | 8.4, 8.5 | | | 8.4 | 8.4, 8.5 | 8.5, 8.6 | 8.4, 8.5, 8.6 | 8.5 |
| Tk | same as Tcl | same | same | | | same | same | same | same | same |
| http | varies | varies | varies | | | varies | varies | varies | varies | varies |
| msgcat | varies | varies | varies | | | varies | varies | varies | varies | varies |
| opt | varies | varies | varies | | | varies | varies | varies | varies | varies |
| platform | varies | varies | varies | | | varies | varies | varies | varies | varies |
| tcl::tommath | varies | varies | varies | | | varies | varies | varies | varies | varies |
| tcltest | varies | varies | varies | | | varies | varies | varies | varies | varies |
| starkit | 1.3.3 | 1.3.1 | | | | 1.2 | 1.3.1 | 1.3.3 | 1.3.2 | 1.3.1 |
| Incr Tcl | no | 3.4 | | | | 3.3 | 3.3 | 3.4 | 3.4 | no |
| Metakit | 2.4.9.7 | 2.4.9.7 | | | | 2.4.9.2 | 2.4.9.2 | 2.4.9.7 | 2.4.9.7 | no |
| TclVFS | 1.4.1 | 1.3 | | | | 1.2 | 1.3 | 1.4.1 | 1.3 | 1.3 |
| Registry | Win-only | same | same | same | no | 1.1.1 | Win-only | same | same | same |
| DDE | Win-only | same | same | same | no | 1.2.1 | Win-only | same | same | same |
| PWB (8.4) | 1.1 | 1.1 | | | | 1.1 | no | no | 1.1 | no |
| Rechan | 1.0 | 1.0 | | | | 1.0 | 1.0 | no | 1.0 | no |
| Zlib | 1.0 | 1.1 | | | | 1.1 | 1.1 | 1.1 | 1.1 | no |
| Thread | 2.6.5 (opt) | Win-only | | | | no | 2.6.3 (opt) | 2.6.5 | 2.6.5 (opt) | no |
| Ttrace | 2.6.5 (opt) | Win-only | | | | no | 2.6.3 (opt) | 2.6.5 | 2.6.5 (opt) | no |
| Tclx | no | no | | | | no | ??? | (8.4) | no | 8.4 |
| TDBC | no | no | | | | no | no | 1.0b1 | no | no |
| BLT | no | no | | | | no | 2.4 | no | no | 2.4 |
| Tix | no | no | | | | 8.2 | no | no | no | 8.4.3 |
| SQLite | no | no | | | | 2.0 | 2.0 | no | no | no |
| SQLite3 | no | no | | | | no | 3.3.4 | (3.6.20) | no | 3.6.13 |
| tclodbc | no | no | | | | 2.3 | no | no | no | no |
| Expect | no | no | | | | no | 5.43.0 | no | no | 5.44.1.11 |
| Itk | no | no | | | | no | 3.3 | (3.4) | no | no |
| Iwidgets | no | no | | | | no | 4.0.2 | (4.0.2) | no | no |
| mysqltcl | no | no | | | | no | 2.0 | no | no | no |
| Pgtcl | no | no | | | | no | 1.5 | no | no | no |
| tbcload | no | no | | | | 1.4 | 1.4 | no | no | 1.4 |
| Tktable | no | no | | | | 2.8 | no | (2.10) | no | 2.9 |
| tile | no | no | | | | no | 0.7.2 | no | no | no |
| autoscroll | no | no | | | | 1.0 | no | no | no | no |
| BWidget | no | no | | | | 1.6 | no | (1.8.0) | no | no |
| ctext | no | no | | | | 3.1 | no | no | no | no |
| cwind | no | no | | | | 1.3.1 | no | no | no | no |
| emu_graph | no | no | | | | 1.1 | no | no | no | no |
| ffidl | no | no | | | | ??? | no | no | no | no |
| gbutton | no | no | | | | 0.2 | no | no | no | no |
| iniparse | no | no | | | | 1.4 | no | no | no | no |
| mentry | no | no | | | | 2.6 | no | (3.3) | no | no |
| mkGeneric | no | no | | | | 1.3 | no | no | no | no |
| mkTables | no | no | | | | 1.0 | no | no | no | no |
| optcl | no | no | | | | 3.0 | no | no | no | no |
| snit | no | no | | | | 0.81 | no | no | no | no |
| tablelist | no | no | | | | 3.3 | no | (4.12) | no | no |
| tdom | no | no | | | | 0.7.8 | no | (0.8.2) | no | no |
| tdomhtml | no | no | | | | 0.1.0 | no | no | no | no |
| tkdnd | no | no | | | | 1.0 | no | no | no | no |
| tnc | no | no | | | | 0.3 | no | no | no | no |
| wcb | no | no | | | | 2.8 | no | (3.2) | no | no |
| Wikit | no | no | | | | 1.0 | no | no | no | no |
| winutils | no | no | | | | 0.8 | no | no | no | no |
| compiler | no | no | | | | 1.4 | no | no | no | 1.4 |
| TclCurl | no | no | | | | 0.10.5 | no | no | no | no |
| snack | no | no | | | | no | no | no | no | 2.2 |
| Img | no | no | | | | no | no | (1.4) | no | 1.2.4 |
| vu | no | no | | | | no | no | no | no | 2.1.0 |
| treectrl | no | no | | | | no | no | (2.2.9) | no | 2.2.8 |
| tkhtml | no | no | | | | no | no | no | no | ??? |
| Shaped | no | no | | | | no | no | no | no | 0.1 |
| Canvas3d | no | no | | | | no | no | no | no | 1.0 |
| fileutil::globfile | varies | | | | | | | | no | no |
| tclkitpath | 1.0 | | | | | | | | no | no |
| ActiveTcl | varies | no | | | | no | no | no | no | no |
| trsync | 1.0 (8.5.4 ActiveTcl) | no | | | | | | | 1.0 | 1.0 |
See Also edit
- Basekits: How to extract them from ActiveState Installers