1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
|
These commands control the details of compilation and linking a
[vset critcl_script]. The information is used only to compile/link the
object for the [vset critcl_script]. For example, information for
[file FOO.tcl] is kept separate from information for [file BAR.tcl].
[list_begin definitions]
[comment ---------------------------------------------------------------------]
[call [cmd ::critcl::cheaders] [opt [arg arg]...]]
Provides additional header locations.
[para] Each argument is a glob pattern. If an argument begins with [const -]
it is an argument to the compiler. Otherwise the parent directory of each
matching path is a directory to be searched for header files. Returns an
error if a pattern matches no files.
[vset relative_pattern]
[para] [const {#include}] lines are not automatically generated for matching
header files. Use [cmd critcl::include] or [cmd critcl::ccode] as necessary to
add them.
[para] [vset cumulative]
[comment ---------------------------------------------------------------------]
[call [cmd ::critcl::csources] [opt [arg {glob pattern}]...]]
Matching paths become inputs to the compilation of the current object
along with the sources for the current [vset critcl_script]. Returns an
error if no paths match a pattern.
[vset relative_pattern]
[para] [vset cumulative]
[comment ---------------------------------------------------------------------]
[call [cmd ::critcl::clibraries] [opt [arg {glob pattern}]...]]
provides the link step with additional libraries and library locations.
A [arg {glob pattern}] that begins with [const -] is added as an argument to
the linker. Otherwise matching files are linked into the shared library.
Returns an error if no paths match a pattern.
[vset relative_pattern]
[para] [vset cumulative]
[comment ---------------------------------------------------------------------]
[call [cmd ::critcl::source] [arg {glob pattern}]]
Evaluates as scripts the files matching each [arg {glob pattern}]. Returns an
error if there are no matching files.
[vset relative_pattern]
[comment ---------------------------------------------------------------------]
[call [cmd ::critcl::tsources] [arg {glob pattern}]...]
Provides the information about additional Tcl script files to source when the
shared library is loaded.
[para] Matching paths are made available to the generated shared library when
it is loaded for the current [vset critcl_script]. Returns an error if a
pattern matches no files.
[vset relative_pattern]
[para] [vset cumulative]
[para] After the shared library has been loaded, the declared files are sourced
in the same order that they were provided as arguments.
[comment ---------------------------------------------------------------------]
[call [cmd ::critcl::owns] [arg {glob pattern}]...]
Ignored in "compile and run" and "generate package" modes.
In "generate TEA" mode each file matching a [arg {glob pattern}] is a file to
be included in the TEA extension but that could not be ascertained as such from
previous commands like [cmd critcl::csources] and [cmd critcl::tsources],
either because of they were specified dynamically or because they were directly
sourced.
[comment ---------------------------------------------------------------------]
[call [cmd ::critcl::cflags] [opt [arg arg]...]]
[para] Each [arg arg] is an argument to the compiler.
[para] [vset cumulative]
[comment ---------------------------------------------------------------------]
[call [cmd ::critcl::ldflags] [opt [arg arg]...]]
[para] Each [arg arg] is an argument to the linker.
[para] [vset cumulative]
[comment ---------------------------------------------------------------------]
[call [cmd ::critcl::framework] [opt [arg arg]...]]
Each [arg arg] is the name of a framework to link on MacOS X. This command is
ignored if OS X is not the target so that frameworks can be specified
unconditionally.
[para] [vset cumulative]
[comment ---------------------------------------------------------------------]
[call [cmd ::critcl::tcl] [arg version]]
Specifies the minimum version of the Tcl runtime
to compile and link the package for. The default is [const 8.4].
[comment ---------------------------------------------------------------------]
[call [cmd ::critcl::tk]]
Arranges to include the Tk headers and link to the Tk stubs.
[comment ---------------------------------------------------------------------]
[call [cmd ::critcl::preload] [arg lib]...]
Arranges for the external shared library [arg lib] to be loaded
before the shared library for the [vset critcl_script] is loaded.
[para] [vset cumulative]
[para][include preload_search.inc]
[comment {
XXX preload - compile & run - will it work ?
}]
For developers who want to understand or modify the internals of the
[package critcl] package, [sectref {Preloading functionality}] explains how
preloading is implemented.
[comment ---------------------------------------------------------------------]
[call [cmd ::critcl::debug] [arg area]...]
Specifies what debugging features to activate. Internally each area is translated into
area-specific flags for the compiler which are then handed over to
[cmd critcl::cflags].
[list_begin definitions]
[def [const memory]]
Specifies Tcl memory debugging.
[def [const symbols]]
Specifies compilation and linking with debugging symbols for use by a debugger
or other tool.
[def [const all]]
Specifies all available debugging.
[list_end]
[list_end]
|