Overview
Comment: | Add documentation about KitDLL |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
bf5a9f55510ec3e88ec201200cded125 |
User & Date: | rkeene on 2010-10-02 06:14:05 |
Other Links: | manifest | tags |
Context
2010-10-02
| ||
06:58 | Fixed determination of encoding from system in KitDLL check-in: 015d254dbe user: rkeene tags: trunk | |
06:14 | Add documentation about KitDLL check-in: bf5a9f5551 user: rkeene tags: trunk | |
05:46 | Updated KitDLL to sometimes link against Tcl and Tk stubs, if needed check-in: 3cc0a3a464 user: rkeene tags: trunk | |
Changes
Modified README from [f403a589f5] to [723f4f4df1].
︙ | ︙ | |||
74 75 76 77 78 79 80 | 3. TCLKIT Specify the path to a Tclkit that is runnable on the current system. The default is "tclkit". A working tclkit is required for cross-compiling Tclkits. 4. STATICTK Specify this as "1" to statically link to Tk. The default | | > > > > > > > | 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 | 3. TCLKIT Specify the path to a Tclkit that is runnable on the current system. The default is "tclkit". A working tclkit is required for cross-compiling Tclkits. 4. STATICTK Specify this as "1" to statically link to Tk. The default action on most platforms is to dynamically link to Tk. When building KitDLL, STATICTK is "1" by default. If you want to enable dynamic linking of Tk with KitDLL you will have to specify this as "-1". 5. STRIP Specifies the tool you wish to be called to strip object files, archives, and shared objects. The default is "strip". You should probably set this if you are cross-compiling. 6. KITCREATOR_PKGS Specify which non-required packages to build. The default list is: tk itcl mk4tcl If mk4tcl is not present a Zip-based storage mechanism will be used instead. To specify that the default be used, do not set this or set it to the empty string. To specify that no non-required packages be built, set it to a string that contains only white space. If "kitdll" is specified in the list the target becomes KitDLL and no Tclkit will built, but instead libtclkit. 7. KITCREATOR_MINENCODINGS Set this variable to a non-empty string to generate a Tclkit without all encodings, only including the following: ascii.enc cp1252.enc iso8859-1.enc iso8859-15.enc iso8859-2.enc koi8-r.enc macRoman.enc |
︙ | ︙ | |||
167 168 169 170 171 172 173 | 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. | | | | | | | | > > > > > > > > | 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 | 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): 1. The Tclkit specified by the TCLKIT environment variable (or "tclkit" if that variable is not set) if it is functional; or 2. The built Tclkit itself The second method will not work if the built Tclkit is not executable on the current platform (i.e., in the case of cross-compilation) and so it may be necessary to bootstrap a runnable Tclkit first. KitDLL mounts the VFS for every interpreter that calls Tcl_Init(). The system VFS that is created at build time is mounted at /.KITDLL_TCL. Additionally, if there is a ZIP file appended to the DLL it will be mounted at /.KITDLL_USER and if there is a ZIP file appended to the executable it will be mounted at /.KITDLL_APP. All VFSes that are mounted have the "lib" sub-directory appended to the interpreters "auto_path" variable. |