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