Check-in [5421b32beb]
Overview
SHA1:5421b32beb807978cfedbaa3f1ff8b8e050597ca
Date: 2011-07-02 12:03:53
User: rkeene
Comment:Updated notes about kitsh

Added notes about plugability

Timelines: family | ancestors | descendants | both | trunk
Downloads: Tarball | ZIP archive
Other Links: files | file ages | folders | manifest
Tags And Properties
Context
2011-07-04
21:15
[37fc9e9fae] Added support for forcing build (user: rkeene, tags: trunk)
2011-07-02
12:03
[5421b32beb] Updated notes about kitsh

Added notes about plugability (user: rkeene, tags: trunk)

2011-06-24
18:44
[75999463a7] Upgraded test suite to use Tcl/Tk 8.5.10 (user: rkeene, tags: trunk)
Changes

Modified README from [f55796d36b] to [5d77e30af0].

197
198
199
200
201
202
203









204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
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.










The exception to this is the "kitsh" and "kitdll" projects.  They are 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):







>
>
>
>
>
>
>
>
>
|
|
|
|
|
|
|
|







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):