Hex Artifact Content

Artifact c5de35af4148be58fcac6070aab44474ca3a2215:

Wiki page [KitDLL] by rkeene on 2011-05-16 19:02:37.
0000: 44 20 32 30 31 31 2d 30 35 2d 31 36 54 31 39 3a  D 2011-05-16T19:
0010: 30 32 3a 33 37 2e 36 33 36 0a 4c 20 4b 69 74 44  02:37.636.L KitD
0020: 4c 4c 0a 50 20 30 33 62 39 66 66 66 30 39 32 33  LL.P 03b9fff0923
0030: 37 66 34 63 35 62 61 62 32 63 39 37 64 32 30 38  7f4c5bab2c97d208
0040: 37 32 30 66 61 36 66 30 35 65 33 38 61 0a 55 20  720fa6f05e38a.U 
0050: 72 6b 65 65 6e 65 0a 57 20 31 30 37 39 0a 4b 69  rkeene.W 1079.Ki
0060: 74 44 4c 4c 20 69 73 20 61 20 73 69 6e 67 6c 65  tDLL is a single
0070: 2d 66 69 6c 65 20 54 63 6c 20 28 61 6e 64 20 6f  -file Tcl (and o
0080: 70 74 69 6f 6e 61 6c 6c 79 20 54 6b 29 20 6c 69  ptionally Tk) li
0090: 62 72 61 72 79 2e 20 20 4e 6f 72 6d 61 6c 6c 79  brary.  Normally
00a0: 2c 20 6c 69 62 74 63 6c 20 61 6e 64 20 6c 69 62  , libtcl and lib
00b0: 74 6b 20 73 74 69 6c 6c 20 72 65 71 75 69 72 65  tk still require
00c0: 20 74 68 65 20 65 78 74 65 72 6e 61 6c 20 54 63   the external Tc
00d0: 6c 2d 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e  l-initialization
00e0: 20 73 63 72 69 70 74 73 20 61 6e 64 20 6f 74 68   scripts and oth
00f0: 65 72 20 65 78 74 65 72 6e 61 6c 20 72 65 73 6f  er external reso
0100: 75 72 63 65 73 20 28 61 6e 64 20 69 6e 20 66 61  urces (and in fa
0110: 63 74 20 22 74 63 6c 73 68 22 20 69 73 20 61 20  ct "tclsh" is a 
0120: 76 65 72 79 20 74 69 6e 79 20 70 72 6f 67 72 61  very tiny progra
0130: 6d 20 77 68 69 63 68 20 6a 75 73 74 20 69 6e 76  m which just inv
0140: 6f 6b 65 73 20 6c 69 62 74 63 6c 29 2e 20 20 4a  okes libtcl).  J
0150: 75 73 74 20 61 73 20 69 74 20 69 73 20 73 6f 6d  ust as it is som
0160: 65 74 69 6d 65 73 20 64 65 73 69 72 61 62 6c 65  etimes desirable
0170: 20 74 6f 20 68 61 76 65 20 61 20 73 69 6e 67 6c   to have a singl
0180: 65 2d 66 69 6c 65 20 65 78 65 63 75 74 61 62 6c  e-file executabl
0190: 65 20 64 69 73 74 72 69 62 75 74 69 6f 6e 20 6f  e distribution o
01a0: 66 20 54 63 6c 20 28 54 63 6c 6b 69 74 2f 42 61  f Tcl (Tclkit/Ba
01b0: 73 65 6b 69 74 29 20 69 74 20 69 73 20 73 6f 6d  sekit) it is som
01c0: 65 74 69 6d 65 73 20 74 6f 20 68 61 76 65 20 74  etimes to have t
01d0: 68 69 73 20 64 69 73 74 72 69 62 75 74 69 6f 6e  his distribution
01e0: 20 69 6e 20 61 20 73 69 6e 67 6c 65 2d 66 69 6c   in a single-fil
01f0: 65 20 6c 69 62 72 61 72 79 2e 0d 0a 0d 0a 4b 69  e library.....Ki
0200: 74 44 4c 4c 20 69 73 20 74 6f 20 73 68 61 72 65  tDLL is to share
0210: 64 20 6f 62 6a 65 63 74 73 2c 20 6c 69 62 72 61  d objects, libra
0220: 72 69 65 73 2c 20 6f 72 20 44 4c 4c 73 20 77 68  ries, or DLLs wh
0230: 61 74 20 4b 69 74 63 72 65 61 74 6f 72 20 69 73  at Kitcreator is
0240: 20 74 6f 20 65 78 65 63 75 74 61 62 6c 65 73 2e   to executables.
0250: 0d 0a 0d 0a 54 68 65 20 4b 69 74 44 4c 4c 20 70  ....The KitDLL p
0260: 72 6f 6a 65 63 74 20 69 73 20 73 6c 69 67 68 74  roject is slight
0270: 6c 79 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f  ly different fro
0280: 6d 20 74 68 65 20 4b 69 74 53 48 20 28 54 63 6c  m the KitSH (Tcl
0290: 6b 69 74 2f 42 61 73 65 6b 69 74 29 20 70 72 6f  kit/Basekit) pro
02a0: 6a 65 63 74 20 69 6e 20 74 68 65 20 77 61 79 20  ject in the way 
02b0: 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 56 69 72  the internal Vir
02c0: 74 75 61 6c 20 46 69 6c 65 73 79 73 74 65 6d 20  tual Filesystem 
02d0: 28 56 46 53 29 20 69 73 20 73 74 6f 72 65 64 2e  (VFS) is stored.
02e0: 20 20 49 6e 20 74 68 65 20 4b 69 74 53 48 20 70    In the KitSH p
02f0: 72 6f 6a 65 63 74 20 74 68 65 20 56 46 53 20 69  roject the VFS i
0300: 73 20 61 64 64 65 64 20 61 66 74 65 72 20 63 6f  s added after co
0310: 6d 70 69 6c 65 2d 74 69 6d 65 20 61 6e 64 20 74  mpile-time and t
0320: 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 4d 55  he executable MU
0330: 53 54 20 62 65 20 61 62 6c 65 20 74 6f 20 66 69  ST be able to fi
0340: 6e 64 20 69 74 73 65 6c 66 20 74 6f 20 6f 70 65  nd itself to ope
0350: 6e 20 74 68 69 73 20 56 46 53 2e 20 20 49 6e 20  n this VFS.  In 
0360: 74 68 65 20 4b 69 74 44 4c 4c 20 70 72 6f 6a 65  the KitDLL proje
0370: 63 74 20 74 68 65 20 56 46 53 20 69 73 20 61 64  ct the VFS is ad
0380: 64 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74  ded at compile-t
0390: 69 6d 65 20 73 6f 20 74 68 61 74 20 74 68 65 20  ime so that the 
03a0: 6c 69 62 72 61 72 79 20 64 6f 65 73 20 6e 6f 74  library does not
03b0: 20 68 61 76 65 20 74 6f 20 62 65 20 66 6f 75 6e   have to be foun
03c0: 64 20 6f 6e 20 74 68 65 20 66 69 6c 65 73 79 73  d on the filesys
03d0: 74 65 6d 20 66 6f 72 20 69 6e 69 74 69 61 6c 69  tem for initiali
03e0: 7a 61 74 69 6f 6e 20 73 69 6e 63 65 20 74 68 69  zation since thi
03f0: 73 20 63 61 6e 6e 6f 74 20 62 65 20 67 75 61 72  s cannot be guar
0400: 61 6e 74 65 65 64 20 74 6f 20 62 65 20 70 6f 73  anteed to be pos
0410: 73 69 62 6c 65 20 6f 6e 20 74 68 65 20 70 6c 61  sible on the pla
0420: 74 66 6f 72 6d 73 20 54 63 6c 20 73 75 70 70 6f  tforms Tcl suppo
0430: 72 74 73 2e 0d 0a 0d 0a 54 68 65 20 56 46 53 20  rts.....The VFS 
0440: 75 73 65 64 20 62 79 20 4b 69 74 44 4c 4c 20 69  used by KitDLL i
0450: 73 20 6e 61 6d 65 64 20 5b 43 2d 56 46 53 5d 20  s named [C-VFS] 
0460: 61 6e 64 20 69 73 20 61 6e 20 61 64 2d 68 6f 63  and is an ad-hoc
0470: 20 56 46 53 20 77 72 69 74 74 65 6e 20 73 70 65   VFS written spe
0480: 63 69 66 69 63 61 6c 6c 79 20 66 6f 72 20 4b 69  cifically for Ki
0490: 74 44 4c 4c 2e 0a 5a 20 61 34 39 30 32 30 61 31  tDLL..Z a49020a1
04a0: 63 63 65 32 38 34 39 63 64 36 30 37 65 64 63 31  cce2849cd607edc1
04b0: 66 30 31 38 62 38 63 65 0a                       f018b8ce.