~ubuntu-branches/ubuntu/utopic/critcl/utopic

« back to all changes in this revision

Viewing changes to doc/include/pstructure.inc

  • Committer: Package Import Robot
  • Author(s): Andrew Shadura
  • Date: 2013-05-11 00:08:06 UTC
  • Revision ID: package-import@ubuntu.com-20130511000806-7hq1zc3fnn0gat79
Tags: upstream-3.1.9
ImportĀ upstreamĀ versionĀ 3.1.9

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
Packages generated by critcl have the following basic structure:
 
3
 
 
4
[example {
 
5
<TOP>
 
6
+- pkgIndex.tcl
 
7
+- critcl-rt.tcl
 
8
+- license.terms (optional)
 
9
|
 
10
+- tcl (optional)
 
11
|  +- <tsources files>
 
12
|
 
13
+- <platform>
 
14
   +- <shared library>
 
15
}]
 
16
 
 
17
[para][emph Notes]
 
18
[list_begin enumerated]
 
19
 
 
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
 
23
to handle them.
 
24
 
 
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.
 
27
 
 
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.
 
31
 
 
32
[enum] All files declared with the command [cmd critcl::tsources] are
 
33
put into the sub-directory [file tcl].
 
34
 
 
35
[enum] The shared library generated by critcl is put into a
 
36
platform-specific sub-directory.
 
37
 
 
38
[list_end]
 
39
 
 
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:
 
47
 
 
48
[example {
 
49
<TOP>
 
50
+- pkgIndex.tcl
 
51
+- critcl-rt.tcl
 
52
+- license.terms (optional)
 
53
|
 
54
+- tcl (optional)
 
55
|  +- <tsources files>
 
56
|
 
57
+- <platform1>
 
58
|  +- <shared library1>
 
59
+- <platform2>
 
60
|  +- <shared library2>
 
61
...
 
62
+- <platformN>
 
63
   +- <shared libraryN>
 
64
}]