Hex Artifact Content

Artifact af8be2e90bdcc9fd8c6c296072eaba5116627188:


0000: 23 21 20 2f 62 69 6e 2f 62 61 73 68 0a 0a 56 45  #! /bin/bash..VE
0010: 52 53 49 4f 4e 53 3d 22 38 2e 35 2e 31 35 20 38  RSIONS="8.5.15 8
0020: 2e 36 2e 32 20 63 76 73 5f 48 45 41 44 22 0a 0a  .6.2 cvs_HEAD"..
0030: 23 20 46 69 6e 64 20 74 68 65 20 62 61 73 65 20  # Find the base 
0040: 64 69 72 65 63 74 6f 72 79 0a 66 6f 72 20 78 20  directory.for x 
0050: 69 6e 20 31 20 32 20 33 20 34 20 5f 5f 66 61 69  in 1 2 3 4 __fai
0060: 6c 5f 5f 3b 20 64 6f 0a 09 69 66 20 5b 20 22 24  l__; do..if [ "$
0070: 7b 78 7d 22 20 3d 20 22 5f 5f 66 61 69 6c 5f 5f  {x}" = "__fail__
0080: 22 20 5d 3b 20 74 68 65 6e 0a 09 09 65 63 68 6f  " ]; then...echo
0090: 20 27 55 6e 61 62 6c 65 20 74 6f 20 66 69 6e 64   'Unable to find
00a0: 20 4b 69 74 43 72 65 61 74 6f 72 2c 20 61 62 6f   KitCreator, abo
00b0: 72 74 69 6e 67 2e 27 20 3e 26 32 0a 0a 09 09 65  rting.' >&2....e
00c0: 78 69 74 20 31 0a 09 66 69 0a 0a 09 69 66 20 5b  xit 1..fi...if [
00d0: 20 2d 78 20 6b 69 74 63 72 65 61 74 6f 72 20 5d   -x kitcreator ]
00e0: 3b 20 74 68 65 6e 0a 09 09 62 72 65 61 6b 0a 09  ; then...break..
00f0: 66 69 0a 0a 09 63 64 20 2e 2e 0a 64 6f 6e 65 0a  fi...cd ...done.
0100: 0a 52 4f 4f 54 44 49 52 3d 22 24 28 70 77 64 29  .ROOTDIR="$(pwd)
0110: 22 0a 54 45 53 54 44 49 52 3d 22 24 7b 52 4f 4f  ".TESTDIR="${ROO
0120: 54 44 49 52 7d 2f 62 75 69 6c 64 2f 74 65 73 74  TDIR}/build/test
0130: 22 0a 65 78 70 6f 72 74 20 52 4f 4f 54 44 49 52  ".export ROOTDIR
0140: 20 54 45 53 54 44 49 52 0a 0a 23 20 48 61 6e 64   TESTDIR..# Hand
0150: 6c 65 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20  le command-line 
0160: 61 72 67 75 6d 65 6e 74 73 0a 69 66 20 5b 20 22  arguments.if [ "
0170: 24 31 22 20 3d 20 22 63 6c 65 61 6e 22 20 5d 3b  $1" = "clean" ];
0180: 20 74 68 65 6e 0a 09 72 6d 20 2d 72 66 20 22 24   then..rm -rf "$
0190: 7b 54 45 53 54 44 49 52 7d 2f 6b 69 74 73 22 0a  {TESTDIR}/kits".
01a0: 66 69 0a 0a 23 20 43 72 65 61 74 65 20 70 6c 61  fi..# Create pla
01b0: 63 65 20 74 6f 20 70 75 74 20 6b 69 74 73 0a 6d  ce to put kits.m
01c0: 6b 64 69 72 20 22 24 7b 54 45 53 54 44 49 52 7d  kdir "${TESTDIR}
01d0: 2f 6b 69 74 73 22 20 3e 2f 64 65 76 2f 6e 75 6c  /kits" >/dev/nul
01e0: 6c 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 0a 6d 6b  l 2>/dev/null.mk
01f0: 64 69 72 20 22 24 7b 54 45 53 54 44 49 52 7d 2f  dir "${TESTDIR}/
0200: 6b 69 74 73 2f 66 61 69 6c 65 64 22 20 3e 2f 64  kits/failed" >/d
0210: 65 76 2f 6e 75 6c 6c 20 32 3e 2f 64 65 76 2f 6e  ev/null 2>/dev/n
0220: 75 6c 6c 0a 69 66 20 5b 20 21 20 2d 64 20 22 24  ull.if [ ! -d "$
0230: 7b 54 45 53 54 44 49 52 7d 2f 6b 69 74 73 22 20  {TESTDIR}/kits" 
0240: 5d 3b 20 74 68 65 6e 0a 09 65 63 68 6f 20 27 55  ]; then..echo 'U
0250: 6e 61 62 6c 65 20 74 6f 20 63 72 65 61 74 65 20  nable to create 
0260: 6b 69 74 73 2f 20 64 69 72 65 63 74 6f 72 79 2c  kits/ directory,
0270: 20 61 62 6f 72 74 69 6e 67 2e 27 20 3e 26 32 0a   aborting.' >&2.
0280: 0a 09 65 78 69 74 20 31 0a 66 69 0a 0a 23 20 43  ..exit 1.fi..# C
0290: 6c 65 61 6e 75 70 0a 66 6f 72 20 66 69 6c 65 20  leanup.for file 
02a0: 69 6e 20 22 24 7b 54 45 53 54 44 49 52 7d 22 2f  in "${TESTDIR}"/
02b0: 6b 69 74 73 2f 2a 2e 6c 6f 67 3b 20 64 6f 0a 09  kits/*.log; do..
02c0: 69 66 20 65 63 68 6f 20 22 24 7b 66 69 6c 65 7d  if echo "${file}
02d0: 22 20 7c 20 67 72 65 70 20 2d 2d 20 27 2d 62 75  " | grep -- '-bu
02e0: 69 6c 64 2e 6c 6f 67 24 27 20 3e 2f 64 65 76 2f  ild.log$' >/dev/
02f0: 6e 75 6c 6c 3b 20 74 68 65 6e 0a 09 09 63 6f 6e  null; then...con
0300: 74 69 6e 75 65 0a 09 66 69 0a 0a 09 72 6d 20 2d  tinue..fi...rm -
0310: 66 20 22 24 7b 66 69 6c 65 7d 22 0a 64 6f 6e 65  f "${file}".done
0320: 0a 0a 23 20 44 69 73 61 62 6c 65 20 57 49 4e 45  ..# Disable WINE
0330: 20 64 65 62 75 67 67 69 6e 67 0a 57 49 4e 45 50   debugging.WINEP
0340: 52 45 46 49 58 33 32 3d 22 24 7b 54 45 53 54 44  REFIX32="${TESTD
0350: 49 52 7d 2f 2e 77 69 6e 65 22 0a 57 49 4e 45 50  IR}/.wine".WINEP
0360: 52 45 46 49 58 36 34 3d 22 24 7b 54 45 53 54 44  REFIX64="${TESTD
0370: 49 52 7d 2f 2e 77 69 6e 65 36 34 22 0a 65 78 70  IR}/.wine64".exp
0380: 6f 72 74 20 57 49 4e 45 50 52 45 46 49 58 33 32  ort WINEPREFIX32
0390: 20 57 49 4e 45 50 52 45 46 49 58 36 34 0a 72 6d   WINEPREFIX64.rm
03a0: 20 2d 72 66 20 22 24 7b 57 49 4e 45 50 52 45 46   -rf "${WINEPREF
03b0: 49 58 33 32 7d 22 20 22 24 7b 57 49 4e 45 50 52  IX32}" "${WINEPR
03c0: 45 46 49 58 36 34 7d 22 0a 6d 6b 64 69 72 20 22  EFIX64}".mkdir "
03d0: 24 7b 57 49 4e 45 50 52 45 46 49 58 33 32 7d 22  ${WINEPREFIX32}"
03e0: 20 22 24 7b 57 49 4e 45 50 52 45 46 49 58 36 34   "${WINEPREFIX64
03f0: 7d 22 0a 0a 63 61 74 20 3c 3c 20 5c 5f 45 4f 46  }"..cat << \_EOF
0400: 5f 20 3e 20 22 24 7b 57 49 4e 45 50 52 45 46 49  _ > "${WINEPREFI
0410: 58 33 32 7d 2f 75 70 64 61 74 65 2d 72 65 67 22  X32}/update-reg"
0420: 0a 5b 48 4b 45 59 5f 4c 4f 43 41 4c 5f 4d 41 43  .[HKEY_LOCAL_MAC
0430: 48 49 4e 45 5c 53 6f 66 74 77 61 72 65 5c 4d 69  HINE\Software\Mi
0440: 63 72 6f 73 6f 66 74 5c 57 69 6e 64 6f 77 73 20  crosoft\Windows 
0450: 4e 54 5c 43 75 72 72 65 6e 74 56 65 72 73 69 6f  NT\CurrentVersio
0460: 6e 5c 41 65 44 65 62 75 67 5d 0a 22 41 75 74 6f  n\AeDebug]."Auto
0470: 22 3d 64 77 6f 72 64 3a 30 30 30 30 30 30 30 31  "=dword:00000001
0480: 0a 22 44 65 62 75 67 67 65 72 22 3d 22 66 61 6c  ."Debugger"="fal
0490: 73 65 22 0a 5f 45 4f 46 5f 0a 63 70 20 22 24 7b  se"._EOF_.cp "${
04a0: 57 49 4e 45 50 52 45 46 49 58 33 32 7d 2f 75 70  WINEPREFIX32}/up
04b0: 64 61 74 65 2d 72 65 67 22 20 22 24 7b 57 49 4e  date-reg" "${WIN
04c0: 45 50 52 45 46 49 58 36 34 7d 2f 75 70 64 61 74  EPREFIX64}/updat
04d0: 65 2d 72 65 67 22 0a 0a 57 49 4e 45 50 52 45 46  e-reg"..WINEPREF
04e0: 49 58 3d 22 24 7b 57 49 4e 45 50 52 45 46 49 58  IX="${WINEPREFIX
04f0: 33 32 7d 22 20 72 65 67 65 64 69 74 20 22 24 7b  32}" regedit "${
0500: 57 49 4e 45 50 52 45 46 49 58 33 32 7d 2f 75 70  WINEPREFIX32}/up
0510: 64 61 74 65 2d 72 65 67 22 20 3e 2f 64 65 76 2f  date-reg" >/dev/
0520: 6e 75 6c 6c 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c  null 2>/dev/null
0530: 0a 57 49 4e 45 50 52 45 46 49 58 3d 22 24 7b 57  .WINEPREFIX="${W
0540: 49 4e 45 50 52 45 46 49 58 36 34 7d 22 20 72 65  INEPREFIX64}" re
0550: 67 65 64 69 74 20 22 24 7b 57 49 4e 45 50 52 45  gedit "${WINEPRE
0560: 46 49 58 36 34 7d 2f 75 70 64 61 74 65 2d 72 65  FIX64}/update-re
0570: 67 22 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e  g" >/dev/null 2>
0580: 2f 64 65 76 2f 6e 75 6c 6c 0a 0a 23 20 53 74 61  /dev/null..# Sta
0590: 72 74 20 58 76 66 62 20 66 6f 72 20 58 31 31 2d  rt Xvfb for X11-
05a0: 62 61 73 65 64 20 74 65 73 74 73 0a 58 56 46 42  based tests.XVFB
05b0: 5f 50 49 44 3d 22 24 28 0a 09 58 76 66 62 20 3a  _PID="$(..Xvfb :
05c0: 33 31 20 2d 73 63 72 65 65 6e 20 30 20 38 30 30  31 -screen 0 800
05d0: 78 36 30 30 78 32 34 20 2d 6e 6f 6c 69 73 74 65  x600x24 -noliste
05e0: 6e 20 74 63 70 20 3e 2f 64 65 76 2f 6e 75 6c 6c  n tcp >/dev/null
05f0: 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 20 26 0a 09   2>/dev/null &..
0600: 65 63 68 6f 20 22 24 21 22 0a 29 22 0a 44 49 53  echo "$!".)".DIS
0610: 50 4c 41 59 3d 3a 33 31 0a 65 78 70 6f 72 74 20  PLAY=:31.export 
0620: 44 49 53 50 4c 41 59 0a 0a 69 66 20 5b 20 2d 7a  DISPLAY..if [ -z
0630: 20 22 24 7b 4b 43 5f 54 45 53 54 5f 4b 49 54 53   "${KC_TEST_KITS
0640: 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 6b 69 74 73  }" ]; then..kits
0650: 3d 22 6c 69 6e 75 78 2d 61 6d 64 36 34 20 6c 69  ="linux-amd64 li
0660: 6e 75 78 2d 61 6d 64 36 34 2d 7a 69 70 20 6c 69  nux-amd64-zip li
0670: 6e 75 78 2d 61 6d 64 36 34 2d 74 68 72 65 61 64  nux-amd64-thread
0680: 65 64 20 6c 69 6e 75 78 2d 61 6d 64 36 34 2d 74  ed linux-amd64-t
0690: 68 72 65 61 64 65 64 2d 7a 69 70 20 6c 69 6e 75  hreaded-zip linu
06a0: 78 2d 61 6d 64 36 34 2d 73 74 61 74 69 63 74 6b  x-amd64-statictk
06b0: 20 6c 69 6e 75 78 2d 61 6d 64 36 34 2d 6e 6f 74   linux-amd64-not
06c0: 6b 20 6c 69 6e 75 78 2d 61 6d 64 36 34 2d 74 68  k linux-amd64-th
06d0: 72 65 61 64 65 64 2d 6e 6f 74 6b 20 6c 69 6e 75  readed-notk linu
06e0: 78 2d 61 6d 64 36 34 2d 74 68 72 65 61 64 65 64  x-amd64-threaded
06f0: 2d 7a 69 70 2d 6e 6f 74 6b 20 6c 69 6e 75 78 2d  -zip-notk linux-
0700: 61 6d 64 36 34 2d 6e 6f 6d 6b 34 20 6c 69 6e 75  amd64-nomk4 linu
0710: 78 2d 61 6d 64 36 34 2d 64 65 62 75 67 20 6d 69  x-amd64-debug mi
0720: 6e 20 6d 69 6e 2d 73 74 61 74 69 63 20 6c 69 6e  n min-static lin
0730: 75 78 2d 61 6d 64 36 34 2d 6b 69 74 64 6c 6c 20  ux-amd64-kitdll 
0740: 6c 69 6e 75 78 2d 61 6d 64 36 34 2d 74 68 72 65  linux-amd64-thre
0750: 61 64 65 64 2d 6b 69 74 64 6c 6c 20 6c 69 6e 75  aded-kitdll linu
0760: 78 2d 61 6d 64 36 34 2d 6e 6f 74 6b 2d 6b 69 74  x-amd64-notk-kit
0770: 64 6c 6c 20 6c 69 6e 75 78 2d 61 6d 64 36 34 2d  dll linux-amd64-
0780: 6e 6f 6d 6b 34 2d 6b 69 74 64 6c 6c 20 6c 69 6e  nomk4-kitdll lin
0790: 75 78 2d 61 6d 64 36 34 2d 6e 6f 6d 6b 34 2d 6e  ux-amd64-nomk4-n
07a0: 6f 74 6b 2d 6b 69 74 64 6c 6c 20 6c 69 6e 75 78  otk-kitdll linux
07b0: 2d 61 6d 64 36 34 2d 74 68 72 65 61 64 65 64 2d  -amd64-threaded-
07c0: 6e 6f 6d 6b 34 2d 6b 69 74 64 6c 6c 20 6c 69 6e  nomk4-kitdll lin
07d0: 75 78 2d 61 6d 64 36 34 2d 74 68 72 65 61 64 65  ux-amd64-threade
07e0: 64 2d 6e 6f 74 6b 2d 6e 6f 6d 6b 34 2d 6b 69 74  d-notk-nomk4-kit
07f0: 64 6c 6c 20 6c 69 6e 75 78 2d 61 6d 64 36 34 2d  dll linux-amd64-
0800: 64 65 62 75 67 2d 6b 69 74 64 6c 6c 20 6d 69 6e  debug-kitdll min
0810: 2d 6b 69 74 64 6c 6c 20 77 69 6e 33 32 2d 69 35  -kitdll win32-i5
0820: 38 36 20 77 69 6e 33 32 2d 69 35 38 36 2d 7a 69  86 win32-i586-zi
0830: 70 20 77 69 6e 33 32 2d 69 35 38 36 2d 74 68 72  p win32-i586-thr
0840: 65 61 64 65 64 20 77 69 6e 33 32 2d 69 35 38 36  eaded win32-i586
0850: 2d 74 68 72 65 61 64 65 64 2d 7a 69 70 20 77 69  -threaded-zip wi
0860: 6e 33 32 2d 69 35 38 36 2d 6e 6f 74 6b 20 77 69  n32-i586-notk wi
0870: 6e 33 32 2d 69 35 38 36 2d 74 68 72 65 61 64 65  n32-i586-threade
0880: 64 2d 6e 6f 74 6b 20 77 69 6e 33 32 2d 69 35 38  d-notk win32-i58
0890: 36 2d 6e 6f 6d 6b 34 20 77 69 6e 33 32 2d 69 35  6-nomk4 win32-i5
08a0: 38 36 2d 6b 69 74 64 6c 6c 20 77 69 6e 33 32 2d  86-kitdll win32-
08b0: 69 35 38 36 2d 74 68 72 65 61 64 65 64 2d 6b 69  i586-threaded-ki
08c0: 74 64 6c 6c 20 77 69 6e 33 32 2d 69 35 38 36 2d  tdll win32-i586-
08d0: 6e 6f 74 6b 2d 6b 69 74 64 6c 6c 20 77 69 6e 33  notk-kitdll win3
08e0: 32 2d 69 35 38 36 2d 6e 6f 6d 6b 34 2d 6b 69 74  2-i586-nomk4-kit
08f0: 64 6c 6c 20 77 69 6e 33 32 2d 69 35 38 36 2d 6e  dll win32-i586-n
0900: 6f 6d 6b 34 2d 6e 6f 74 6b 2d 6b 69 74 64 6c 6c  omk4-notk-kitdll
0910: 20 77 69 6e 33 32 2d 69 35 38 36 2d 74 68 72 65   win32-i586-thre
0920: 61 64 65 64 2d 6e 6f 6d 6b 34 2d 6b 69 74 64 6c  aded-nomk4-kitdl
0930: 6c 20 77 69 6e 33 32 2d 69 35 38 36 2d 74 68 72  l win32-i586-thr
0940: 65 61 64 65 64 2d 6e 6f 74 6b 2d 6e 6f 6d 6b 34  eaded-notk-nomk4
0950: 2d 6b 69 74 64 6c 6c 20 77 69 6e 36 34 2d 61 6d  -kitdll win64-am
0960: 64 36 34 20 77 69 6e 36 34 2d 61 6d 64 36 34 2d  d64 win64-amd64-
0970: 7a 69 70 20 77 69 6e 36 34 2d 61 6d 64 36 34 2d  zip win64-amd64-
0980: 74 68 72 65 61 64 65 64 20 77 69 6e 36 34 2d 61  threaded win64-a
0990: 6d 64 36 34 2d 74 68 72 65 61 64 65 64 2d 7a 69  md64-threaded-zi
09a0: 70 20 77 69 6e 36 34 2d 61 6d 64 36 34 2d 6e 6f  p win64-amd64-no
09b0: 74 6b 20 77 69 6e 36 34 2d 61 6d 64 36 34 2d 74  tk win64-amd64-t
09c0: 68 72 65 61 64 65 64 2d 6e 6f 74 6b 20 77 69 6e  hreaded-notk win
09d0: 36 34 2d 61 6d 64 36 34 2d 6e 6f 6d 6b 34 20 77  64-amd64-nomk4 w
09e0: 69 6e 36 34 2d 61 6d 64 36 34 2d 6b 69 74 64 6c  in64-amd64-kitdl
09f0: 6c 20 77 69 6e 36 34 2d 61 6d 64 36 34 2d 74 68  l win64-amd64-th
0a00: 72 65 61 64 65 64 2d 6b 69 74 64 6c 6c 20 77 69  readed-kitdll wi
0a10: 6e 36 34 2d 61 6d 64 36 34 2d 6e 6f 74 6b 2d 6b  n64-amd64-notk-k
0a20: 69 74 64 6c 6c 20 77 69 6e 36 34 2d 61 6d 64 36  itdll win64-amd6
0a30: 34 2d 6e 6f 6d 6b 34 2d 6b 69 74 64 6c 6c 20 77  4-nomk4-kitdll w
0a40: 69 6e 36 34 2d 61 6d 64 36 34 2d 6e 6f 6d 6b 34  in64-amd64-nomk4
0a50: 2d 6e 6f 74 6b 2d 6b 69 74 64 6c 6c 20 77 69 6e  -notk-kitdll win
0a60: 36 34 2d 61 6d 64 36 34 2d 74 68 72 65 61 64 65  64-amd64-threade
0a70: 64 2d 6e 6f 6d 6b 34 2d 6b 69 74 64 6c 6c 20 77  d-nomk4-kitdll w
0a80: 69 6e 36 34 2d 61 6d 64 36 34 2d 74 68 72 65 61  in64-amd64-threa
0a90: 64 65 64 2d 6e 6f 74 6b 2d 6e 6f 6d 6b 34 2d 6b  ded-notk-nomk4-k
0aa0: 69 74 64 6c 6c 20 6c 69 6e 75 78 2d 6d 69 70 73  itdll linux-mips
0ab0: 65 6c 2d 6e 6f 74 6b 20 6c 69 6e 75 78 2d 6d 69  el-notk linux-mi
0ac0: 70 73 65 6c 2d 6e 6f 74 6b 2d 6b 69 74 64 6c 6c  psel-notk-kitdll
0ad0: 20 6c 69 6e 75 78 2d 69 33 38 36 20 6c 69 6e 75   linux-i386 linu
0ae0: 78 2d 69 33 38 36 2d 64 65 62 75 67 20 6c 69 6e  x-i386-debug lin
0af0: 75 78 2d 69 33 38 36 2d 6b 69 74 64 6c 6c 20 6c  ux-i386-kitdll l
0b00: 69 6e 75 78 2d 69 33 38 36 2d 64 65 62 75 67 2d  inux-i386-debug-
0b10: 6b 69 74 64 6c 6c 20 6c 69 6e 75 78 2d 69 33 38  kitdll linux-i38
0b20: 36 2d 6e 6f 74 6b 20 6c 69 6e 75 78 2d 69 33 38  6-notk linux-i38
0b30: 36 2d 6e 6f 74 6b 2d 64 65 62 75 67 20 6c 69 6e  6-notk-debug lin
0b40: 75 78 2d 69 33 38 36 2d 6e 6f 74 6b 2d 6b 69 74  ux-i386-notk-kit
0b50: 64 6c 6c 20 6c 69 6e 75 78 2d 69 33 38 36 2d 6e  dll linux-i386-n
0b60: 6f 74 6b 2d 64 65 62 75 67 2d 6b 69 74 64 6c 6c  otk-debug-kitdll
0b70: 20 73 6f 6c 61 72 69 73 2d 69 33 38 36 20 73 6f   solaris-i386 so
0b80: 6c 61 72 69 73 2d 69 33 38 36 2d 64 65 62 75 67  laris-i386-debug
0b90: 20 73 6f 6c 61 72 69 73 2d 69 33 38 36 2d 6b 69   solaris-i386-ki
0ba0: 74 64 6c 6c 20 73 6f 6c 61 72 69 73 2d 69 33 38  tdll solaris-i38
0bb0: 36 2d 64 65 62 75 67 2d 6b 69 74 64 6c 6c 20 73  6-debug-kitdll s
0bc0: 6f 6c 61 72 69 73 2d 61 6d 64 36 34 20 73 6f 6c  olaris-amd64 sol
0bd0: 61 72 69 73 2d 61 6d 64 36 34 2d 64 65 62 75 67  aris-amd64-debug
0be0: 20 73 6f 6c 61 72 69 73 2d 61 6d 64 36 34 2d 6b   solaris-amd64-k
0bf0: 69 74 64 6c 6c 20 73 6f 6c 61 72 69 73 2d 61 6d  itdll solaris-am
0c00: 64 36 34 2d 64 65 62 75 67 2d 6b 69 74 64 6c 6c  d64-debug-kitdll
0c10: 20 73 6f 6c 61 72 69 73 2d 73 70 61 72 63 20 73   solaris-sparc s
0c20: 6f 6c 61 72 69 73 2d 73 70 61 72 63 2d 64 65 62  olaris-sparc-deb
0c30: 75 67 20 73 6f 6c 61 72 69 73 2d 73 70 61 72 63  ug solaris-sparc
0c40: 2d 6b 69 74 64 6c 6c 20 73 6f 6c 61 72 69 73 2d  -kitdll solaris-
0c50: 73 70 61 72 63 2d 64 65 62 75 67 2d 6b 69 74 64  sparc-debug-kitd
0c60: 6c 6c 20 73 6f 6c 61 72 69 73 2d 73 70 61 72 63  ll solaris-sparc
0c70: 36 34 20 73 6f 6c 61 72 69 73 2d 73 70 61 72 63  64 solaris-sparc
0c80: 36 34 2d 64 65 62 75 67 20 73 6f 6c 61 72 69 73  64-debug solaris
0c90: 2d 73 70 61 72 63 36 34 2d 6b 69 74 64 6c 6c 20  -sparc64-kitdll 
0ca0: 73 6f 6c 61 72 69 73 2d 73 70 61 72 63 36 34 2d  solaris-sparc64-
0cb0: 64 65 62 75 67 2d 6b 69 74 64 6c 6c 20 66 72 65  debug-kitdll fre
0cc0: 65 62 73 64 2d 61 6d 64 36 34 20 66 72 65 65 62  ebsd-amd64 freeb
0cd0: 73 64 2d 61 6d 64 36 34 2d 64 65 62 75 67 20 66  sd-amd64-debug f
0ce0: 72 65 65 62 73 64 2d 61 6d 64 36 34 2d 6b 69 74  reebsd-amd64-kit
0cf0: 64 6c 6c 20 66 72 65 65 62 73 64 2d 61 6d 64 36  dll freebsd-amd6
0d00: 34 2d 64 65 62 75 67 2d 6b 69 74 64 6c 6c 20 6e  4-debug-kitdll n
0d10: 65 74 62 73 64 2d 69 33 38 36 2d 6e 6f 74 6b 20  etbsd-i386-notk 
0d20: 6e 65 74 62 73 64 2d 69 33 38 36 2d 6e 6f 74 6b  netbsd-i386-notk
0d30: 2d 64 65 62 75 67 20 6e 65 74 62 73 64 2d 69 33  -debug netbsd-i3
0d40: 38 36 2d 6e 6f 74 6b 2d 6b 69 74 64 6c 6c 20 6e  86-notk-kitdll n
0d50: 65 74 62 73 64 2d 69 33 38 36 2d 6e 6f 74 6b 2d  etbsd-i386-notk-
0d60: 64 65 62 75 67 2d 6b 69 74 64 6c 6c 20 6e 65 74  debug-kitdll net
0d70: 62 73 64 2d 61 6d 64 36 34 20 6e 65 74 62 73 64  bsd-amd64 netbsd
0d80: 2d 61 6d 64 36 34 2d 64 65 62 75 67 20 6e 65 74  -amd64-debug net
0d90: 62 73 64 2d 61 6d 64 36 34 2d 6b 69 74 64 6c 6c  bsd-amd64-kitdll
0da0: 20 6e 65 74 62 73 64 2d 61 6d 64 36 34 2d 64 65   netbsd-amd64-de
0db0: 62 75 67 2d 6b 69 74 64 6c 6c 20 61 6e 64 72 6f  bug-kitdll andro
0dc0: 69 64 2d 61 72 6d 2d 6e 6f 74 6b 20 61 6e 64 72  id-arm-notk andr
0dd0: 6f 69 64 2d 61 72 6d 2d 6e 6f 74 6b 2d 64 65 62  oid-arm-notk-deb
0de0: 75 67 20 61 6e 64 72 6f 69 64 2d 61 72 6d 2d 6e  ug android-arm-n
0df0: 6f 74 6b 2d 6b 69 74 64 6c 6c 20 61 6e 64 72 6f  otk-kitdll andro
0e00: 69 64 2d 61 72 6d 2d 6e 6f 74 6b 2d 64 65 62 75  id-arm-notk-debu
0e10: 67 2d 6b 69 74 64 6c 6c 22 0a 65 6c 73 65 0a 09  g-kitdll".else..
0e20: 6b 69 74 73 3d 22 24 7b 4b 43 5f 54 45 53 54 5f  kits="${KC_TEST_
0e30: 4b 49 54 53 7d 22 0a 66 69 0a 0a 66 61 69 6c 65  KITS}".fi..faile
0e40: 64 3d 22 22 0a 66 6f 72 20 6b 69 74 20 69 6e 20  d="".for kit in 
0e50: 24 6b 69 74 73 3b 20 64 6f 0a 09 6b 69 74 63 72  $kits; do..kitcr
0e60: 65 61 74 6f 72 3d 22 2e 2f 6b 69 74 63 72 65 61  eator="./kitcrea
0e70: 74 6f 72 22 0a 09 61 72 67 73 3d 22 22 0a 09 72  tor"..args=""..r
0e80: 75 6e 6e 61 62 6c 65 3d 22 31 22 0a 09 69 73 7a  unnable="1"..isz
0e90: 69 70 3d 22 30 22 0a 09 73 74 61 74 69 63 74 6b  ip="0"..statictk
0ea0: 3d 22 30 22 0a 09 6e 6f 74 6b 3d 22 30 22 0a 09  ="0"..notk="0"..
0eb0: 6e 6f 6d 6b 34 3d 22 30 22 0a 09 78 63 6f 6d 70  nomk4="0"..xcomp
0ec0: 69 6c 65 3d 22 30 22 0a 09 6b 69 74 64 6c 6c 3d  ile="0"..kitdll=
0ed0: 22 30 22 0a 09 6b 69 74 72 75 6e 63 6d 64 3d 22  "0"..kitruncmd="
0ee0: 22 0a 0a 09 23 20 48 61 6e 64 6c 65 20 62 61 73  "...# Handle bas
0ef0: 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 0a  e configuration.
0f00: 09 6f 73 3d 22 24 28 75 6e 61 6d 65 20 2d 73 20  .os="$(uname -s 
0f10: 7c 20 64 64 20 63 6f 6e 76 3d 6c 63 61 73 65 20  | dd conv=lcase 
0f20: 32 3e 2f 64 65 76 2f 6e 75 6c 6c 29 22 0a 09 63  2>/dev/null)"..c
0f30: 70 75 3d 22 24 28 75 6e 61 6d 65 20 2d 6d 20 7c  pu="$(uname -m |
0f40: 20 64 64 20 63 6f 6e 76 3d 6c 63 61 73 65 20 32   dd conv=lcase 2
0f50: 3e 2f 64 65 76 2f 6e 75 6c 6c 20 7c 20 73 65 64  >/dev/null | sed
0f60: 20 27 73 40 78 38 36 5f 36 34 40 61 6d 64 36 34   's@x86_64@amd64
0f70: 40 3b 73 40 69 2e 38 36 40 69 33 38 36 40 27 29  @;s@i.86@i386@')
0f80: 22 0a 09 63 61 73 65 20 22 24 7b 6b 69 74 7d 22  "..case "${kit}"
0f90: 20 69 6e 0a 09 09 6e 6f 72 6d 61 6c 7c 6e 6f 72   in...normal|nor
0fa0: 6d 61 6c 2d 2a 29 0a 09 09 09 6b 69 74 3d 22 24  mal-*)....kit="$
0fb0: 28 65 63 68 6f 20 22 24 7b 6b 69 74 7d 22 20 7c  (echo "${kit}" |
0fc0: 20 73 65 64 20 22 73 40 5e 6e 6f 72 6d 61 6c 40   sed "s@^normal@
0fd0: 24 6f 73 2d 24 63 70 75 40 22 29 22 0a 09 09 09  $os-$cpu@")"....
0fe0: 3b 3b 0a 09 09 6d 69 6e 7c 6d 69 6e 2d 6b 69 74  ;;...min|min-kit
0ff0: 64 6c 6c 29 0a 09 09 09 6b 69 74 63 72 65 61 74  dll)....kitcreat
1000: 6f 72 3d 22 2e 2f 62 75 69 6c 64 2f 6d 61 6b 65  or="./build/make
1010: 2d 6d 69 6e 6b 69 74 22 0a 09 09 09 69 73 7a 69  -minkit"....iszi
1020: 70 3d 22 31 22 0a 09 09 09 6e 6f 74 6b 3d 22 31  p="1"....notk="1
1030: 22 0a 09 09 09 6b 69 74 3d 22 24 28 65 63 68 6f  "....kit="$(echo
1040: 20 22 24 7b 6b 69 74 7d 22 20 7c 20 73 65 64 20   "${kit}" | sed 
1050: 22 73 40 5e 6d 69 6e 40 24 6f 73 2d 24 63 70 75  "s@^min@$os-$cpu
1060: 2d 6d 69 6e 40 22 29 22 0a 09 09 09 3b 3b 0a 09  -min@")"....;;..
1070: 09 6d 69 6e 2d 73 74 61 74 69 63 29 0a 09 09 09  .min-static)....
1080: 6b 69 74 63 72 65 61 74 6f 72 3d 22 2e 2f 62 75  kitcreator="./bu
1090: 69 6c 64 2f 6d 61 6b 65 2d 6d 69 6e 6b 69 74 2d  ild/make-minkit-
10a0: 73 74 61 74 69 63 22 0a 09 09 09 69 73 7a 69 70  static"....iszip
10b0: 3d 22 31 22 0a 09 09 09 6e 6f 74 6b 3d 22 31 22  ="1"....notk="1"
10c0: 0a 09 09 09 6b 69 74 3d 22 24 7b 6f 73 7d 2d 24  ....kit="${os}-$
10d0: 7b 63 70 75 7d 2d 6d 69 6e 2d 73 74 61 74 69 63  {cpu}-min-static
10e0: 22 0a 09 09 09 3b 3b 0a 09 09 77 69 6e 33 32 7c  "....;;...win32|
10f0: 77 69 6e 33 32 2d 2a 29 0a 09 09 09 6b 69 74 63  win32-*)....kitc
1100: 72 65 61 74 6f 72 3d 22 2e 2f 62 75 69 6c 64 2f  reator="./build/
1110: 6d 61 6b 65 2d 6b 69 74 2d 77 69 6e 33 32 22 0a  make-kit-win32".
1120: 09 09 09 78 63 6f 6d 70 69 6c 65 3d 22 31 22 0a  ...xcompile="1".
1130: 09 09 09 72 75 6e 6e 61 62 6c 65 3d 22 31 22 0a  ...runnable="1".
1140: 09 09 09 6b 69 74 72 75 6e 63 6d 64 3d 22 77 69  ...kitruncmd="wi
1150: 6e 65 22 0a 09 09 09 3b 3b 0a 09 09 77 69 6e 36  ne"....;;...win6
1160: 34 7c 77 69 6e 36 34 2d 2a 29 0a 09 09 09 6b 69  4|win64-*)....ki
1170: 74 63 72 65 61 74 6f 72 3d 22 2e 2f 62 75 69 6c  tcreator="./buil
1180: 64 2f 6d 61 6b 65 2d 6b 69 74 2d 77 69 6e 36 34  d/make-kit-win64
1190: 22 0a 09 09 09 78 63 6f 6d 70 69 6c 65 3d 22 31  "....xcompile="1
11a0: 22 0a 09 09 09 72 75 6e 6e 61 62 6c 65 3d 22 31  "....runnable="1
11b0: 22 0a 09 09 09 6b 69 74 72 75 6e 63 6d 64 3d 22  "....kitruncmd="
11c0: 77 69 6e 65 36 34 22 0a 09 09 09 3b 3b 0a 09 09  wine64"....;;...
11d0: 6c 69 6e 75 78 2d 6d 69 70 73 65 6c 2d 6d 69 6e  linux-mipsel-min
11e0: 7c 6c 69 6e 75 78 2d 6d 69 70 73 65 6c 2d 6d 69  |linux-mipsel-mi
11f0: 6e 2d 6b 69 74 64 6c 6c 29 0a 09 09 09 6b 69 74  n-kitdll)....kit
1200: 63 72 65 61 74 6f 72 3d 22 2e 2f 62 75 69 6c 64  creator="./build
1210: 2f 6d 61 6b 65 2d 6b 69 74 2d 6c 69 6e 75 78 2d  /make-kit-linux-
1220: 6d 69 70 73 65 6c 22 0a 09 09 09 72 75 6e 6e 61  mipsel"....runna
1230: 62 6c 65 3d 22 30 22 0a 09 09 09 78 63 6f 6d 70  ble="0"....xcomp
1240: 69 6c 65 3d 22 31 22 0a 09 09 09 6e 6f 74 6b 3d  ile="1"....notk=
1250: 22 31 22 0a 09 09 09 69 73 7a 69 70 3d 22 31 22  "1"....iszip="1"
1260: 0a 09 09 09 3b 3b 0a 09 09 6c 69 6e 75 78 2d 61  ....;;...linux-a
1270: 6d 64 36 34 7c 6c 69 6e 75 78 2d 61 6d 64 36 34  md64|linux-amd64
1280: 2d 2a 29 0a 09 09 09 6b 69 74 63 72 65 61 74 6f  -*)....kitcreato
1290: 72 3d 22 2e 2f 62 75 69 6c 64 2f 6d 61 6b 65 2d  r="./build/make-
12a0: 6b 69 74 2d 6c 69 6e 75 78 2d 61 6d 64 36 34 22  kit-linux-amd64"
12b0: 0a 09 09 09 78 63 6f 6d 70 69 6c 65 3d 22 30 22  ....xcompile="0"
12c0: 0a 09 09 09 72 75 6e 6e 61 62 6c 65 3d 22 31 22  ....runnable="1"
12d0: 0a 09 09 09 3b 3b 0a 09 09 6c 69 6e 75 78 2d 69  ....;;...linux-i
12e0: 33 38 36 7c 6c 69 6e 75 78 2d 69 33 38 36 2d 2a  386|linux-i386-*
12f0: 29 0a 09 09 09 6b 69 74 63 72 65 61 74 6f 72 3d  )....kitcreator=
1300: 22 2e 2f 62 75 69 6c 64 2f 6d 61 6b 65 2d 6b 69  "./build/make-ki
1310: 74 2d 6c 69 6e 75 78 2d 69 33 38 36 22 0a 09 09  t-linux-i386"...
1320: 09 78 63 6f 6d 70 69 6c 65 3d 22 31 22 0a 09 09  .xcompile="1"...
1330: 09 72 75 6e 6e 61 62 6c 65 3d 22 30 22 0a 09 09  .runnable="0"...
1340: 09 3b 3b 0a 09 09 61 6e 64 72 6f 69 64 2d 61 72  .;;...android-ar
1350: 6d 7c 61 6e 64 72 6f 69 64 2d 61 72 6d 2d 2a 7c  m|android-arm-*|
1360: 5c 0a 09 09 6c 69 6e 75 78 2d 6d 69 70 73 65 6c  \...linux-mipsel
1370: 7c 6c 69 6e 75 78 2d 6d 69 70 73 65 6c 2d 2a 7c  |linux-mipsel-*|
1380: 5c 0a 09 09 73 6f 6c 61 72 69 73 2d 69 33 38 36  \...solaris-i386
1390: 7c 73 6f 6c 61 72 69 73 2d 69 33 38 36 2d 2a 7c  |solaris-i386-*|
13a0: 5c 0a 09 09 73 6f 6c 61 72 69 73 2d 61 6d 64 36  \...solaris-amd6
13b0: 34 7c 73 6f 6c 61 72 69 73 2d 61 6d 64 36 34 2d  4|solaris-amd64-
13c0: 2a 7c 5c 0a 09 09 73 6f 6c 61 72 69 73 2d 73 70  *|\...solaris-sp
13d0: 61 72 63 7c 73 6f 6c 61 72 69 73 2d 73 70 61 72  arc|solaris-spar
13e0: 63 2d 2a 7c 5c 0a 09 09 73 6f 6c 61 72 69 73 2d  c-*|\...solaris-
13f0: 73 70 61 72 63 36 34 7c 73 6f 6c 61 72 69 73 2d  sparc64|solaris-
1400: 73 70 61 72 63 36 34 2d 2a 7c 5c 0a 09 09 66 72  sparc64-*|\...fr
1410: 65 65 62 73 64 2d 61 6d 64 36 34 7c 66 72 65 65  eebsd-amd64|free
1420: 62 73 64 2d 61 6d 64 36 34 2d 2a 7c 5c 0a 09 09  bsd-amd64-*|\...
1430: 6e 65 74 62 73 64 2d 69 33 38 36 7c 6e 65 74 62  netbsd-i386|netb
1440: 73 64 2d 69 33 38 36 2d 2a 7c 5c 0a 09 09 6e 65  sd-i386-*|\...ne
1450: 74 62 73 64 2d 61 6d 64 36 34 7c 6e 65 74 62 73  tbsd-amd64|netbs
1460: 64 2d 61 6d 64 36 34 2d 2a 7c 5c 0a 09 09 68 70  d-amd64-*|\...hp
1470: 75 78 2d 68 70 70 61 36 34 7c 68 70 75 78 2d 68  ux-hppa64|hpux-h
1480: 70 70 61 36 34 2d 2a 29 0a 09 09 09 70 6c 61 74  ppa64-*)....plat
1490: 66 6f 72 6d 3d 22 24 28 65 63 68 6f 20 22 24 7b  form="$(echo "${
14a0: 6b 69 74 7d 22 20 7c 20 63 75 74 20 2d 66 20 31  kit}" | cut -f 1
14b0: 2d 32 20 2d 64 20 27 2d 27 29 22 0a 09 09 09 6b  -2 -d '-')"....k
14c0: 69 74 63 72 65 61 74 6f 72 3d 22 2e 2f 62 75 69  itcreator="./bui
14d0: 6c 64 2f 6d 61 6b 65 2d 6b 69 74 2d 24 7b 70 6c  ld/make-kit-${pl
14e0: 61 74 66 6f 72 6d 7d 22 0a 09 09 09 72 75 6e 6e  atform}"....runn
14f0: 61 62 6c 65 3d 22 30 22 0a 09 09 09 78 63 6f 6d  able="0"....xcom
1500: 70 69 6c 65 3d 22 31 22 0a 09 09 09 69 73 7a 69  pile="1"....iszi
1510: 70 3d 22 30 22 0a 0a 09 09 09 3b 3b 0a 09 65 73  p="0".....;;..es
1520: 61 63 0a 0a 09 69 66 20 65 63 68 6f 20 22 24 7b  ac...if echo "${
1530: 6b 69 74 7d 22 20 7c 20 65 67 72 65 70 20 2d 2d  kit}" | egrep --
1540: 20 27 2d 28 68 70 70 61 36 34 7c 61 6d 64 36 34   '-(hppa64|amd64
1550: 7c 73 70 61 72 63 36 34 29 28 2d 7c 24 29 27 20  |sparc64)(-|$)' 
1560: 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e  >/dev/null; then
1570: 0a 09 09 61 72 67 73 3d 22 24 7b 61 72 67 73 7d  ...args="${args}
1580: 20 2d 2d 65 6e 61 62 6c 65 2d 36 34 62 69 74 22   --enable-64bit"
1590: 0a 09 66 69 0a 0a 09 63 61 73 65 20 22 24 7b 6b  ..fi...case "${k
15a0: 69 74 72 75 6e 63 6d 64 7d 22 20 69 6e 0a 09 09  itruncmd}" in...
15b0: 77 69 6e 65 29 0a 09 09 09 57 49 4e 45 50 52 45  wine)....WINEPRE
15c0: 46 49 58 3d 22 24 7b 57 49 4e 45 50 52 45 46 49  FIX="${WINEPREFI
15d0: 58 33 32 7d 22 0a 09 09 09 65 78 70 6f 72 74 20  X32}"....export 
15e0: 57 49 4e 45 50 52 45 46 49 58 0a 09 09 09 3b 3b  WINEPREFIX....;;
15f0: 0a 09 09 77 69 6e 65 36 34 29 0a 09 09 09 57 49  ...wine64)....WI
1600: 4e 45 50 52 45 46 49 58 3d 22 24 7b 57 49 4e 45  NEPREFIX="${WINE
1610: 50 52 45 46 49 58 36 34 7d 22 0a 09 09 09 65 78  PREFIX64}"....ex
1620: 70 6f 72 74 20 57 49 4e 45 50 52 45 46 49 58 0a  port WINEPREFIX.
1630: 09 09 09 3b 3b 0a 09 65 73 61 63 0a 0a 09 69 66  ...;;..esac...if
1640: 20 5b 20 22 24 7b 78 63 6f 6d 70 69 6c 65 7d 22   [ "${xcompile}"
1650: 20 21 3d 20 22 30 22 20 5d 3b 20 74 68 65 6e 0a   != "0" ]; then.
1660: 09 09 6b 69 74 3d 22 24 7b 6b 69 74 7d 2d 78 63  ..kit="${kit}-xc
1670: 6f 6d 70 69 6c 65 22 0a 09 66 69 0a 0a 09 23 20  ompile"..fi...# 
1680: 48 61 6e 64 6c 65 20 61 64 64 69 74 69 6f 6e 61  Handle additiona
1690: 6c 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 0a  l configuration.
16a0: 09 74 65 6d 70 6b 69 74 3d 22 2d 24 7b 6b 69 74  .tempkit="-${kit
16b0: 7d 2d 22 0a 09 66 6f 72 20 74 72 79 20 69 6e 20  }-"..for try in 
16c0: 31 20 32 20 33 20 34 20 35 20 36 20 37 20 38 20  1 2 3 4 5 6 7 8 
16d0: 39 3b 20 64 6f 0a 09 09 63 61 73 65 20 22 2d 24  9; do...case "-$
16e0: 7b 74 65 6d 70 6b 69 74 7d 2d 22 20 69 6e 0a 09  {tempkit}-" in..
16f0: 09 09 2a 2d 74 68 72 65 61 64 65 64 2d 2a 29 0a  ..*-threaded-*).
1700: 09 09 09 09 74 65 6d 70 6b 69 74 3d 22 24 28 65  ....tempkit="$(e
1710: 63 68 6f 20 22 24 7b 74 65 6d 70 6b 69 74 7d 22  cho "${tempkit}"
1720: 20 7c 20 73 65 64 20 27 73 40 2d 74 68 72 65 61   | sed 's@-threa
1730: 64 65 64 2d 40 2d 40 27 29 22 0a 09 09 09 09 61  ded-@-@')".....a
1740: 72 67 73 3d 22 24 7b 61 72 67 73 7d 20 2d 2d 65  rgs="${args} --e
1750: 6e 61 62 6c 65 2d 74 68 72 65 61 64 73 22 0a 09  nable-threads"..
1760: 09 09 09 3b 3b 0a 09 09 09 2a 2d 7a 69 70 2d 2a  ...;;....*-zip-*
1770: 29 0a 09 09 09 09 74 65 6d 70 6b 69 74 3d 22 24  ).....tempkit="$
1780: 28 65 63 68 6f 20 22 24 7b 74 65 6d 70 6b 69 74  (echo "${tempkit
1790: 7d 22 20 7c 20 73 65 64 20 27 73 40 2d 7a 69 70  }" | sed 's@-zip
17a0: 2d 40 2d 40 27 29 22 0a 09 09 09 09 61 72 67 73  -@-@')".....args
17b0: 3d 22 24 7b 61 72 67 73 7d 20 2d 2d 65 6e 61 62  ="${args} --enab
17c0: 6c 65 2d 6b 69 74 2d 73 74 6f 72 61 67 65 3d 7a  le-kit-storage=z
17d0: 69 70 22 0a 09 09 09 09 69 73 7a 69 70 3d 22 31  ip".....iszip="1
17e0: 22 0a 09 09 09 09 3b 3b 0a 09 09 09 2a 2d 73 74  ".....;;....*-st
17f0: 61 74 69 63 74 6b 2d 2a 29 0a 09 09 09 09 74 65  atictk-*).....te
1800: 6d 70 6b 69 74 3d 22 24 28 65 63 68 6f 20 22 24  mpkit="$(echo "$
1810: 7b 74 65 6d 70 6b 69 74 7d 22 20 7c 20 73 65 64  {tempkit}" | sed
1820: 20 27 73 40 2d 73 74 61 74 69 63 74 6b 2d 40 2d   's@-statictk-@-
1830: 40 27 29 22 0a 09 09 09 09 69 66 20 5b 20 22 24  @')".....if [ "$
1840: 7b 6e 6f 74 6b 7d 22 20 3d 20 22 30 22 20 5d 3b  {notk}" = "0" ];
1850: 20 74 68 65 6e 0a 09 09 09 09 09 73 74 61 74 69   then......stati
1860: 63 74 6b 3d 22 31 22 0a 09 09 09 09 65 6c 73 65  ctk="1".....else
1870: 0a 09 09 09 09 09 65 63 68 6f 20 22 24 7b 6b 69  ......echo "${ki
1880: 74 7d 3a 20 55 6e 61 62 6c 65 20 74 6f 20 63 72  t}: Unable to cr
1890: 65 61 74 65 20 53 74 61 74 69 63 54 6b 20 61 6e  eate StaticTk an
18a0: 64 20 4e 6f 54 6b 2c 20 69 67 6e 6f 72 69 6e 67  d NoTk, ignoring
18b0: 20 53 74 61 74 69 63 54 6b 22 20 3e 26 32 0a 09   StaticTk" >&2..
18c0: 09 09 09 66 69 0a 09 09 09 09 3b 3b 0a 09 09 09  ...fi.....;;....
18d0: 2a 2d 6e 6f 74 6b 2d 2a 29 0a 09 09 09 09 74 65  *-notk-*).....te
18e0: 6d 70 6b 69 74 3d 22 24 28 65 63 68 6f 20 22 24  mpkit="$(echo "$
18f0: 7b 74 65 6d 70 6b 69 74 7d 22 20 7c 20 73 65 64  {tempkit}" | sed
1900: 20 27 73 40 2d 6e 6f 74 6b 2d 40 2d 40 27 29 22   's@-notk-@-@')"
1910: 0a 09 09 09 09 69 66 20 5b 20 22 24 7b 73 74 61  .....if [ "${sta
1920: 74 69 63 74 6b 7d 22 20 3d 20 22 30 22 20 5d 3b  tictk}" = "0" ];
1930: 20 74 68 65 6e 0a 09 09 09 09 09 6e 6f 74 6b 3d   then......notk=
1940: 22 31 22 0a 09 09 09 09 65 6c 73 65 0a 09 09 09  "1".....else....
1950: 09 09 65 63 68 6f 20 22 24 7b 6b 69 74 7d 3a 20  ..echo "${kit}: 
1960: 55 6e 61 62 6c 65 20 74 6f 20 63 72 65 61 74 65  Unable to create
1970: 20 53 74 61 74 69 63 54 6b 20 61 6e 64 20 4e 6f   StaticTk and No
1980: 54 6b 2c 20 69 67 6e 6f 72 69 6e 67 20 4e 6f 54  Tk, ignoring NoT
1990: 6b 22 20 3e 26 32 0a 09 09 09 09 66 69 0a 09 09  k" >&2.....fi...
19a0: 09 09 3b 3b 0a 09 09 09 2a 2d 6e 6f 6d 6b 34 2d  ..;;....*-nomk4-
19b0: 2a 29 0a 09 09 09 09 74 65 6d 70 6b 69 74 3d 22  *).....tempkit="
19c0: 24 28 65 63 68 6f 20 22 24 7b 74 65 6d 70 6b 69  $(echo "${tempki
19d0: 74 7d 22 20 7c 20 73 65 64 20 27 73 40 2d 6e 6f  t}" | sed 's@-no
19e0: 6d 6b 34 2d 40 2d 40 27 29 22 0a 09 09 09 09 6e  mk4-@-@')".....n
19f0: 6f 6d 6b 34 3d 22 31 22 0a 09 09 09 09 69 73 7a  omk4="1".....isz
1a00: 69 70 3d 22 31 22 0a 09 09 09 09 3b 3b 0a 09 09  ip="1".....;;...
1a10: 09 2a 2d 6b 69 74 64 6c 6c 2d 2a 29 0a 09 09 09  .*-kitdll-*)....
1a20: 09 74 65 6d 70 6b 69 74 3d 22 24 28 65 63 68 6f  .tempkit="$(echo
1a30: 20 22 24 7b 74 65 6d 70 6b 69 74 7d 22 20 7c 20   "${tempkit}" | 
1a40: 73 65 64 20 27 73 40 2d 6b 69 74 64 6c 6c 2d 40  sed 's@-kitdll-@
1a50: 2d 40 27 29 22 0a 09 09 09 09 6b 69 74 64 6c 6c  -@')".....kitdll
1a60: 3d 22 31 22 0a 09 09 09 09 3b 3b 0a 09 09 09 2a  ="1".....;;....*
1a70: 2d 64 65 62 75 67 2d 2a 29 0a 09 09 09 09 74 65  -debug-*).....te
1a80: 6d 70 6b 69 74 3d 22 24 28 65 63 68 6f 20 22 24  mpkit="$(echo "$
1a90: 7b 74 65 6d 70 6b 69 74 7d 22 20 7c 20 73 65 64  {tempkit}" | sed
1aa0: 20 27 73 40 2d 64 65 62 75 67 2d 40 2d 40 27 29   's@-debug-@-@')
1ab0: 22 0a 09 09 09 09 61 72 67 73 3d 22 24 7b 61 72  ".....args="${ar
1ac0: 67 73 7d 20 2d 2d 65 6e 61 62 6c 65 2d 73 79 6d  gs} --enable-sym
1ad0: 62 6f 6c 73 22 0a 09 09 09 09 3b 3b 0a 09 09 65  bols".....;;...e
1ae0: 73 61 63 0a 09 64 6f 6e 65 0a 0a 09 69 66 20 5b  sac..done...if [
1af0: 20 22 24 7b 6b 69 74 64 6c 6c 7d 22 20 3d 20 22   "${kitdll}" = "
1b00: 31 22 20 5d 3b 20 74 68 65 6e 0a 09 09 23 20 43  1" ]; then...# C
1b10: 75 72 72 65 6e 74 6c 79 20 6e 6f 20 4b 69 74 44  urrently no KitD
1b20: 4c 4c 20 75 73 65 73 20 5a 69 70 0a 09 09 69 73  LL uses Zip...is
1b30: 7a 69 70 3d 22 30 22 0a 09 66 69 0a 0a 09 66 6f  zip="0"..fi...fo
1b40: 72 20 76 65 72 73 69 6f 6e 20 69 6e 20 24 7b 56  r version in ${V
1b50: 45 52 53 49 4f 4e 53 7d 3b 20 64 6f 0a 09 09 23  ERSIONS}; do...#
1b60: 20 57 6f 72 6b 20 61 72 6f 75 6e 64 20 63 68 61   Work around cha
1b70: 6e 67 65 73 20 69 6e 20 64 65 66 61 75 6c 74 20  nges in default 
1b80: 62 65 68 61 76 69 6f 75 72 0a 09 09 63 61 73 65  behaviour...case
1b90: 20 22 24 7b 76 65 72 73 69 6f 6e 7d 22 20 69 6e   "${version}" in
1ba0: 0a 09 09 09 38 2e 36 2e 2a 7c 63 76 73 5f 48 45  ....8.6.*|cvs_HE
1bb0: 41 44 29 0a 09 09 09 09 6b 69 74 3d 22 24 28 65  AD).....kit="$(e
1bc0: 63 68 6f 20 22 24 7b 6b 69 74 7d 22 20 7c 20 73  cho "${kit}" | s
1bd0: 65 64 20 27 73 40 2d 74 68 72 65 61 64 65 64 40  ed 's@-threaded@
1be0: 2d 75 6e 74 68 72 65 61 64 65 64 40 27 29 22 0a  -unthreaded@')".
1bf0: 09 09 09 09 61 72 67 73 3d 22 24 28 65 63 68 6f  ....args="$(echo
1c00: 20 22 24 7b 61 72 67 73 7d 22 20 7c 20 73 65 64   "${args}" | sed
1c10: 20 27 73 40 20 2d 2d 65 6e 61 62 6c 65 2d 74 68   's@ --enable-th
1c20: 72 65 61 64 73 40 20 2d 2d 64 69 73 61 62 6c 65  reads@ --disable
1c30: 2d 74 68 72 65 61 64 73 40 27 29 22 0a 09 09 09  -threads@')"....
1c40: 09 3b 3b 0a 09 09 65 73 61 63 0a 0a 09 09 23 20  .;;...esac....# 
1c50: 43 72 65 61 74 65 20 54 63 6c 6b 69 74 0a 09 09  Create Tclkit...
1c60: 69 66 20 5b 20 22 24 7b 6b 69 74 64 6c 6c 7d 22  if [ "${kitdll}"
1c70: 20 3d 20 22 31 22 20 5d 3b 20 74 68 65 6e 0a 09   = "1" ]; then..
1c80: 09 09 63 72 65 61 74 65 64 6b 69 74 3d 22 6c 69  ..createdkit="li
1c90: 62 74 63 6c 6b 69 74 2a 2e 64 6c 6c 20 6c 69 62  btclkit*.dll lib
1ca0: 74 63 6c 6b 69 74 2a 2e 2a 22 0a 09 09 09 6f 75  tclkit*.*"....ou
1cb0: 74 70 75 74 6e 61 6d 65 3d 22 24 7b 54 45 53 54  tputname="${TEST
1cc0: 44 49 52 7d 2f 6b 69 74 73 2f 6c 69 62 74 63 6c  DIR}/kits/libtcl
1cd0: 6b 69 74 2d 24 7b 76 65 72 73 69 6f 6e 7d 2d 24  kit-${version}-$
1ce0: 7b 6b 69 74 7d 22 0a 09 09 09 66 61 69 6c 6f 75  {kit}"....failou
1cf0: 74 70 75 74 6e 61 6d 65 3d 22 24 7b 54 45 53 54  tputname="${TEST
1d00: 44 49 52 7d 2f 6b 69 74 73 2f 66 61 69 6c 65 64  DIR}/kits/failed
1d10: 2f 6c 69 62 74 63 6c 6b 69 74 2d 24 7b 76 65 72  /libtclkit-${ver
1d20: 73 69 6f 6e 7d 2d 24 7b 6b 69 74 7d 22 0a 09 09  sion}-${kit}"...
1d30: 09 73 64 6b 3d 22 6c 69 62 74 63 6c 6b 69 74 2d  .sdk="libtclkit-
1d40: 73 64 6b 2d 24 7b 76 65 72 73 69 6f 6e 7d 2e 74  sdk-${version}.t
1d50: 61 72 2e 67 7a 22 0a 09 09 65 6c 73 65 0a 09 09  ar.gz"...else...
1d60: 09 63 72 65 61 74 65 64 6b 69 74 3d 22 74 63 6c  .createdkit="tcl
1d70: 6b 69 74 2d 24 7b 76 65 72 73 69 6f 6e 7d 22 0a  kit-${version}".
1d80: 09 09 09 6f 75 74 70 75 74 6e 61 6d 65 3d 22 24  ...outputname="$
1d90: 7b 54 45 53 54 44 49 52 7d 2f 6b 69 74 73 2f 74  {TESTDIR}/kits/t
1da0: 63 6c 6b 69 74 2d 24 7b 76 65 72 73 69 6f 6e 7d  clkit-${version}
1db0: 2d 24 7b 6b 69 74 7d 22 0a 09 09 09 66 61 69 6c  -${kit}"....fail
1dc0: 6f 75 74 70 75 74 6e 61 6d 65 3d 22 24 7b 54 45  outputname="${TE
1dd0: 53 54 44 49 52 7d 2f 6b 69 74 73 2f 66 61 69 6c  STDIR}/kits/fail
1de0: 65 64 2f 74 63 6c 6b 69 74 2d 24 7b 76 65 72 73  ed/tclkit-${vers
1df0: 69 6f 6e 7d 2d 24 7b 6b 69 74 7d 22 0a 09 09 09  ion}-${kit}"....
1e00: 73 64 6b 3d 27 27 0a 09 09 66 69 0a 09 09 62 75  sdk=''...fi...bu
1e10: 69 6c 64 6c 6f 67 3d 22 24 7b 6f 75 74 70 75 74  ildlog="${output
1e20: 6e 61 6d 65 7d 2d 62 75 69 6c 64 2e 6c 6f 67 22  name}-build.log"
1e30: 0a 09 09 66 61 69 6c 62 75 69 6c 64 6c 6f 67 3d  ...failbuildlog=
1e40: 22 24 7b 66 61 69 6c 6f 75 74 70 75 74 6e 61 6d  "${failoutputnam
1e50: 65 7d 2d 62 75 69 6c 64 2e 6c 6f 67 22 0a 09 09  e}-build.log"...
1e60: 74 65 73 74 72 65 73 75 6c 74 73 6c 6f 67 3d 22  testresultslog="
1e70: 24 7b 6f 75 74 70 75 74 6e 61 6d 65 7d 2d 74 65  ${outputname}-te
1e80: 73 74 73 2e 6c 6f 67 22 0a 0a 09 09 69 66 20 5b  sts.log"....if [
1e90: 20 21 20 2d 66 20 22 24 7b 6f 75 74 70 75 74 6e   ! -f "${outputn
1ea0: 61 6d 65 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 09  ame}" ]; then...
1eb0: 09 75 6e 73 65 74 20 4b 49 54 43 52 45 41 54 4f  .unset KITCREATO
1ec0: 52 5f 50 4b 47 53 20 53 54 41 54 49 43 54 4b 20  R_PKGS STATICTK 
1ed0: 53 54 52 49 50 0a 0a 09 09 09 69 66 20 5b 20 2d  STRIP.....if [ -
1ee0: 66 20 22 24 7b 66 61 69 6c 6f 75 74 70 75 74 6e  f "${failoutputn
1ef0: 61 6d 65 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 09  ame}" ]; then...
1f00: 09 09 65 63 68 6f 20 22 53 6b 69 70 70 69 6e 67  ..echo "Skipping
1f10: 20 72 65 62 75 69 6c 64 69 6e 67 20 66 61 69 6c   rebuilding fail
1f20: 65 64 20 6b 69 74 20 24 7b 76 65 72 73 69 6f 6e  ed kit ${version
1f30: 7d 2f 24 7b 6b 69 74 7d 20 2e 2e 2e 22 0a 0a 09  }/${kit} ..."...
1f40: 09 09 09 66 61 69 6c 65 64 3d 22 24 7b 66 61 69  ...failed="${fai
1f50: 6c 65 64 7d 20 24 7b 76 65 72 73 69 6f 6e 7d 2f  led} ${version}/
1f60: 24 7b 6b 69 74 7d 2d 62 75 69 6c 64 22 0a 0a 09  ${kit}-build"...
1f70: 09 09 09 63 6f 6e 74 69 6e 75 65 0a 09 09 09 66  ...continue....f
1f80: 69 0a 0a 09 09 09 72 6d 20 2d 66 20 74 63 6c 73  i.....rm -f tcls
1f90: 68 0a 09 09 09 2e 2f 6b 69 74 63 72 65 61 74 6f  h...../kitcreato
1fa0: 72 20 63 6c 65 61 6e 20 3e 2f 64 65 76 2f 6e 75  r clean >/dev/nu
1fb0: 6c 6c 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 0a 0a  ll 2>/dev/null..
1fc0: 09 09 09 65 63 68 6f 20 22 43 72 65 61 74 69 6e  ...echo "Creatin
1fd0: 67 20 54 63 6c 6b 69 74 20 24 7b 76 65 72 73 69  g Tclkit ${versi
1fe0: 6f 6e 7d 2f 24 7b 6b 69 74 7d 2e 2e 2e 22 0a 09  on}/${kit}..."..
1ff0: 09 09 65 63 68 6f 20 22 20 2a 2a 2a 20 42 75 69  ..echo " *** Bui
2000: 6c 64 20 73 74 61 72 74 65 64 20 24 28 77 68 6f  ld started $(who
2010: 61 6d 69 29 40 24 28 68 6f 73 74 6e 61 6d 65 29  ami)@$(hostname)
2020: 20 6f 6e 20 24 28 64 61 74 65 29 22 20 3e 20 22   on $(date)" > "
2030: 24 7b 62 75 69 6c 64 6c 6f 67 7d 22 0a 09 09 09  ${buildlog}"....
2040: 65 63 68 6f 20 27 27 20 3e 3e 20 22 24 7b 62 75  echo '' >> "${bu
2050: 69 6c 64 6c 6f 67 7d 22 0a 09 09 09 65 63 68 6f  ildlog}"....echo
2060: 20 22 20 2a 2a 2a 20 42 75 69 6c 64 20 53 63 72   " *** Build Scr
2070: 69 70 74 22 20 3e 3e 20 22 24 7b 62 75 69 6c 64  ipt" >> "${build
2080: 6c 6f 67 7d 22 0a 0a 09 09 09 69 66 20 5b 20 22  log}".....if [ "
2090: 24 7b 6e 6f 74 6b 7d 22 20 3d 20 22 31 22 20 5d  ${notk}" = "1" ]
20a0: 3b 20 74 68 65 6e 0a 09 09 09 09 4b 49 54 43 52  ; then.....KITCR
20b0: 45 41 54 4f 52 5f 50 4b 47 53 3d 27 69 74 63 6c  EATOR_PKGS='itcl
20c0: 20 6d 6b 34 74 63 6c 27 0a 09 09 09 66 69 0a 0a   mk4tcl'....fi..
20d0: 09 09 09 69 66 20 5b 20 22 24 7b 6e 6f 6d 6b 34  ...if [ "${nomk4
20e0: 7d 22 20 3d 20 22 31 22 20 5d 3b 20 74 68 65 6e  }" = "1" ]; then
20f0: 0a 09 09 09 09 69 66 20 5b 20 2d 7a 20 22 24 7b  .....if [ -z "${
2100: 4b 49 54 43 52 45 41 54 4f 52 5f 50 4b 47 53 7d  KITCREATOR_PKGS}
2110: 22 20 5d 3b 20 74 68 65 6e 0a 09 09 09 09 09 4b  " ]; then......K
2120: 49 54 43 52 45 41 54 4f 52 5f 50 4b 47 53 3d 27  ITCREATOR_PKGS='
2130: 69 74 63 6c 20 74 6b 27 0a 09 09 09 09 65 6c 73  itcl tk'.....els
2140: 65 0a 09 09 09 09 09 4b 49 54 43 52 45 41 54 4f  e......KITCREATO
2150: 52 5f 50 4b 47 53 3d 22 24 28 65 63 68 6f 20 22  R_PKGS="$(echo "
2160: 24 7b 4b 49 54 43 52 45 41 54 4f 52 5f 50 4b 47  ${KITCREATOR_PKG
2170: 53 7d 22 20 7c 20 73 65 64 20 27 73 40 6d 6b 34  S}" | sed 's@mk4
2180: 74 63 6c 40 40 27 29 22 0a 09 09 09 09 66 69 0a  tcl@@')".....fi.
2190: 09 09 09 66 69 0a 0a 09 09 09 69 66 20 5b 20 22  ...fi.....if [ "
21a0: 24 7b 6b 69 74 64 6c 6c 7d 22 20 3d 20 22 31 22  ${kitdll}" = "1"
21b0: 20 5d 3b 20 74 68 65 6e 0a 09 09 09 09 69 66 20   ]; then.....if 
21c0: 5b 20 2d 7a 20 22 24 7b 4b 49 54 43 52 45 41 54  [ -z "${KITCREAT
21d0: 4f 52 5f 50 4b 47 53 7d 22 20 5d 3b 20 74 68 65  OR_PKGS}" ]; the
21e0: 6e 0a 09 09 09 09 09 4b 49 54 43 52 45 41 54 4f  n......KITCREATO
21f0: 52 5f 50 4b 47 53 3d 27 74 6b 20 69 74 63 6c 20  R_PKGS='tk itcl 
2200: 6d 6b 34 74 63 6c 20 6b 69 74 64 6c 6c 27 0a 09  mk4tcl kitdll'..
2210: 09 09 09 65 6c 73 65 0a 09 09 09 09 09 4b 49 54  ...else......KIT
2220: 43 52 45 41 54 4f 52 5f 50 4b 47 53 3d 22 24 7b  CREATOR_PKGS="${
2230: 4b 49 54 43 52 45 41 54 4f 52 5f 50 4b 47 53 7d  KITCREATOR_PKGS}
2240: 20 6b 69 74 64 6c 6c 22 0a 09 09 09 09 66 69 0a   kitdll".....fi.
2250: 09 09 09 66 69 0a 0a 09 09 09 65 78 70 6f 72 74  ...fi.....export
2260: 20 4b 49 54 43 52 45 41 54 4f 52 5f 50 4b 47 53   KITCREATOR_PKGS
2270: 0a 0a 09 09 09 69 66 20 5b 20 2d 6e 20 22 24 7b  .....if [ -n "${
2280: 4b 49 54 43 52 45 41 54 4f 52 5f 50 4b 47 53 7d  KITCREATOR_PKGS}
2290: 22 20 5d 3b 20 74 68 65 6e 0a 09 09 09 09 65 63  " ]; then.....ec
22a0: 68 6f 20 22 20 20 4b 49 54 43 52 45 41 54 4f 52  ho "  KITCREATOR
22b0: 5f 50 4b 47 53 3d 5c 22 24 7b 4b 49 54 43 52 45  _PKGS=\"${KITCRE
22c0: 41 54 4f 52 5f 50 4b 47 53 7d 5c 22 22 20 3e 3e  ATOR_PKGS}\"" >>
22d0: 20 22 24 7b 62 75 69 6c 64 6c 6f 67 7d 22 0a 09   "${buildlog}"..
22e0: 09 09 09 65 63 68 6f 20 22 20 20 65 78 70 6f 72  ...echo "  expor
22f0: 74 20 4b 49 54 43 52 45 41 54 4f 52 5f 50 4b 47  t KITCREATOR_PKG
2300: 53 22 20 3e 3e 20 22 24 7b 62 75 69 6c 64 6c 6f  S" >> "${buildlo
2310: 67 7d 22 0a 09 09 09 66 69 0a 0a 09 09 09 69 66  g}"....fi.....if
2320: 20 5b 20 22 24 7b 73 74 61 74 69 63 74 6b 7d 22   [ "${statictk}"
2330: 20 3d 20 22 31 22 20 5d 3b 20 74 68 65 6e 0a 09   = "1" ]; then..
2340: 09 09 09 53 54 41 54 49 43 54 4b 3d 22 31 22 0a  ...STATICTK="1".
2350: 09 09 09 09 65 78 70 6f 72 74 20 53 54 41 54 49  ....export STATI
2360: 43 54 4b 0a 0a 09 09 09 09 65 63 68 6f 20 22 20  CTK......echo " 
2370: 20 53 54 41 54 49 43 54 4b 3d 5c 22 24 7b 53 54   STATICTK=\"${ST
2380: 41 54 49 43 54 4b 7d 5c 22 22 20 3e 3e 20 22 24  ATICTK}\"" >> "$
2390: 7b 62 75 69 6c 64 6c 6f 67 7d 22 0a 09 09 09 09  {buildlog}".....
23a0: 65 63 68 6f 20 22 20 20 65 78 70 6f 72 74 20 53  echo "  export S
23b0: 54 41 54 49 43 54 4b 22 20 3e 3e 20 22 24 7b 62  TATICTK" >> "${b
23c0: 75 69 6c 64 6c 6f 67 7d 22 0a 09 09 09 66 69 0a  uildlog}"....fi.
23d0: 0a 09 09 09 69 66 20 65 63 68 6f 20 22 24 7b 61  ....if echo "${a
23e0: 72 67 73 7d 22 20 7c 20 67 72 65 70 20 2d 2d 20  rgs}" | grep -- 
23f0: 27 2d 2d 65 6e 61 62 6c 65 2d 73 79 6d 62 6f 6c  '--enable-symbol
2400: 73 27 20 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74  s' >/dev/null; t
2410: 68 65 6e 0a 09 09 09 09 53 54 52 49 50 3d 27 74  hen.....STRIP='t
2420: 72 75 65 27 0a 09 09 09 09 65 78 70 6f 72 74 20  rue'.....export 
2430: 53 54 52 49 50 0a 0a 09 09 09 09 65 63 68 6f 20  STRIP......echo 
2440: 22 20 20 53 54 52 49 50 3d 27 74 72 75 65 27 22  "  STRIP='true'"
2450: 20 3e 3e 20 22 24 7b 62 75 69 6c 64 6c 6f 67 7d   >> "${buildlog}
2460: 22 0a 09 09 09 09 65 63 68 6f 20 22 20 20 65 78  ".....echo "  ex
2470: 70 6f 72 74 20 53 54 52 49 50 22 20 3e 3e 20 22  port STRIP" >> "
2480: 24 7b 62 75 69 6c 64 6c 6f 67 7d 22 0a 09 09 09  ${buildlog}"....
2490: 66 69 0a 0a 09 09 09 69 66 20 5b 20 22 24 7b 6b  fi.....if [ "${k
24a0: 69 74 63 72 65 61 74 6f 72 7d 22 20 21 3d 20 22  itcreator}" != "
24b0: 2e 2f 6b 69 74 63 72 65 61 74 6f 72 22 20 5d 3b  ./kitcreator" ];
24c0: 20 74 68 65 6e 0a 09 09 09 09 65 63 68 6f 20 22   then.....echo "
24d0: 20 20 6d 6b 64 69 72 20 62 75 69 6c 64 22 20 3e    mkdir build" >
24e0: 3e 20 22 24 7b 62 75 69 6c 64 6c 6f 67 7d 22 0a  > "${buildlog}".
24f0: 0a 09 09 09 09 23 20 53 65 76 65 72 61 6c 20 62  .....# Several b
2500: 75 69 6c 64 20 73 63 72 69 70 74 73 20 72 65 6c  uild scripts rel
2510: 79 20 6f 6e 20 6d 69 6e 6b 69 74 20 74 6f 20 77  y on minkit to w
2520: 6f 72 6b 0a 09 09 09 09 69 66 20 67 72 65 70 20  ork.....if grep 
2530: 27 2e 2f 62 75 69 6c 64 2f 6d 61 6b 65 2d 6d 69  './build/make-mi
2540: 6e 6b 69 74 27 20 22 24 7b 6b 69 74 63 72 65 61  nkit' "${kitcrea
2550: 74 6f 72 7d 22 20 3e 2f 64 65 76 2f 6e 75 6c 6c  tor}" >/dev/null
2560: 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68   2>/dev/null; th
2570: 65 6e 0a 09 09 09 09 09 65 63 68 6f 20 22 20 20  en......echo "  
2580: 63 61 74 20 3c 3c 20 5c 5f 5f 45 4f 46 5f 5f 20  cat << \__EOF__ 
2590: 3e 20 2e 2f 62 75 69 6c 64 2f 6d 61 6b 65 2d 6d  > ./build/make-m
25a0: 69 6e 6b 69 74 22 20 3e 3e 20 22 24 7b 62 75 69  inkit" >> "${bui
25b0: 6c 64 6c 6f 67 7d 22 0a 09 09 09 09 09 73 65 64  ldlog}"......sed
25c0: 20 27 73 40 5e 40 20 20 40 27 20 20 27 2e 2f 62   's@^@  @'  './b
25d0: 75 69 6c 64 2f 6d 61 6b 65 2d 6d 69 6e 6b 69 74  uild/make-minkit
25e0: 27 20 3e 3e 20 22 24 7b 62 75 69 6c 64 6c 6f 67  ' >> "${buildlog
25f0: 7d 22 0a 09 09 09 09 09 65 63 68 6f 20 22 20 20  }"......echo "  
2600: 5f 5f 45 4f 46 5f 5f 22 20 3e 3e 20 22 24 7b 62  __EOF__" >> "${b
2610: 75 69 6c 64 6c 6f 67 7d 22 0a 09 09 09 09 09 65  uildlog}"......e
2620: 63 68 6f 20 27 27 20 3e 3e 20 22 24 7b 62 75 69  cho '' >> "${bui
2630: 6c 64 6c 6f 67 7d 22 0a 09 09 09 09 66 69 0a 0a  ldlog}".....fi..
2640: 09 09 09 09 23 20 53 65 76 65 72 61 6c 20 62 75  ....# Several bu
2650: 69 6c 64 20 73 63 72 69 70 74 73 20 72 65 6c 79  ild scripts rely
2660: 20 6f 6e 20 6d 61 6b 65 2d 6b 69 74 2d 63 72 6f   on make-kit-cro
2670: 73 73 63 6f 6d 70 69 6c 65 20 74 6f 20 77 6f 72  sscompile to wor
2680: 6b 0a 09 09 09 09 69 66 20 67 72 65 70 20 27 2e  k.....if grep '.
2690: 2f 62 75 69 6c 64 2f 6d 61 6b 65 2d 6b 69 74 2d  /build/make-kit-
26a0: 63 72 6f 73 73 63 6f 6d 70 69 6c 65 27 20 22 24  crosscompile' "$
26b0: 7b 6b 69 74 63 72 65 61 74 6f 72 7d 22 20 3e 2f  {kitcreator}" >/
26c0: 64 65 76 2f 6e 75 6c 6c 20 32 3e 2f 64 65 76 2f  dev/null 2>/dev/
26d0: 6e 75 6c 6c 3b 20 74 68 65 6e 0a 09 09 09 09 09  null; then......
26e0: 65 63 68 6f 20 22 20 20 63 61 74 20 3c 3c 20 5c  echo "  cat << \
26f0: 5f 5f 45 4f 46 5f 5f 20 3e 20 2e 2f 62 75 69 6c  __EOF__ > ./buil
2700: 64 2f 6d 61 6b 65 2d 6b 69 74 2d 63 72 6f 73 73  d/make-kit-cross
2710: 63 6f 6d 70 69 6c 65 22 20 3e 3e 20 22 24 7b 62  compile" >> "${b
2720: 75 69 6c 64 6c 6f 67 7d 22 0a 09 09 09 09 09 73  uildlog}"......s
2730: 65 64 20 27 73 40 5e 40 20 20 40 27 20 20 27 2e  ed 's@^@  @'  '.
2740: 2f 62 75 69 6c 64 2f 6d 61 6b 65 2d 6b 69 74 2d  /build/make-kit-
2750: 63 72 6f 73 73 63 6f 6d 70 69 6c 65 27 20 3e 3e  crosscompile' >>
2760: 20 22 24 7b 62 75 69 6c 64 6c 6f 67 7d 22 0a 09   "${buildlog}"..
2770: 09 09 09 09 65 63 68 6f 20 22 20 20 5f 5f 45 4f  ....echo "  __EO
2780: 46 5f 5f 22 20 3e 3e 20 22 24 7b 62 75 69 6c 64  F__" >> "${build
2790: 6c 6f 67 7d 22 0a 09 09 09 09 09 65 63 68 6f 20  log}"......echo 
27a0: 27 27 20 3e 3e 20 22 24 7b 62 75 69 6c 64 6c 6f  '' >> "${buildlo
27b0: 67 7d 22 0a 09 09 09 09 66 69 0a 0a 09 09 09 09  g}".....fi......
27c0: 65 63 68 6f 20 22 20 20 63 61 74 20 3c 3c 20 5c  echo "  cat << \
27d0: 5f 5f 45 4f 46 5f 5f 20 3e 20 24 7b 6b 69 74 63  __EOF__ > ${kitc
27e0: 72 65 61 74 6f 72 7d 22 20 3e 3e 20 22 24 7b 62  reator}" >> "${b
27f0: 75 69 6c 64 6c 6f 67 7d 22 0a 09 09 09 09 73 65  uildlog}".....se
2800: 64 20 27 73 40 5e 40 20 20 40 27 20 20 22 24 7b  d 's@^@  @'  "${
2810: 6b 69 74 63 72 65 61 74 6f 72 7d 22 20 3e 3e 20  kitcreator}" >> 
2820: 22 24 7b 62 75 69 6c 64 6c 6f 67 7d 22 0a 09 09  "${buildlog}"...
2830: 09 09 65 63 68 6f 20 22 20 20 5f 5f 45 4f 46 5f  ..echo "  __EOF_
2840: 5f 22 20 3e 3e 20 22 24 7b 62 75 69 6c 64 6c 6f  _" >> "${buildlo
2850: 67 7d 22 0a 09 09 09 09 65 63 68 6f 20 27 27 20  g}".....echo '' 
2860: 3e 3e 20 22 24 7b 62 75 69 6c 64 6c 6f 67 7d 22  >> "${buildlog}"
2870: 0a 09 09 09 66 69 0a 09 09 09 65 63 68 6f 20 22  ....fi....echo "
2880: 20 20 5c 22 24 7b 6b 69 74 63 72 65 61 74 6f 72    \"${kitcreator
2890: 7d 5c 22 20 5c 22 24 7b 76 65 72 73 69 6f 6e 7d  }\" \"${version}
28a0: 5c 22 20 24 7b 61 72 67 73 7d 22 20 3e 3e 20 22  \" ${args}" >> "
28b0: 24 7b 62 75 69 6c 64 6c 6f 67 7d 22 0a 09 09 09  ${buildlog}"....
28c0: 65 63 68 6f 20 27 27 20 3e 3e 20 22 24 7b 62 75  echo '' >> "${bu
28d0: 69 6c 64 6c 6f 67 7d 22 0a 09 09 09 65 63 68 6f  ildlog}"....echo
28e0: 20 27 27 20 3e 3e 20 22 24 7b 62 75 69 6c 64 6c   '' >> "${buildl
28f0: 6f 67 7d 22 0a 09 09 09 65 63 68 6f 20 27 27 20  og}"....echo '' 
2900: 3e 3e 20 22 24 7b 62 75 69 6c 64 6c 6f 67 7d 22  >> "${buildlog}"
2910: 0a 09 09 09 65 63 68 6f 20 22 20 2a 2a 2a 20 42  ....echo " *** B
2920: 75 69 6c 64 20 52 65 73 75 6c 74 73 22 20 3e 3e  uild Results" >>
2930: 20 22 24 7b 62 75 69 6c 64 6c 6f 67 7d 22 0a 09   "${buildlog}"..
2940: 09 09 65 63 68 6f 20 27 27 20 3e 3e 20 22 24 7b  ..echo '' >> "${
2950: 62 75 69 6c 64 6c 6f 67 7d 22 0a 0a 09 09 09 62  buildlog}".....b
2960: 75 69 6c 64 66 61 69 6c 65 64 3d 22 30 22 0a 09  uildfailed="0"..
2970: 09 09 22 24 7b 6b 69 74 63 72 65 61 74 6f 72 7d  .."${kitcreator}
2980: 22 20 22 24 7b 76 65 72 73 69 6f 6e 7d 22 20 24  " "${version}" $
2990: 7b 61 72 67 73 7d 20 3e 3e 20 22 24 7b 62 75 69  {args} >> "${bui
29a0: 6c 64 6c 6f 67 7d 22 20 32 3e 26 31 20 7c 7c 20  ldlog}" 2>&1 || 
29b0: 62 75 69 6c 64 66 61 69 6c 65 64 3d 22 31 22 0a  buildfailed="1".
29c0: 09 09 09 67 72 65 70 20 2d 6e 20 27 5e 27 20 2a  ...grep -n '^' *
29d0: 2f 62 75 69 6c 64 2e 6c 6f 67 20 3e 3e 20 22 24  /build.log >> "$
29e0: 7b 62 75 69 6c 64 6c 6f 67 7d 22 20 32 3e 26 31  {buildlog}" 2>&1
29f0: 0a 0a 09 09 09 69 66 20 5b 20 22 24 7b 6b 69 74  .....if [ "${kit
2a00: 64 6c 6c 7d 22 20 3d 20 22 31 22 20 5d 3b 20 74  dll}" = "1" ]; t
2a10: 68 65 6e 0a 09 09 09 09 23 20 43 72 65 61 74 65  hen.....# Create
2a20: 20 74 65 73 74 20 64 72 69 76 65 72 73 20 66 6f   test drivers fo
2a30: 72 20 4b 69 74 44 4c 4c 0a 09 09 09 09 28 0a 09  r KitDLL.....(..
2a40: 09 09 09 09 65 63 68 6f 20 22 22 0a 09 09 09 09  ....echo "".....
2a50: 09 65 63 68 6f 20 22 22 0a 09 09 09 09 09 65 63  .echo ""......ec
2a60: 68 6f 20 22 22 0a 09 09 09 09 09 65 63 68 6f 20  ho ""......echo 
2a70: 22 20 2a 2a 2a 20 42 75 69 6c 64 69 6e 67 20 4b  " *** Building K
2a80: 69 74 44 4c 4c 20 74 65 73 74 20 64 72 69 76 65  itDLL test drive
2a90: 72 20 28 74 63 6c 73 68 29 22 0a 09 09 09 09 09  r (tclsh)"......
2aa0: 65 63 68 6f 20 22 22 0a 0a 09 09 09 09 09 63 64  echo "".......cd
2ab0: 20 6b 69 74 73 68 2f 62 75 69 6c 64 2f 6b 69 74   kitsh/build/kit
2ac0: 73 68 2d 2a 2f 20 7c 7c 20 65 78 69 74 20 31 0a  sh-*/ || exit 1.
2ad0: 09 09 09 09 09 6d 61 6b 65 20 74 63 6c 73 68 0a  .....make tclsh.
2ae0: 09 09 09 09 09 63 70 20 74 63 6c 73 68 20 2e 2e  .....cp tclsh ..
2af0: 2f 2e 2e 2f 2e 2e 2f 0a 09 09 09 09 29 20 3e 3e  /../../.....) >>
2b00: 20 22 24 7b 62 75 69 6c 64 6c 6f 67 7d 22 20 32   "${buildlog}" 2
2b10: 3e 26 31 0a 09 09 09 66 69 0a 0a 09 09 09 23 20  >&1....fi.....# 
2b20: 50 65 72 66 6f 72 6d 20 77 69 6c 64 63 61 72 64  Perform wildcard
2b30: 20 65 78 70 61 6e 73 69 6f 6e 0a 09 09 09 63 72   expansion....cr
2b40: 65 61 74 65 64 6b 69 74 3d 22 24 28 6c 73 20 2d  eatedkit="$(ls -
2b50: 66 31 20 24 7b 63 72 65 61 74 65 64 6b 69 74 7d  f1 ${createdkit}
2b60: 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 20 7c 20 67   2>/dev/null | g
2b70: 72 65 70 20 2d 76 20 27 5c 2e 74 61 72 5c 2e 67  rep -v '\.tar\.g
2b80: 7a 24 27 20 7c 20 68 65 61 64 20 2d 6e 20 31 29  z$' | head -n 1)
2b90: 22 0a 0a 09 09 09 69 66 20 5b 20 21 20 2d 66 20  ".....if [ ! -f 
2ba0: 22 24 7b 63 72 65 61 74 65 64 6b 69 74 7d 22 20  "${createdkit}" 
2bb0: 5d 3b 20 74 68 65 6e 0a 09 09 09 09 65 63 68 6f  ]; then.....echo
2bc0: 20 22 46 61 69 6c 65 64 20 74 6f 20 63 72 65 61   "Failed to crea
2bd0: 74 65 20 6b 69 74 20 24 7b 76 65 72 73 69 6f 6e  te kit ${version
2be0: 7d 2f 24 7b 6b 69 74 7d 22 20 3e 26 32 0a 0a 09  }/${kit}" >&2...
2bf0: 09 09 09 66 61 69 6c 65 64 3d 22 24 7b 66 61 69  ...failed="${fai
2c00: 6c 65 64 7d 20 24 7b 76 65 72 73 69 6f 6e 7d 2f  led} ${version}/
2c10: 24 7b 6b 69 74 7d 2d 62 75 69 6c 64 22 0a 0a 09  ${kit}-build"...
2c20: 09 09 09 74 6f 75 63 68 20 22 24 7b 66 61 69 6c  ...touch "${fail
2c30: 6f 75 74 70 75 74 6e 61 6d 65 7d 22 0a 09 09 09  outputname}"....
2c40: 09 6d 76 20 22 24 7b 62 75 69 6c 64 6c 6f 67 7d  .mv "${buildlog}
2c50: 22 20 22 24 7b 66 61 69 6c 62 75 69 6c 64 6c 6f  " "${failbuildlo
2c60: 67 7d 22 0a 0a 09 09 09 09 72 6d 20 2d 66 20 74  g}"......rm -f t
2c70: 63 6c 73 68 0a 0a 09 09 09 09 63 6f 6e 74 69 6e  clsh......contin
2c80: 75 65 0a 09 09 09 66 69 0a 0a 09 09 09 23 20 56  ue....fi.....# V
2c90: 65 72 69 66 79 20 73 61 6e 69 74 79 20 6f 66 20  erify sanity of 
2ca0: 63 72 65 61 74 65 64 20 6b 69 74 0a 09 09 09 69  created kit....i
2cb0: 73 73 61 6e 65 3d 31 0a 0a 09 09 09 23 23 20 56  ssane=1.....## V
2cc0: 65 72 69 66 79 20 74 68 61 74 20 57 69 6e 33 32  erify that Win32
2cd0: 20 62 75 69 6c 64 73 20 61 72 65 20 6f 66 20 63   builds are of c
2ce0: 6f 72 72 65 63 74 20 74 79 70 65 0a 09 09 09 23  orrect type....#
2cf0: 23 20 56 65 72 69 66 79 20 74 68 61 74 20 44 4c  # Verify that DL
2d00: 4c 20 62 75 69 6c 64 73 20 61 72 65 20 6f 66 20  L builds are of 
2d10: 63 6f 72 72 65 63 74 20 74 79 70 65 0a 09 09 09  correct type....
2d20: 63 61 73 65 20 22 2d 24 7b 76 65 72 73 69 6f 6e  case "-${version
2d30: 7d 2d 24 7b 6b 69 74 7d 2d 22 20 69 6e 0a 09 09  }-${kit}-" in...
2d40: 09 09 2a 2d 77 69 6e 5b 33 36 5d 5b 32 34 5d 2d  ..*-win[36][24]-
2d50: 6b 69 74 64 6c 6c 2d 2a 7c 2a 2d 77 69 6e 5b 33  kitdll-*|*-win[3
2d60: 36 5d 5b 32 34 5d 2d 2a 2d 6b 69 74 64 6c 6c 2d  6][24]-*-kitdll-
2d70: 2a 29 0a 09 09 09 09 09 69 66 20 21 20 66 69 6c  *)......if ! fil
2d80: 65 20 22 24 7b 63 72 65 61 74 65 64 6b 69 74 7d  e "${createdkit}
2d90: 22 20 7c 20 67 72 65 70 20 27 4d 53 20 57 69 6e  " | grep 'MS Win
2da0: 64 6f 77 73 27 20 7c 20 67 72 65 70 20 27 28 44  dows' | grep '(D
2db0: 4c 4c 29 27 20 3e 2f 64 65 76 2f 6e 75 6c 6c 3b  LL)' >/dev/null;
2dc0: 20 74 68 65 6e 0a 09 09 09 09 09 09 69 73 73 61   then.......issa
2dd0: 6e 65 3d 30 0a 09 09 09 09 09 66 69 0a 09 09 09  ne=0......fi....
2de0: 09 09 3b 3b 0a 09 09 09 09 2a 2d 6b 69 74 64 6c  ..;;.....*-kitdl
2df0: 6c 2d 2a 29 0a 09 09 09 09 09 69 66 20 21 20 66  l-*)......if ! f
2e00: 69 6c 65 20 22 24 7b 63 72 65 61 74 65 64 6b 69  ile "${createdki
2e10: 74 7d 22 20 7c 20 67 72 65 70 20 27 73 68 61 72  t}" | grep 'shar
2e20: 65 64 20 6f 62 6a 65 63 74 27 20 3e 2f 64 65 76  ed object' >/dev
2e30: 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a 09 09 09 09  /null; then.....
2e40: 09 09 69 73 73 61 6e 65 3d 30 0a 09 09 09 09 09  ..issane=0......
2e50: 66 69 0a 09 09 09 09 09 3b 3b 0a 09 09 09 09 2a  fi......;;.....*
2e60: 2d 77 69 6e 5b 33 36 5d 5b 32 34 5d 2d 6e 6f 74  -win[36][24]-not
2e70: 6b 2d 2a 7c 2a 2d 77 69 6e 5b 33 36 5d 5b 32 34  k-*|*-win[36][24
2e80: 5d 2d 2a 2d 6e 6f 74 6b 2d 2a 29 0a 09 09 09 09  ]-*-notk-*).....
2e90: 09 69 66 20 21 20 66 69 6c 65 20 22 24 7b 63 72  .if ! file "${cr
2ea0: 65 61 74 65 64 6b 69 74 7d 22 20 7c 20 67 72 65  eatedkit}" | gre
2eb0: 70 20 27 4d 53 20 57 69 6e 64 6f 77 73 27 20 7c  p 'MS Windows' |
2ec0: 20 67 72 65 70 20 27 28 63 6f 6e 73 6f 6c 65 29   grep '(console)
2ed0: 27 20 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68  ' >/dev/null; th
2ee0: 65 6e 0a 09 09 09 09 09 09 65 63 68 6f 20 22 4b  en.......echo "K
2ef0: 69 74 20 66 61 69 6c 65 64 20 73 61 6e 69 74 79  it failed sanity
2f00: 20 63 68 65 63 6b 20 66 6f 72 20 62 65 69 6e 67   check for being
2f10: 20 61 20 63 6f 6e 73 6f 6c 65 20 61 70 70 6c 69   a console appli
2f20: 63 61 74 69 6f 6e 22 20 3e 26 32 0a 09 09 09 09  cation" >&2.....
2f30: 09 09 69 73 73 61 6e 65 3d 30 0a 09 09 09 09 09  ..issane=0......
2f40: 66 69 0a 09 09 09 09 09 3b 3b 0a 09 09 09 09 2a  fi......;;.....*
2f50: 2d 77 69 6e 5b 33 36 5d 5b 32 34 5d 2d 2a 29 0a  -win[36][24]-*).
2f60: 09 09 09 09 09 69 66 20 21 20 66 69 6c 65 20 22  .....if ! file "
2f70: 24 7b 63 72 65 61 74 65 64 6b 69 74 7d 22 20 7c  ${createdkit}" |
2f80: 20 67 72 65 70 20 27 4d 53 20 57 69 6e 64 6f 77   grep 'MS Window
2f90: 73 27 20 7c 20 67 72 65 70 20 27 28 47 55 49 29  s' | grep '(GUI)
2fa0: 27 20 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68  ' >/dev/null; th
2fb0: 65 6e 0a 09 09 09 09 09 09 65 63 68 6f 20 22 4b  en.......echo "K
2fc0: 69 74 20 66 61 69 6c 65 64 20 73 61 6e 69 74 79  it failed sanity
2fd0: 20 63 68 65 63 6b 20 66 6f 72 20 62 65 69 6e 67   check for being
2fe0: 20 61 20 47 55 49 20 61 70 70 6c 69 63 61 74 69   a GUI applicati
2ff0: 6f 6e 22 20 3e 26 32 0a 09 09 09 09 09 09 69 73  on" >&2.......is
3000: 73 61 6e 65 3d 30 0a 09 09 09 09 09 66 69 0a 09  sane=0......fi..
3010: 09 09 09 09 3b 3b 0a 09 09 09 65 73 61 63 0a 0a  ....;;....esac..
3020: 09 09 09 23 23 20 56 65 72 69 66 79 20 74 68 65  ...## Verify the
3030: 20 62 75 69 6c 64 20 63 6f 6d 70 6c 65 74 65 64   build completed
3040: 20 77 69 74 68 6f 75 74 20 77 61 72 6e 69 6e 67   without warning
3050: 73 0a 09 09 09 69 66 20 5b 20 22 24 7b 62 75 69  s....if [ "${bui
3060: 6c 64 66 61 69 6c 65 64 7d 22 20 3d 20 22 31 22  ldfailed}" = "1"
3070: 20 5d 3b 20 74 68 65 6e 0a 09 09 09 09 65 63 68   ]; then.....ech
3080: 6f 20 22 4b 69 74 20 66 61 69 6c 65 64 20 73 61  o "Kit failed sa
3090: 6e 69 74 79 20 63 68 65 63 6b 20 66 6f 72 20 42  nity check for B
30a0: 75 69 6c 64 69 6e 67 22 20 3e 26 32 0a 0a 09 09  uilding" >&2....
30b0: 09 09 69 73 73 61 6e 65 3d 30 0a 09 09 09 66 69  ..issane=0....fi
30c0: 0a 0a 09 09 09 23 20 4d 61 6b 65 20 6e 6f 74 65  .....# Make note
30d0: 20 6f 66 20 73 61 6e 69 74 79 20 66 61 69 6c 75   of sanity failu
30e0: 72 65 0a 09 09 09 69 66 20 5b 20 22 24 7b 69 73  re....if [ "${is
30f0: 73 61 6e 65 7d 22 20 21 3d 20 22 31 22 20 5d 3b  sane}" != "1" ];
3100: 20 74 68 65 6e 0a 09 09 09 09 65 63 68 6f 20 22   then.....echo "
3110: 4b 69 74 20 66 61 69 6c 65 64 20 73 61 6e 69 74  Kit failed sanit
3120: 79 20 24 7b 76 65 72 73 69 6f 6e 7d 2f 24 7b 6b  y ${version}/${k
3130: 69 74 7d 22 20 3e 26 32 0a 0a 09 09 09 09 66 61  it}" >&2......fa
3140: 69 6c 65 64 3d 22 24 7b 66 61 69 6c 65 64 7d 20  iled="${failed} 
3150: 24 7b 76 65 72 73 69 6f 6e 7d 2f 24 7b 6b 69 74  ${version}/${kit
3160: 7d 2d 73 61 6e 69 74 79 22 0a 0a 09 09 09 09 6d  }-sanity"......m
3170: 76 20 22 24 7b 63 72 65 61 74 65 64 6b 69 74 7d  v "${createdkit}
3180: 22 20 22 24 7b 66 61 69 6c 6f 75 74 70 75 74 6e  " "${failoutputn
3190: 61 6d 65 7d 22 0a 09 09 09 09 6d 76 20 22 24 7b  ame}".....mv "${
31a0: 62 75 69 6c 64 6c 6f 67 7d 22 20 22 24 7b 66 61  buildlog}" "${fa
31b0: 69 6c 62 75 69 6c 64 6c 6f 67 7d 22 0a 0a 09 09  ilbuildlog}"....
31c0: 09 09 72 6d 20 2d 66 20 74 63 6c 73 68 0a 0a 09  ..rm -f tclsh...
31d0: 09 09 09 63 6f 6e 74 69 6e 75 65 0a 09 09 09 66  ...continue....f
31e0: 69 0a 0a 09 09 09 23 20 52 65 6e 61 6d 65 20 63  i.....# Rename c
31f0: 72 65 61 74 65 64 20 6b 69 74 20 74 6f 20 66 69  reated kit to fi
3200: 6e 61 6c 20 64 65 73 74 69 6e 61 74 69 6f 6e 0a  nal destination.
3210: 09 09 09 6d 76 20 22 24 7b 63 72 65 61 74 65 64  ...mv "${created
3220: 6b 69 74 7d 22 20 22 24 7b 6f 75 74 70 75 74 6e  kit}" "${outputn
3230: 61 6d 65 7d 22 0a 09 09 09 69 66 20 5b 20 2d 66  ame}"....if [ -f
3240: 20 22 74 63 6c 73 68 22 20 5d 3b 20 74 68 65 6e   "tclsh" ]; then
3250: 0a 09 09 09 09 6d 76 20 22 74 63 6c 73 68 22 20  .....mv "tclsh" 
3260: 22 24 7b 6f 75 74 70 75 74 6e 61 6d 65 7d 2d 74  "${outputname}-t
3270: 63 6c 73 68 22 0a 09 09 09 66 69 0a 0a 09 09 09  clsh"....fi.....
3280: 23 20 46 6f 72 20 4b 69 74 44 4c 4c 2c 20 6d 61  # For KitDLL, ma
3290: 6b 65 20 61 20 6e 6f 74 65 20 6f 66 20 74 68 65  ke a note of the
32a0: 20 6f 72 69 67 69 6e 61 6c 20 6e 61 6d 65 0a 09   original name..
32b0: 09 09 69 66 20 5b 20 22 24 7b 6b 69 74 64 6c 6c  ..if [ "${kitdll
32c0: 7d 22 20 3d 20 22 31 22 20 5d 3b 20 74 68 65 6e  }" = "1" ]; then
32d0: 0a 09 09 09 09 65 63 68 6f 20 22 24 7b 63 72 65  .....echo "${cre
32e0: 61 74 65 64 6b 69 74 7d 22 20 3e 20 22 24 7b 6f  atedkit}" > "${o
32f0: 75 74 70 75 74 6e 61 6d 65 7d 2d 6f 72 69 67 6e  utputname}-orign
3300: 61 6d 65 22 0a 0a 09 09 09 09 69 66 20 5b 20 2d  ame"......if [ -
3310: 66 20 22 24 7b 73 64 6b 7d 22 20 5d 3b 20 74 68  f "${sdk}" ]; th
3320: 65 6e 0a 09 09 09 09 09 6d 76 20 22 24 7b 73 64  en......mv "${sd
3330: 6b 7d 22 20 22 24 7b 6f 75 74 70 75 74 6e 61 6d  k}" "${outputnam
3340: 65 7d 2d 73 64 6b 2e 74 61 72 2e 67 7a 22 0a 09  e}-sdk.tar.gz"..
3350: 09 09 09 66 69 0a 09 09 09 66 69 0a 09 09 66 69  ...fi....fi...fi
3360: 0a 0a 09 09 23 20 54 65 73 74 20 7a 69 70 20 73  ....# Test zip s
3370: 74 61 74 75 73 0a 09 09 69 66 20 75 6e 7a 69 70  tatus...if unzip
3380: 20 2d 6c 20 22 24 7b 6f 75 74 70 75 74 6e 61 6d   -l "${outputnam
3390: 65 7d 22 20 32 3e 26 31 20 7c 20 67 72 65 70 20  e}" 2>&1 | grep 
33a0: 27 62 6f 6f 74 5c 2e 74 63 6c 27 20 3e 2f 64 65  'boot\.tcl' >/de
33b0: 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a 09 09 09  v/null; then....
33c0: 63 61 6e 75 6e 7a 69 70 3d 22 31 22 0a 09 09 65  canunzip="1"...e
33d0: 6c 73 65 0a 09 09 09 63 61 6e 75 6e 7a 69 70 3d  lse....canunzip=
33e0: 22 30 22 0a 09 09 66 69 0a 0a 09 09 69 66 20 5b  "0"...fi....if [
33f0: 20 22 24 7b 69 73 7a 69 70 7d 22 20 21 3d 20 22   "${iszip}" != "
3400: 24 7b 63 61 6e 75 6e 7a 69 70 7d 22 20 5d 3b 20  ${canunzip}" ]; 
3410: 74 68 65 6e 0a 09 09 09 65 63 68 6f 20 22 46 61  then....echo "Fa
3420: 69 6c 65 64 20 74 6f 20 75 6e 7a 69 70 20 7a 69  iled to unzip zi
3430: 70 6b 69 74 20 6f 72 20 77 61 73 20 61 62 6c 65  pkit or was able
3440: 20 74 6f 20 75 6e 7a 69 70 20 6e 6f 6e 2d 7a 69   to unzip non-zi
3450: 70 6b 69 74 20 24 7b 76 65 72 73 69 6f 6e 7d 2f  pkit ${version}/
3460: 24 7b 6b 69 74 7d 22 20 3e 26 32 0a 0a 09 09 09  ${kit}" >&2.....
3470: 66 61 69 6c 65 64 3d 22 24 7b 66 61 69 6c 65 64  failed="${failed
3480: 7d 20 24 7b 76 65 72 73 69 6f 6e 7d 2f 24 7b 6b  } ${version}/${k
3490: 69 74 7d 2d 7a 69 70 22 0a 0a 09 09 09 63 6f 6e  it}-zip".....con
34a0: 74 69 6e 75 65 0a 09 09 66 69 0a 0a 09 09 23 20  tinue...fi....# 
34b0: 44 6f 20 6e 6f 74 20 63 6f 6e 74 69 6e 75 65 20  Do not continue 
34c0: 70 61 73 74 20 68 65 72 65 20 66 6f 72 20 75 6e  past here for un
34d0: 2d 72 75 6e 6e 61 62 6c 65 20 6b 69 74 73 0a 09  -runnable kits..
34e0: 09 69 66 20 5b 20 22 24 7b 72 75 6e 6e 61 62 6c  .if [ "${runnabl
34f0: 65 7d 22 20 21 3d 20 22 31 22 20 5d 3b 20 74 68  e}" != "1" ]; th
3500: 65 6e 0a 09 09 09 63 6f 6e 74 69 6e 75 65 0a 09  en....continue..
3510: 09 66 69 0a 0a 09 09 23 20 49 66 20 74 68 65 20  .fi....# If the 
3520: 6e 61 6d 65 20 6f 66 20 74 68 65 20 6f 72 69 67  name of the orig
3530: 69 6e 61 6c 20 62 75 69 6c 64 20 6d 61 74 74 65  inal build matte
3540: 72 73 2c 20 73 79 6d 6c 69 6e 6b 20 69 74 20 75  rs, symlink it u
3550: 70 0a 09 09 69 66 20 5b 20 2d 66 20 22 24 7b 6f  p...if [ -f "${o
3560: 75 74 70 75 74 6e 61 6d 65 7d 2d 6f 72 69 67 6e  utputname}-orign
3570: 61 6d 65 22 20 5d 3b 20 74 68 65 6e 0a 09 09 09  ame" ]; then....
3580: 63 72 65 61 74 65 64 6b 69 74 3d 22 24 28 63 61  createdkit="$(ca
3590: 74 20 22 24 7b 6f 75 74 70 75 74 6e 61 6d 65 7d  t "${outputname}
35a0: 2d 6f 72 69 67 6e 61 6d 65 22 29 22 0a 0a 09 09  -origname")"....
35b0: 09 6c 6e 20 2d 73 20 22 24 7b 6f 75 74 70 75 74  .ln -s "${output
35c0: 6e 61 6d 65 7d 22 20 22 24 7b 63 72 65 61 74 65  name}" "${create
35d0: 64 6b 69 74 7d 22 0a 09 09 66 69 0a 0a 09 09 23  dkit}"...fi....#
35e0: 20 50 65 72 66 6f 72 6d 20 62 61 74 74 65 72 79   Perform battery
35f0: 20 6f 66 20 74 65 73 74 73 0a 09 09 23 23 20 43   of tests...## C
3600: 6c 65 61 6e 20 74 65 73 74 73 20 6c 6f 67 0a 09  lean tests log..
3610: 09 72 6d 20 2d 66 20 22 24 7b 74 65 73 74 72 65  .rm -f "${testre
3620: 73 75 6c 74 73 6c 6f 67 7d 22 0a 09 09 66 6f 72  sultslog}"...for
3630: 20 74 65 73 74 73 63 70 20 69 6e 20 22 24 7b 54   testscp in "${T
3640: 45 53 54 44 49 52 7d 22 2f 74 65 73 74 73 2f 2a  ESTDIR}"/tests/*
3650: 2e 74 63 6c 3b 20 64 6f 0a 09 09 09 74 65 73 74  .tcl; do....test
3660: 73 63 70 5f 74 61 67 3d 22 24 28 62 61 73 65 6e  scp_tag="$(basen
3670: 61 6d 65 20 22 24 7b 74 65 73 74 73 63 70 7d 22  ame "${testscp}"
3680: 20 2e 74 63 6c 29 22 0a 09 09 09 74 65 73 74 73   .tcl)"....tests
3690: 63 70 70 72 65 3d 22 24 28 64 69 72 6e 61 6d 65  cppre="$(dirname
36a0: 20 22 24 7b 74 65 73 74 73 63 70 7d 22 29 2f 24   "${testscp}")/$
36b0: 7b 74 65 73 74 73 63 70 5f 74 61 67 7d 2e 73 68  {testscp_tag}.sh
36c0: 22 0a 09 09 09 73 63 70 6c 6f 67 66 69 6c 65 3d  "....scplogfile=
36d0: 22 24 7b 6f 75 74 70 75 74 6e 61 6d 65 7d 2d 24  "${outputname}-$
36e0: 7b 74 65 73 74 73 63 70 5f 74 61 67 7d 2e 6c 6f  {testscp_tag}.lo
36f0: 67 22 0a 0a 09 09 09 23 20 49 66 20 61 20 63 6f  g".....# If a co
3700: 6d 6d 61 6e 64 20 69 73 20 72 65 71 75 69 72 65  mmand is require
3710: 64 20 74 6f 20 73 74 61 72 74 20 74 68 65 20 6b  d to start the k
3720: 69 74 2c 20 70 72 65 70 61 72 65 20 74 6f 20 6b  it, prepare to k
3730: 69 6c 6c 20 69 74 0a 09 09 09 23 20 69 6e 20 63  ill it....# in c
3740: 61 73 65 20 6f 66 20 74 69 6d 65 6f 75 74 2e 0a  ase of timeout..
3750: 09 09 09 23 23 20 54 65 6d 70 6f 72 61 72 69 6c  ...## Temporaril
3760: 79 20 64 69 73 61 62 6c 65 64 20 73 69 6e 63 65  y disabled since
3770: 20 63 75 72 72 65 6e 74 6c 79 20 69 74 20 69 73   currently it is
3780: 20 63 61 75 73 69 6e 67 0a 09 09 09 23 23 20 6d   causing....## m
3790: 6f 72 65 20 70 72 6f 62 6c 65 6d 73 20 69 6e 20  ore problems in 
37a0: 74 68 65 20 66 6f 72 6d 20 6f 66 20 74 65 73 74  the form of test
37b0: 73 20 62 65 69 6e 67 20 6b 69 6c 6c 65 64 0a 09  s being killed..
37c0: 09 09 23 23 20 70 72 65 6d 61 74 75 72 65 6c 79  ..## prematurely
37d0: 20 74 68 61 6e 20 77 65 20 61 72 65 20 68 61 76   than we are hav
37e0: 69 6e 67 20 69 73 73 75 65 73 20 77 69 74 68 20  ing issues with 
37f0: 74 65 73 74 73 0a 09 09 09 23 23 20 68 61 6e 67  tests....## hang
3800: 69 6e 67 0a 09 09 09 6b 69 74 72 75 6e 6b 69 6c  ing....kitrunkil
3810: 6c 70 69 64 3d 22 22 0a 09 09 09 69 66 20 5b 20  lpid=""....if [ 
3820: 22 31 22 20 3d 20 22 30 22 20 2d 61 20 2d 6e 20  "1" = "0" -a -n 
3830: 22 24 7b 6b 69 74 72 75 6e 63 6d 64 7d 22 20 5d  "${kitruncmd}" ]
3840: 3b 20 74 68 65 6e 0a 09 09 09 09 28 0a 09 09 09  ; then.....(....
3850: 09 09 73 6c 65 65 70 20 31 32 30 0a 09 09 09 09  ..sleep 120.....
3860: 09 6b 69 6c 6c 61 6c 6c 20 22 24 28 62 61 73 65  .killall "$(base
3870: 6e 61 6d 65 20 22 24 7b 6f 75 74 70 75 74 6e 61  name "${outputna
3880: 6d 65 7d 22 29 22 20 3e 2f 64 65 76 2f 6e 75 6c  me}")" >/dev/nul
3890: 6c 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 0a 09 09  l 2>/dev/null...
38a0: 09 09 29 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32  ..) >/dev/null 2
38b0: 3e 2f 64 65 76 2f 6e 75 6c 6c 20 26 0a 09 09 09  >/dev/null &....
38c0: 09 6b 69 74 72 75 6e 6b 69 6c 6c 70 69 64 3d 22  .kitrunkillpid="
38d0: 24 21 22 0a 09 09 09 66 69 0a 0a 09 09 09 28 0a  $!"....fi.....(.
38e0: 09 09 09 09 69 66 20 5b 20 2d 66 20 22 24 7b 74  ....if [ -f "${t
38f0: 65 73 74 73 63 70 70 72 65 7d 22 20 5d 3b 20 74  estscppre}" ]; t
3900: 68 65 6e 0a 09 09 09 09 09 2e 20 22 24 7b 74 65  hen....... "${te
3910: 73 74 73 63 70 70 72 65 7d 22 0a 09 09 09 09 66  stscppre}".....f
3920: 69 0a 0a 09 09 09 09 69 66 20 5b 20 22 24 7b 6b  i......if [ "${k
3930: 69 74 64 6c 6c 7d 22 20 3d 20 22 31 22 20 5d 3b  itdll}" = "1" ];
3940: 20 74 68 65 6e 0a 09 09 09 09 09 24 7b 6b 69 74   then......${kit
3950: 72 75 6e 63 6d 64 7d 20 22 24 7b 6f 75 74 70 75  runcmd} "${outpu
3960: 74 6e 61 6d 65 7d 2d 74 63 6c 73 68 22 20 22 24  tname}-tclsh" "$
3970: 7b 74 65 73 74 73 63 70 7d 22 20 22 24 7b 6f 75  {testscp}" "${ou
3980: 74 70 75 74 6e 61 6d 65 7d 22 20 22 24 7b 6b 69  tputname}" "${ki
3990: 74 7d 22 20 22 24 7b 76 65 72 73 69 6f 6e 7d 22  t}" "${version}"
39a0: 0a 09 09 09 09 65 6c 73 65 0a 09 09 09 09 09 24  .....else......$
39b0: 7b 6b 69 74 72 75 6e 63 6d 64 7d 20 22 24 7b 6f  {kitruncmd} "${o
39c0: 75 74 70 75 74 6e 61 6d 65 7d 22 20 22 24 7b 74  utputname}" "${t
39d0: 65 73 74 73 63 70 7d 22 20 22 24 7b 6f 75 74 70  estscp}" "${outp
39e0: 75 74 6e 61 6d 65 7d 22 20 22 24 7b 6b 69 74 7d  utname}" "${kit}
39f0: 22 20 22 24 7b 76 65 72 73 69 6f 6e 7d 22 0a 09  " "${version}"..
3a00: 09 09 09 66 69 0a 09 09 09 29 20 3e 20 22 24 7b  ...fi....) > "${
3a10: 73 63 70 6c 6f 67 66 69 6c 65 7d 22 20 32 3e 26  scplogfile}" 2>&
3a20: 31 0a 0a 09 09 09 69 66 20 5b 20 22 24 3f 22 20  1.....if [ "$?" 
3a30: 21 3d 20 22 30 22 20 5d 3b 20 74 68 65 6e 0a 09  != "0" ]; then..
3a40: 09 09 09 65 63 68 6f 20 22 53 63 72 69 70 74 20  ...echo "Script 
3a50: 66 61 69 6c 65 64 3a 20 24 7b 74 65 73 74 73 63  failed: ${testsc
3a60: 70 5f 74 61 67 7d 20 6f 6e 20 24 7b 76 65 72 73  p_tag} on ${vers
3a70: 69 6f 6e 7d 2f 24 7b 6b 69 74 7d 22 20 3e 26 32  ion}/${kit}" >&2
3a80: 0a 0a 09 09 09 09 66 61 69 6c 65 64 3d 22 24 7b  ......failed="${
3a90: 66 61 69 6c 65 64 7d 20 24 7b 76 65 72 73 69 6f  failed} ${versio
3aa0: 6e 7d 2f 24 7b 6b 69 74 7d 2d 74 65 73 74 2d 24  n}/${kit}-test-$
3ab0: 7b 74 65 73 74 73 63 70 5f 74 61 67 7d 22 0a 0a  {testscp_tag}"..
3ac0: 09 09 09 09 65 63 68 6f 20 22 24 7b 74 65 73 74  ....echo "${test
3ad0: 73 63 70 5f 74 61 67 7d 3a 20 46 41 49 4c 22 20  scp_tag}: FAIL" 
3ae0: 3e 3e 20 20 22 24 7b 74 65 73 74 72 65 73 75 6c  >>  "${testresul
3af0: 74 73 6c 6f 67 7d 22 0a 0a 09 09 09 09 63 6f 6e  tslog}"......con
3b00: 74 69 6e 75 65 0a 09 09 09 66 69 0a 0a 09 09 09  tinue....fi.....
3b10: 23 20 4b 69 6c 6c 20 74 68 65 20 77 61 74 63 68  # Kill the watch
3b20: 64 6f 67 20 66 6f 72 20 74 68 69 73 20 69 74 65  dog for this ite
3b30: 72 61 74 69 6f 6e 0a 09 09 09 69 66 20 5b 20 2d  ration....if [ -
3b40: 6e 20 22 24 7b 6b 69 74 72 75 6e 6b 69 6c 6c 70  n "${kitrunkillp
3b50: 69 64 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 09 09  id}" ]; then....
3b60: 09 6b 69 6c 6c 20 2d 39 20 22 24 7b 6b 69 74 72  .kill -9 "${kitr
3b70: 75 6e 6b 69 6c 6c 70 69 64 7d 22 20 3e 2f 64 65  unkillpid}" >/de
3b80: 76 2f 6e 75 6c 6c 20 32 3e 2f 64 65 76 2f 6e 75  v/null 2>/dev/nu
3b90: 6c 6c 0a 09 09 09 66 69 0a 0a 09 09 09 65 63 68  ll....fi.....ech
3ba0: 6f 20 22 24 7b 74 65 73 74 73 63 70 5f 74 61 67  o "${testscp_tag
3bb0: 7d 3a 20 50 41 53 53 22 20 3e 3e 20 20 22 24 7b  }: PASS" >>  "${
3bc0: 74 65 73 74 72 65 73 75 6c 74 73 6c 6f 67 7d 22  testresultslog}"
3bd0: 0a 0a 09 09 09 72 6d 20 2d 66 20 22 24 7b 73 63  .....rm -f "${sc
3be0: 70 6c 6f 67 66 69 6c 65 7d 22 0a 09 09 64 6f 6e  plogfile}"...don
3bf0: 65 0a 0a 09 09 69 66 20 5b 20 2d 66 20 22 24 7b  e....if [ -f "${
3c00: 6f 75 74 70 75 74 6e 61 6d 65 7d 2d 6f 72 69 67  outputname}-orig
3c10: 6e 61 6d 65 22 20 5d 3b 20 74 68 65 6e 0a 09 09  name" ]; then...
3c20: 09 72 6d 20 2d 66 20 22 24 7b 63 72 65 61 74 65  .rm -f "${create
3c30: 64 6b 69 74 7d 22 0a 09 09 66 69 0a 09 64 6f 6e  dkit}"...fi..don
3c40: 65 0a 64 6f 6e 65 0a 0a 69 66 20 5b 20 2d 6e 20  e.done..if [ -n 
3c50: 22 24 7b 66 61 69 6c 65 64 7d 22 20 5d 3b 20 74  "${failed}" ]; t
3c60: 68 65 6e 0a 09 65 63 68 6f 20 22 46 61 69 6c 65  hen..echo "Faile
3c70: 64 3a 20 24 7b 66 61 69 6c 65 64 7d 22 0a 66 69  d: ${failed}".fi
3c80: 0a 0a 23 20 43 6c 65 61 6e 75 70 0a 23 23 20 54  ..# Cleanup.## T
3c90: 65 72 6d 69 6e 61 74 65 20 58 76 66 62 0a 6b 69  erminate Xvfb.ki
3ca0: 6c 6c 20 2d 39 20 22 24 7b 58 56 46 42 5f 50 49  ll -9 "${XVFB_PI
3cb0: 44 7d 22 0a 0a 23 23 20 52 65 6d 6f 76 65 20 77  D}"..## Remove w
3cc0: 69 6e 65 0a 72 6d 20 2d 72 66 20 22 24 7b 57 49  ine.rm -rf "${WI
3cd0: 4e 45 50 52 45 46 49 58 33 32 7d 22 20 22 24 7b  NEPREFIX32}" "${
3ce0: 57 49 4e 45 50 52 45 46 49 58 36 34 7d 22 0a 0a  WINEPREFIX64}"..
3cf0: 2e 2f 6b 69 74 63 72 65 61 74 6f 72 20 63 6c 65  ./kitcreator cle
3d00: 61 6e 0a 72 6d 20 2d 66 20 74 63 6c 73 68 0a     an.rm -f tclsh.