Hex Artifact Content

Artifact b45aa7beb716aa52c3716f50d2f8bded3456ade0:


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 67 72  | echo "$1" | gr
0060: 65 70 20 27 5e 63 76 73 5f 27 20 3e 2f 64 65 76  ep '^cvs_' >/dev
0070: 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a 09 54 43 4c  /null; then..TCL
0080: 56 45 52 53 3d 22 24 31 22 0a 0a 09 73 68 69 66  VERS="$1"...shif
0090: 74 0a 66 69 0a 65 78 70 6f 72 74 20 54 43 4c 56  t.fi.export TCLV
00a0: 45 52 53 0a 0a 6d 6f 64 65 3d 22 62 75 69 6c 64  ERS..mode="build
00b0: 22 0a 69 66 20 5b 20 22 24 31 22 20 3d 20 22 63  ".if [ "$1" = "c
00c0: 6c 65 61 6e 22 20 5d 3b 20 74 68 65 6e 0a 09 73  lean" ]; then..s
00d0: 68 69 66 74 0a 0a 09 6d 6f 64 65 3d 22 63 6c 65  hift...mode="cle
00e0: 61 6e 22 0a 66 69 0a 69 66 20 5b 20 22 24 31 22  an".fi.if [ "$1"
00f0: 20 3d 20 22 64 69 73 74 63 6c 65 61 6e 22 20 5d   = "distclean" ]
0100: 3b 20 74 68 65 6e 0a 09 73 68 69 66 74 0a 0a 09  ; then..shift...
0110: 6d 6f 64 65 3d 22 64 69 73 74 63 6c 65 61 6e 22  mode="distclean"
0120: 0a 66 69 0a 0a 43 4f 4e 46 49 47 55 52 45 45 58  .fi..CONFIGUREEX
0130: 54 52 41 3d 22 24 40 22 0a 65 78 70 6f 72 74 20  TRA="$@".export 
0140: 43 4f 4e 46 49 47 55 52 45 45 58 54 52 41 0a 0a  CONFIGUREEXTRA..
0150: 66 61 69 6c 65 64 70 6b 67 73 3d 22 22 0a 62 75  failedpkgs="".bu
0160: 69 6c 64 66 61 69 6c 65 64 3d 22 30 22 0a 66 6f  ildfailed="0".fo
0170: 72 20 70 6b 67 20 69 6e 20 74 63 6c 20 74 6b 20  r pkg in tcl tk 
0180: 69 74 63 6c 20 6d 6b 34 74 63 6c 20 74 63 6c 76  itcl mk4tcl tclv
0190: 66 73 20 7a 6c 69 62 20 6b 69 74 73 68 3b 20 64  fs zlib kitsh; d
01a0: 6f 0a 09 69 66 20 5b 20 22 24 7b 6d 6f 64 65 7d  o..if [ "${mode}
01b0: 22 20 3d 20 22 64 69 73 74 63 6c 65 61 6e 22 20  " = "distclean" 
01c0: 5d 3b 20 74 68 65 6e 0a 09 09 72 6d 20 2d 72 66  ]; then...rm -rf
01d0: 20 22 24 7b 70 6b 67 7d 2f 73 72 63 22 0a 09 66   "${pkg}/src"..f
01e0: 69 0a 0a 09 69 66 20 5b 20 22 24 7b 6d 6f 64 65  i...if [ "${mode
01f0: 7d 22 20 3d 20 22 63 6c 65 61 6e 22 20 2d 6f 20  }" = "clean" -o 
0200: 22 24 7b 6d 6f 64 65 7d 22 20 3d 20 22 64 69 73  "${mode}" = "dis
0210: 74 63 6c 65 61 6e 22 20 5d 3b 20 74 68 65 6e 0a  tclean" ]; then.
0220: 09 09 72 6d 20 2d 66 20 22 24 7b 70 6b 67 7d 2f  ..rm -f "${pkg}/
0230: 62 75 69 6c 64 2e 6c 6f 67 22 0a 09 09 72 6d 20  build.log"...rm 
0240: 2d 72 66 20 22 24 7b 70 6b 67 7d 2f 6f 75 74 22  -rf "${pkg}/out"
0250: 20 22 24 7b 70 6b 67 7d 2f 69 6e 73 74 22 20 22   "${pkg}/inst" "
0260: 24 7b 70 6b 67 7d 2f 62 75 69 6c 64 22 0a 0a 09  ${pkg}/build"...
0270: 09 63 6f 6e 74 69 6e 75 65 0a 09 66 69 0a 0a 09  .continue..fi...
0280: 65 63 68 6f 20 2d 6e 20 22 42 75 69 6c 64 69 6e  echo -n "Buildin
0290: 67 20 24 7b 70 6b 67 7d 20 2e 2e 2e 22 0a 0a 09  g ${pkg} ..."...
02a0: 66 61 69 6c 65 64 3d 22 30 22 0a 09 28 0a 09 09  failed="0"..(...
02b0: 63 64 20 22 24 7b 70 6b 67 7d 22 20 3e 2f 64 65  cd "${pkg}" >/de
02c0: 76 2f 6e 75 6c 6c 20 32 3e 2f 64 65 76 2f 6e 75  v/null 2>/dev/nu
02d0: 6c 6c 20 7c 7c 20 65 78 69 74 20 31 0a 0a 09 09  ll || exit 1....
02e0: 2e 2f 62 75 69 6c 64 2e 73 68 20 3e 20 62 75 69  ./build.sh > bui
02f0: 6c 64 2e 6c 6f 67 20 32 3e 26 31 20 7c 7c 20 65  ld.log 2>&1 || e
0300: 78 69 74 20 31 0a 09 29 20 7c 7c 20 66 61 69 6c  xit 1..) || fail
0310: 65 64 3d 22 31 22 0a 0a 09 69 66 20 5b 20 22 24  ed="1"...if [ "$
0320: 7b 66 61 69 6c 65 64 7d 22 20 3d 20 22 31 22 20  {failed}" = "1" 
0330: 5d 3b 20 74 68 65 6e 0a 09 09 65 63 68 6f 20 22  ]; then...echo "
0340: 20 66 61 69 6c 65 64 2e 22 0a 09 09 66 61 69 6c   failed."...fail
0350: 65 64 70 6b 67 73 3d 22 24 7b 66 61 69 6c 65 64  edpkgs="${failed
0360: 70 6b 67 73 7d 20 24 7b 70 6b 67 7d 22 0a 09 65  pkgs} ${pkg}"..e
0370: 6c 73 65 0a 09 09 65 63 68 6f 20 22 20 64 6f 6e  lse...echo " don
0380: 65 2e 22 0a 09 66 69 0a 0a 09 63 61 73 65 20 22  e."..fi...case "
0390: 24 7b 70 6b 67 7d 22 20 69 6e 0a 09 09 74 63 6c  ${pkg}" in...tcl
03a0: 29 0a 09 09 09 54 43 4c 43 4f 4e 46 49 47 44 49  )....TCLCONFIGDI
03b0: 52 3d 24 28 66 69 6e 64 20 22 24 28 70 77 64 29  R=$(find "$(pwd)
03c0: 2f 74 63 6c 2f 62 75 69 6c 64 22 20 2d 6e 61 6d  /tcl/build" -nam
03d0: 65 20 74 63 6c 43 6f 6e 66 69 67 2e 73 68 20 7c  e tclConfig.sh |
03e0: 20 68 65 61 64 20 2d 31 20 7c 20 73 65 64 20 27   head -1 | sed '
03f0: 73 40 2f 5b 5e 2f 5d 2a 24 40 40 27 29 0a 09 09  s@/[^/]*$@@')...
0400: 09 65 78 70 6f 72 74 20 54 43 4c 43 4f 4e 46 49  .export TCLCONFI
0410: 47 44 49 52 0a 09 09 09 3b 3b 0a 09 65 73 61 63  GDIR....;;..esac
0420: 0a 0a 09 69 66 20 5b 20 22 24 7b 66 61 69 6c 65  ...if [ "${faile
0430: 64 7d 22 20 3d 20 22 31 22 20 5d 3b 20 74 68 65  d}" = "1" ]; the
0440: 6e 0a 09 09 62 75 69 6c 64 66 61 69 6c 65 64 3d  n...buildfailed=
0450: 22 31 22 0a 09 66 69 0a 64 6f 6e 65 0a 0a 69 66  "1"..fi.done..if
0460: 20 5b 20 22 24 7b 6d 6f 64 65 7d 22 20 3d 20 22   [ "${mode}" = "
0470: 63 6c 65 61 6e 22 20 2d 6f 20 22 24 7b 6d 6f 64  clean" -o "${mod
0480: 65 7d 22 20 3d 20 22 64 69 73 74 63 6c 65 61 6e  e}" = "distclean
0490: 22 20 5d 3b 20 74 68 65 6e 0a 09 72 6d 20 2d 66  " ]; then..rm -f
04a0: 20 74 63 6c 6b 69 74 2d 2a 0a 0a 09 65 78 69 74   tclkit-*...exit
04b0: 20 30 0a 66 69 0a 0a 69 66 20 5b 20 2d 6e 20 22   0.fi..if [ -n "
04c0: 24 7b 66 61 69 6c 65 64 70 6b 67 73 7d 22 20 5d  ${failedpkgs}" ]
04d0: 3b 20 74 68 65 6e 0a 09 65 63 68 6f 20 22 46 61  ; then..echo "Fa
04e0: 69 6c 65 64 20 74 6f 20 62 75 69 6c 64 3a 24 7b  iled to build:${
04f0: 66 61 69 6c 65 64 70 6b 67 73 7d 22 0a 66 69 0a  failedpkgs}".fi.
0500: 0a 69 66 20 5b 20 22 24 7b 62 75 69 6c 64 66 61  .if [ "${buildfa
0510: 69 6c 65 64 7d 22 20 21 3d 20 22 30 22 20 5d 3b  iled}" != "0" ];
0520: 20 74 68 65 6e 0a 09 65 63 68 6f 20 27 57 41 52   then..echo 'WAR
0530: 4e 49 4e 47 3a 20 42 75 69 6c 64 20 69 73 20 6c  NING: Build is l
0540: 69 6b 65 6c 79 20 69 6e 63 6f 6d 70 6c 65 74 65  ikely incomplete
0550: 20 6f 72 20 66 61 69 6c 65 64 2e 27 20 3e 26 32   or failed.' >&2
0560: 0a 66 69 0a 0a 63 70 20 27 6b 69 74 73 68 2f 62  .fi..cp 'kitsh/b
0570: 75 69 6c 64 27 2f 6b 69 74 73 68 2d 2a 2f 6b 69  uild'/kitsh-*/ki
0580: 74 20 22 74 63 6c 6b 69 74 2d 24 7b 54 43 4c 56  t "tclkit-${TCLV
0590: 45 52 53 7d 22 0a 0a 65 78 69 74 20 22 24 7b 62  ERS}"..exit "${b
05a0: 75 69 6c 64 66 61 69 6c 65 64 7d 22 0a           uildfailed}".