KitDLL is a single-file Tcl (and optionally Tk) library. Normally, libtcl and libtk still require the external Tcl-initialization scripts and other external resources (and in fact "tclsh" is a very tiny program which just invokes libtcl). Just as it is sometimes desirable to have a single-file executable distribution of Tcl (Tclkit/Basekit) it is sometimes to have this distribution in a single-file library.

KitDLL is to shared objects, libraries, or DLLs what Tclkit is to executables.

The KitDLL project is slightly different from the KitSH (Tclkit/Basekit) project in the way the internal Virtual Filesystem (VFS) is stored. In the KitSH project the VFS is added after compile-time and the executable MUST be able to find itself to open this VFS. In the KitDLL project the VFS is added at compile-time so that the library does not have to be found on the filesystem for initialization since this cannot be guaranteed to be possible on the platforms Tcl supports.

The VFS used by KitDLL is named C-VFS and is an ad-hoc VFS written specifically for KitDLL.

When building a KitDLL build an "sdk" tarball is also created. This tarball includes the headers and stub libraries needed to compile and link an application that relies on Tcl/Tk or a Tcl/Tk extension. For more information see the KitDLL SDK page.