Updated 2018-08-12 11:20:11 by pooryorick

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::globfilevaries 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