Artifact ID: | 3878cd664a5789b0c2283b757c1ae326b158ce05 |
---|---|
Page Name: | KitCreator |
Date: | 2011-05-16 04:55:35 |
Original User: | rkeene |
Parent: | 94311be2582e57ab2f316dc6751d3eaabed87af8 (diff) |
Next | 3e6f59c722e6bcc10a1e430b36c5b00404edd6ac |
Tclkit Building Made Trivial
KitCreator is a simple build system for creating a Tclkit. It was created to ease creation of Tclkits. If you just want to use Tcl on your platform, it is recommended that you use a pre-existing Tclkit. See also locally built pre-built Tclkits.
A Tclkit is, briefly, a single-file executable that contains Tcl (both the interpreter, and all the resources it requires to operate) and other Tcl-related packages (Tk, Incr Tcl, etc). A tclkit can be used to create a Starpack, which is the Tclkit plus the resources required for your Tcl-based application in a single file. This makes application delivery easy and consistent as it will be a single file that the user runs to use the application. Additionally, since a Tclkit is generic, any Tclkit from any platform can be used as the base for a Starpack. That is, from GNU/Linux you can take the Tclkit for AIX and add your application to produce a native executable for AIX.
KitCreator can create a library that provides the Tcl (and optionally Tk) API for a system. This is called KitDLL. The library has all of the support files embedded into it. The library's virtual filesystem can be extended by appending a zip file to it. It can also be extended by appending a zip file to the application itself.
KitCreator can be used to cross-compile a Tclkit, however you may need to have a working Tclkit for your native system first. KitCreator can be used to create this local boot-strap Tclkit.
There is an automated test suite that is performed nightly, the results can be found on the nightly build status page.
Additional information:
Included Packages
Package Name | Package Version | Included When... | Linking Method |
---|---|---|---|
Tk | same as Tcl | Always | Dynamic |
Incr Tcl | 3.4b1 | Always | Dynamic |
starkit | 1.3.2 | Always | Static |
Metakit | 2.4.9.7 | Always | Static |
TclVFS | 20080503 | Always | Static |
PWB | 1.1 | Always | Static |
Rechan | 1.0 | Always | Static |
Zlib | 1.1 | Always | Static |
Thread | 2.6.5 | --enable-threads | Dynamic |
Registry | varies | Building for Win32 | Static |
DDE | varies | Building for Win32 | Static |
http | varies | Always | Static |
opt | varies | Always | Static |
msgcat | varies | Always | Static |
tcltest | varies | Unless MINBUILD | Static |
Tested Platforms
Operating System | CPU Architecture | Tcl Version | Compiler | Cross-compile |
---|---|---|---|---|
Linux 2.6 | x86 | 8.4.19 | gcc 4.1.2 | no |
Linux 2.6 | x86 | 8.5.8 | gcc 4.1.2 | no |
Linux 2.6 | x86 | CVS HEAD | gcc 4.1.2 | no |
Solaris 8 | SPARC | 8.4.19 | gcc 3.4.6 | no |
Solaris 8 | SPARC | 8.5.8 | gcc 3.4.6 | no |
Solaris 10 | SPARC | 8.4.19 | gcc 3.4.3 | no |
Solaris 10 | SPARC | 8.5.8 | gcc 3.4.3 | no |
Solaris 10 | SPARC | 8.4.19 | SunStudio 12 | no |
Solaris 10 | SPARC | 8.5.8 | SunStudio 12 | no |
HP/UX 11iv1 | PA-RISC | 8.4.19 | gcc | no |
HP/UX 11iv1 | PA-RISC | 8.5.8 | gcc | no |
Linux | ARM | 8.4.19 | gcc 4.3.3 | yes |
Windows | x86 | 8.4.19 | mingw32 gcc 3.4.2 | yes |
Windows | x86 | 8.5.8 | mingw32 gcc 3.4.2 | yes |