body { margin:0px; background-color:#fff } img { margin:0px; border-style:none } button { margin:0px; border-style:none; padding:0px; background-color:transparent; vertical-align:top } p:first-child { margin-top:0px } table { empty-cells:hide } .f-sp { font-size:1px; visibility:hidden } .f-lp { margin-bottom:0px } .f-x1 { } .f-x2 { } .f-x3 { } a:visited { color:#8b0000; text-decoration:underline } .capsub { color:#808080; font-weight:bold; text-transform:uppercase; letter-spacing:2.4px } .code { color:#000; font-family:monospace } .bulletlist { margin-left:0px; margin-right:0px; margin-top:0px; margin-bottom:0.1px } .bold { color:#00f; font-weight:bold } .style44 { color:#000; font-family:monospace; font-weight:bold } .rightaligned { margin-left:0px; margin-right:0px; text-align:right; margin-top:0px; margin-bottom:0.1px } .footer { color:#808080; font-size:90% } .FWExtra { } .FWExtra a:link { text-decoration: none; } .FWExtra a:active { text-decoration: none; } .FWExtra a:visited { text-decoration: none; } .FWExtra a:hover { text-decoration: underline; } -->
top pageS
Soapbox
Blog Company
About
| Overview If for any reason you can't (or don't want to) use one of the precompiled binaries of Tclkit listed in the download matrix, then you will have to build Tclkit yourself. This requires some care, since Tclkit is made up of a number of different packages and because the final executable requires some post-link steps to become usable. The "genkit" script tries to automate all of this. It's a Tcl script which needs to be run a number of times with different arguments. It can fetch all the necessary sources from the net, build each of the different packages, combine them into a final binary, perform the post-linking required, and run a quick test. If any of these steps fail, you can look at the build transcripts, fix the problem, re-run that step, and proceed. Or look at genkit itself, and perform its steps manually. There is no magic. requirements To build tclkit with genkit, you'll need:
For Windows, there is completely different build process using MSVC6, see below. Cross-compilation isn't supported - several essential packages are not set up for it. The need for a working tclsh is unavoidable, since genkit is written in Tcl. Any version of tclsh >= 8.3 or any existing tclkit should do. If none is available, you can download a copy of the standard Tcl distribution and build it yourself. If internet access is not available, you can prevent genkit from fetching files by placing all of them in a "tars/" subdirectory before calling genkit. The files to fetch are all in this directory. Customization There are a some choices you can make w.r.t. how genkit builds things. E.g. to build with X11 anti-aliasing support in Tk:
There is an experimental feature to build Tcl/Tk 8.5 instead of Tcl/Tk 8.4:
Look in the genkit script for other options you could set in the "genkit.local" file. Building tclkit in 7 easy steps Ok, start in a new directory with just the genkit script in it (and the tars/ area if you want to avoid over-the-net-fetching). 1. tclsh genkit A - fetch/unpack all packages 2. tclsh genkit B tcl - build the Tcl core itself 3. sh genkit B all - build all remaining packages 4. sh genkit C - collect build results into a tar file 5. sh genkit D - run a quick test that tclkit works 6. sh genkit E - build the final tclkit executable 7. Fooled ya, there is no step 7! If all went well, you'll end up with an executable file called "tclkit-<hostname>", which you can rename to "tclkit" and copy wherever you need it. Welcome to the world of self-contained Tcl/Tk systems and Starkit packaging! If the above did not go as smoothly as described, you'll need to dig a bit deeper. The different steps are described on the next page. building tclkit on windows The above process might also work with the Mingw/Msys toolchain, but there is an alternative which uses MSVC6. To use this approach, download and unpack this file, so that you end up with an "msvc6\" directory. If you do not use "genkit" for step 1, you will have to fetch all files in "tars\" and you will need to manually unpack each of the tar files to create the "src\" area with each of the packages in a subdirectory. The result should be msvc6/ and src/ next to each other. Then, open the "msvc6\all.dsw" workspace using MSVC6, by double-clicking on it. Make sure the target is "Win32 Release" and build the "all" project. This depends on all the other subprojects and will - eventually - end with various executables called "kit*.exe". The last step does the post-linking needed to produce a final tclkit executable. From the Windows command line, go to the parent directory of msvc6 and type: copy /B msvc6\kit.exe + tars\runtime.kit mytclkit.exe This creates executables called "mytclkit" and "mytclkitsh", respectively. | tclkit index • Overview • Download • Links | |||