Hex Artifact Content

Artifact ac7e431abea7f56be079d6b3a4c9fbaadfc210421a8814a2f573e22e52937ee5:


0000: 23 20 2d 2a 2d 20 74 63 6c 20 2d 2a 2d 0a 23 20  # -*- tcl -*-.# 
0010: 54 63 6c 20 70 61 63 6b 61 67 65 20 69 6e 64 65  Tcl package inde
0020: 78 20 66 69 6c 65 2c 20 76 65 72 73 69 6f 6e 20  x file, version 
0030: 31 2e 31 0a 23 0a 69 66 20 7b 5b 70 61 63 6b 61  1.1.#.if {[packa
0040: 67 65 20 76 73 61 74 69 73 66 69 65 73 20 5b 70  ge vsatisfies [p
0050: 61 63 6b 61 67 65 20 70 72 6f 76 69 64 65 20 54  ackage provide T
0060: 63 6c 5d 20 39 2e 30 2d 5d 7d 20 7b 0a 20 20 20  cl] 9.0-]} {.   
0070: 20 70 61 63 6b 61 67 65 20 69 66 6e 65 65 64 65   package ifneede
0080: 64 20 40 50 41 43 4b 41 47 45 5f 4e 41 4d 45 40  d @PACKAGE_NAME@
0090: 20 40 50 41 43 4b 41 47 45 5f 56 45 52 53 49 4f   @PACKAGE_VERSIO
00a0: 4e 40 20 5b 6c 69 73 74 20 61 70 70 6c 79 20 7b  N@ [list apply {
00b0: 7b 64 69 72 7d 20 7b 0a 09 23 20 4c 6f 61 64 20  {dir} {..# Load 
00c0: 6c 69 62 72 61 72 79 0a 09 69 66 20 7b 5b 73 74  library..if {[st
00d0: 72 69 6e 67 20 74 6f 6c 6f 77 65 72 20 5b 66 69  ring tolower [fi
00e0: 6c 65 20 65 78 74 65 6e 73 69 6f 6e 20 40 50 4b  le extension @PK
00f0: 47 5f 4c 49 42 5f 46 49 4c 45 39 40 5d 5d 20 69  G_LIB_FILE9@]] i
0100: 6e 20 5b 6c 69 73 74 20 2e 64 6c 6c 20 2e 64 79  n [list .dll .dy
0110: 6c 69 62 20 2e 73 6f 5d 7d 20 7b 0a 09 20 20 20  lib .so]} {..   
0120: 20 23 20 4c 6f 61 64 20 64 79 6e 61 6d 69 63 20   # Load dynamic 
0130: 6c 69 62 72 61 72 79 0a 09 20 20 20 20 6c 6f 61  library..    loa
0140: 64 20 5b 66 69 6c 65 20 6a 6f 69 6e 20 24 64 69  d [file join $di
0150: 72 20 40 50 4b 47 5f 4c 49 42 5f 46 49 4c 45 39  r @PKG_LIB_FILE9
0160: 40 5d 20 5b 73 74 72 69 6e 67 20 74 6f 74 69 74  @] [string totit
0170: 6c 65 20 40 50 41 43 4b 41 47 45 5f 4e 41 4d 45  le @PACKAGE_NAME
0180: 40 5d 0a 09 7d 20 65 6c 73 65 20 7b 0a 09 20 20  @]..} else {..  
0190: 20 20 23 20 53 74 61 74 69 63 20 6c 69 62 72 61    # Static libra
01a0: 72 79 0a 09 20 20 20 20 6c 6f 61 64 20 7b 7d 20  ry..    load {} 
01b0: 5b 73 74 72 69 6e 67 20 74 6f 74 69 74 6c 65 20  [string totitle 
01c0: 40 50 41 43 4b 41 47 45 5f 4e 41 4d 45 40 5d 0a  @PACKAGE_NAME@].
01d0: 09 7d 0a 0a 09 23 20 53 6f 75 72 63 65 20 69 6e  .}...# Source in
01e0: 69 74 20 66 69 6c 65 0a 09 73 65 74 20 69 6e 69  it file..set ini
01f0: 74 53 63 72 69 70 74 20 5b 66 69 6c 65 20 6a 6f  tScript [file jo
0200: 69 6e 20 24 64 69 72 20 40 50 41 43 4b 41 47 45  in $dir @PACKAGE
0210: 5f 4e 41 4d 45 40 2e 74 63 6c 5d 0a 09 69 66 20  [email protected]]..if 
0220: 7b 5b 66 69 6c 65 20 65 78 69 73 74 73 20 24 69  {[file exists $i
0230: 6e 69 74 53 63 72 69 70 74 5d 7d 20 7b 0a 09 20  nitScript]} {.. 
0240: 20 20 20 73 6f 75 72 63 65 20 2d 65 6e 63 6f 64     source -encod
0250: 69 6e 67 20 75 74 66 2d 38 20 24 69 6e 69 74 53  ing utf-8 $initS
0260: 63 72 69 70 74 0a 09 7d 0a 20 20 20 20 7d 7d 20  cript..}.    }} 
0270: 24 64 69 72 5d 0a 7d 20 65 6c 73 65 20 7b 0a 20  $dir].} else {. 
0280: 20 20 20 69 66 20 7b 21 5b 70 61 63 6b 61 67 65     if {![package
0290: 20 76 73 61 74 69 73 66 69 65 73 20 5b 70 61 63   vsatisfies [pac
02a0: 6b 61 67 65 20 70 72 6f 76 69 64 65 20 54 63 6c  kage provide Tcl
02b0: 5d 20 38 2e 35 5d 7d 20 7b 72 65 74 75 72 6e 7d  ] 8.5]} {return}
02c0: 0a 20 20 20 20 70 61 63 6b 61 67 65 20 69 66 6e  .    package ifn
02d0: 65 65 64 65 64 20 40 50 41 43 4b 41 47 45 5f 4e  eeded @PACKAGE_N
02e0: 41 4d 45 40 20 40 50 41 43 4b 41 47 45 5f 56 45  AME@ @PACKAGE_VE
02f0: 52 53 49 4f 4e 40 20 5b 6c 69 73 74 20 61 70 70  RSION@ [list app
0300: 6c 79 20 7b 7b 64 69 72 7d 20 7b 0a 09 23 20 4c  ly {{dir} {..# L
0310: 6f 61 64 20 6c 69 62 72 61 72 79 0a 09 69 66 20  oad library..if 
0320: 7b 5b 73 74 72 69 6e 67 20 74 6f 6c 6f 77 65 72  {[string tolower
0330: 20 5b 66 69 6c 65 20 65 78 74 65 6e 73 69 6f 6e   [file extension
0340: 20 40 50 4b 47 5f 4c 49 42 5f 46 49 4c 45 38 40   @PKG_LIB_FILE8@
0350: 5d 5d 20 69 6e 20 5b 6c 69 73 74 20 2e 64 6c 6c  ]] in [list .dll
0360: 20 2e 64 79 6c 69 62 20 2e 73 6f 5d 7d 20 7b 0a   .dylib .so]} {.
0370: 09 20 20 20 20 23 20 4c 6f 61 64 20 64 79 6e 61  .    # Load dyna
0380: 6d 69 63 20 6c 69 62 72 61 72 79 0a 09 20 20 20  mic library..   
0390: 20 6c 6f 61 64 20 5b 66 69 6c 65 20 6a 6f 69 6e   load [file join
03a0: 20 24 64 69 72 20 40 50 4b 47 5f 4c 49 42 5f 46   $dir @PKG_LIB_F
03b0: 49 4c 45 38 40 5d 20 5b 73 74 72 69 6e 67 20 74  ILE8@] [string t
03c0: 6f 74 69 74 6c 65 20 40 50 41 43 4b 41 47 45 5f  otitle @PACKAGE_
03d0: 4e 41 4d 45 40 5d 0a 09 7d 20 65 6c 73 65 20 7b  NAME@]..} else {
03e0: 0a 09 20 20 20 20 23 20 53 74 61 74 69 63 20 6c  ..    # Static l
03f0: 69 62 72 61 72 79 0a 09 20 20 20 20 6c 6f 61 64  ibrary..    load
0400: 20 7b 7d 20 5b 73 74 72 69 6e 67 20 74 6f 74 69   {} [string toti
0410: 74 6c 65 20 40 50 41 43 4b 41 47 45 5f 4e 41 4d  tle @PACKAGE_NAM
0420: 45 40 5d 0a 09 7d 0a 0a 09 23 20 53 6f 75 72 63  E@]..}...# Sourc
0430: 65 20 69 6e 69 74 20 66 69 6c 65 0a 09 73 65 74  e init file..set
0440: 20 69 6e 69 74 53 63 72 69 70 74 20 5b 66 69 6c   initScript [fil
0450: 65 20 6a 6f 69 6e 20 24 64 69 72 20 40 50 41 43  e join $dir @PAC
0460: 4b 41 47 45 5f 4e 41 4d 45 40 2e 74 63 6c 5d 0a  [email protected]].
0470: 09 69 66 20 7b 5b 66 69 6c 65 20 65 78 69 73 74  .if {[file exist
0480: 73 20 24 69 6e 69 74 53 63 72 69 70 74 5d 7d 20  s $initScript]} 
0490: 7b 0a 09 20 20 20 20 73 6f 75 72 63 65 20 2d 65  {..    source -e
04a0: 6e 63 6f 64 69 6e 67 20 75 74 66 2d 38 20 24 69  ncoding utf-8 $i
04b0: 6e 69 74 53 63 72 69 70 74 0a 09 7d 0a 20 20 20  nitScript..}.   
04c0: 20 7d 7d 20 24 64 69 72 5d 0a 7d 0a               }} $dir].}.