Tcl Extension Architecture (TEA) Sample Extension

Hex Artifact Content
Login
Bounty program for improvements to Tcl and certain Tcl packages.

Artifact a00a1e8576330896d92440437295196b3bb19496:


0000: 54 68 69 73 20 69 73 20 61 20 73 61 6d 70 6c 65  This is a sample
0010: 20 65 78 74 65 6e 73 69 6f 6e 20 73 68 6f 77 69   extension showi
0020: 6e 67 20 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 61  ng an implementa
0030: 74 69 6f 6e 20 6f 66 20 74 68 65 20 54 63 6c 20  tion of the Tcl 
0040: 45 78 74 65 6e 73 69 6f 6e 0a 41 72 63 68 69 74  Extension.Archit
0050: 65 63 74 75 72 65 20 28 54 45 41 29 2e 20 20 50  ecture (TEA).  P
0060: 6c 65 61 73 65 20 73 65 65 20 74 68 65 20 77 65  lease see the we
0070: 62 70 61 67 65 0a 0a 09 68 74 74 70 3a 2f 2f 77  bpage...http://w
0080: 77 77 2e 74 63 6c 2e 74 6b 2f 64 6f 63 2f 74 65  ww.tcl.tk/doc/te
0090: 61 2f 0a 0a 66 6f 72 20 6d 6f 72 65 20 64 65 74  a/..for more det
00a0: 61 69 6c 73 20 6f 6e 20 54 45 41 2e 20 20 59 6f  ails on TEA.  Yo
00b0: 75 20 63 61 6e 20 61 6c 73 6f 20 72 65 61 64 20  u can also read 
00c0: 74 68 65 20 65 6e 63 6c 6f 73 65 64 20 22 74 65  the enclosed "te
00d0: 61 2e 70 64 66 22 20 64 6f 63 75 6d 65 6e 74 0a  a.pdf" document.
00e0: 66 6f 72 20 69 6e 73 74 72 75 63 74 69 6f 6e 73  for instructions
00f0: 20 6f 6e 20 68 6f 77 20 74 6f 20 61 64 61 70 74   on how to adapt
0100: 20 74 68 69 73 20 73 61 6d 70 6c 65 20 65 78 74   this sample ext
0110: 65 6e 73 69 6f 6e 20 74 6f 20 79 6f 75 72 20 65  ension to your e
0120: 78 74 65 6e 73 69 6f 6e 2e 0a 0a 54 68 69 73 20  xtension...This 
0130: 70 61 63 6b 61 67 65 20 69 73 20 61 20 66 72 65  package is a fre
0140: 65 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 6f 70  ely available op
0150: 65 6e 20 73 6f 75 72 63 65 20 70 61 63 6b 61 67  en source packag
0160: 65 2e 20 20 59 6f 75 20 63 61 6e 20 64 6f 0a 76  e.  You can do.v
0170: 69 72 74 75 61 6c 6c 79 20 61 6e 79 74 68 69 6e  irtually anythin
0180: 67 20 79 6f 75 20 6c 69 6b 65 20 77 69 74 68 20  g you like with 
0190: 69 74 2c 20 73 75 63 68 20 61 73 20 6d 6f 64 69  it, such as modi
01a0: 66 79 69 6e 67 20 69 74 2c 20 72 65 64 69 73 74  fying it, redist
01b0: 72 69 62 75 74 69 6e 67 0a 69 74 2c 20 61 6e 64  ributing.it, and
01c0: 20 73 65 6c 6c 69 6e 67 20 69 74 20 65 69 74 68   selling it eith
01d0: 65 72 20 69 6e 20 77 68 6f 6c 65 20 6f 72 20 69  er in whole or i
01e0: 6e 20 70 61 72 74 2e 20 20 53 65 65 20 74 68 65  n part.  See the
01f0: 20 66 69 6c 65 0a 22 6c 69 63 65 6e 73 65 2e 74   file."license.t
0200: 65 72 6d 73 22 20 66 6f 72 20 63 6f 6d 70 6c 65  erms" for comple
0210: 74 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a  te information..
0220: 0a 43 4f 4e 54 45 4e 54 53 0a 3d 3d 3d 3d 3d 3d  .CONTENTS.======
0230: 3d 3d 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67  ==.The following
0240: 20 69 73 20 61 20 73 68 6f 72 74 20 64 65 73 63   is a short desc
0250: 72 69 70 74 69 6f 6e 20 6f 66 20 74 68 65 20 66  ription of the f
0260: 69 6c 65 73 20 79 6f 75 20 77 69 6c 6c 20 66 69  iles you will fi
0270: 6e 64 20 69 6e 0a 74 68 65 20 73 61 6d 70 6c 65  nd in.the sample
0280: 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 0a 4d 61 6b   extension...Mak
0290: 65 66 69 6c 65 2e 69 6e 09 4d 61 6b 65 66 69 6c  efile.in.Makefil
02a0: 65 20 74 65 6d 70 6c 61 74 65 2e 20 20 54 68 65  e template.  The
02b0: 20 63 6f 6e 66 69 67 75 72 65 20 73 63 72 69 70   configure scrip
02c0: 74 20 75 73 65 73 20 74 68 69 73 20 66 69 6c 65  t uses this file
02d0: 20 74 6f 0a 09 09 70 72 6f 64 75 63 65 20 74 68   to...produce th
02e0: 65 20 66 69 6e 61 6c 20 4d 61 6b 65 66 69 6c 65  e final Makefile
02f0: 2e 0a 0a 52 45 41 44 4d 45 09 09 54 68 69 73 20  ...README..This 
0300: 66 69 6c 65 0a 0a 52 45 41 44 4d 45 2e 73 68 61  file..README.sha
0310: 09 41 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f  .A description o
0320: 66 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20  f the extension 
0330: 69 74 73 65 6c 66 2e 0a 0a 61 63 6c 6f 63 61 6c  itself...aclocal
0340: 2e 6d 34 09 47 65 6e 65 72 61 74 65 64 20 66 69  .m4.Generated fi
0350: 6c 65 2e 20 20 44 6f 20 6e 6f 74 20 65 64 69 74  le.  Do not edit
0360: 2e 20 20 41 75 74 6f 63 6f 6e 66 20 75 73 65 73  .  Autoconf uses
0370: 20 74 68 69 73 20 61 73 20 69 6e 70 75 74 0a 09   this as input..
0380: 09 77 68 65 6e 20 67 65 6e 65 72 61 74 69 6e 67  .when generating
0390: 20 74 68 65 20 66 69 6e 61 6c 20 63 6f 6e 66 69   the final confi
03a0: 67 75 72 65 20 73 63 72 69 70 74 2e 20 20 53 65  gure script.  Se
03b0: 65 20 22 74 63 6c 2e 6d 34 22 0a 09 09 62 65 6c  e "tcl.m4"...bel
03c0: 6f 77 2e 0a 0a 63 6f 6e 66 69 67 75 72 65 09 47  ow...configure.G
03d0: 65 6e 65 72 61 74 65 64 20 66 69 6c 65 2e 20 20  enerated file.  
03e0: 44 6f 20 6e 6f 74 20 65 64 69 74 2e 20 20 54 68  Do not edit.  Th
03f0: 69 73 20 6d 75 73 74 20 62 65 20 72 65 67 65 6e  is must be regen
0400: 65 72 61 74 65 64 0a 09 09 61 6e 79 74 69 6d 65  erated...anytime
0410: 20 63 6f 6e 66 69 67 75 72 65 2e 61 63 20 6f 72   configure.ac or
0420: 20 74 63 6c 63 6f 6e 66 69 67 2f 74 63 6c 2e 6d   tclconfig/tcl.m
0430: 34 20 63 68 61 6e 67 65 73 2e 0a 0a 63 6f 6e 66  4 changes...conf
0440: 69 67 75 72 65 2e 61 63 09 43 6f 6e 66 69 67 75  igure.ac.Configu
0450: 72 65 20 73 63 72 69 70 74 20 74 65 6d 70 6c 61  re script templa
0460: 74 65 2e 20 20 41 75 74 6f 63 6f 6e 66 20 75 73  te.  Autoconf us
0470: 65 73 20 74 68 69 73 20 66 69 6c 65 20 61 73 20  es this file as 
0480: 69 6e 70 75 74 0a 09 09 74 6f 20 70 72 6f 64 75  input...to produ
0490: 63 65 20 74 68 65 20 66 69 6e 61 6c 20 63 6f 6e  ce the final con
04a0: 66 69 67 75 72 65 20 73 63 72 69 70 74 2e 0a 0a  figure script...
04b0: 70 6b 67 49 6e 64 65 78 2e 74 63 6c 2e 69 6e 20  pkgIndex.tcl.in 
04c0: 50 61 63 6b 61 67 65 20 69 6e 64 65 78 20 74 65  Package index te
04d0: 6d 70 6c 61 74 65 2e 20 20 54 68 65 20 63 6f 6e  mplate.  The con
04e0: 66 69 67 75 72 65 20 73 63 72 69 70 74 20 77 69  figure script wi
04f0: 6c 6c 20 75 73 65 0a 09 09 74 68 69 73 20 66 69  ll use...this fi
0500: 6c 65 20 61 73 20 69 6e 70 75 74 20 74 6f 20 63  le as input to c
0510: 72 65 61 74 65 20 70 6b 67 49 6e 64 65 78 2e 74  reate pkgIndex.t
0520: 63 6c 2e 0a 0a 73 61 6d 70 6c 65 2e 63 09 43 6f  cl...sample.c.Co
0530: 72 65 20 53 65 63 75 72 65 20 48 61 73 68 20 41  re Secure Hash A
0540: 6c 67 6f 72 69 74 68 6d 20 63 6f 64 65 2e 0a 0a  lgorithm code...
0550: 73 61 6d 70 6c 65 2e 68 09 48 65 61 64 65 72 20  sample.h.Header 
0560: 66 69 6c 65 20 66 6f 72 20 66 75 6e 63 74 69 6f  file for functio
0570: 6e 73 20 69 6e 20 74 68 65 20 43 20 66 69 6c 65  ns in the C file
0580: 73 2e 0a 0a 73 68 61 31 2e 6e 09 09 55 6e 69 78  s...sha1.n..Unix
0590: 20 6e 72 6f 66 66 20 6d 61 6e 20 70 61 67 65 0a   nroff man page.
05a0: 0a 74 63 6c 73 61 6d 70 6c 65 2e 63 09 49 6d 70  .tclsample.c.Imp
05b0: 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 6e  lementation of n
05c0: 65 77 20 54 63 6c 20 63 6f 6d 6d 61 6e 64 20 22  ew Tcl command "
05d0: 73 68 61 31 22 2e 0a 0a 74 65 61 2e 70 64 66 09  sha1"...tea.pdf.
05e0: 09 50 44 46 20 66 69 6c 65 20 64 65 73 63 72 69  .PDF file descri
05f0: 62 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74  bing the current
0600: 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20   implementation 
0610: 6f 66 20 74 68 65 0a 09 09 54 63 6c 20 45 78 74  of the...Tcl Ext
0620: 65 6e 73 69 6f 6e 20 41 72 63 68 69 74 65 63 74  ension Architect
0630: 75 72 65 0a 0a 74 63 6c 63 6f 6e 66 69 67 2f 09  ure..tclconfig/.
0640: 54 68 69 73 20 64 69 72 65 63 74 6f 72 79 20 63  This directory c
0650: 6f 6e 74 61 69 6e 73 20 76 61 72 69 6f 75 73 20  ontains various 
0660: 74 65 6d 70 6c 61 74 65 20 66 69 6c 65 73 20 74  template files t
0670: 68 61 74 20 62 75 69 6c 64 0a 09 09 74 68 65 20  hat build...the 
0680: 63 6f 6e 66 69 67 75 72 65 20 73 63 72 69 70 74  configure script
0690: 2e 20 20 54 68 65 79 20 73 68 6f 75 6c 64 20 6e  .  They should n
06a0: 6f 74 20 6e 65 65 64 20 6d 6f 64 69 66 69 63 61  ot need modifica
06b0: 74 69 6f 6e 2e 0a 0a 09 69 6e 73 74 61 6c 6c 2d  tion....install-
06c0: 73 68 09 50 72 6f 67 72 61 6d 20 75 73 65 64 20  sh.Program used 
06d0: 66 6f 72 20 63 6f 70 79 69 6e 67 20 62 69 6e 61  for copying bina
06e0: 72 69 65 73 20 61 6e 64 20 73 63 72 69 70 74 20  ries and script 
06f0: 66 69 6c 65 73 0a 09 09 09 74 6f 20 74 68 65 69  files....to thei
0700: 72 20 69 6e 73 74 61 6c 6c 20 6c 6f 63 61 74 69  r install locati
0710: 6f 6e 73 2e 0a 0a 09 74 63 6c 2e 6d 34 09 09 43  ons....tcl.m4..C
0720: 6f 6c 6c 65 63 74 69 6f 6e 20 6f 66 20 54 63 6c  ollection of Tcl
0730: 20 61 75 74 6f 63 6f 6e 66 20 6d 61 63 72 6f 73   autoconf macros
0740: 2e 20 20 49 6e 63 6c 75 64 65 64 20 62 79 0a 09  .  Included by..
0750: 09 09 61 63 6c 6f 63 61 6c 2e 6d 34 20 74 6f 20  ..aclocal.m4 to 
0760: 64 65 66 69 6e 65 20 53 43 5f 2a 20 6d 61 63 72  define SC_* macr
0770: 6f 73 2e 0a 0a 55 4e 49 58 20 42 55 49 4c 44 0a  os...UNIX BUILD.
0780: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 42 75 69 6c  ==========..Buil
0790: 64 69 6e 67 20 75 6e 64 65 72 20 6d 6f 73 74 20  ding under most 
07a0: 55 4e 49 58 20 73 79 73 74 65 6d 73 20 69 73 20  UNIX systems is 
07b0: 65 61 73 79 2c 20 6a 75 73 74 20 72 75 6e 20 74  easy, just run t
07c0: 68 65 20 63 6f 6e 66 69 67 75 72 65 20 73 63 72  he configure scr
07d0: 69 70 74 0a 61 6e 64 20 74 68 65 6e 20 72 75 6e  ipt.and then run
07e0: 20 6d 61 6b 65 2e 20 46 6f 72 20 6d 6f 72 65 20   make. For more 
07f0: 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75  information abou
0800: 74 20 74 68 65 20 62 75 69 6c 64 20 70 72 6f 63  t the build proc
0810: 65 73 73 2c 20 73 65 65 0a 74 68 65 20 74 63 6c  ess, see.the tcl
0820: 2f 75 6e 69 78 2f 52 45 41 44 4d 45 20 66 69 6c  /unix/README fil
0830: 65 20 69 6e 20 74 68 65 20 54 63 6c 20 73 72 63  e in the Tcl src
0840: 20 64 69 73 74 2e 20 54 68 65 20 66 6f 6c 6c 6f   dist. The follo
0850: 77 69 6e 67 20 6d 69 6e 69 6d 61 6c 0a 65 78 61  wing minimal.exa
0860: 6d 70 6c 65 20 77 69 6c 6c 20 69 6e 73 74 61 6c  mple will instal
0870: 6c 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20  l the extension 
0880: 69 6e 20 74 68 65 20 2f 6f 70 74 2f 74 63 6c 20  in the /opt/tcl 
0890: 64 69 72 65 63 74 6f 72 79 2e 0a 0a 09 24 20 63  directory....$ c
08a0: 64 20 73 61 6d 70 6c 65 65 78 74 65 6e 73 69 6f  d sampleextensio
08b0: 6e 0a 09 24 20 2e 2f 63 6f 6e 66 69 67 75 72 65  n..$ ./configure
08c0: 20 2d 2d 70 72 65 66 69 78 3d 2f 6f 70 74 2f 74   --prefix=/opt/t
08d0: 63 6c 0a 09 24 20 6d 61 6b 65 0a 09 24 20 6d 61  cl..$ make..$ ma
08e0: 6b 65 20 69 6e 73 74 61 6c 6c 0a 0a 57 49 4e 44  ke install..WIND
08f0: 4f 57 53 20 42 55 49 4c 44 0a 3d 3d 3d 3d 3d 3d  OWS BUILD.======
0900: 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65 20 72 65 63  =======..The rec
0910: 6f 6d 6d 65 6e 64 65 64 20 6d 65 74 68 6f 64 20  ommended method 
0920: 74 6f 20 62 75 69 6c 64 20 65 78 74 65 6e 73 69  to build extensi
0930: 6f 6e 73 20 75 6e 64 65 72 20 77 69 6e 64 6f 77  ons under window
0940: 73 20 69 73 20 74 6f 20 75 73 65 20 74 68 65 0a  s is to use the.
0950: 4d 73 79 73 20 2b 20 4d 69 6e 67 77 20 62 75 69  Msys + Mingw bui
0960: 6c 64 20 70 72 6f 63 65 73 73 2e 20 54 68 69 73  ld process. This
0970: 20 70 72 6f 76 69 64 65 73 20 61 20 55 6e 69 78   provides a Unix
0980: 2d 73 74 79 6c 65 20 62 75 69 6c 64 20 77 68 69  -style build whi
0990: 6c 65 0a 67 65 6e 65 72 61 74 69 6e 67 20 6e 61  le.generating na
09a0: 74 69 76 65 20 57 69 6e 64 6f 77 73 20 62 69 6e  tive Windows bin
09b0: 61 72 69 65 73 2e 20 55 73 69 6e 67 20 74 68 65  aries. Using the
09c0: 20 4d 73 79 73 20 2b 20 4d 69 6e 67 77 20 62 75   Msys + Mingw bu
09d0: 69 6c 64 20 74 6f 6f 6c 73 0a 6d 65 61 6e 73 20  ild tools.means 
09e0: 74 68 61 74 20 79 6f 75 20 63 61 6e 20 75 73 65  that you can use
09f0: 20 74 68 65 20 73 61 6d 65 20 63 6f 6e 66 69 67   the same config
0a00: 75 72 65 20 73 63 72 69 70 74 20 61 73 20 70 65  ure script as pe
0a10: 72 20 74 68 65 20 55 6e 69 78 20 62 75 69 6c 64  r the Unix build
0a20: 0a 74 6f 20 63 72 65 61 74 65 20 61 20 4d 61 6b  .to create a Mak
0a30: 65 66 69 6c 65 2e 20 53 65 65 20 74 68 65 20 74  efile. See the t
0a40: 63 6c 2f 77 69 6e 2f 52 45 41 44 4d 45 20 66 69  cl/win/README fi
0a50: 6c 65 20 66 6f 72 20 74 68 65 20 55 52 4c 20 6f  le for the URL o
0a60: 66 0a 74 68 65 20 4d 73 79 73 20 2b 20 4d 69 6e  f.the Msys + Min
0a70: 67 77 20 64 6f 77 6e 6c 6f 61 64 2e 0a 0a 49 66  gw download...If
0a80: 20 79 6f 75 20 68 61 76 65 20 56 43 2b 2b 20 74   you have VC++ t
0a90: 68 65 6e 20 79 6f 75 20 6d 61 79 20 77 69 73 68  hen you may wish
0aa0: 20 74 6f 20 75 73 65 20 74 68 65 20 66 69 6c 65   to use the file
0ab0: 73 20 69 6e 20 74 68 65 20 77 69 6e 0a 73 75 62  s in the win.sub
0ac0: 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 62 75  directory and bu
0ad0: 69 6c 64 20 74 68 65 20 65 78 74 65 6e 73 69 6f  ild the extensio
0ae0: 6e 20 75 73 69 6e 67 20 6a 75 73 74 20 56 43 2b  n using just VC+
0af0: 2b 2e 20 54 68 65 73 65 20 66 69 6c 65 73 20 68  +. These files h
0b00: 61 76 65 0a 62 65 65 6e 20 64 65 73 69 67 6e 65  ave.been designe
0b10: 64 20 74 6f 20 62 65 20 61 73 20 67 65 6e 65 72  d to be as gener
0b20: 69 63 20 61 73 20 70 6f 73 73 69 62 6c 65 20 62  ic as possible b
0b30: 75 74 20 77 69 6c 6c 20 72 65 71 75 69 72 65 20  ut will require 
0b40: 73 6f 6d 65 0a 61 64 64 69 74 69 6f 6e 61 6c 20  some.additional 
0b50: 6d 61 69 6e 74 65 6e 61 6e 63 65 20 62 79 20 74  maintenance by t
0b60: 68 65 20 70 72 6f 6a 65 63 74 20 64 65 76 65 6c  he project devel
0b70: 6f 70 65 72 20 74 6f 20 73 79 6e 63 68 72 6f 6e  oper to synchron
0b80: 69 73 65 20 77 69 74 68 0a 74 68 65 20 54 45 41  ise with.the TEA
0b90: 20 63 6f 6e 66 69 67 75 72 65 2e 61 63 20 61 6e   configure.ac an
0ba0: 64 20 4d 61 6b 65 66 69 6c 65 2e 69 6e 20 66 69  d Makefile.in fi
0bb0: 6c 65 73 2e 20 49 6e 73 74 72 75 63 74 69 6f 6e  les. Instruction
0bc0: 73 20 66 6f 72 20 75 73 69 6e 67 20 74 68 65 0a  s for using the.
0bd0: 56 43 2b 2b 20 6d 61 6b 65 66 69 6c 65 20 61 72  VC++ makefile ar
0be0: 65 20 77 72 69 74 74 65 6e 20 69 6e 20 74 68 65  e written in the
0bf0: 20 66 69 72 73 74 20 70 61 72 74 20 6f 66 20 74   first part of t
0c00: 68 65 20 4d 61 6b 65 66 69 6c 65 2e 76 63 0a 66  he Makefile.vc.f
0c10: 69 6c 65 2e 0a 0a 49 4e 53 54 41 4c 4c 41 54 49  ile...INSTALLATI
0c20: 4f 4e 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a  ON.============.
0c30: 0a 54 68 65 20 69 6e 73 74 61 6c 6c 61 74 69 6f  .The installatio
0c40: 6e 20 6f 66 20 61 20 54 45 41 20 70 61 63 6b 61  n of a TEA packa
0c50: 67 65 20 69 73 20 73 74 72 75 63 74 75 72 65 20  ge is structure 
0c60: 6c 69 6b 65 20 73 6f 3a 0a 0a 20 20 20 20 20 20  like so:..      
0c70: 20 20 20 24 65 78 65 63 5f 70 72 65 66 69 78 0a     $exec_prefix.
0c80: 20 20 20 20 20 20 20 20 20 20 2f 20 20 20 20 20            /     
0c90: 20 20 5c 0a 20 20 20 20 20 20 20 20 6c 69 62 20    \.        lib 
0ca0: 20 20 20 20 20 20 62 69 6e 0a 20 20 20 20 20 20        bin.      
0cb0: 20 20 20 7c 20 20 20 20 20 20 20 20 20 7c 0a 20     |         |. 
0cc0: 20 20 50 41 43 4b 41 47 45 78 2e 79 20 20 20 28    PACKAGEx.y   (
0cd0: 64 65 70 65 6e 64 65 6e 74 20 2e 64 6c 6c 20 66  dependent .dll f
0ce0: 69 6c 65 73 20 6f 6e 20 57 69 6e 64 6f 77 73 29  iles on Windows)
0cf0: 0a 20 20 20 20 20 20 20 20 20 7c 0a 20 20 70 6b  .         |.  pk
0d00: 67 49 6e 64 65 78 2e 74 63 6c 20 28 2e 73 6f 7c  gIndex.tcl (.so|
0d10: 2e 64 6c 6c 20 66 69 6c 65 73 29 0a 0a 54 68 65  .dll files)..The
0d20: 20 6d 61 69 6e 20 2e 73 6f 7c 2e 64 6c 6c 20 6c   main .so|.dll l
0d30: 69 62 72 61 72 79 20 66 69 6c 65 20 67 65 74 73  ibrary file gets
0d40: 20 69 6e 73 74 61 6c 6c 65 64 20 69 6e 20 74 68   installed in th
0d50: 65 20 76 65 72 73 69 6f 6e 65 64 20 50 41 43 4b  e versioned PACK
0d60: 41 47 45 0a 64 69 72 65 63 74 6f 72 79 2c 20 77  AGE.directory, w
0d70: 68 69 63 68 20 69 73 20 4f 4b 20 6f 6e 20 61 6c  hich is OK on al
0d80: 6c 20 70 6c 61 74 66 6f 72 6d 73 20 62 65 63 61  l platforms beca
0d90: 75 73 65 20 69 74 20 77 69 6c 6c 20 62 65 20 64  use it will be d
0da0: 69 72 65 63 74 6c 79 0a 72 65 66 65 72 65 6e 63  irectly.referenc
0db0: 65 64 20 77 69 74 68 20 62 79 20 27 6c 6f 61 64  ed with by 'load
0dc0: 27 20 69 6e 20 74 68 65 20 70 6b 67 49 6e 64 65  ' in the pkgInde
0dd0: 78 2e 74 63 6c 20 66 69 6c 65 2e 20 20 44 65 70  x.tcl file.  Dep
0de0: 65 6e 64 65 6e 74 20 44 4c 4c 20 66 69 6c 65 73  endent DLL files
0df0: 20 6f 6e 0a 57 69 6e 64 6f 77 73 20 6d 75 73 74   on.Windows must
0e00: 20 67 6f 20 69 6e 20 74 68 65 20 62 69 6e 20 64   go in the bin d
0e10: 69 72 65 63 74 6f 72 79 20 28 6f 72 20 6f 74 68  irectory (or oth
0e20: 65 72 20 64 69 72 65 63 74 6f 72 79 20 6f 6e 20  er directory on 
0e30: 74 68 65 20 75 73 65 72 27 73 0a 50 41 54 48 29  the user's.PATH)
0e40: 20 69 6e 20 6f 72 64 65 72 20 66 6f 72 20 74 68   in order for th
0e50: 65 6d 20 74 6f 20 62 65 20 66 6f 75 6e 64 2e 0a  em to be found..