Hex Artifact Content

Artifact f5d1586cab3d98c2727097638331eb22b757e060:


0000: 23 21 20 2f 62 69 6e 2f 62 61 73 68 0a 0a 69 66  #! /bin/bash..if
0010: 20 5b 20 21 20 2d 66 20 27 62 75 69 6c 64 2e 73   [ ! -f 'build.s
0020: 68 27 20 5d 3b 20 74 68 65 6e 0a 09 65 63 68 6f  h' ]; then..echo
0030: 20 27 45 52 52 4f 52 3a 20 54 68 69 73 20 73 63   'ERROR: This sc
0040: 72 69 70 74 20 6d 75 73 74 20 62 65 20 72 75 6e  ript must be run
0050: 20 66 72 6f 6d 20 74 68 65 20 64 69 72 65 63 74   from the direct
0060: 6f 72 79 20 69 74 20 69 73 20 69 6e 27 20 3e 26  ory it is in' >&
0070: 32 0a 0a 09 65 78 69 74 20 31 0a 66 69 0a 69 66  2...exit 1.fi.if
0080: 20 5b 20 2d 7a 20 22 24 7b 54 43 4c 56 45 52 53   [ -z "${TCLVERS
0090: 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 65 63 68 6f  }" ]; then..echo
00a0: 20 27 45 52 52 4f 52 3a 20 54 68 65 20 54 43 4c   'ERROR: The TCL
00b0: 56 45 52 53 20 65 6e 76 69 72 6f 6e 6d 65 6e 74  VERS environment
00c0: 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 6f 74   variable is not
00d0: 20 73 65 74 27 20 3e 26 32 0a 0a 09 65 78 69 74   set' >&2...exit
00e0: 20 31 0a 66 69 0a 0a 53 52 43 3d 22 73 72 63 2f   1.fi..SRC="src/
00f0: 74 63 6c 24 7b 54 43 4c 56 45 52 53 7d 2e 74 61  tcl${TCLVERS}.ta
0100: 72 2e 67 7a 22 0a 53 52 43 55 52 4c 3d 22 68 74  r.gz".SRCURL="ht
0110: 74 70 3a 2f 2f 70 72 64 6f 77 6e 6c 6f 61 64 73  tp://prdownloads
0120: 2e 73 6f 75 72 63 65 66 6f 72 67 65 2e 6e 65 74  .sourceforge.net
0130: 2f 74 63 6c 2f 74 63 6c 24 7b 54 43 4c 56 45 52  /tcl/tcl${TCLVER
0140: 53 7d 2d 73 72 63 2e 74 61 72 2e 67 7a 22 0a 42  S}-src.tar.gz".B
0150: 55 49 4c 44 44 49 52 3d 22 24 28 70 77 64 29 2f  UILDDIR="$(pwd)/
0160: 62 75 69 6c 64 2f 74 63 6c 24 7b 54 43 4c 56 45  build/tcl${TCLVE
0170: 52 53 7d 22 0a 4f 55 54 44 49 52 3d 22 24 28 70  RS}".OUTDIR="$(p
0180: 77 64 29 2f 6f 75 74 22 0a 49 4e 53 54 44 49 52  wd)/out".INSTDIR
0190: 3d 22 24 28 70 77 64 29 2f 69 6e 73 74 22 0a 50  ="$(pwd)/inst".P
01a0: 41 54 43 48 53 43 52 49 50 54 44 49 52 3d 22 24  ATCHSCRIPTDIR="$
01b0: 28 70 77 64 29 2f 70 61 74 63 68 73 63 72 69 70  (pwd)/patchscrip
01c0: 74 73 22 0a 50 41 54 43 48 44 49 52 3d 22 24 28  ts".PATCHDIR="$(
01d0: 70 77 64 29 2f 70 61 74 63 68 65 73 22 0a 65 78  pwd)/patches".ex
01e0: 70 6f 72 74 20 53 52 43 20 53 52 43 55 52 4c 20  port SRC SRCURL 
01f0: 42 55 49 4c 44 44 49 52 20 4f 55 54 44 49 52 20  BUILDDIR OUTDIR 
0200: 49 4e 53 54 44 49 52 20 50 41 54 43 48 53 43 52  INSTDIR PATCHSCR
0210: 49 50 54 44 49 52 20 50 41 54 43 48 44 49 52 0a  IPTDIR PATCHDIR.
0220: 0a 72 6d 20 2d 72 66 20 27 62 75 69 6c 64 27 20  .rm -rf 'build' 
0230: 27 6f 75 74 27 20 27 69 6e 73 74 27 0a 6d 6b 64  'out' 'inst'.mkd
0240: 69 72 20 27 62 75 69 6c 64 27 20 27 6f 75 74 27  ir 'build' 'out'
0250: 20 27 69 6e 73 74 27 20 7c 7c 20 65 78 69 74 20   'inst' || exit 
0260: 31 0a 0a 69 66 20 5b 20 21 20 2d 66 20 22 24 7b  1..if [ ! -f "${
0270: 53 52 43 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 6d  SRC}" ]; then..m
0280: 6b 64 69 72 20 27 73 72 63 27 20 3e 2f 64 65 76  kdir 'src' >/dev
0290: 2f 6e 75 6c 6c 20 32 3e 2f 64 65 76 2f 6e 75 6c  /null 2>/dev/nul
02a0: 6c 0a 0a 09 69 66 20 65 63 68 6f 20 22 24 7b 54  l...if echo "${T
02b0: 43 4c 56 45 52 53 7d 22 20 7c 20 67 72 65 70 20  CLVERS}" | grep 
02c0: 27 5e 63 76 73 5f 27 20 3e 2f 64 65 76 2f 6e 75  '^cvs_' >/dev/nu
02d0: 6c 6c 3b 20 74 68 65 6e 0a 09 09 43 56 53 54 41  ll; then...CVSTA
02e0: 47 3d 24 28 65 63 68 6f 20 22 24 7b 54 43 4c 56  G=$(echo "${TCLV
02f0: 45 52 53 7d 22 20 7c 20 73 65 64 20 27 73 2f 5e  ERS}" | sed 's/^
0300: 63 76 73 5f 2f 2f 67 27 29 0a 09 09 69 66 20 5b  cvs_//g')...if [
0310: 20 22 24 7b 43 56 53 54 41 47 7d 22 20 3d 20 22   "${CVSTAG}" = "
0320: 48 45 41 44 22 20 5d 3b 20 74 68 65 6e 0a 09 09  HEAD" ]; then...
0330: 09 43 56 53 54 41 47 3d 22 74 72 75 6e 6b 22 0a  .CVSTAG="trunk".
0340: 09 09 66 69 0a 09 09 65 78 70 6f 72 74 20 43 56  ..fi...export CV
0350: 53 54 41 47 0a 0a 09 09 28 0a 09 09 09 63 64 20  STAG....(....cd 
0360: 73 72 63 20 7c 7c 20 65 78 69 74 20 31 0a 0a 09  src || exit 1...
0370: 09 09 77 6f 72 6b 64 69 72 3d 22 74 6d 70 2d 24  ..workdir="tmp-$
0380: 24 24 7b 52 41 4e 44 4f 4d 7d 24 7b 52 41 4e 44  $${RANDOM}${RAND
0390: 4f 4d 7d 24 7b 52 41 4e 44 4f 4d 7d 22 0a 09 09  OM}${RANDOM}"...
03a0: 09 72 6d 20 2d 72 66 20 22 24 7b 77 6f 72 6b 64  .rm -rf "${workd
03b0: 69 72 7d 22 0a 0a 09 09 09 6d 6b 64 69 72 20 22  ir}".....mkdir "
03c0: 24 7b 77 6f 72 6b 64 69 72 7d 22 20 7c 7c 20 65  ${workdir}" || e
03d0: 78 69 74 20 31 0a 09 09 09 63 64 20 22 24 7b 77  xit 1....cd "${w
03e0: 6f 72 6b 64 69 72 7d 22 20 7c 7c 20 65 78 69 74  orkdir}" || exit
03f0: 20 31 0a 0a 09 09 09 77 67 65 74 20 2d 4f 20 22   1.....wget -O "
0400: 74 6d 70 2d 74 63 6c 2e 74 61 72 2e 67 7a 22 20  tmp-tcl.tar.gz" 
0410: 22 68 74 74 70 3a 2f 2f 63 6f 72 65 2e 74 63 6c  "http://core.tcl
0420: 2e 74 6b 2f 74 63 6c 2f 74 61 72 62 61 6c 6c 2f  .tk/tcl/tarball/
0430: 74 63 6c 2d 66 6f 73 73 69 6c 2e 74 61 72 2e 67  tcl-fossil.tar.g
0440: 7a 3f 75 75 69 64 3d 24 7b 43 56 53 54 41 47 7d  z?uuid=${CVSTAG}
0450: 22 20 7c 7c 20 72 6d 20 2d 66 20 27 74 6d 70 2d  " || rm -f 'tmp-
0460: 74 63 6c 2e 74 61 72 2e 67 7a 27 0a 09 09 09 77  tcl.tar.gz'....w
0470: 67 65 74 20 2d 4f 20 22 74 6d 70 2d 69 74 63 6c  get -O "tmp-itcl
0480: 2e 74 61 72 2e 67 7a 22 20 22 68 74 74 70 3a 2f  .tar.gz" "http:/
0490: 2f 72 6b 65 65 6e 65 2e 6f 72 67 2f 70 72 6f 6a  /rkeene.org/proj
04a0: 65 63 74 73 2f 74 63 6c 2f 69 74 63 6c 2e 66 6f  ects/tcl/itcl.fo
04b0: 73 73 69 6c 2f 74 61 72 62 61 6c 6c 2f 69 74 63  ssil/tarball/itc
04c0: 6c 2d 66 6f 73 73 69 6c 2e 74 61 72 2e 67 7a 3f  l-fossil.tar.gz?
04d0: 75 75 69 64 3d 24 7b 43 56 53 54 41 47 7d 22 20  uuid=${CVSTAG}" 
04e0: 7c 7c 20 72 6d 20 2d 66 20 27 74 6d 70 2d 69 74  || rm -f 'tmp-it
04f0: 63 6c 2e 74 61 72 2e 67 7a 27 0a 09 09 09 77 67  cl.tar.gz'....wg
0500: 65 74 20 2d 4f 20 22 74 6d 70 2d 74 68 72 65 61  et -O "tmp-threa
0510: 64 2e 74 61 72 2e 67 7a 22 20 22 68 74 74 70 3a  d.tar.gz" "http:
0520: 2f 2f 63 6f 72 65 2e 74 63 6c 2e 74 6b 2f 74 68  //core.tcl.tk/th
0530: 72 65 61 64 2f 74 61 72 62 61 6c 6c 2f 74 68 72  read/tarball/thr
0540: 65 61 64 2d 66 6f 73 73 69 6c 2e 74 61 72 2e 67  ead-fossil.tar.g
0550: 7a 3f 75 75 69 64 3d 24 7b 43 56 53 54 41 47 7d  z?uuid=${CVSTAG}
0560: 22 20 7c 7c 20 72 6d 20 2d 66 20 22 74 6d 70 2d  " || rm -f "tmp-
0570: 74 68 72 65 61 64 2e 74 61 72 2e 67 7a 22 0a 09  thread.tar.gz"..
0580: 09 09 77 67 65 74 20 2d 4f 20 22 74 6d 70 2d 74  ..wget -O "tmp-t
0590: 63 6c 63 6f 6e 66 69 67 2e 74 61 72 2e 67 7a 22  clconfig.tar.gz"
05a0: 20 22 68 74 74 70 3a 2f 2f 63 6f 72 65 2e 74 63   "http://core.tc
05b0: 6c 2e 74 6b 2f 74 63 6c 63 6f 6e 66 69 67 2f 74  l.tk/tclconfig/t
05c0: 61 72 62 61 6c 6c 2f 74 63 6c 63 6f 6e 66 69 67  arball/tclconfig
05d0: 2d 66 6f 73 73 69 6c 2e 74 61 72 2e 67 7a 3f 75  -fossil.tar.gz?u
05e0: 75 69 64 3d 24 7b 43 56 53 54 41 47 7d 22 20 7c  uid=${CVSTAG}" |
05f0: 7c 20 72 6d 20 2d 66 20 22 74 6d 70 2d 74 63 6c  | rm -f "tmp-tcl
0600: 63 6f 6e 66 69 67 2e 74 61 72 2e 67 7a 22 0a 0a  config.tar.gz"..
0610: 09 09 09 67 7a 69 70 20 2d 64 63 20 27 74 6d 70  ...gzip -dc 'tmp
0620: 2d 74 63 6c 2e 74 61 72 2e 67 7a 27 20 7c 20 74  -tcl.tar.gz' | t
0630: 61 72 20 2d 78 66 20 2d 0a 09 09 09 67 7a 69 70  ar -xf -....gzip
0640: 20 2d 64 63 20 22 74 6d 70 2d 69 74 63 6c 2e 74   -dc "tmp-itcl.t
0650: 61 72 2e 67 7a 22 20 7c 20 74 61 72 20 2d 78 66  ar.gz" | tar -xf
0660: 20 2d 0a 09 09 09 67 7a 69 70 20 2d 64 63 20 22   -....gzip -dc "
0670: 74 6d 70 2d 74 68 72 65 61 64 2e 74 61 72 2e 67  tmp-thread.tar.g
0680: 7a 22 20 7c 20 74 61 72 20 2d 78 66 20 2d 0a 09  z" | tar -xf -..
0690: 09 09 67 7a 69 70 20 2d 64 63 20 22 74 6d 70 2d  ..gzip -dc "tmp-
06a0: 74 63 6c 63 6f 6e 66 69 67 2e 74 61 72 2e 67 7a  tclconfig.tar.gz
06b0: 22 20 7c 20 74 61 72 20 2d 78 66 20 2d 0a 0a 09  " | tar -xf -...
06c0: 09 09 6d 76 20 22 74 63 6c 2d 66 6f 73 73 69 6c  ..mv "tcl-fossil
06d0: 22 20 22 74 63 6c 24 7b 54 43 4c 56 45 52 53 7d  " "tcl${TCLVERS}
06e0: 22 0a 09 09 09 6d 76 20 22 69 74 63 6c 2d 66 6f  "....mv "itcl-fo
06f0: 73 73 69 6c 22 20 22 74 63 6c 24 7b 54 43 4c 56  ssil" "tcl${TCLV
0700: 45 52 53 7d 2f 70 6b 67 73 2f 69 74 63 6c 22 0a  ERS}/pkgs/itcl".
0710: 09 09 09 6d 76 20 22 74 68 72 65 61 64 2d 66 6f  ...mv "thread-fo
0720: 73 73 69 6c 22 20 22 74 63 6c 24 7b 54 43 4c 56  ssil" "tcl${TCLV
0730: 45 52 53 7d 2f 70 6b 67 73 2f 74 68 72 65 61 64  ERS}/pkgs/thread
0740: 22 0a 09 09 09 63 70 20 2d 72 20 22 74 63 6c 63  "....cp -r "tclc
0750: 6f 6e 66 69 67 2d 66 6f 73 73 69 6c 22 20 22 74  onfig-fossil" "t
0760: 63 6c 24 7b 54 43 4c 56 45 52 53 7d 2f 70 6b 67  cl${TCLVERS}/pkg
0770: 73 2f 69 74 63 6c 2f 74 63 6c 63 6f 6e 66 69 67  s/itcl/tclconfig
0780: 22 0a 09 09 09 63 70 20 2d 72 20 22 74 63 6c 63  "....cp -r "tclc
0790: 6f 6e 66 69 67 2d 66 6f 73 73 69 6c 22 20 22 74  onfig-fossil" "t
07a0: 63 6c 24 7b 54 43 4c 56 45 52 53 7d 2f 70 6b 67  cl${TCLVERS}/pkg
07b0: 73 2f 74 68 72 65 61 64 2f 74 63 6c 63 6f 6e 66  s/thread/tclconf
07c0: 69 67 22 0a 09 09 09 6d 76 20 22 74 63 6c 63 6f  ig"....mv "tclco
07d0: 6e 66 69 67 2d 66 6f 73 73 69 6c 22 20 22 74 63  nfig-fossil" "tc
07e0: 6c 24 7b 54 43 4c 56 45 52 53 7d 2f 74 63 6c 63  l${TCLVERS}/tclc
07f0: 6f 6e 66 69 67 22 0a 0a 09 09 09 74 61 72 20 2d  onfig".....tar -
0800: 63 66 20 2d 20 22 74 63 6c 24 7b 54 43 4c 56 45  cf - "tcl${TCLVE
0810: 52 53 7d 22 20 7c 20 67 7a 69 70 20 2d 63 20 3e  RS}" | gzip -c >
0820: 20 22 2e 2e 2f 2e 2e 2f 24 7b 53 52 43 7d 22 0a   "../../${SRC}".
0830: 0a 09 09 09 63 64 20 2e 2e 0a 0a 09 09 09 72 6d  ....cd .......rm
0840: 20 2d 72 66 20 22 24 7b 77 6f 72 6b 64 69 72 7d   -rf "${workdir}
0850: 22 0a 09 09 29 20 7c 7c 20 65 78 69 74 20 31 0a  "...) || exit 1.
0860: 09 65 6c 73 65 0a 09 09 72 6d 20 2d 66 20 22 24  .else...rm -f "$
0870: 7b 53 52 43 7d 2e 74 6d 70 22 0a 09 09 77 67 65  {SRC}.tmp"...wge
0880: 74 20 2d 4f 20 22 24 7b 53 52 43 7d 2e 74 6d 70  t -O "${SRC}.tmp
0890: 22 20 22 24 7b 53 52 43 55 52 4c 7d 22 20 7c 7c  " "${SRCURL}" ||
08a0: 20 65 78 69 74 20 31 0a 09 09 6d 76 20 22 24 7b   exit 1...mv "${
08b0: 53 52 43 7d 2e 74 6d 70 22 20 22 24 7b 53 52 43  SRC}.tmp" "${SRC
08c0: 7d 22 0a 09 66 69 0a 66 69 0a 0a 28 0a 09 63 64  }"..fi.fi..(..cd
08d0: 20 27 62 75 69 6c 64 27 20 7c 7c 20 65 78 69 74   'build' || exit
08e0: 20 31 0a 0a 09 69 66 20 5b 20 21 20 2d 64 20 27   1...if [ ! -d '
08f0: 2e 2e 2f 62 75 69 6c 64 73 72 63 27 20 5d 3b 20  ../buildsrc' ]; 
0900: 74 68 65 6e 0a 09 09 67 7a 69 70 20 2d 64 63 20  then...gzip -dc 
0910: 22 2e 2e 2f 24 7b 53 52 43 7d 22 20 7c 20 74 61  "../${SRC}" | ta
0920: 72 20 2d 78 66 20 2d 0a 09 65 6c 73 65 0a 09 09  r -xf -..else...
0930: 63 70 20 2d 72 70 20 2e 2e 2f 62 75 69 6c 64 73  cp -rp ../builds
0940: 72 63 2f 2a 20 27 2e 2f 27 0a 09 66 69 0a 0a 09  rc/* './'..fi...
0950: 63 64 20 22 24 7b 42 55 49 4c 44 44 49 52 7d 22  cd "${BUILDDIR}"
0960: 20 7c 7c 20 65 78 69 74 20 31 0a 0a 09 23 20 41   || exit 1...# A
0970: 70 70 6c 79 20 70 61 74 63 68 65 73 20 69 66 20  pply patches if 
0980: 6e 65 65 64 65 64 0a 09 66 6f 72 20 70 61 74 63  needed..for patc
0990: 68 20 69 6e 20 22 24 7b 50 41 54 43 48 44 49 52  h in "${PATCHDIR
09a0: 7d 2f 61 6c 6c 22 2f 74 63 6c 2d 24 7b 54 43 4c  }/all"/tcl-${TCL
09b0: 56 45 52 53 7d 2d 2a 2e 64 69 66 66 20 22 24 7b  VERS}-*.diff "${
09c0: 50 41 54 43 48 44 49 52 7d 2f 24 7b 54 43 4c 56  PATCHDIR}/${TCLV
09d0: 45 52 53 7d 22 2f 74 63 6c 2d 24 7b 54 43 4c 56  ERS}"/tcl-${TCLV
09e0: 45 52 53 7d 2d 2a 2e 64 69 66 66 3b 20 64 6f 0a  ERS}-*.diff; do.
09f0: 09 09 69 66 20 5b 20 21 20 2d 66 20 22 24 7b 70  ..if [ ! -f "${p
0a00: 61 74 63 68 7d 22 20 5d 3b 20 74 68 65 6e 0a 09  atch}" ]; then..
0a10: 09 09 63 6f 6e 74 69 6e 75 65 0a 09 09 66 69 0a  ..continue...fi.
0a20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0a30: 0a 09 09 65 63 68 6f 20 22 41 70 70 6c 79 69 6e  ...echo "Applyin
0a40: 67 3a 20 24 7b 70 61 74 63 68 7d 22 0a 09 09 24  g: ${patch}"...$
0a50: 7b 50 41 54 43 48 3a 2d 70 61 74 63 68 7d 20 2d  {PATCH:-patch} -
0a60: 70 31 20 3c 20 22 24 7b 70 61 74 63 68 7d 22 0a  p1 < "${patch}".
0a70: 09 64 6f 6e 65 0a 0a 0a 09 23 20 41 70 70 6c 79  .done....# Apply
0a80: 20 70 61 74 63 68 20 73 63 72 69 70 74 73 20 69   patch scripts i
0a90: 66 20 6e 65 65 64 65 64 0a 09 66 6f 72 20 70 61  f needed..for pa
0aa0: 74 63 68 73 63 72 69 70 74 20 69 6e 20 22 24 7b  tchscript in "${
0ab0: 50 41 54 43 48 53 43 52 49 50 54 44 49 52 7d 22  PATCHSCRIPTDIR}"
0ac0: 2f 2a 2e 73 68 3b 20 64 6f 0a 09 09 69 66 20 5b  /*.sh; do...if [
0ad0: 20 2d 66 20 22 24 7b 70 61 74 63 68 73 63 72 69   -f "${patchscri
0ae0: 70 74 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 09 09  pt}" ]; then....
0af0: 65 63 68 6f 20 22 52 75 6e 6e 69 6e 67 20 70 61  echo "Running pa
0b00: 74 63 68 20 73 63 72 69 70 74 3a 20 24 7b 70 61  tch script: ${pa
0b10: 74 63 68 73 63 72 69 70 74 7d 22 0a 0a 09 09 09  tchscript}".....
0b20: 28 0a 09 09 09 09 2e 20 22 24 7b 70 61 74 63 68  (...... "${patch
0b30: 73 63 72 69 70 74 7d 22 0a 09 09 09 29 0a 09 09  script}"....)...
0b40: 66 69 0a 09 64 6f 6e 65 0a 0a 09 66 6f 72 20 64  fi..done...for d
0b50: 69 72 20 69 6e 20 75 6e 69 78 20 77 69 6e 20 6d  ir in unix win m
0b60: 61 63 6f 73 78 20 5f 5f 66 61 69 6c 5f 5f 3b 20  acosx __fail__; 
0b70: 64 6f 0a 09 09 69 66 20 5b 20 22 24 7b 64 69 72  do...if [ "${dir
0b80: 7d 22 20 3d 20 22 5f 5f 66 61 69 6c 5f 5f 22 20  }" = "__fail__" 
0b90: 5d 3b 20 74 68 65 6e 0a 09 09 09 23 20 49 66 20  ]; then....# If 
0ba0: 77 65 20 68 61 76 65 6e 27 74 20 66 69 67 75 72  we haven't figur
0bb0: 65 64 20 6f 75 74 20 68 6f 77 20 74 6f 20 62 75  ed out how to bu
0bc0: 69 6c 64 20 69 74 2c 20 72 65 6a 65 63 74 2e 0a  ild it, reject..
0bd0: 0a 09 09 09 65 78 69 74 20 31 0a 09 09 66 69 0a  ....exit 1...fi.
0be0: 0a 09 09 23 20 52 65 6d 6f 76 65 20 70 72 65 76  ...# Remove prev
0bf0: 69 6f 75 73 20 64 69 72 65 63 74 6f 72 79 27 73  ious directory's
0c00: 20 22 74 63 6c 43 6f 6e 66 69 67 2e 73 68 22 20   "tclConfig.sh" 
0c10: 69 66 20 66 6f 75 6e 64 0a 09 09 72 6d 20 2d 66  if found...rm -f
0c20: 20 27 74 63 6c 43 6f 6e 66 69 67 2e 73 68 27 0a   'tclConfig.sh'.
0c30: 0a 09 09 63 64 20 22 24 7b 42 55 49 4c 44 44 49  ...cd "${BUILDDI
0c40: 52 7d 2f 24 7b 64 69 72 7d 22 20 7c 7c 20 65 78  R}/${dir}" || ex
0c50: 69 74 20 31 0a 0a 09 09 65 63 68 6f 20 22 52 75  it 1....echo "Ru
0c60: 6e 6e 69 6e 67 3a 20 2e 2f 63 6f 6e 66 69 67 75  nning: ./configu
0c70: 72 65 20 2d 2d 64 69 73 61 62 6c 65 2d 73 68 61  re --disable-sha
0c80: 72 65 64 20 2d 2d 77 69 74 68 2d 65 6e 63 6f 64  red --with-encod
0c90: 69 6e 67 3d 75 74 66 2d 38 20 2d 2d 70 72 65 66  ing=utf-8 --pref
0ca0: 69 78 3d 5c 22 24 7b 49 4e 53 54 44 49 52 7d 5c  ix=\"${INSTDIR}\
0cb0: 22 20 24 7b 43 4f 4e 46 49 47 55 52 45 45 58 54  " ${CONFIGUREEXT
0cc0: 52 41 7d 22 0a 09 09 2e 2f 63 6f 6e 66 69 67 75  RA}"..../configu
0cd0: 72 65 20 2d 2d 64 69 73 61 62 6c 65 2d 73 68 61  re --disable-sha
0ce0: 72 65 64 20 2d 2d 77 69 74 68 2d 65 6e 63 6f 64  red --with-encod
0cf0: 69 6e 67 3d 75 74 66 2d 38 20 2d 2d 70 72 65 66  ing=utf-8 --pref
0d00: 69 78 3d 22 24 7b 49 4e 53 54 44 49 52 7d 22 20  ix="${INSTDIR}" 
0d10: 24 7b 43 4f 4e 46 49 47 55 52 45 45 58 54 52 41  ${CONFIGUREEXTRA
0d20: 7d 0a 0a 09 09 65 63 68 6f 20 22 52 75 6e 6e 69  }....echo "Runni
0d30: 6e 67 3a 20 24 7b 4d 41 4b 45 3a 2d 6d 61 6b 65  ng: ${MAKE:-make
0d40: 7d 22 0a 09 09 24 7b 4d 41 4b 45 3a 2d 6d 61 6b  }"...${MAKE:-mak
0d50: 65 7d 20 7c 7c 20 63 6f 6e 74 69 6e 75 65 0a 0a  e} || continue..
0d60: 09 09 65 63 68 6f 20 22 52 75 6e 6e 69 6e 67 3a  ..echo "Running:
0d70: 20 24 7b 4d 41 4b 45 3a 2d 6d 61 6b 65 7d 20 69   ${MAKE:-make} i
0d80: 6e 73 74 61 6c 6c 22 0a 09 09 24 7b 4d 41 4b 45  nstall"...${MAKE
0d90: 3a 2d 6d 61 6b 65 7d 20 69 6e 73 74 61 6c 6c 20  :-make} install 
0da0: 7c 7c 20 28 0a 09 09 09 23 20 57 6f 72 6b 20 77  || (....# Work w
0db0: 69 74 68 20 54 63 6c 20 38 2e 36 2e 78 27 73 20  ith Tcl 8.6.x's 
0dc0: 54 43 4c 53 48 5f 4e 41 54 49 56 45 20 73 6f 6c  TCLSH_NATIVE sol
0dd0: 75 74 69 6f 6e 20 66 6f 72 0a 09 09 09 23 20 63  ution for....# c
0de0: 72 6f 73 73 2d 63 6f 6d 70 69 6c 65 20 69 6e 73  ross-compile ins
0df0: 74 61 6c 6c 73 0a 0a 09 09 09 65 63 68 6f 20 22  talls.....echo "
0e00: 52 75 6e 6e 69 6e 67 3a 20 24 7b 4d 41 4b 45 3a  Running: ${MAKE:
0e10: 2d 6d 61 6b 65 7d 20 69 6e 73 74 61 6c 6c 20 54  -make} install T
0e20: 43 4c 53 48 5f 4e 41 54 49 56 45 3d 5c 22 24 7b  CLSH_NATIVE=\"${
0e30: 54 43 4c 4b 49 54 3a 2d 74 63 6c 6b 69 74 7d 5c  TCLKIT:-tclkit}\
0e40: 22 22 0a 09 09 09 24 7b 4d 41 4b 45 3a 2d 6d 61  ""....${MAKE:-ma
0e50: 6b 65 7d 20 69 6e 73 74 61 6c 6c 20 54 43 4c 53  ke} install TCLS
0e60: 48 5f 4e 41 54 49 56 45 3d 22 24 7b 54 43 4c 4b  H_NATIVE="${TCLK
0e70: 49 54 3a 2d 74 63 6c 6b 69 74 7d 22 0a 09 09 29  IT:-tclkit}"...)
0e80: 20 7c 7c 20 28 0a 09 09 09 23 20 4d 61 6b 65 20   || (....# Make 
0e90: 69 6e 73 74 61 6c 6c 20 63 61 6e 20 66 61 69 6c  install can fail
0ea0: 20 69 66 20 63 72 6f 73 73 2d 63 6f 6d 70 69 6c   if cross-compil
0eb0: 69 6e 67 20 75 73 69 6e 67 20 54 63 6c 20 38 2e  ing using Tcl 8.
0ec0: 35 2e 78 0a 09 09 09 23 20 62 65 63 61 75 73 65  5.x....# because
0ed0: 20 74 68 65 20 4d 61 6b 65 66 69 6c 65 20 63 61   the Makefile ca
0ee0: 6c 6c 73 20 22 24 28 54 43 4c 53 48 29 22 2e 20  lls "$(TCLSH)". 
0ef0: 20 57 65 20 63 61 6e 27 74 20 73 69 6d 70 6c 79   We can't simply
0f00: 0a 09 09 09 23 20 72 65 64 65 66 69 6e 65 20 54  ....# redefine T
0f10: 43 4c 53 48 20 62 65 63 61 75 73 65 20 69 74 20  CLSH because it 
0f20: 61 6c 73 6f 20 75 73 65 73 20 54 43 4c 53 48 20  also uses TCLSH 
0f30: 61 73 20 61 20 62 75 69 6c 64 20 74 61 72 67 65  as a build targe
0f40: 74 0a 09 09 09 73 65 64 20 27 73 40 5e 24 28 54  t....sed 's@^$(T
0f50: 43 4c 53 48 29 40 62 6c 61 68 40 27 20 4d 61 6b  CLSH)@blah@' Mak
0f60: 65 66 69 6c 65 20 3e 20 4d 61 6b 65 66 69 6c 65  efile > Makefile
0f70: 2e 6e 65 77 0a 09 09 09 63 61 74 20 4d 61 6b 65  .new....cat Make
0f80: 66 69 6c 65 2e 6e 65 77 20 3e 20 4d 61 6b 65 66  file.new > Makef
0f90: 69 6c 65 0a 09 09 09 72 6d 20 2d 66 20 4d 61 6b  ile....rm -f Mak
0fa0: 65 66 69 6c 65 2e 6e 65 77 0a 0a 09 09 09 65 63  efile.new.....ec
0fb0: 68 6f 20 22 52 75 6e 6e 69 6e 67 3a 20 24 7b 4d  ho "Running: ${M
0fc0: 41 4b 45 3a 2d 6d 61 6b 65 7d 20 69 6e 73 74 61  AKE:-make} insta
0fd0: 6c 6c 20 54 43 4c 53 48 3d 5c 22 2e 2e 2f 2e 2e  ll TCLSH=\"../..
0fe0: 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f  /../../../../../
0ff0: 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e  ../../../../../.
1000: 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 24 28  ./../../../../$(
1010: 77 68 69 63 68 20 22 24 7b 54 43 4c 4b 49 54 3a  which "${TCLKIT:
1020: 2d 74 63 6c 6b 69 74 7d 22 29 5c 22 22 0a 09 09  -tclkit}")\""...
1030: 09 24 7b 4d 41 4b 45 3a 2d 6d 61 6b 65 7d 20 69  .${MAKE:-make} i
1040: 6e 73 74 61 6c 6c 20 54 43 4c 53 48 3d 22 2e 2e  nstall TCLSH="..
1050: 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f  /../../../../../
1060: 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e  ../../../../../.
1070: 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e  ./../../../../..
1080: 2f 24 28 77 68 69 63 68 20 22 24 7b 54 43 4c 4b  /$(which "${TCLK
1090: 49 54 3a 2d 74 63 6c 6b 69 74 7d 22 29 22 0a 09  IT:-tclkit}")"..
10a0: 09 29 20 7c 7c 20 28 0a 09 09 09 23 20 4d 61 6b  .) || (....# Mak
10b0: 65 20 69 6e 73 74 61 6c 6c 20 63 61 6e 20 66 61  e install can fa
10c0: 69 6c 20 69 66 20 63 72 6f 73 73 2d 63 6f 6d 70  il if cross-comp
10d0: 69 6c 69 6e 67 20 75 73 69 6e 67 20 54 63 6c 20  iling using Tcl 
10e0: 38 2e 35 2e 39 0a 09 09 09 23 20 62 65 63 61 75  8.5.9....# becau
10f0: 73 65 20 74 68 65 20 4d 61 6b 65 66 69 6c 65 20  se the Makefile 
1100: 63 61 6c 6c 73 20 22 24 7b 54 43 4c 5f 45 58 45  calls "${TCL_EXE
1110: 7d 22 2e 20 20 57 65 20 63 61 6e 27 74 20 73 69  }".  We can't si
1120: 6d 70 6c 79 0a 09 09 09 23 20 72 65 64 65 66 69  mply....# redefi
1130: 6e 65 20 54 43 4c 5f 45 58 45 20 62 65 63 61 75  ne TCL_EXE becau
1140: 73 65 20 69 74 20 61 6c 73 6f 20 75 73 65 73 20  se it also uses 
1150: 54 43 4c 5f 45 58 45 20 61 73 20 61 20 62 75 69  TCL_EXE as a bui
1160: 6c 64 20 74 61 72 67 65 74 0a 09 09 09 73 65 64  ld target....sed
1170: 20 27 73 40 5e 24 7b 54 43 4c 5f 45 58 45 7d 40   's@^${TCL_EXE}@
1180: 62 6c 61 68 40 27 20 4d 61 6b 65 66 69 6c 65 20  blah@' Makefile 
1190: 3e 20 4d 61 6b 65 66 69 6c 65 2e 6e 65 77 0a 09  > Makefile.new..
11a0: 09 09 63 61 74 20 4d 61 6b 65 66 69 6c 65 2e 6e  ..cat Makefile.n
11b0: 65 77 20 3e 20 4d 61 6b 65 66 69 6c 65 0a 09 09  ew > Makefile...
11c0: 09 72 6d 20 2d 66 20 4d 61 6b 65 66 69 6c 65 2e  .rm -f Makefile.
11d0: 6e 65 77 0a 0a 09 09 09 65 63 68 6f 20 22 52 75  new.....echo "Ru
11e0: 6e 6e 69 6e 67 3a 20 24 7b 4d 41 4b 45 3a 2d 6d  nning: ${MAKE:-m
11f0: 61 6b 65 7d 20 69 6e 73 74 61 6c 6c 20 54 43 4c  ake} install TCL
1200: 5f 45 58 45 3d 5c 22 2e 2e 2f 2e 2e 2f 2e 2e 2f  _EXE=\"../../../
1210: 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e  ../../../../../.
1220: 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e  ./../../../../..
1230: 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 24 28 77 68 69 63  /../../../$(whic
1240: 68 20 22 24 7b 54 43 4c 4b 49 54 3a 2d 74 63 6c  h "${TCLKIT:-tcl
1250: 6b 69 74 7d 22 29 5c 22 22 0a 09 09 09 24 7b 4d  kit}")\""....${M
1260: 41 4b 45 3a 2d 6d 61 6b 65 7d 20 69 6e 73 74 61  AKE:-make} insta
1270: 6c 6c 20 54 43 4c 5f 45 58 45 3d 22 2e 2e 2f 2e  ll TCL_EXE="../.
1280: 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e  ./../../../../..
1290: 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f  /../../../../../
12a0: 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f 24  ../../../../../$
12b0: 28 77 68 69 63 68 20 22 24 7b 54 43 4c 4b 49 54  (which "${TCLKIT
12c0: 3a 2d 74 63 6c 6b 69 74 7d 22 29 22 0a 09 09 29  :-tclkit}")"...)
12d0: 20 7c 7c 20 65 78 69 74 20 31 0a 0a 09 09 6d 6b   || exit 1....mk
12e0: 64 69 72 20 22 24 7b 4f 55 54 44 49 52 7d 2f 6c  dir "${OUTDIR}/l
12f0: 69 62 22 20 7c 7c 20 65 78 69 74 20 31 0a 09 09  ib" || exit 1...
1300: 63 70 20 2d 72 20 22 24 7b 49 4e 53 54 44 49 52  cp -r "${INSTDIR
1310: 7d 2f 6c 69 62 22 2f 2a 20 22 24 7b 4f 55 54 44  }/lib"/* "${OUTD
1320: 49 52 7d 2f 6c 69 62 2f 22 0a 09 09 72 6d 20 2d  IR}/lib/"...rm -
1330: 72 66 20 22 24 7b 4f 55 54 44 49 52 7d 2f 6c 69  rf "${OUTDIR}/li
1340: 62 2f 70 6b 67 63 6f 6e 66 69 67 22 0a 09 09 72  b/pkgconfig"...r
1350: 6d 20 2d 66 20 22 24 7b 4f 55 54 44 49 52 7d 22  m -f "${OUTDIR}"
1360: 2f 6c 69 62 2f 2a 20 3e 2f 64 65 76 2f 6e 75 6c  /lib/* >/dev/nul
1370: 6c 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 0a 09 09  l 2>/dev/null...
1380: 66 69 6e 64 20 22 24 7b 4f 55 54 44 49 52 7d 22  find "${OUTDIR}"
1390: 20 2d 6e 61 6d 65 20 27 2a 2e 61 27 20 7c 20 78   -name '*.a' | x
13a0: 61 72 67 73 20 72 6d 20 2d 66 20 3e 2f 64 65 76  args rm -f >/dev
13b0: 2f 6e 75 6c 6c 20 32 3e 2f 64 65 76 2f 6e 75 6c  /null 2>/dev/nul
13c0: 6c 0a 0a 09 09 23 20 43 6c 65 61 6e 20 75 70 20  l....# Clean up 
13d0: 70 61 63 6b 61 67 65 73 20 74 68 61 74 20 61 72  packages that ar
13e0: 65 20 6e 6f 74 20 6e 65 65 64 65 64 0a 09 09 69  e not needed...i
13f0: 66 20 5b 20 2d 6e 20 22 24 7b 4b 49 54 43 52 45  f [ -n "${KITCRE
1400: 41 54 4f 52 5f 4d 49 4e 42 55 49 4c 44 7d 22 20  ATOR_MINBUILD}" 
1410: 5d 3b 20 74 68 65 6e 0a 09 09 09 66 69 6e 64 20  ]; then....find 
1420: 22 24 7b 4f 55 54 44 49 52 7d 22 20 2d 6e 61 6d  "${OUTDIR}" -nam
1430: 65 20 22 74 63 6c 74 65 73 74 2a 22 20 2d 74 79  e "tcltest*" -ty
1440: 70 65 20 64 20 7c 20 78 61 72 67 73 20 72 6d 20  pe d | xargs rm 
1450: 2d 72 66 0a 09 09 66 69 0a 0a 09 09 23 20 43 6c  -rf...fi....# Cl
1460: 65 61 6e 20 75 70 20 65 6e 63 6f 64 69 6e 67 73  ean up encodings
1470: 0a 09 09 69 66 20 5b 20 2d 6e 20 22 24 7b 4b 49  ...if [ -n "${KI
1480: 54 43 52 45 41 54 4f 52 5f 4d 49 4e 45 4e 43 4f  TCREATOR_MINENCO
1490: 44 49 4e 47 53 7d 22 20 5d 3b 20 74 68 65 6e 0a  DINGS}" ]; then.
14a0: 09 09 09 4b 45 45 50 45 4e 43 4f 44 49 4e 47 53  ...KEEPENCODINGS
14b0: 3d 22 20 61 73 63 69 69 2e 65 6e 63 20 63 70 31  =" ascii.enc cp1
14c0: 32 35 32 2e 65 6e 63 20 69 73 6f 38 38 35 39 2d  252.enc iso8859-
14d0: 31 2e 65 6e 63 20 69 73 6f 38 38 35 39 2d 31 35  1.enc iso8859-15
14e0: 2e 65 6e 63 20 69 73 6f 38 38 35 39 2d 32 2e 65  .enc iso8859-2.e
14f0: 6e 63 20 6b 6f 69 38 2d 72 2e 65 6e 63 20 6d 61  nc koi8-r.enc ma
1500: 63 52 6f 6d 61 6e 2e 65 6e 63 20 22 0a 09 09 09  cRoman.enc "....
1510: 65 78 70 6f 72 74 20 4b 45 45 50 45 4e 43 4f 44  export KEEPENCOD
1520: 49 4e 47 53 0a 09 09 09 66 69 6e 64 20 22 24 7b  INGS....find "${
1530: 4f 55 54 44 49 52 7d 2f 6c 69 62 22 20 2d 6e 61  OUTDIR}/lib" -na
1540: 6d 65 20 27 65 6e 63 6f 64 69 6e 67 27 20 2d 74  me 'encoding' -t
1550: 79 70 65 20 64 20 7c 20 77 68 69 6c 65 20 72 65  ype d | while re
1560: 61 64 20 65 6e 63 64 69 72 3b 20 64 6f 0a 09 09  ad encdir; do...
1570: 09 09 28 0a 09 09 09 09 09 63 64 20 22 24 7b 65  ..(......cd "${e
1580: 6e 63 64 69 72 7d 22 20 7c 7c 20 65 78 69 74 20  ncdir}" || exit 
1590: 31 0a 0a 09 09 09 09 09 66 6f 72 20 66 69 6c 65  1.......for file
15a0: 20 69 6e 20 2a 3b 20 64 6f 0a 09 09 09 09 09 09   in *; do.......
15b0: 69 66 20 65 63 68 6f 20 22 20 24 7b 4b 45 45 50  if echo " ${KEEP
15c0: 45 4e 43 4f 44 49 4e 47 53 7d 20 22 20 7c 20 67  ENCODINGS} " | g
15d0: 72 65 70 20 22 20 24 7b 66 69 6c 65 7d 20 22 20  rep " ${file} " 
15e0: 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e  >/dev/null; then
15f0: 0a 09 09 09 09 09 09 09 63 6f 6e 74 69 6e 75 65  ........continue
1600: 0a 09 09 09 09 09 09 66 69 0a 0a 09 09 09 09 09  .......fi.......
1610: 09 72 6d 20 2d 66 20 22 24 7b 66 69 6c 65 7d 22  .rm -f "${file}"
1620: 0a 09 09 09 09 09 64 6f 6e 65 0a 09 09 09 09 29  ......done.....)
1630: 0a 09 09 09 64 6f 6e 65 0a 09 09 66 69 0a 0a 09  ....done...fi...
1640: 09 62 72 65 61 6b 0a 09 64 6f 6e 65 0a 29 20 7c  .break..done.) |
1650: 7c 20 65 78 69 74 20 31 0a 0a 65 78 69 74 20 30  | exit 1..exit 0
1660: 0a                                               .