2
Packages generated by critcl have the following basic structure:
8
+- license.terms (optional)
18
[list_begin enumerated]
20
[enum] The file [file pkgIndex.tcl] is the standard package index file
21
expected by Tcl's package management. It is sourced during a search
22
for packages, and declares the package to Tcl with its files, and how
25
[enum] The file [file critcl-rt.tcl] is a helper file containing the
26
common code used by [file pkgIndex.tcl] to perform its tasks.
28
[enum] The file [file license.terms] is optional and appears only if
29
the [file .critcl] file the package is generated from used the command
30
[cmd critcl::license] to declare package author and license.
32
[enum] All files declared with the command [cmd critcl::tsources] are
33
put into the sub-directory [file tcl].
35
[enum] The shared library generated by critcl is put into a
36
platform-specific sub-directory.
40
[para] The whole structure, and especially the last point, enable us
41
to later merge the results (for the same package, and version) for
42
multiple target platforms into a single directory structure without
43
conflict, by simply copying the top directories over each other. The
44
only files which can conflict are in the <TOP> and [file tcl]
45
directories, and for these we know that they are identical across
46
targets. The result of such a merge would look like:
52
+- license.terms (optional)
58
| +- <shared library1>
60
| +- <shared library2>