Differences From Artifact [f55796d36b]:
- File README — part of check-in [a1a14e0aba] at 2011-05-23 10:53:53 on branch merge-kitdll-kitsh-common — Integrated KitDLL into KitSH (user: rkeene, size: 9437) [annotate] [blame] [check-ins using] [more...]
To Artifact [5d77e30af0]:
- File
README
— part of check-in
[5421b32beb]
at
2011-07-02 12:03:53
on branch trunk
— Updated notes about kitsh
Added notes about plugability (user: rkeene, size: 10032) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
197 198 199 200 201 202 203 | responsible for downloading the source code for the appropriate version that will compile and link against the current version of Tcl (user requested version can be found in "TCLVERS", while the actual version must be requested from the "tclConfig.sh" script), compiling it, installing a functional copy into the per-project "inst" directory, and installing anything that needs to be in the Tclkit's VFS root into the per-project "out" directory. | > > > > > > > > > | | | | | | | | | 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 | responsible for downloading the source code for the appropriate version that will compile and link against the current version of Tcl (user requested version can be found in "TCLVERS", while the actual version must be requested from the "tclConfig.sh" script), compiling it, installing a functional copy into the per-project "inst" directory, and installing anything that needs to be in the Tclkit's VFS root into the per-project "out" directory. Any additional projects can be included simply by creating the appropriate directory in the same directory as the "kitcreator" script, creating a "build.sh" script in that directory that follows the above procedure, and then referencing that directory in "KITCREATOR_PKGS" for the "kitcreator" invocation. In this way KitCreator is "pluggable". Included packages may be either statically or dynamically linked. If it is statically linked then the module name must be the name of the directory -- that is, if the directory were "foo", KitCreator will expect to initialize the module statically using Foo_Init(). The exception to this is the "kitsh" project. It is the glue that binds all the individual projects together into a single executable. Its build script does not create an "inst" or an "out" directory because it is not a library. Instead, it collects all the other project's "out" directories into a single directory (starpack.vfs), as well a static file (boot.tcl). It then compiles the source code, and then installs the VFS onto the resulting executable. The VFS is created by the "installvfs.tcl" script for Kitsh. For KitDLL the VFS is created by "dir2c.tcl". If the "mk4tcl" project fails to build (or is not requested to be built), the rest of the project will be built using zip files instead of Metakit databases. To create the storage database, one of two Tclkits is used (tried in this order): |
︙ | ︙ |