Re: kitgen with packages - KBS
Jean-Claude Wippler <[email protected]>
| Newsgroups | gmane.comp.lang.tcl.starkit |
|---|---|
| Message-ID | <[email protected]> |
On 30 Mar 2007, at 10:41, rene wrote: > currently kitgen only builds tclkits. [...] There is a new Kitgen Build System script which can now be used to build a couple of extensions. It's all pre-alpha (read: things *will* change further!), but it's been working for a couple of platforms already. The script is called "kbs.tcl", and the extensions which can currently be built are listed in the new extdefs/ directory. The latest tarball is here: http://www.equi4.com/pub/tk/tars/kitgen.tgz To use kbs, you need to first configure and build a tclkit-cli (I've only tried it with 8.4 so far). Here's what I use: sh config 8.4/base-kbs cli gui cd 8.4/base-kbs make That should produce tclkit-cli and tclkit-gui executables, i.e. command-line and gui versions of Tclkit Lite. The gui version has to be built so Tk gets built - it's currently needed by a few extensions, such as Img and Tkhtml. This mechanism is likely to change. Then get rid of several build results (but not the tcl/tk build areas): make cleanext This cleanup step is important in case you're going to build dynamic variants of extensions used inside tclkit lite itself (tclvfs, vlerq, etc), because it avoid static vs. shared build mixups. This too is a candidate for streamlining/simplifying further. Now kbs should be able to build various extensions. It has rules to fetch the source code via http::geturl or cvs or svn, but kbs will not download anything if the proper directory is already present in ../../sources/ (at the kitgen top level, that is). Try this, for example: ./tclkit-cli ../../kbs.tcl build Itcl FYI, I've started collecting builds at http://www.equi4.com/pub/br/ - more could be added, although I'm more interested in getting the logic just right and portable at this stage. NOTE: the .kit files in /pub/br/ are *NOT* usable as normal starkits, you cannot source them to access the package inside, for example. The contents is just the extension itself. If you need to use this, unwrap (or re-wrap in the proper "blah.vfs/lib/name/blah..." structure). One of the reasons for making this inconvenient is that I do not want the /pub/br/ area to become a widely used repository. Enjoy, -jcw