Hex Artifact Content

Artifact f143b94d8aefa0aed05309668979bcd068e9c3a7:


0000: 23 21 20 2f 62 69 6e 2f 62 61 73 68 0a 0a 54 43  #! /bin/bash..TC
0010: 4c 56 45 52 53 3d 22 38 2e 34 2e 31 39 22 0a 69  LVERS="8.4.19".i
0020: 66 20 65 63 68 6f 20 22 24 31 22 20 7c 20 67 72  f echo "$1" | gr
0030: 65 70 20 27 5e 5b 30 2d 39 5d 5b 30 2d 39 5d 2a  ep '^[0-9][0-9]*
0040: 5c 2e 27 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 7c  \.' >/dev/null |
0050: 7c 20 65 63 68 6f 20 22 24 31 22 20 7c 20 65 67  | echo "$1" | eg
0060: 72 65 70 20 27 5e 28 63 76 73 7c 66 6f 73 73 69  rep '^(cvs|fossi
0070: 6c 29 5f 27 20 3e 2f 64 65 76 2f 6e 75 6c 6c 3b  l)_' >/dev/null;
0080: 20 74 68 65 6e 0a 09 54 43 4c 56 45 52 53 3d 22   then..TCLVERS="
0090: 24 31 22 0a 0a 09 73 68 69 66 74 0a 66 69 0a 65  $1"...shift.fi.e
00a0: 78 70 6f 72 74 20 54 43 4c 56 45 52 53 0a 0a 23  xport TCLVERS..#
00b0: 20 44 65 74 65 72 6d 69 6e 65 20 61 70 70 72 6f   Determine appro
00c0: 70 72 69 61 74 65 20 6d 6f 64 65 0a 6d 6f 64 65  priate mode.mode
00d0: 3d 22 62 75 69 6c 64 22 0a 69 66 20 5b 20 22 24  ="build".if [ "$
00e0: 31 22 20 3d 20 22 63 6c 65 61 6e 22 20 5d 3b 20  1" = "clean" ]; 
00f0: 74 68 65 6e 0a 09 73 68 69 66 74 0a 0a 09 6d 6f  then..shift...mo
0100: 64 65 3d 22 63 6c 65 61 6e 22 0a 66 69 0a 69 66  de="clean".fi.if
0110: 20 5b 20 22 24 31 22 20 3d 20 22 64 69 73 74 63   [ "$1" = "distc
0120: 6c 65 61 6e 22 20 5d 3b 20 74 68 65 6e 0a 09 73  lean" ]; then..s
0130: 68 69 66 74 0a 0a 09 6d 6f 64 65 3d 22 64 69 73  hift...mode="dis
0140: 74 63 6c 65 61 6e 22 0a 66 69 0a 0a 23 20 44 65  tclean".fi..# De
0150: 66 69 6e 65 20 74 68 65 20 6c 69 73 74 20 6f 66  fine the list of
0160: 20 61 6c 6c 20 70 61 63 6b 61 67 65 73 2c 20 66   all packages, f
0170: 6f 72 20 63 6c 65 61 6e 69 6e 67 20 70 75 72 70  or cleaning purp
0180: 6f 73 65 73 0a 4b 49 54 43 52 45 41 54 4f 52 5f  oses.KITCREATOR_
0190: 41 4c 4c 50 4b 47 53 3d 22 6b 69 74 73 68 20 74  ALLPKGS="kitsh t
01a0: 63 6c 20 74 63 6c 76 66 73 20 7a 6c 69 62 20 74  cl tclvfs zlib t
01b0: 6b 20 69 74 63 6c 20 6d 6b 34 74 63 6c 20 74 68  k itcl mk4tcl th
01c0: 72 65 61 64 22 0a 66 6f 72 20 70 6b 67 20 69 6e  read".for pkg in
01d0: 20 24 7b 4b 49 54 43 52 45 41 54 4f 52 5f 41 4c   ${KITCREATOR_AL
01e0: 4c 50 4b 47 53 7d 3b 20 64 6f 0a 09 72 6d 20 2d  LPKGS}; do..rm -
01f0: 66 20 22 24 7b 70 6b 67 7d 2f 62 75 69 6c 64 2e  f "${pkg}/build.
0200: 6c 6f 67 22 0a 09 72 6d 20 2d 72 66 20 22 24 7b  log"..rm -rf "${
0210: 70 6b 67 7d 2f 6f 75 74 22 20 22 24 7b 70 6b 67  pkg}/out" "${pkg
0220: 7d 2f 69 6e 73 74 22 20 22 24 7b 70 6b 67 7d 2f  }/inst" "${pkg}/
0230: 62 75 69 6c 64 22 0a 0a 09 72 6d 20 2d 72 66 20  build"...rm -rf 
0240: 22 24 7b 70 6b 67 7d 2f 73 72 63 22 2f 74 6d 70  "${pkg}/src"/tmp
0250: 2d 2a 0a 0a 09 69 66 20 5b 20 22 24 7b 6d 6f 64  -*...if [ "${mod
0260: 65 7d 22 20 3d 20 22 64 69 73 74 63 6c 65 61 6e  e}" = "distclean
0270: 22 20 5d 3b 20 74 68 65 6e 0a 09 09 72 6d 20 2d  " ]; then...rm -
0280: 72 66 20 22 24 7b 70 6b 67 7d 2f 73 72 63 22 0a  rf "${pkg}/src".
0290: 09 66 69 0a 64 6f 6e 65 0a 0a 23 20 57 65 27 72  .fi.done..# We'r
02a0: 65 20 61 6c 6c 20 64 6f 6e 65 20 69 66 20 77 65  e all done if we
02b0: 27 72 65 20 69 6e 20 63 6c 65 61 6e 20 6f 72 20  're in clean or 
02c0: 64 69 73 74 63 6c 65 61 6e 20 6d 6f 64 65 0a 69  distclean mode.i
02d0: 66 20 5b 20 22 24 7b 6d 6f 64 65 7d 22 20 3d 20  f [ "${mode}" = 
02e0: 22 63 6c 65 61 6e 22 20 2d 6f 20 22 24 7b 6d 6f  "clean" -o "${mo
02f0: 64 65 7d 22 20 3d 20 22 64 69 73 74 63 6c 65 61  de}" = "distclea
0300: 6e 22 20 5d 3b 20 74 68 65 6e 0a 09 72 6d 20 2d  n" ]; then..rm -
0310: 66 20 74 63 6c 6b 69 74 2d 2a 0a 09 72 6d 20 2d  f tclkit-*..rm -
0320: 66 20 6c 69 62 74 63 6c 6b 69 74 2a 2e 2a 0a 0a  f libtclkit*.*..
0330: 09 65 78 69 74 20 30 0a 66 69 0a 0a 23 20 41 64  .exit 0.fi..# Ad
0340: 64 20 70 61 63 6b 61 67 65 73 20 69 6d 70 6c 69  d packages impli
0350: 65 64 20 62 79 20 74 68 65 20 61 64 64 69 74 69  ed by the additi
0360: 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 0a 69  onal arguments.i
0370: 66 20 5b 20 2d 7a 20 22 24 7b 4b 49 54 43 52 45  f [ -z "${KITCRE
0380: 41 54 4f 52 5f 50 4b 47 53 7d 22 20 5d 3b 20 74  ATOR_PKGS}" ]; t
0390: 68 65 6e 0a 09 4b 49 54 43 52 45 41 54 4f 52 5f  hen..KITCREATOR_
03a0: 50 4b 47 53 3d 22 74 6b 20 69 74 63 6c 20 6d 6b  PKGS="tk itcl mk
03b0: 34 74 63 6c 22 0a 66 69 0a 0a 43 4f 4e 46 49 47  4tcl".fi..CONFIG
03c0: 55 52 45 45 58 54 52 41 3d 22 24 40 22 0a 65 78  UREEXTRA="$@".ex
03d0: 70 6f 72 74 20 43 4f 4e 46 49 47 55 52 45 45 58  port CONFIGUREEX
03e0: 54 52 41 0a 0a 69 66 20 65 63 68 6f 20 22 20 24  TRA..if echo " $
03f0: 7b 43 4f 4e 46 49 47 55 52 45 45 58 54 52 41 7d  {CONFIGUREEXTRA}
0400: 20 22 20 7c 20 67 72 65 70 20 27 20 2d 2d 65 6e   " | grep ' --en
0410: 61 62 6c 65 2d 74 68 72 65 61 64 73 27 20 3e 2f  able-threads' >/
0420: 64 65 76 2f 6e 75 6c 6c 20 32 3e 2f 64 65 76 2f  dev/null 2>/dev/
0430: 6e 75 6c 6c 3b 20 74 68 65 6e 0a 09 4b 49 54 43  null; then..KITC
0440: 52 45 41 54 4f 52 5f 50 4b 47 53 3d 22 24 7b 4b  REATOR_PKGS="${K
0450: 49 54 43 52 45 41 54 4f 52 5f 50 4b 47 53 7d 20  ITCREATOR_PKGS} 
0460: 74 68 72 65 61 64 22 0a 66 69 0a 0a 23 20 53 65  thread".fi..# Se
0470: 74 20 64 65 66 61 75 6c 74 20 74 61 72 67 65 74  t default target
0480: 0a 4b 49 54 54 41 52 47 45 54 3d 22 6b 69 74 73  .KITTARGET="kits
0490: 68 22 0a 65 78 70 6f 72 74 20 4b 49 54 54 41 52  h".export KITTAR
04a0: 47 45 54 0a 0a 23 20 46 69 78 20 75 70 20 70 61  GET..# Fix up pa
04b0: 63 6b 61 67 65 20 6c 69 73 74 0a 23 23 20 49 66  ckage list.## If
04c0: 20 62 75 69 6c 64 69 6e 67 20 4b 69 74 44 4c 4c   building KitDLL
04d0: 2c 20 64 65 66 69 6e 65 20 69 74 20 61 73 20 6f  , define it as o
04e0: 75 72 20 74 61 72 67 65 74 0a 69 66 20 65 63 68  ur target.if ech
04f0: 6f 20 22 20 24 7b 4b 49 54 43 52 45 41 54 4f 52  o " ${KITCREATOR
0500: 5f 50 4b 47 53 7d 20 22 20 7c 20 67 72 65 70 20  _PKGS} " | grep 
0510: 27 20 6b 69 74 64 6c 6c 20 27 20 3e 2f 64 65 76  ' kitdll ' >/dev
0520: 2f 6e 75 6c 6c 20 32 3e 2f 64 65 76 2f 6e 75 6c  /null 2>/dev/nul
0530: 6c 3b 20 74 68 65 6e 0a 09 4b 49 54 43 52 45 41  l; then..KITCREA
0540: 54 4f 52 5f 50 4b 47 53 3d 22 24 28 65 63 68 6f  TOR_PKGS="$(echo
0550: 20 22 20 24 7b 4b 49 54 43 52 45 41 54 4f 52 5f   " ${KITCREATOR_
0560: 50 4b 47 53 7d 20 22 20 7c 20 73 65 64 20 27 73  PKGS} " | sed 's
0570: 40 20 6b 69 74 64 6c 6c 20 40 20 40 67 3b 73 40  @ kitdll @ @g;s@
0580: 5e 20 20 2a 40 40 3b 73 40 20 20 2a 24 40 40 3b  ^  *@@;s@  *$@@;
0590: 73 40 20 20 20 2a 40 20 40 67 27 29 22 0a 09 4b  s@   *@ @g')"..K
05a0: 49 54 54 41 52 47 45 54 3d 22 6b 69 74 64 6c 6c  ITTARGET="kitdll
05b0: 22 0a 66 69 0a 0a 23 20 49 66 20 74 68 65 20 75  ".fi..# If the u
05c0: 73 65 72 20 6d 61 6e 75 61 6c 6c 79 20 72 65 71  ser manually req
05d0: 75 65 73 74 65 64 20 22 2d 2d 65 6e 61 62 6c 65  uested "--enable
05e0: 2d 6b 69 74 64 6c 6c 22 2c 20 6d 61 6b 65 20 69  -kitdll", make i
05f0: 74 20 73 6f 0a 69 66 20 65 63 68 6f 20 22 78 20  t so.if echo "x 
0600: 24 40 20 22 20 7c 20 67 72 65 70 20 27 20 5b 2d  $@ " | grep ' [-
0610: 5d 5b 2d 5d 65 6e 61 62 6c 65 2d 6b 69 74 64 6c  ][-]enable-kitdl
0620: 6c 20 27 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32  l ' >/dev/null 2
0630: 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e  >/dev/null; then
0640: 0a 09 4b 49 54 54 41 52 47 45 54 3d 22 6b 69 74  ..KITTARGET="kit
0650: 64 6c 6c 22 0a 66 69 0a 0a 23 23 20 49 66 20 62  dll".fi..## If b
0660: 75 69 6c 64 69 6e 67 20 4b 69 74 44 4c 4c 20 61  uilding KitDLL a
0670: 6e 64 20 54 6b 2c 20 6d 75 73 74 20 64 6f 20 54  nd Tk, must do T
0680: 6b 20 73 74 61 74 69 63 61 6c 6c 79 0a 23 23 23  k statically.###
0690: 20 28 57 65 6c 6c 2c 20 77 65 20 64 6f 6e 27 74   (Well, we don't
06a0: 20 48 41 56 45 20 74 6f 2c 20 62 75 74 20 69 74   HAVE to, but it
06b0: 20 77 6f 75 6c 64 20 64 65 66 65 61 74 20 6d 75   would defeat mu
06c0: 63 68 20 6f 66 20 74 68 65 20 70 75 72 70 6f 73  ch of the purpos
06d0: 65 29 0a 69 66 20 5b 20 22 24 7b 4b 49 54 54 41  e).if [ "${KITTA
06e0: 52 47 45 54 7d 22 20 3d 20 22 6b 69 74 64 6c 6c  RGET}" = "kitdll
06f0: 22 20 5d 3b 20 74 68 65 6e 0a 09 69 66 20 65 63  " ]; then..if ec
0700: 68 6f 20 22 20 24 7b 4b 49 54 43 52 45 41 54 4f  ho " ${KITCREATO
0710: 52 5f 50 4b 47 53 7d 20 22 20 7c 20 67 72 65 70  R_PKGS} " | grep
0720: 20 27 20 74 6b 20 27 20 3e 2f 64 65 76 2f 6e 75   ' tk ' >/dev/nu
0730: 6c 6c 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20  ll 2>/dev/null; 
0740: 74 68 65 6e 0a 09 09 69 66 20 5b 20 22 24 7b 53  then...if [ "${S
0750: 54 41 54 49 43 54 4b 7d 22 20 21 3d 20 22 31 22  TATICTK}" != "1"
0760: 20 2d 61 20 22 24 7b 53 54 41 54 49 43 54 4b 7d   -a "${STATICTK}
0770: 22 20 21 3d 20 22 2d 31 22 20 5d 3b 20 74 68 65  " != "-1" ]; the
0780: 6e 0a 09 09 09 65 63 68 6f 20 27 57 61 72 6e 69  n....echo 'Warni
0790: 6e 67 3a 20 4c 69 6e 6b 69 6e 67 20 54 6b 20 73  ng: Linking Tk s
07a0: 74 61 74 69 63 61 6c 6c 79 20 62 65 63 61 75 73  tatically becaus
07b0: 65 20 79 6f 75 20 61 72 65 20 62 75 69 6c 64 69  e you are buildi
07c0: 6e 67 20 4b 69 74 44 4c 4c 27 20 32 3e 26 31 0a  ng KitDLL' 2>&1.
07d0: 09 09 09 65 63 68 6f 20 27 20 20 20 20 20 20 20  ...echo '       
07e0: 20 20 53 65 74 20 53 54 41 54 49 43 54 4b 20 74    Set STATICTK t
07f0: 6f 20 2d 31 20 69 66 20 79 6f 75 20 72 65 61 6c  o -1 if you real
0800: 6c 79 20 77 61 6e 74 20 74 6f 20 6c 69 6e 6b 20  ly want to link 
0810: 54 6b 20 64 79 6e 61 6d 69 63 61 6c 6c 79 2e 27  Tk dynamically.'
0820: 20 3e 26 32 0a 0a 09 09 09 53 54 41 54 49 43 54   >&2.....STATICT
0830: 4b 3d 22 31 22 0a 09 09 09 65 78 70 6f 72 74 20  K="1"....export 
0840: 53 54 41 54 49 43 54 4b 0a 09 09 66 69 0a 0a 09  STATICTK...fi...
0850: 09 69 66 20 5b 20 2d 7a 20 22 24 7b 53 54 41 54  .if [ -z "${STAT
0860: 49 43 4d 4b 34 7d 22 20 5d 3b 20 74 68 65 6e 0a  ICMK4}" ]; then.
0870: 09 09 09 65 63 68 6f 20 27 57 61 72 6e 69 6e 67  ...echo 'Warning
0880: 3a 20 4c 69 6e 6b 69 6e 67 20 4d 6b 34 74 63 6c  : Linking Mk4tcl
0890: 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 62 65 63   dynamically bec
08a0: 61 75 73 65 20 79 6f 75 20 61 72 65 20 62 75 69  ause you are bui
08b0: 6c 64 69 6e 67 20 4b 69 74 44 4c 4c 27 20 32 3e  lding KitDLL' 2>
08c0: 26 31 0a 09 09 09 65 63 68 6f 20 27 20 20 20 20  &1....echo '    
08d0: 20 20 20 20 20 53 65 74 20 53 54 41 54 49 43 4d       Set STATICM
08e0: 4b 34 20 74 6f 20 31 20 69 66 20 79 6f 75 20 72  K4 to 1 if you r
08f0: 65 61 6c 6c 79 20 77 61 6e 74 20 74 6f 20 6c 69  eally want to li
0900: 6e 6b 20 4d 6b 34 74 63 6c 20 73 74 61 74 69 63  nk Mk4tcl static
0910: 61 6c 6c 79 2e 27 20 3e 26 32 0a 0a 09 09 09 53  ally.' >&2.....S
0920: 54 41 54 49 43 4d 4b 34 3d 22 30 22 0a 09 09 09  TATICMK4="0"....
0930: 65 78 70 6f 72 74 20 53 54 41 54 49 43 4d 4b 34  export STATICMK4
0940: 0a 09 09 66 69 0a 09 66 69 0a 66 69 0a 0a 23 20  ...fi..fi.fi..# 
0950: 46 69 6e 64 20 57 69 6e 64 6f 77 73 20 72 65 73  Find Windows res
0960: 6f 75 72 63 65 2d 72 65 6c 61 74 65 64 20 66 69  ource-related fi
0970: 6c 65 73 0a 69 66 20 5b 20 2d 66 20 22 6b 69 74  les.if [ -f "kit
0980: 2e 69 63 6f 22 20 5d 3b 20 74 68 65 6e 0a 09 4b  .ico" ]; then..K
0990: 49 54 43 52 45 41 54 4f 52 5f 49 43 4f 4e 3d 22  ITCREATOR_ICON="
09a0: 24 28 70 77 64 29 2f 6b 69 74 2e 69 63 6f 22 0a  $(pwd)/kit.ico".
09b0: 65 6c 73 65 0a 09 4b 49 54 43 52 45 41 54 4f 52  else..KITCREATOR
09c0: 5f 49 43 4f 4e 3d 22 24 28 65 63 68 6f 20 22 24  _ICON="$(echo "$
09d0: 28 70 77 64 29 2f 6b 69 74 73 68 2f 62 75 69 6c  (pwd)/kitsh/buil
09e0: 64 73 72 63 22 2f 6b 69 74 73 68 2d 2a 2f 6b 69  dsrc"/kitsh-*/ki
09f0: 74 2e 69 63 6f 29 22 0a 66 69 0a 69 66 20 5b 20  t.ico)".fi.if [ 
0a00: 2d 66 20 22 6b 69 74 2e 72 63 22 20 5d 3b 20 74  -f "kit.rc" ]; t
0a10: 68 65 6e 0a 09 4b 49 54 43 52 45 41 54 4f 52 5f  hen..KITCREATOR_
0a20: 52 43 3d 22 24 28 70 77 64 29 2f 6b 69 74 2e 72  RC="$(pwd)/kit.r
0a30: 63 22 0a 65 6c 73 65 0a 09 4b 49 54 43 52 45 41  c".else..KITCREA
0a40: 54 4f 52 5f 52 43 3d 22 24 28 65 63 68 6f 20 22  TOR_RC="$(echo "
0a50: 24 28 70 77 64 29 2f 6b 69 74 73 68 2f 62 75 69  $(pwd)/kitsh/bui
0a60: 6c 64 73 72 63 22 2f 6b 69 74 73 68 2d 2a 2f 6b  ldsrc"/kitsh-*/k
0a70: 69 74 2e 72 63 29 22 0a 66 69 0a 65 78 70 6f 72  it.rc)".fi.expor
0a80: 74 20 4b 49 54 43 52 45 41 54 4f 52 5f 49 43 4f  t KITCREATOR_ICO
0a90: 4e 20 4b 49 54 43 52 45 41 54 4f 52 5f 52 43 0a  N KITCREATOR_RC.
0aa0: 0a 23 20 44 65 74 65 72 6d 69 6e 65 20 68 6f 77  .# Determine how
0ab0: 20 77 65 20 69 6e 76 6f 6b 65 20 61 20 54 63 6c   we invoke a Tcl
0ac0: 20 69 6e 74 65 72 70 72 65 74 65 72 0a 69 66 20   interpreter.if 
0ad0: 5b 20 2d 7a 20 22 24 7b 54 43 4c 53 48 5f 4e 41  [ -z "${TCLSH_NA
0ae0: 54 49 56 45 7d 22 20 5d 3b 20 74 68 65 6e 0a 09  TIVE}" ]; then..
0af0: 54 43 4c 53 48 5f 4e 41 54 49 56 45 3d 22 66 61  TCLSH_NATIVE="fa
0b00: 6c 73 65 22 0a 66 69 0a 66 6f 72 20 74 65 73 74  lse".fi.for test
0b10: 73 68 20 69 6e 20 22 24 7b 54 43 4c 53 48 5f 4e  sh in "${TCLSH_N
0b20: 41 54 49 56 45 7d 22 20 74 63 6c 73 68 20 74 63  ATIVE}" tclsh tc
0b30: 6c 73 68 38 2e 34 20 74 63 6c 73 68 38 2e 35 20  lsh8.4 tclsh8.5 
0b40: 74 63 6c 73 68 38 2e 36 20 22 24 7b 54 43 4c 4b  tclsh8.6 "${TCLK
0b50: 49 54 3a 2d 74 63 6c 6b 69 74 7d 22 3b 20 64 6f  IT:-tclkit}"; do
0b60: 0a 09 69 66 20 65 63 68 6f 20 27 65 78 69 74 20  ..if echo 'exit 
0b70: 30 27 20 7c 20 22 24 7b 74 65 73 74 73 68 7d 22  0' | "${testsh}"
0b80: 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 2f 64   >/dev/null 2>/d
0b90: 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a 09 09  ev/null; then...
0ba0: 54 43 4c 53 48 5f 4e 41 54 49 56 45 3d 22 24 7b  TCLSH_NATIVE="${
0bb0: 74 65 73 74 73 68 7d 22 0a 0a 09 09 62 72 65 61  testsh}"....brea
0bc0: 6b 0a 09 66 69 0a 64 6f 6e 65 0a 65 78 70 6f 72  k..fi.done.expor
0bd0: 74 20 54 43 4c 53 48 5f 4e 41 54 49 56 45 0a 0a  t TCLSH_NATIVE..
0be0: 23 20 44 6f 20 62 75 69 6c 64 0a 66 61 69 6c 65  # Do build.faile
0bf0: 64 70 6b 67 73 3d 22 22 0a 62 75 69 6c 64 66 61  dpkgs="".buildfa
0c00: 69 6c 65 64 3d 22 30 22 0a 66 6f 72 20 70 6b 67  iled="0".for pkg
0c10: 20 69 6e 20 74 63 6c 20 74 63 6c 76 66 73 20 7a   in tcl tclvfs z
0c20: 6c 69 62 20 24 7b 4b 49 54 43 52 45 41 54 4f 52  lib ${KITCREATOR
0c30: 5f 50 4b 47 53 7d 20 6b 69 74 73 68 3b 20 64 6f  _PKGS} kitsh; do
0c40: 0a 09 65 63 68 6f 20 2d 6e 20 22 42 75 69 6c 64  ..echo -n "Build
0c50: 69 6e 67 20 24 7b 70 6b 67 7d 20 2e 2e 2e 22 0a  ing ${pkg} ...".
0c60: 0a 09 66 61 69 6c 65 64 3d 22 30 22 0a 09 28 0a  ..failed="0"..(.
0c70: 09 09 63 64 20 22 24 7b 70 6b 67 7d 22 20 3e 2f  ..cd "${pkg}" >/
0c80: 64 65 76 2f 6e 75 6c 6c 20 32 3e 2f 64 65 76 2f  dev/null 2>/dev/
0c90: 6e 75 6c 6c 20 7c 7c 20 65 78 69 74 20 31 0a 0a  null || exit 1..
0ca0: 09 09 2e 2f 62 75 69 6c 64 2e 73 68 20 33 3e 26  .../build.sh 3>&
0cb0: 31 20 34 3e 26 32 20 3e 20 62 75 69 6c 64 2e 6c  1 4>&2 > build.l
0cc0: 6f 67 20 32 3e 26 31 20 7c 7c 20 65 78 69 74 20  og 2>&1 || exit 
0cd0: 31 0a 09 29 20 7c 7c 20 66 61 69 6c 65 64 3d 22  1..) || failed="
0ce0: 31 22 0a 0a 09 69 66 20 5b 20 22 24 7b 66 61 69  1"...if [ "${fai
0cf0: 6c 65 64 7d 22 20 3d 20 22 31 22 20 5d 3b 20 74  led}" = "1" ]; t
0d00: 68 65 6e 0a 09 09 65 63 68 6f 20 22 20 66 61 69  hen...echo " fai
0d10: 6c 65 64 2e 22 0a 09 09 66 61 69 6c 65 64 70 6b  led."...failedpk
0d20: 67 73 3d 22 24 7b 66 61 69 6c 65 64 70 6b 67 73  gs="${failedpkgs
0d30: 7d 20 24 7b 70 6b 67 7d 22 0a 09 65 6c 73 65 0a  } ${pkg}"..else.
0d40: 09 09 65 63 68 6f 20 22 20 64 6f 6e 65 2e 22 0a  ..echo " done.".
0d50: 09 66 69 0a 0a 09 63 61 73 65 20 22 24 7b 70 6b  .fi...case "${pk
0d60: 67 7d 22 20 69 6e 0a 09 09 74 63 6c 29 0a 09 09  g}" in...tcl)...
0d70: 09 54 43 4c 43 4f 4e 46 49 47 44 49 52 3d 24 28  .TCLCONFIGDIR=$(
0d80: 66 69 6e 64 20 22 24 28 70 77 64 29 2f 74 63 6c  find "$(pwd)/tcl
0d90: 2f 62 75 69 6c 64 22 20 2d 6e 61 6d 65 20 74 63  /build" -name tc
0da0: 6c 43 6f 6e 66 69 67 2e 73 68 20 7c 20 68 65 61  lConfig.sh | hea
0db0: 64 20 2d 31 20 7c 20 73 65 64 20 27 73 40 2f 5b  d -1 | sed 's@/[
0dc0: 5e 2f 5d 2a 24 40 40 27 29 0a 09 09 09 54 43 4c  ^/]*$@@')....TCL
0dd0: 43 4f 4e 46 49 47 44 49 52 54 41 49 4c 3d 22 24  CONFIGDIRTAIL="$
0de0: 28 62 61 73 65 6e 61 6d 65 20 22 24 7b 54 43 4c  (basename "${TCL
0df0: 43 4f 4e 46 49 47 44 49 52 7d 22 29 22 0a 09 09  CONFIGDIR}")"...
0e00: 09 65 78 70 6f 72 74 20 54 43 4c 43 4f 4e 46 49  .export TCLCONFI
0e10: 47 44 49 52 20 54 43 4c 43 4f 4e 46 49 47 44 49  GDIR TCLCONFIGDI
0e20: 52 54 41 49 4c 0a 09 09 09 3b 3b 0a 09 65 73 61  RTAIL....;;..esa
0e30: 63 0a 0a 09 69 66 20 5b 20 22 24 7b 66 61 69 6c  c...if [ "${fail
0e40: 65 64 7d 22 20 3d 20 22 31 22 20 5d 3b 20 74 68  ed}" = "1" ]; th
0e50: 65 6e 0a 09 09 62 75 69 6c 64 66 61 69 6c 65 64  en...buildfailed
0e60: 3d 22 31 22 0a 09 66 69 0a 64 6f 6e 65 0a 0a 69  ="1"..fi.done..i
0e70: 66 20 5b 20 2d 6e 20 22 24 7b 66 61 69 6c 65 64  f [ -n "${failed
0e80: 70 6b 67 73 7d 22 20 5d 3b 20 74 68 65 6e 0a 09  pkgs}" ]; then..
0e90: 65 63 68 6f 20 22 46 61 69 6c 65 64 20 74 6f 20  echo "Failed to 
0ea0: 62 75 69 6c 64 3a 24 7b 66 61 69 6c 65 64 70 6b  build:${failedpk
0eb0: 67 73 7d 22 0a 66 69 0a 0a 69 66 20 5b 20 22 24  gs}".fi..if [ "$
0ec0: 7b 62 75 69 6c 64 66 61 69 6c 65 64 7d 22 20 21  {buildfailed}" !
0ed0: 3d 20 22 30 22 20 5d 3b 20 74 68 65 6e 0a 09 65  = "0" ]; then..e
0ee0: 63 68 6f 20 27 57 41 52 4e 49 4e 47 3a 20 42 75  cho 'WARNING: Bu
0ef0: 69 6c 64 20 69 73 20 6c 69 6b 65 6c 79 20 69 6e  ild is likely in
0f00: 63 6f 6d 70 6c 65 74 65 20 6f 72 20 66 61 69 6c  complete or fail
0f10: 65 64 2e 27 20 3e 26 32 0a 66 69 0a 0a 63 70 20  ed.' >&2.fi..cp 
0f20: 27 6b 69 74 73 68 2f 62 75 69 6c 64 27 2f 6b 69  'kitsh/build'/ki
0f30: 74 73 68 2d 2a 2f 6c 69 62 74 63 6c 6b 69 74 2a  tsh-*/libtclkit*
0f40: 20 2e 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e   . >/dev/null 2>
0f50: 2f 64 65 76 2f 6e 75 6c 6c 0a 63 70 20 27 6b 69  /dev/null.cp 'ki
0f60: 74 73 68 2f 62 75 69 6c 64 27 2f 6b 69 74 73 68  tsh/build'/kitsh
0f70: 2d 2a 2f 6b 69 74 20 22 74 63 6c 6b 69 74 2d 24  -*/kit "tclkit-$
0f80: 7b 54 43 4c 56 45 52 53 7d 22 20 3e 2f 64 65 76  {TCLVERS}" >/dev
0f90: 2f 6e 75 6c 6c 20 32 3e 2f 64 65 76 2f 6e 75 6c  /null 2>/dev/nul
0fa0: 6c 0a 0a 65 78 69 74 20 22 24 7b 62 75 69 6c 64  l..exit "${build
0fb0: 66 61 69 6c 65 64 7d 22 0a                       failed}".