Hex Artifact Content
Tcl 2015 Conference, Manassas/VA, US, Oct 19-23
Send your abstracts to tclconference@googlegroups.com by Aug 24.

Artifact 2515e0a59973029750903a271a9301b024f96893:

Wiki page [KitDLL] by rkeene 2011-11-16 06:34:18.
0000: 44 20 32 30 31 31 2d 31 31 2d 31 36 54 30 36 3a  D 2011-11-16T06:
0010: 33 34 3a 31 38 2e 37 36 30 0a 4c 20 4b 69 74 44  34:18.760.L KitD
0020: 4c 4c 0a 50 20 63 35 64 65 33 35 61 66 34 31 34  LL.P c5de35af414
0030: 38 62 65 35 38 66 63 61 63 36 30 37 30 61 61 62  8be58fcac6070aab
0040: 34 34 34 37 34 63 61 33 61 32 32 31 35 0a 55 20  44474ca3a2215.U 
0050: 72 6b 65 65 6e 65 0a 57 20 31 33 33 31 0a 4b 69  rkeene.W 1331.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 54 63 6c 6b 69 74 20 69 73 20 74 6f 20  at Tclkit is to 
0240: 65 78 65 63 75 74 61 62 6c 65 73 2e 0d 0a 0d 0a  executables.....
0250: 54 68 65 20 4b 69 74 44 4c 4c 20 70 72 6f 6a 65  The KitDLL proje
0260: 63 74 20 69 73 20 73 6c 69 67 68 74 6c 79 20 64  ct is slightly d
0270: 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 74 68  ifferent from th
0280: 65 20 4b 69 74 53 48 20 28 54 63 6c 6b 69 74 2f  e KitSH (Tclkit/
0290: 42 61 73 65 6b 69 74 29 20 70 72 6f 6a 65 63 74  Basekit) project
02a0: 20 69 6e 20 74 68 65 20 77 61 79 20 74 68 65 20   in the way the 
02b0: 69 6e 74 65 72 6e 61 6c 20 56 69 72 74 75 61 6c  internal Virtual
02c0: 20 46 69 6c 65 73 79 73 74 65 6d 20 28 56 46 53   Filesystem (VFS
02d0: 29 20 69 73 20 73 74 6f 72 65 64 2e 20 20 49 6e  ) is stored.  In
02e0: 20 74 68 65 20 4b 69 74 53 48 20 70 72 6f 6a 65   the KitSH proje
02f0: 63 74 20 74 68 65 20 56 46 53 20 69 73 20 61 64  ct the VFS is ad
0300: 64 65 64 20 61 66 74 65 72 20 63 6f 6d 70 69 6c  ded after compil
0310: 65 2d 74 69 6d 65 20 61 6e 64 20 74 68 65 20 65  e-time and the e
0320: 78 65 63 75 74 61 62 6c 65 20 4d 55 53 54 20 62  xecutable MUST b
0330: 65 20 61 62 6c 65 20 74 6f 20 66 69 6e 64 20 69  e able to find i
0340: 74 73 65 6c 66 20 74 6f 20 6f 70 65 6e 20 74 68  tself to open th
0350: 69 73 20 56 46 53 2e 20 20 49 6e 20 74 68 65 20  is VFS.  In the 
0360: 4b 69 74 44 4c 4c 20 70 72 6f 6a 65 63 74 20 74  KitDLL project t
0370: 68 65 20 56 46 53 20 69 73 20 61 64 64 65 64 20  he VFS is added 
0380: 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20  at compile-time 
0390: 73 6f 20 74 68 61 74 20 74 68 65 20 6c 69 62 72  so that the libr
03a0: 61 72 79 20 64 6f 65 73 20 6e 6f 74 20 68 61 76  ary does not hav
03b0: 65 20 74 6f 20 62 65 20 66 6f 75 6e 64 20 6f 6e  e to be found on
03c0: 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 20   the filesystem 
03d0: 66 6f 72 20 69 6e 69 74 69 61 6c 69 7a 61 74 69  for initializati
03e0: 6f 6e 20 73 69 6e 63 65 20 74 68 69 73 20 63 61  on since this ca
03f0: 6e 6e 6f 74 20 62 65 20 67 75 61 72 61 6e 74 65  nnot be guarante
0400: 65 64 20 74 6f 20 62 65 20 70 6f 73 73 69 62 6c  ed to be possibl
0410: 65 20 6f 6e 20 74 68 65 20 70 6c 61 74 66 6f 72  e on the platfor
0420: 6d 73 20 54 63 6c 20 73 75 70 70 6f 72 74 73 2e  ms Tcl supports.
0430: 0d 0a 0d 0a 54 68 65 20 56 46 53 20 75 73 65 64  ....The VFS used
0440: 20 62 79 20 4b 69 74 44 4c 4c 20 69 73 20 6e 61   by KitDLL is na
0450: 6d 65 64 20 5b 43 2d 56 46 53 5d 20 61 6e 64 20  med [C-VFS] and 
0460: 69 73 20 61 6e 20 61 64 2d 68 6f 63 20 56 46 53  is an ad-hoc VFS
0470: 20 77 72 69 74 74 65 6e 20 73 70 65 63 69 66 69   written specifi
0480: 63 61 6c 6c 79 20 66 6f 72 20 4b 69 74 44 4c 4c  cally for KitDLL
0490: 2e 0d 0a 0d 0a 57 68 65 6e 20 62 75 69 6c 64 69  .....When buildi
04a0: 6e 67 20 61 20 4b 69 74 44 4c 4c 20 62 75 69 6c  ng a KitDLL buil
04b0: 64 20 61 6e 20 22 73 64 6b 22 20 74 61 72 62 61  d an "sdk" tarba
04c0: 6c 6c 20 69 73 20 61 6c 73 6f 20 63 72 65 61 74  ll is also creat
04d0: 65 64 2e 20 20 54 68 69 73 20 74 61 72 62 61 6c  ed.  This tarbal
04e0: 6c 20 69 6e 63 6c 75 64 65 73 20 74 68 65 20 68  l includes the h
04f0: 65 61 64 65 72 73 20 61 6e 64 20 73 74 75 62 20  eaders and stub 
0500: 6c 69 62 72 61 72 69 65 73 20 6e 65 65 64 65 64  libraries needed
0510: 20 74 6f 20 63 6f 6d 70 69 6c 65 20 61 6e 64 20   to compile and 
0520: 6c 69 6e 6b 20 61 6e 20 61 70 70 6c 69 63 61 74  link an applicat
0530: 69 6f 6e 20 74 68 61 74 20 72 65 6c 69 65 73 20  ion that relies 
0540: 6f 6e 20 54 63 6c 2f 54 6b 20 6f 72 20 61 20 54  on Tcl/Tk or a T
0550: 63 6c 2f 54 6b 20 65 78 74 65 6e 73 69 6f 6e 2e  cl/Tk extension.
0560: 20 20 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72    For more infor
0570: 6d 61 74 69 6f 6e 20 73 65 65 20 74 68 65 20 5b  mation see the [
0580: 4b 69 74 44 4c 4c 20 53 44 4b 5d 20 70 61 67 65  KitDLL SDK] page
0590: 2e 0a 5a 20 33 31 30 39 39 31 32 35 66 33 38 34  ..Z 31099125f384
05a0: 30 36 64 30 30 35 64 35 62 38 62 66 39 35 32 39  06d005d5b8bf9529
05b0: 62 66 66 63 0a                                   bffc.