The system can generate [Tclkit Lite] executables, Tcl packages, starkits and starpacks for different operating systems. Tested are Linux, SunOS, Windows and Irix. [Tclkit Lite]: http://www.equi4.com/tclkit/tclkitlite.html Current version uses tcl/tk 8.5.3. and tcl/tk 8.6a1 **Sources** available from http://sourceforge.net/projects/kbskit * kbs.tcl - single source file, all you need * *.tgz - prebuilt binaries (IRIX, SunOS, Linux, WindowsNt) containing kit-executables and *.kit files: * kbskit*cli* - shell application * kbskit*dyn* - tk dynamically linked * kbskit*gui* - tk statically linked * kbspkg85.kit with: ====== bwidget-1.8.0 gridplus-2.3 icons-1.2 Img1.3 itcl3.4 itk3.4 iwidgets4.0.2 Memchan2.2.1 mentry-3.1 ral0.8.7 sqlite3.5.9 tablelist-4.9 tcllib1.10 tclx8.4 tdom0.8.2 thread2.6.5 tkcon tklib0.4 Tktable2.9 treectrl2.2.3 trofs0.4.4 udp1.0.8 wcb-3.1 xotcl1.6.0 ====== * tksqlite - starpack of sqlite table editor (version 0.5.6) **Quick start** * Build executables (do not mix 8.5.3 and 8.6!): ./kbs.tcl -r install kbskit-8.5 ./kbs.tcl -r install tksqlite ./kbs.tcl -r -builddir=b86 install kbskit-8.6 * Build kit-files: ./kbs.tcl -r install kbspkg-8.5 * Start graphical user interface: ./kbs.tcl gui * Create internal documentation in directory ./doc/: ./kbs.tcl doc * Display online help: ./kbs.tcl ====== Kitgen Build System (0.2.3 Revision: 1.10 ) kbs.tcl ?options? mode ?args? options: -pkgfile=?file? contain used Package definitions (default is 'sources/kbskit-8.5/kbskit.kbs') -builddir=?dir? build directory, used with [Builddir] (default is './build$tcl_platform(os)') -CC=?command? set configuration variable _(CC) (default is 'gcc' or existing environment variable 'CC') -i -ignore ignore errors and proceed (default is disabled) -r -recursive recursive Require packages (default is disabled) -v -verbose display running commands and command output --enable-symbols --disable-symbols set configuration variable _(SYMBOLS) --enable-64bit --disable-64bit set configuration variable _(64BIT) --enable-threads --disable-threads set configuration variable _(THREADS) --enable-aqua --disable-aqua set configuration variable _(AQUA) mode: help this text version return current version doc create documentation gui start graphical user interface list ?pattern? list packages matching pattern (default is *) require package .. return call trace of packages sources package .. get package source files (under sources/) configure package .. create [Makedir] (in [Builddir]) and configure package make package .. make package (in [Makedir]) install package .. install package (in [Builddir]) test package .. test package clean package .. remove make targets distclean package .. remove [Makedir] package is used for glob style matching against available packages (Beware, you need to hide the special meaning of * like foo\*) The following configuration variables can be used: _(64BIT) = --disable-64bit _(AQUA) = --enable-aqua _(CC) = gcc _(DIR) = unix _(SHARED) = --enable-shared _(STATIC) = --disable-shared _(SYMBOLS) = --disable-symbols _(THREADS) = --enable-threads _(TZDATA) = --with-tzdata ====== **Build requirements** The following external programs are needed: * A C compiler * make with handling of VPATH variables (gmake) * cvs, svn (not yet used), tar, gzip, unzip to get and extract sources To build under Windows you need the [msys] system and put the kbs-sources inside the msys tree (/home/..). [msys]: http://sourceforge.net/project/showfiles.php?group_id=10894 **License & support** This work is under BSD license (see file 'license.terms') The [Tclkit]-specific sources are license free; they just have a copyright. Hold the author(s) harmless and any lawful use is permitted. This does *not* apply to any of the sources of the other major Open Source Software used in Tclkit, which each have very liberal BSD/MIT-like licenses: * [Tcl]/[Tk], [TclVFS], [Thread], [Vlerq], [Zlib] The extensions used each have their own licenses. Please see their sources. **Acknowledgements** This work is based on the [Kitgen] system (http://www.equi4.com/tclkit/kitgen.html) and ideas and code about a kitgen build system by Jean-Claude Wippler. With thanks to John Ousterhout for creating Tcl/Tk, Matt Newman and Vince Darley for developing the virtual file system, and the members of the Tcl Core Team for diligently maintaining and taking forward the Tcl/Tk code base plus extensions. ---- **Questions** [LV] 2007 June 22 In my resultSunOS/bin directory, I see the following: tclkit8.5-cli tclkit8.5-dyn tclkit8.5-gui So, what are the differences between these three "[tclkit]"s ... [RZ] This is because of [kitgen] and its sources from [jcw] and according to [http://www.equi4.com/tclkit/kitgen.html] * tclkit-cli - a tclsh-like console app - [Tk] and related GUI packages are not built in. * tclkit-dyn - wish-like, after a '''package require Tk'''. Without the package require, at least on Unix, no GUI aspects appear. * tclkit-gui - same as "tclkit-dyn", but with Tk linked-in statically I even tried a minimal tclkitsh but did not really finish the kbs.tcl build process code to do that. [LV] "and, are they ''literally'' tclkits - that is, have the identical packages as the executables found at the tclkit home site, or are they interpretors that are similar to tclkits?" [LV] 2007 July 09 $ tclkit8.5 # mine is Tcl 8.5a4 % package require Tcl 8.5 % package require lwv % puts [lsort -nocase [package names]] http Itcl Mk4tcl mk4vfs msgcat opt platform pwb rechan scripdoc starkit Tcl tcltest Tk vfs vfs::mk4 vfs::zip vfslib zipvfs zlib $ kbskit % package require Tcl 8.5 % package require lwv % puts [lsort -nocase [package names]] http mk4vfs mklite msgcat opt platform rechan starkit Tcl tcl::tommath tcltest Thread Tk Ttrace vfs vfs::m2m vfs::mk4 vfs::mkcl vfs::zip vfslib vlerq zlib So, to the "are they literally tclkits" question. the answer is no. Here's the differences I see: Tclkit 8.5 Tclkit-lite 8.4.15 Kbskit 8.5 dde dde (on Windows) (I don't know) http http http Itcl Itcl N/A Mk4tcl N/A N/A mk4vfs mk4vfs mk4vfs mklite msgcat msgcat msgcat opt opt opt platform platform pwb pwb N/A rechan rechan registry registry (on Windows) (I don't know) scripdoc N/A starkit starkit starkit Tcl Tcl Tcl tcl::tommath tcltest tcltest tcltest Thread (I don't know) thrill (on Windows) (I don't know) (I don't know) thrive (on Windows) (I don't know) Tk Tk Tk Ttrace vfs vfs vfs vfs::m2m vfs::mk4 vfs::mk4 vfs::mk4 (I don't know) vfs::mkcl vfs::mkcl vfs::zip vfs::zip vfs::zip vfslib vfslib vfslib vlerq zipvfs zipvfs N/A zlib zlib zlib Notice that one of the ramifications of this is that [Itcl] , [Mk4tcl], [pwb], [scripdoc], and [zipvfs] are not available in the interpreter created. Per the [tclkit] creator's wishes, please use a different name, such as '''kbskit''', so as not to confuse applications. [RZ] Ok, the executables now start with "kbskit" and the package kit file with "kbspkg". [LV] I have a question for you. When I run kbs.tcl -r install kbskit-8.5, the resulting kbskit-gui that is created knows about the following package names: * http * mk4vfs * mklite * msgcat * opt * platform * rechan * starkit * Tcl * tcl::tommath * tcltest * Thread * Tk * Ttrace * vfs * vfs::m2m * vfs::mk4 * vfs::mkcl * vfs::zip * vfslib * vlerq * zlib I'm not certain how the "kbspkg" relates to this kbskit. [RZ] 'kbskit*' are the executable tclkit's. The packages inside are necessary for the tclkit interpreter. 'kbspkg85.kit' is a kit file containing other extensions. It can be sourced by the 'kbskit*' interpreter. ---- For additional information please use the following links: * [kbs packages] how to use, change, update and even include own extensions * [kbs todo] open issues * [kbs bugs and comments] you can also use the tracker under http://sourceforge.net/projects/kbskit/ ---- MSH 19 Feb 2008 I have been keeping an eye on the http://www.equi4.com/pub/tk/downloads.html page for a final 8.5.0 or 8.5.1 starkit executable but no one seems to be maintaining that page anymore. Is the kitgen the only way to go now as I do not have access to a compiler so that makes things very difficult. If anyone has 8.5.1 starkit executables for windows/linux/sun anywhere accessible I would be grateful. See http://www.patthoyts.tk/tclkit.html ---- [LV] Feb 29, 2008 Is there a way to build kbskit so that it includes Itcl? When I look at what packages come in tclkit, that is the major piece missing (also missing are Mk4tcl - but that's gone because this is a tclkit-lite, right? [RZ] yes, and it is the reason we do not need a C++ compiler any more), pwb, scripdoc (and I think that one is just a backwards compatibility with old code), and zipvfs (anyone know what that one is?). [RZ] Before adding Itcl I would ask if it is also OK to put itcl/itk/iwidgets in kbspkg*.kit? Until now I have added the necessary build entries in the HEAD version of kbspkg.kbs. You could build everything with: rm -rf sources/kbskit-8.5 kbs.tcl -r install iwidgets\* [LV] I would see no problem putting itk and iwidgets in kbspkg. But the point of putting itcl in kbskit is to run existing starkits. To move itcl into kbspkg would mean that the starkit would have to be modified ... ---- !!!!!! %|[Category Tclkit] | [Category Deployment] | [Category Development]|% !!!!!!