Version 38 of Tclkit Lite

Updated 2007-03-15 09:14:24 by Kroc

Tclkit Lite is a new (as of Oct 2005) variant of Tclkit which is a limited edition of Tclkit.

The limits and differences are:

  • it only reads/runs/mounts Metakit-based starkits & starpacks (How should this be interpreted? Is there any other kind of starkit around?)
  • it does not include Mk4tcl, so all dependencies on C++ are gone
  • it adds a small TEA3-based new C-only extension (called "Thrive")
  • performance is "sort of" like Tclkit, but varies because it's a different code base
  • it does not use the "mk4vfs" VFS driver, but a simpler one called "mkclvfs" (MK Compat Lite)
  • Tclkit Lite is smaller than Tclkit (some 250 Kb less on Linux, no more Mk4tcl nor C++ runtime)
  • SDX has been extended to support creating starkits when used with Tclkit Lite

LV Calling tclkit-lite a "limited edition" and talking about what it doesn't do and use makes it sound as if tclkit is taking a step backwards - yet that doesn't seem to be your intent. Can you expand on the vision?

(All in due time... tclkit is not deprecated, and "lite" refers to exe size, jcw)

The steps needed to build Tclkit Lite require "kitgen", see [L1 ]. -jcw

AMG: "Limited edition"? Hehehe. Get yours today! They're moving fast! First one hundred downloads are personally autographed by JCW!! :^)


Downloads

PT Until some more official source becomes standard:

Kroc 8.4 and 8.5 builds with kitgen:

MHo: What about a tclkitsh-lite? (without Tk) - it would be even smaller... (interesting, e.g., for CGI-Scripts).

US Yes! That's really a good idea. A Tclkit for Tcl and a Tkkit for Tcl/Tk. A pure Tclkit (without Tk), eventually including TclX and/or expect, would be very useful for daemons and background tasks.

jcw - See [L2 ] for sizes on Linux. Note that tclkitsh variants (no Tk and no Itcl) are easy to build:

   (removed obsolete example, superceded by kitgen)

PT 31-Oct-2005: I've modified the msvc6 build files to include support for this. I'm uncertain that I've got it 100% correct so far as my tclkitlite is only 90K or so smaller that the normal tclkit. My tclkitlite84.exe for Windows is available from [L3 ] (gpg signature at [L4 ]) at least for a while. I'll produce some patches at some point.

These are the sizes I have for each version - not upx compressed. The link above is compressed because it is for download and my uplink speed is not that fast.

 31/10/2005  16:34         2,001,305 tclkit84.exe
 31/10/2005  16:28         1,908,269 tclkitlite84.exe
 31/10/2005  16:41           902,749 tclkitsh84.exe

Just to point out that this lite tclkit still contains the same vfs code that a normal tclkit does. It is only lacking the metakit library. This means that, for instance, you can still load zip-based starkits (there is an example of one for tkchat at [L5 ]).

(and you can still load a copy of the Mk4tcl extension dynamically, at which point Tclkit Lite should revert to doing the same as Tclkit -jcw)


LV Hey Pat, the version of tclkitlite for Solaris SPARC you mention still uses C++ - and thus still has the nasty problem of dynamic libraries not being found. On my SPARC Solaris 9 system, those libraries are libstdc++.so.6 and libm.so.2 . See also Using a zip file as a Tcl Module, tarpack


2007-01-12: The build system for Tclkit Lite is called "kitgen". It can be used to build a range of variants for 8.4/8.5, threaded/non-threaded, for Windows / Mac OS X / Linux (and probably several others), see http://www.equi4.com/kitgen.html

LV So what is the intent for tclkit-lite? Is it to become the successor to tclkit? Of course, one can't if the starkit being run makes use of metakit, but other than that, could one use the lite version for any other starkit?

jcw - Yes, Tclkit Lite (TKL) will succeed Tclkit, one day. Metakit could be added as dynamic extension, but again TKL will one day be able to do the same without. There is a "mklite" package inside TKL which emulates most of Mk4tcl (r/o for now). It is still evolving, but it can already run wikit, for example.


[ Category Tclkit | Category Deployment ]