Version 12 of KitCreator

Updated 2014-10-09 02:30:25 by APN

KitCreator , by Roy Keene, is a simple build system for creating a Tclkit or other basekit for your platform. It was created to ease creation of basekits for the local platform.

Builds

released builds
KitCreator Web Interface
choose desired kit via a form

Description

It will work for cross-compiling Tclkits if you bootstrap a local Tclkit first.

It is intended to resemble as closely as possible the authentic Tclkit.

What sets this project apart from other similar projects is that:

  1. It attempts to be modular;
  2. It supports cross-compiling;
  3. It downloads the source from their original repositories;
  4. It allows you to specify an arbitrary version of Tcl (including CVS); and
  5. It uses GNU Autoconf scripts for compiling the part of the Tclkit that brings the whole thing together (the Kitsh)

RZ 2010-03-05T02:51:11:

Looks like you are reinventing kitgen or kbskit. I will take the idea with cross compiling from your work. You can have a look on BI builds ;)

Roy Keene 2010-10-16''' KitCreator was less work for me than any existing build system. It's also very portable.

MHo 2013-11-16: The Tclkits I found on http://www.rkeene.org/devel/kitcreator/kitbuild/nightly/ under the heading Tclkit for Tcl version 8.6.1 for Win64 on amd64 aren't 64 bit Executables - I can simply call them successfully on 32bit Win XP...

VI 2014-05-11:

I used kitgen to deploy an app internally. It took me a pretty short time to get it running. But once I had the executable built, it was smooth sailing. I used zipkits because I really like being able to use the zip family of tools. My configuration - 64-bit, did not want sdx, wanted Tk. I just ran it as "./kitcreator --enable-64bit" Here are some notes I made:

1. The "retry" option is very useful. But I understood the meaning to be the reverse of what it is. "./kitcreator retry " is an incremental effort. Without the retry, kitcreator rebuilds everything from scratch.

2. The version I used required zlib-1.2.3 and did not like the latest zlib-1.2.8. I did fix the build process, but Roy Keene said 1.2.8 had cross compilation issues. I am not sure if this is documented anywhere, but in "ZLIBVERS" in zlib/build.sh. VI 2014-05-31: The Kitcreator trunktip does use zllb-1.2.8, so this is no longer an issue. I will remove this comment once the kitcreator source releases include this.

3. At the end of the kitcreator build, I got a working executable with Tk. Getting a "kit" file wasn't obvious. Based on what rkeene told me on the chat, I had to use the script in http://wiki.tcl.tk/13876 . The following points describe how:

4. Just like starkit: Package your program into a separate directory. main.tcl in this directory will be what gets run first. (see more notes below on main.tcl).

5. zip up this whole directory (so that main.tcl is in the root directory) using your favorite zip tool.

6. Use the script at http://wiki.tcl.tk/13876 to generate the output file. I called mine zkt (for zipkit). If you need further directions, get me on chat or comment here.

7. Run as ..../zipkit/tclkit-8.6.1 app.zkt; where ..../zipkit/tclkit-8.6.1 is the output of kitcreator.

8. If you want to build one single executable: redo step 4 to collect the files. Then cp ..../zipkit/tclkit-8.6.1 app.exe; zip -r -A app.exe main.tcl lib help.tcl src; Where main.tcl must exist, but the others are just my examples.

Notes on main.tcl:

The lib directory in the vfs must have been auto-included in the auto_path, but it doesn't seem to happen for me. I had to use these lines at the top of main.tcl:

lappend ::auto_path [file join [file dirname [info script]] lib]

Torsten 2014-10-08:

I have been using tclkits for over 10 years to provide executable of my HP-15C Simulator for various platforms.

I am still using an older 8.5.9 tclkit because of its small size: only 1.5 MB for 32-bit Windows and even 1.3 MB for 32-bit Linux. An 8.5.15 tclkit created with the Web Interface is considerably larger: 4.2 MB for 32-bit Windows, with no Kit Options checked. The packages in both kits are more or less the same. When I unpack the kits, I can see, that the .head and .tail files are larger.

What is the reason for the increase in size?

APN Most likely because the older one was upx-compressed and the newer one isn't ? Just a guess.