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

Artifact bb47595cc7d235c410c2235d73cca88a7214ae71:

Wiki page [Method of Operation] by rkeene 2011-05-16 04:45:45.
0000: 44 20 32 30 31 31 2d 30 35 2d 31 36 54 30 34 3a  D 2011-05-16T04:
0010: 34 35 3a 34 35 2e 33 34 31 0a 4c 20 4d 65 74 68  45:45.341.L Meth
0020: 6f 64 5c 73 6f 66 5c 73 4f 70 65 72 61 74 69 6f  od\sof\sOperatio
0030: 6e 0a 55 20 72 6b 65 65 6e 65 0a 57 20 33 34 34  n.U rkeene.W 344
0040: 39 0a 3c 70 20 63 6c 61 73 73 3d 22 6b 69 74 63  9.<p class="kitc
0050: 72 65 61 74 6f 72 5f 6c 6f 6e 67 74 65 78 74 22  reator_longtext"
0060: 3e 0d 0a 3c 62 3e 4d 65 74 68 6f 64 20 6f 66 20  >..<b>Method of 
0070: 4f 70 65 72 61 74 69 6f 6e 3c 2f 62 3e 0d 0a 0d  Operation</b>...
0080: 0a 3c 69 3e 44 65 74 61 69 6c 73 3a 3c 2f 69 3e  .<i>Details:</i>
0090: 20 54 68 65 20 67 65 6e 65 72 61 6c 20 6d 65 63   The general mec
00a0: 68 61 6e 69 73 6d 20 74 68 61 74 20 65 6e 61 62  hanism that enab
00b0: 6c 65 73 20 61 20 54 63 6c 6b 69 74 20 74 6f 20  les a Tclkit to 
00c0: 6f 70 65 72 61 74 65 20 69 73 20 61 20 73 6d 61  operate is a sma
00d0: 6c 6c 20 54 63 6c 20 69 6e 69 74 69 61 6c 69 7a  ll Tcl initializ
00e0: 61 74 69 6f 6e 20 72 6f 75 74 69 6e 65 20 6c 69  ation routine li
00f0: 6e 6b 65 64 20 73 74 61 74 69 63 61 6c 6c 79 20  nked statically 
0100: 74 6f 20 74 68 65 20 63 6f 72 65 20 6c 69 62 72  to the core libr
0110: 61 72 69 65 73 20 6e 65 65 64 65 64 20 74 6f 20  aries needed to 
0120: 6f 70 65 72 61 74 65 20 61 20 54 63 6c 20 69 6e  operate a Tcl in
0130: 74 65 72 70 72 65 74 65 72 2c 20 74 68 65 20 54  terpreter, the T
0140: 63 6c 20 56 46 53 20 4c 61 79 65 72 2c 20 61 6e  cl VFS Layer, an
0150: 64 20 61 20 64 61 74 61 62 61 73 65 2d 62 61 63  d a database-bac
0160: 6b 65 64 20 28 4d 65 74 61 6b 69 74 29 20 56 69  ked (Metakit) Vi
0170: 72 74 75 61 6c 20 46 69 6c 65 20 53 79 73 74 65  rtual File Syste
0180: 6d 20 74 68 61 74 20 69 73 20 61 70 70 65 6e 64  m that is append
0190: 65 64 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66  ed to the end of
01a0: 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 2e   the executable.
01b0: 3c 2f 70 3e 3c 70 3e 54 68 69 73 20 70 72 6f 6a  </p><p>This proj
01c0: 65 63 74 20 62 72 69 6e 67 73 20 74 6f 67 65 74  ect brings toget
01d0: 68 65 72 20 61 6c 6c 20 6f 66 20 74 68 65 20 72  her all of the r
01e0: 65 71 75 69 72 65 64 20 70 69 65 63 65 73 2c 20  equired pieces, 
01f0: 70 6c 75 73 20 73 6f 6d 65 20 61 64 64 69 74 69  plus some additi
0200: 6f 6e 61 6c 20 70 69 65 63 65 73 20 74 68 61 74  onal pieces that
0210: 20 77 65 72 65 20 66 6f 75 6e 64 20 69 6e 20 74   were found in t
0220: 68 65 20 6f 72 69 67 69 6e 61 6c 20 54 63 6c 6b  he original Tclk
0230: 69 74 3a 0d 0a 20 20 3c 6f 6c 20 74 79 70 65 3d  it:..  <ol type=
0240: 22 31 22 3e 0d 0a 20 20 20 20 3c 6c 69 3e 54 6b  "1">..    <li>Tk
0250: 20 28 64 79 6e 61 6d 69 63 61 6c 6c 79 20 6c 69   (dynamically li
0260: 6e 6b 65 64 29 3c 2f 6c 69 3e 20 0d 0a 20 20 20  nked)</li> ..   
0270: 20 3c 6c 69 3e 49 74 63 6c 20 28 64 79 6e 61 6d   <li>Itcl (dynam
0280: 69 63 61 6c 6c 79 20 6c 69 6e 6b 65 64 29 3c 2f  ically linked)</
0290: 6c 69 3e 0d 0a 20 20 3c 2f 6f 6c 3e 0d 0a 54 68  li>..  </ol>..Th
02a0: 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66 6f  e source code fo
02b0: 72 20 74 68 65 73 65 20 70 69 65 63 65 73 20 61  r these pieces a
02c0: 72 65 20 64 6f 77 6e 6c 6f 61 64 65 64 2c 20 63  re downloaded, c
02d0: 6f 6d 70 69 6c 65 64 2c 20 61 6e 64 20 6c 69 6e  ompiled, and lin
02e0: 6b 65 64 2c 20 61 6e 64 20 74 68 65 20 64 61 74  ked, and the dat
02f0: 61 62 61 73 65 20 63 6f 6e 74 61 69 6e 69 6e 67  abase containing
0300: 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65   the appropriate
0310: 20 66 69 6c 65 73 79 73 74 65 6d 20 64 61 74 61   filesystem data
0320: 20 69 73 20 63 72 65 61 74 65 64 2e 20 20 57 68   is created.  Wh
0330: 61 74 20 73 65 74 73 20 74 68 69 73 20 70 72 6f  at sets this pro
0340: 6a 65 63 74 20 61 70 61 72 74 20 66 72 6f 6d 20  ject apart from 
0350: 6f 74 68 65 72 20 73 69 6d 69 6c 61 72 20 70 72  other similar pr
0360: 6f 6a 65 63 74 73 20 69 73 20 74 68 61 74 3a 0d  ojects is that:.
0370: 0a 20 20 3c 6f 6c 20 74 79 70 65 3d 22 31 22 3e  .  <ol type="1">
0380: 0d 0a 20 20 20 20 3c 6c 69 3e 49 74 20 61 74 74  ..    <li>It att
0390: 65 6d 70 74 73 20 74 6f 20 62 65 20 6d 6f 64 75  empts to be modu
03a0: 6c 61 72 3b 3c 2f 6c 69 3e 20 0d 0a 20 20 20 20  lar;</li> ..    
03b0: 3c 6c 69 3e 49 74 20 73 75 70 70 6f 72 74 73 20  <li>It supports 
03c0: 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 69 6e 67 3b  cross-compiling;
03d0: 3c 2f 6c 69 3e 20 0d 0a 20 20 20 20 3c 6c 69 3e  </li> ..    <li>
03e0: 49 74 20 64 6f 77 6e 6c 6f 61 64 73 20 74 68 65  It downloads the
03f0: 20 73 6f 75 72 63 65 20 66 72 6f 6d 20 74 68 65   source from the
0400: 69 72 20 6f 72 69 67 69 6e 61 6c 20 72 65 70 6f  ir original repo
0410: 73 69 74 6f 72 69 65 73 3b 3c 2f 6c 69 3e 20 0d  sitories;</li> .
0420: 0a 20 20 20 20 3c 6c 69 3e 49 74 20 61 6c 6c 6f  .    <li>It allo
0430: 77 73 20 79 6f 75 20 74 6f 20 73 70 65 63 69 66  ws you to specif
0440: 79 20 61 6e 20 61 72 62 69 74 72 61 72 79 20 76  y an arbitrary v
0450: 65 72 73 69 6f 6e 20 6f 66 20 54 63 6c 20 28 69  ersion of Tcl (i
0460: 6e 63 6c 75 64 69 6e 67 20 43 56 53 29 3b 20 61  ncluding CVS); a
0470: 6e 64 3c 2f 6c 69 3e 20 0d 0a 20 20 20 20 3c 6c  nd</li> ..    <l
0480: 69 3e 49 74 20 75 73 65 73 20 47 4e 55 20 41 75  i>It uses GNU Au
0490: 74 6f 63 6f 6e 66 20 73 63 72 69 70 74 73 20 66  toconf scripts f
04a0: 6f 72 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 65  or compiling the
04b0: 20 70 61 72 74 20 6f 66 20 74 68 65 20 54 63 6c   part of the Tcl
04c0: 6b 69 74 20 74 68 61 74 20 62 72 69 6e 67 73 20  kit that brings 
04d0: 74 68 65 20 77 68 6f 6c 65 20 74 68 69 6e 67 20  the whole thing 
04e0: 74 6f 67 65 74 68 65 72 20 28 74 68 65 20 4b 69  together (the Ki
04f0: 74 73 68 29 3c 2f 6c 69 3e 0d 0a 20 20 3c 2f 6f  tsh)</li>..  </o
0500: 6c 3e 0d 0a 54 6f 20 61 63 63 6f 6d 70 6c 69 73  l>..To accomplis
0510: 68 20 74 68 65 73 65 20 67 6f 61 6c 73 20 74 68  h these goals th
0520: 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6d 65 63 68  e following mech
0530: 61 6e 69 73 6d 73 20 61 72 65 20 69 6e 20 70 6c  anisms are in pl
0540: 61 63 65 3a 0d 0a 20 20 3c 6f 6c 20 74 79 70 65  ace:..  <ol type
0550: 3d 22 31 22 3e 0d 0a 20 20 20 20 3c 6c 69 3e 54  ="1">..    <li>T
0560: 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 22 6b 69  he top-level "ki
0570: 74 63 72 65 61 74 6f 72 22 20 73 63 72 69 70 74  tcreator" script
0580: 3b 20 61 6e 64 3c 2f 6c 69 3e 20 0d 0a 20 20 20  ; and</li> ..   
0590: 20 3c 6c 69 3e 50 65 72 2d 70 72 6f 6a 65 63 74   <li>Per-project
05a0: 20 73 75 62 64 69 72 65 63 74 6f 72 69 65 73 2c   subdirectories,
05b0: 20 65 61 63 68 20 63 6f 6e 74 61 69 6e 69 6e 67   each containing
05c0: 20 61 20 22 62 75 69 6c 64 2e 73 68 22 20 73 63   a "build.sh" sc
05d0: 72 69 70 74 3c 2f 6c 69 3e 0d 0a 20 20 3c 2f 6f  ript</li>..  </o
05e0: 6c 3e 0d 0a 0d 0a 54 68 65 20 74 6f 70 2d 6c 65  l>....The top-le
05f0: 76 65 6c 20 22 6b 69 74 63 72 65 61 74 6f 72 22  vel "kitcreator"
0600: 20 73 63 72 69 70 74 20 69 73 20 76 65 72 79 20   script is very 
0610: 73 69 6d 70 6c 65 2e 20 20 49 74 73 20 6f 6e 6c  simple.  Its onl
0620: 79 20 6a 6f 62 20 69 73 20 74 6f 20 69 6e 74 65  y job is to inte
0630: 72 70 72 65 74 20 63 6f 6d 6d 61 6e 64 20 6c 69  rpret command li
0640: 6e 65 20 61 72 67 75 6d 65 6e 74 73 2c 20 61 6e  ne arguments, an
0650: 64 20 63 61 6c 6c 20 74 68 65 20 70 65 72 2d 70  d call the per-p
0660: 72 6f 6a 65 63 74 20 22 62 75 69 6c 64 2e 73 68  roject "build.sh
0670: 22 20 73 63 72 69 70 74 73 2e 20 46 6f 72 20 74  " scripts. For t
0680: 68 65 20 22 74 63 6c 22 20 70 72 6f 6a 65 63 74  he "tcl" project
0690: 20 69 74 20 61 6c 73 6f 20 66 69 6e 64 73 20 74   it also finds t
06a0: 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 22  he appropriate "
06b0: 74 63 6c 43 6f 6e 66 69 67 2e 73 68 22 20 28 61  tclConfig.sh" (a
06c0: 6e 64 20 73 74 6f 72 65 73 20 74 68 69 73 20 70  nd stores this p
06d0: 61 74 68 20 69 6e 20 54 43 4c 43 4f 4e 46 49 47  ath in TCLCONFIG
06e0: 44 49 52 29 20 74 6f 20 65 6e 61 62 6c 65 20 73  DIR) to enable s
06f0: 75 62 73 65 71 75 65 6e 74 20 62 75 69 6c 64 20  ubsequent build 
0700: 73 63 72 69 70 74 73 20 74 6f 20 66 69 6e 64 20  scripts to find 
0710: 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20  the appropriate 
0720: 54 63 6c 20 74 6f 20 6c 69 6e 6b 20 61 67 61 69  Tcl to link agai
0730: 6e 73 74 2e 0d 0a 0d 0a 54 68 65 20 70 65 72 2d  nst.....The per-
0740: 70 72 6f 6a 65 63 74 20 22 62 75 69 6c 64 2e 73  project "build.s
0750: 68 22 20 73 63 72 69 70 74 73 20 61 72 65 20 65  h" scripts are e
0760: 6e 74 69 72 65 6c 79 20 61 75 74 6f 6e 6f 6d 6f  ntirely autonomo
0770: 75 73 2e 20 20 54 68 65 79 20 61 72 65 20 72 65  us.  They are re
0780: 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 64 6f  sponsible for do
0790: 77 6e 6c 6f 61 64 69 6e 67 20 74 68 65 20 73 6f  wnloading the so
07a0: 75 72 63 65 20 63 6f 64 65 20 66 6f 72 20 74 68  urce code for th
07b0: 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 76 65  e appropriate ve
07c0: 72 73 69 6f 6e 20 74 68 61 74 20 77 69 6c 6c 20  rsion that will 
07d0: 63 6f 6d 70 69 6c 65 20 61 6e 64 20 6c 69 6e 6b  compile and link
07e0: 20 61 67 61 69 6e 73 74 20 74 68 65 20 63 75 72   against the cur
07f0: 72 65 6e 74 20 76 65 72 73 69 6f 6e 20 6f 66 20  rent version of 
0800: 54 63 6c 20 28 75 73 65 72 20 72 65 71 75 65 73  Tcl (user reques
0810: 74 65 64 20 76 65 72 73 69 6f 6e 20 63 61 6e 20  ted version can 
0820: 62 65 20 66 6f 75 6e 64 20 69 6e 20 22 54 43 4c  be found in "TCL
0830: 56 45 52 53 22 2c 20 77 68 69 6c 65 20 74 68 65  VERS", while the
0840: 20 61 63 74 75 61 6c 20 76 65 72 73 69 6f 6e 20   actual version 
0850: 6d 75 73 74 20 62 65 20 72 65 71 75 65 73 74 65  must be requeste
0860: 64 20 66 72 6f 6d 20 74 68 65 20 22 74 63 6c 43  d from the "tclC
0870: 6f 6e 66 69 67 2e 73 68 22 20 73 63 72 69 70 74  onfig.sh" script
0880: 29 2c 20 63 6f 6d 70 69 6c 69 6e 67 20 69 74 2c  ), compiling it,
0890: 20 69 6e 73 74 61 6c 6c 69 6e 67 20 61 20 66 75   installing a fu
08a0: 6e 63 74 69 6f 6e 61 6c 20 63 6f 70 79 20 69 6e  nctional copy in
08b0: 74 6f 20 74 68 65 20 70 65 72 2d 70 72 6f 6a 65  to the per-proje
08c0: 63 74 20 22 69 6e 73 74 22 20 64 69 72 65 63 74  ct "inst" direct
08d0: 6f 72 79 2c 20 61 6e 64 20 69 6e 73 74 61 6c 6c  ory, and install
08e0: 69 6e 67 20 61 6e 79 74 68 69 6e 67 20 74 68 61  ing anything tha
08f0: 74 20 6e 65 65 64 73 20 74 6f 20 62 65 20 69 6e  t needs to be in
0900: 20 74 68 65 20 54 63 6c 6b 69 74 27 73 20 56 46   the Tclkit's VF
0910: 53 20 72 6f 6f 74 20 69 6e 74 6f 20 74 68 65 20  S root into the 
0920: 70 65 72 2d 70 72 6f 6a 65 63 74 20 22 6f 75 74  per-project "out
0930: 22 20 64 69 72 65 63 74 6f 72 79 2e 0d 0a 0d 0a  " directory.....
0940: 54 68 65 20 65 78 63 65 70 74 69 6f 6e 20 74 6f  The exception to
0950: 20 74 68 69 73 20 69 73 20 74 68 65 20 22 6b 69   this is the "ki
0960: 74 73 68 22 20 70 72 6f 6a 65 63 74 2e 20 20 49  tsh" project.  I
0970: 74 20 69 73 20 74 68 65 20 67 6c 75 65 20 74 68  t is the glue th
0980: 61 74 20 62 69 6e 64 73 20 61 6c 6c 20 74 68 65  at binds all the
0990: 20 69 6e 64 69 76 69 64 75 61 6c 20 70 72 6f 6a   individual proj
09a0: 65 63 74 73 20 74 6f 67 65 74 68 65 72 20 69 6e  ects together in
09b0: 74 6f 20 61 20 73 69 6e 67 6c 65 20 65 78 65 63  to a single exec
09c0: 75 74 61 62 6c 65 2e 20 20 49 74 73 20 62 75 69  utable.  Its bui
09d0: 6c 64 20 73 63 72 69 70 74 20 64 6f 65 73 20 6e  ld script does n
09e0: 6f 74 20 63 72 65 61 74 65 20 61 6e 20 22 69 6e  ot create an "in
09f0: 73 74 22 20 6f 72 20 61 6e 20 22 6f 75 74 22 20  st" or an "out" 
0a00: 64 69 72 65 63 74 6f 72 79 20 62 65 63 61 75 73  directory becaus
0a10: 65 20 69 74 20 69 73 20 6e 6f 74 20 61 20 6c 69  e it is not a li
0a20: 62 72 61 72 79 2e 20 49 6e 73 74 65 61 64 2c 20  brary. Instead, 
0a30: 69 74 20 63 6f 6c 6c 65 63 74 73 20 61 6c 6c 20  it collects all 
0a40: 74 68 65 20 6f 74 68 65 72 20 70 72 6f 6a 65 63  the other projec
0a50: 74 27 73 20 22 6f 75 74 22 20 64 69 72 65 63 74  t's "out" direct
0a60: 6f 72 69 65 73 20 69 6e 74 6f 20 61 20 73 69 6e  ories into a sin
0a70: 67 6c 65 20 64 69 72 65 63 74 6f 72 79 20 28 73  gle directory (s
0a80: 74 61 72 70 61 63 6b 2e 76 66 73 29 2c 20 61 73  tarpack.vfs), as
0a90: 20 77 65 6c 6c 20 61 20 73 74 61 74 69 63 20 66   well a static f
0aa0: 69 6c 65 20 28 62 6f 6f 74 2e 74 63 6c 29 2e 20  ile (boot.tcl). 
0ab0: 20 49 74 20 74 68 65 6e 20 63 6f 6d 70 69 6c 65   It then compile
0ac0: 73 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64  s the source cod
0ad0: 65 2c 20 61 6e 64 20 74 68 65 6e 20 69 6e 73 74  e, and then inst
0ae0: 61 6c 6c 73 20 74 68 65 20 4d 65 74 61 6b 69 74  alls the Metakit
0af0: 20 64 61 74 61 62 61 73 65 20 63 6f 6e 74 61 69   database contai
0b00: 6e 69 6e 67 20 74 68 65 20 56 46 53 20 6f 6e 74  ning the VFS ont
0b10: 6f 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20  o the resulting 
0b20: 65 78 65 63 75 74 61 62 6c 65 2e 0d 0a 0d 0a 49  executable.....I
0b30: 66 20 74 68 65 20 22 6d 6b 34 74 63 6c 22 20 70  f the "mk4tcl" p
0b40: 72 6f 6a 65 63 74 20 66 61 69 6c 73 20 74 6f 20  roject fails to 
0b50: 62 75 69 6c 64 20 28 6f 72 20 69 73 20 6e 6f 74  build (or is not
0b60: 20 72 65 71 75 65 73 74 65 64 20 74 6f 20 62 65   requested to be
0b70: 20 62 75 69 6c 74 29 2c 20 74 68 65 20 72 65 73   built), the res
0b80: 74 20 6f 66 20 74 68 65 20 70 72 6f 6a 65 63 74  t of the project
0b90: 20 77 69 6c 6c 20 62 65 20 62 75 69 6c 74 20 75   will be built u
0ba0: 73 69 6e 67 20 7a 69 70 20 66 69 6c 65 73 20 69  sing zip files i
0bb0: 6e 73 74 65 61 64 20 6f 66 20 4d 65 74 61 6b 69  nstead of Metaki
0bc0: 74 20 64 61 74 61 62 61 73 65 73 2e 0d 0a 0d 0a  t databases.....
0bd0: 54 6f 20 63 72 65 61 74 65 20 74 68 65 20 73 74  To create the st
0be0: 6f 72 61 67 65 20 64 61 74 61 62 61 73 65 2c 20  orage database, 
0bf0: 6f 6e 65 20 6f 66 20 74 77 6f 20 54 63 6c 6b 69  one of two Tclki
0c00: 74 73 20 69 73 20 75 73 65 64 20 28 74 72 69 65  ts is used (trie
0c10: 64 20 69 6e 20 74 68 69 73 20 6f 72 64 65 72 29  d in this order)
0c20: 3a 0d 0a 20 20 3c 6f 6c 20 74 79 70 65 3d 22 31  :..  <ol type="1
0c30: 22 3e 0d 0a 20 20 20 20 3c 6c 69 3e 54 68 65 20  ">..    <li>The 
0c40: 54 63 6c 6b 69 74 20 73 70 65 63 69 66 69 65 64  Tclkit specified
0c50: 20 62 79 20 74 68 65 20 54 43 4c 4b 49 54 20 65   by the TCLKIT e
0c60: 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61  nvironment varia
0c70: 62 6c 65 20 28 6f 72 20 22 74 63 6c 6b 69 74 22  ble (or "tclkit"
0c80: 20 69 66 20 74 68 61 74 20 76 61 72 69 61 62 6c   if that variabl
0c90: 65 20 69 73 20 6e 6f 74 20 73 65 74 29 20 69 66  e is not set) if
0ca0: 20 69 74 20 69 73 20 66 75 6e 63 74 69 6f 6e 61   it is functiona
0cb0: 6c 3b 20 6f 72 3c 2f 6c 69 3e 20 0d 0a 20 20 20  l; or</li> ..   
0cc0: 20 3c 6c 69 3e 54 68 65 20 62 75 69 6c 74 20 54   <li>The built T
0cd0: 63 6c 6b 69 74 20 69 74 73 65 6c 66 3c 2f 6c 69  clkit itself</li
0ce0: 3e 0d 0a 20 20 3c 2f 6f 6c 3e 0d 0a 54 68 65 20  >..  </ol>..The 
0cf0: 73 65 63 6f 6e 64 20 6d 65 74 68 6f 64 20 77 69  second method wi
0d00: 6c 6c 20 6e 6f 74 20 77 6f 72 6b 20 69 66 20 74  ll not work if t
0d10: 68 65 20 62 75 69 6c 74 20 54 63 6c 6b 69 74 20  he built Tclkit 
0d20: 69 73 20 6e 6f 74 20 65 78 65 63 75 74 61 62 6c  is not executabl
0d30: 65 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74  e on the current
0d40: 20 70 6c 61 74 66 6f 72 6d 20 28 69 2e 65 2e 2c   platform (i.e.,
0d50: 20 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20   in the case of 
0d60: 63 72 6f 73 73 2d 63 6f 6d 70 69 6c 61 74 69 6f  cross-compilatio
0d70: 6e 29 20 61 6e 64 20 73 6f 20 69 74 20 6d 61 79  n) and so it may
0d80: 20 62 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f   be necessary to
0d90: 20 62 6f 6f 74 73 74 72 61 70 20 61 20 72 75 6e   bootstrap a run
0da0: 6e 61 62 6c 65 20 54 63 6c 6b 69 74 20 66 69 72  nable Tclkit fir
0db0: 73 74 2e 0d 0a 3c 2f 70 3e 0d 0a 0a 5a 20 37 63  st...</p>...Z 7c
0dc0: 39 63 61 62 63 33 61 31 66 65 65 32 31 32 31 38  9cabc3a1fee21218
0dd0: 39 61 30 33 30 31 35 36 34 33 33 35 31 62 0a     9a03015643351b.