Hex Artifact Content

Artifact 3c8c3ad1ccb5c0595fc0709fc6a5da79209bd267:


0000: 23 21 20 2f 62 69 6e 2f 62 61 73 68 0a 0a 69 66  #! /bin/bash..if
0010: 20 5b 20 2d 7a 20 22 24 7b 54 43 4c 56 45 52 53   [ -z "${TCLVERS
0020: 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 65 63 68 6f  }" ]; then..echo
0030: 20 27 54 68 69 73 20 73 63 72 69 70 74 20 69 73   'This script is
0040: 20 6e 6f 74 20 6d 65 61 6e 74 20 74 6f 20 62 65   not meant to be
0050: 20 72 75 6e 20 64 69 72 65 63 74 6c 79 2e 27 20   run directly.' 
0060: 3e 26 32 0a 0a 09 65 78 69 74 20 31 0a 66 69 0a  >&2...exit 1.fi.
0070: 0a 69 66 20 5b 20 22 24 7b 4b 49 54 54 41 52 47  .if [ "${KITTARG
0080: 45 54 7d 22 20 21 3d 20 22 6b 69 74 64 6c 6c 22  ET}" != "kitdll"
0090: 20 5d 3b 20 74 68 65 6e 0a 09 65 78 69 74 20 30   ]; then..exit 0
00a0: 0a 66 69 0a 0a 72 6d 20 2d 72 66 20 27 5f 5f 74  .fi..rm -rf '__t
00b0: 6d 70 5f 5f 27 0a 6d 6b 64 69 72 20 27 5f 5f 74  mp__'.mkdir '__t
00c0: 6d 70 5f 5f 27 0a 6d 6b 64 69 72 20 27 5f 5f 74  mp__'.mkdir '__t
00d0: 6d 70 5f 5f 2f 69 6e 63 6c 75 64 65 27 0a 6d 6b  mp__/include'.mk
00e0: 64 69 72 20 27 5f 5f 74 6d 70 5f 5f 2f 6c 69 62  dir '__tmp__/lib
00f0: 27 0a 6d 6b 64 69 72 20 27 5f 5f 74 6d 70 5f 5f  '.mkdir '__tmp__
0100: 2f 64 6f 63 27 0a 0a 63 70 20 27 74 63 6c 2f 69  /doc'..cp 'tcl/i
0110: 6e 73 74 2f 6c 69 62 2f 74 63 6c 43 6f 6e 66 69  nst/lib/tclConfi
0120: 67 2e 73 68 27 20 27 5f 5f 74 6d 70 5f 5f 2f 6c  g.sh' '__tmp__/l
0130: 69 62 2f 27 0a 63 70 20 2d 72 70 20 27 74 63 6c  ib/'.cp -rp 'tcl
0140: 2f 69 6e 73 74 2f 69 6e 63 6c 75 64 65 27 2f 2a  /inst/include'/*
0150: 20 27 5f 5f 74 6d 70 5f 5f 2f 69 6e 63 6c 75 64   '__tmp__/includ
0160: 65 2f 27 0a 63 70 20 27 74 63 6c 2f 69 6e 73 74  e/'.cp 'tcl/inst
0170: 2f 6c 69 62 27 2f 6c 69 62 74 63 6c 73 74 75 62  /lib'/libtclstub
0180: 2a 20 27 5f 5f 74 6d 70 5f 5f 2f 6c 69 62 2f 27  * '__tmp__/lib/'
0190: 0a 0a 69 66 20 5b 20 2d 66 20 27 74 6b 2f 69 6e  ..if [ -f 'tk/in
01a0: 73 74 2f 6c 69 62 2f 74 6b 43 6f 6e 66 69 67 2e  st/lib/tkConfig.
01b0: 73 68 27 20 5d 3b 20 74 68 65 6e 0a 09 63 70 20  sh' ]; then..cp 
01c0: 27 74 6b 2f 69 6e 73 74 2f 6c 69 62 2f 74 6b 43  'tk/inst/lib/tkC
01d0: 6f 6e 66 69 67 2e 73 68 27 20 27 5f 5f 74 6d 70  onfig.sh' '__tmp
01e0: 5f 5f 2f 6c 69 62 2f 27 0a 09 63 70 20 2d 72 70  __/lib/'..cp -rp
01f0: 20 27 74 6b 2f 69 6e 73 74 2f 69 6e 63 6c 75 64   'tk/inst/includ
0200: 65 27 2f 2a 20 27 5f 5f 74 6d 70 5f 5f 2f 69 6e  e'/* '__tmp__/in
0210: 63 6c 75 64 65 2f 27 0a 09 63 70 20 27 74 6b 2f  clude/'..cp 'tk/
0220: 69 6e 73 74 2f 6c 69 62 27 2f 6c 69 62 74 6b 73  inst/lib'/libtks
0230: 74 75 62 2a 20 27 5f 5f 74 6d 70 5f 5f 2f 6c 69  tub* '__tmp__/li
0240: 62 2f 27 0a 66 69 0a 0a 63 70 20 27 6b 69 74 73  b/'.fi..cp 'kits
0250: 68 2f 62 75 69 6c 64 27 2f 6b 69 74 73 68 2d 2a  h/build'/kitsh-*
0260: 2f 6c 69 62 74 63 6c 6b 69 74 2a 20 27 5f 5f 74  /libtclkit* '__t
0270: 6d 70 5f 5f 2f 6c 69 62 2f 27 0a 0a 66 6f 72 20  mp__/lib/'..for 
0280: 64 69 72 20 69 6e 20 2a 2f 3b 20 64 6f 0a 09 69  dir in */; do..i
0290: 66 20 5b 20 21 20 2d 64 20 22 24 7b 64 69 72 7d  f [ ! -d "${dir}
02a0: 2f 62 75 69 6c 64 22 20 5d 3b 20 74 68 65 6e 0a  /build" ]; then.
02b0: 09 09 63 6f 6e 74 69 6e 75 65 0a 09 66 69 0a 0a  ..continue..fi..
02c0: 09 70 72 6f 6a 65 63 74 3d 22 24 28 62 61 73 65  .project="$(base
02d0: 6e 61 6d 65 20 22 24 7b 64 69 72 7d 22 29 22 0a  name "${dir}")".
02e0: 09 70 72 6f 6a 64 69 72 3d 22 24 28 63 64 20 22  .projdir="$(cd "
02f0: 24 7b 64 69 72 7d 2f 62 75 69 6c 64 22 2f 2a 20  ${dir}/build"/* 
0300: 3e 2f 64 65 76 2f 6e 75 6c 6c 20 7c 7c 20 65 78  >/dev/null || ex
0310: 69 74 3b 20 2f 62 69 6e 2f 70 77 64 29 22 0a 09  it; /bin/pwd)"..
0320: 64 6f 63 64 69 72 3d 22 5f 5f 74 6d 70 5f 5f 2f  docdir="__tmp__/
0330: 64 6f 63 2f 24 7b 70 72 6f 6a 65 63 74 7d 22 0a  doc/${project}".
0340: 0a 09 69 66 20 5b 20 21 20 2d 64 20 22 24 7b 70  ..if [ ! -d "${p
0350: 72 6f 6a 64 69 72 7d 22 20 5d 3b 20 74 68 65 6e  rojdir}" ]; then
0360: 0a 09 09 63 6f 6e 74 69 6e 75 65 0a 09 66 69 0a  ...continue..fi.
0370: 0a 09 6d 6b 64 69 72 20 2d 70 20 22 24 7b 64 6f  ..mkdir -p "${do
0380: 63 64 69 72 7d 22 0a 0a 09 63 61 73 65 20 22 24  cdir}"...case "$
0390: 7b 70 72 6f 6a 65 63 74 7d 22 20 69 6e 0a 09 09  {project}" in...
03a0: 69 74 63 6c 7c 74 63 6c 7c 74 6b 29 0a 09 09 09  itcl|tcl|tk)....
03b0: 63 70 20 22 24 7b 70 72 6f 6a 64 69 72 7d 2f 64  cp "${projdir}/d
03c0: 6f 63 2f 6c 69 63 65 6e 73 65 2e 74 65 72 6d 73  oc/license.terms
03d0: 22 20 22 24 7b 64 6f 63 64 69 72 7d 2f 22 0a 09  " "${docdir}/"..
03e0: 09 09 3b 3b 0a 09 09 74 63 6c 76 66 73 7c 6b 69  ..;;...tclvfs|ki
03f0: 74 73 68 7c 6d 6b 34 74 63 6c 7c 74 68 72 65 61  tsh|mk4tcl|threa
0400: 64 29 0a 09 09 09 63 70 20 22 24 7b 70 72 6f 6a  d)....cp "${proj
0410: 64 69 72 7d 2f 6c 69 63 65 6e 73 65 2e 74 65 72  dir}/license.ter
0420: 6d 73 22 20 22 24 7b 64 6f 63 64 69 72 7d 2f 22  ms" "${docdir}/"
0430: 0a 09 09 09 3b 3b 0a 09 09 7a 6c 69 62 29 0a 09  ....;;...zlib)..
0440: 09 09 63 70 20 22 24 7b 70 72 6f 6a 64 69 72 7d  ..cp "${projdir}
0450: 2f 52 45 41 44 4d 45 22 20 22 24 7b 64 6f 63 64  /README" "${docd
0460: 69 72 7d 2f 22 0a 09 09 09 3b 3b 0a 09 09 2a 29  ir}/"....;;...*)
0470: 0a 09 09 09 63 70 20 22 24 7b 70 72 6f 6a 64 69  ....cp "${projdi
0480: 72 7d 2f 52 45 41 44 4d 45 22 20 22 24 7b 70 72  r}/README" "${pr
0490: 6f 6a 64 69 72 7d 2f 4c 49 43 45 4e 53 45 22 20  ojdir}/LICENSE" 
04a0: 22 24 7b 70 72 6f 6a 64 69 72 7d 2f 64 6f 63 2f  "${projdir}/doc/
04b0: 52 45 41 44 4d 45 22 20 22 24 7b 70 72 6f 6a 64  README" "${projd
04c0: 69 72 7d 2f 64 6f 63 2f 4c 49 43 45 4e 53 45 22  ir}/doc/LICENSE"
04d0: 20 22 24 7b 70 72 6f 6a 64 69 72 7d 2f 6c 69 63   "${projdir}/lic
04e0: 65 6e 73 65 2e 74 65 72 6d 73 22 20 22 24 7b 70  ense.terms" "${p
04f0: 72 6f 6a 64 69 72 7d 2f 64 6f 63 2f 6c 69 63 65  rojdir}/doc/lice
0500: 6e 73 65 2e 74 65 72 6d 73 22 20 22 24 7b 64 6f  nse.terms" "${do
0510: 63 64 69 72 7d 2f 22 20 3e 2f 64 65 76 2f 6e 75  cdir}/" >/dev/nu
0520: 6c 6c 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 0a 09  ll 2>/dev/null..
0530: 09 09 3b 3b 0a 09 65 73 61 63 0a 64 6f 6e 65 0a  ..;;..esac.done.
0540: 0a 28 0a 09 63 64 20 27 5f 5f 74 6d 70 5f 5f 2f  .(..cd '__tmp__/
0550: 6c 69 62 27 20 7c 7c 20 65 78 69 74 20 31 0a 0a  lib' || exit 1..
0560: 09 66 6f 72 20 6b 69 74 6c 69 62 66 69 6c 65 20  .for kitlibfile 
0570: 69 6e 20 6c 69 62 74 63 6c 6b 69 74 2a 2e 64 6c  in libtclkit*.dl
0580: 6c 20 6c 69 62 74 63 6c 6b 69 74 2a 3b 20 64 6f  l libtclkit*; do
0590: 0a 09 09 69 66 20 5b 20 21 20 2d 66 20 22 24 7b  ...if [ ! -f "${
05a0: 6b 69 74 6c 69 62 66 69 6c 65 7d 22 20 5d 3b 20  kitlibfile}" ]; 
05b0: 74 68 65 6e 0a 09 09 09 63 6f 6e 74 69 6e 75 65  then....continue
05c0: 0a 09 09 66 69 0a 0a 09 09 69 66 20 65 63 68 6f  ...fi....if echo
05d0: 20 22 24 7b 6b 69 74 6c 69 62 66 69 6c 65 7d 22   "${kitlibfile}"
05e0: 20 7c 20 67 72 65 70 20 27 5c 2e 74 61 72 5c 2e   | grep '\.tar\.
05f0: 67 7a 27 20 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20  gz' >/dev/null; 
0600: 74 68 65 6e 0a 09 09 09 63 6f 6e 74 69 6e 75 65  then....continue
0610: 0a 09 09 66 69 0a 0a 09 09 62 72 65 61 6b 0a 09  ...fi....break..
0620: 64 6f 6e 65 0a 09 6b 69 74 6c 69 6e 6b 65 72 3d  done..kitlinker=
0630: 22 24 28 65 63 68 6f 20 22 24 7b 6b 69 74 6c 69  "$(echo "${kitli
0640: 62 66 69 6c 65 7d 22 20 7c 20 73 65 64 20 27 73  bfile}" | sed 's
0650: 40 5e 6c 69 62 40 2d 6c 40 3b 73 40 5c 2e 5b 5e  @^lib@-l@;s@\.[^
0660: 5c 2e 5d 2a 24 40 40 27 29 22 0a 0a 09 73 65 64  \.]*$@@')"...sed
0670: 20 27 73 7c 27 22 24 28 64 69 72 6e 61 6d 65 20   's|'"$(dirname 
0680: 22 24 28 64 69 72 6e 61 6d 65 20 22 24 28 70 77  "$(dirname "$(pw
0690: 64 29 22 29 22 29 22 27 2f 74 63 6c 2f 69 6e 73  d)")")"'/tcl/ins
06a0: 74 7c 24 7b 54 43 4c 4b 49 54 5f 53 44 4b 5f 44  t|${TCLKIT_SDK_D
06b0: 49 52 7d 7c 67 3b 73 7c 5e 54 43 4c 5f 53 48 41  IR}|g;s|^TCL_SHA
06c0: 52 45 44 5f 42 55 49 4c 44 3d 2e 2a 24 7c 54 43  RED_BUILD=.*$|TC
06d0: 4c 5f 53 48 41 52 45 44 5f 42 55 49 4c 44 3d 31  L_SHARED_BUILD=1
06e0: 7c 3b 73 7c 5e 54 43 4c 5f 4c 49 42 5f 46 49 4c  |;s|^TCL_LIB_FIL
06f0: 45 3d 2e 2a 24 7c 54 43 4c 5f 4c 49 42 5f 46 49  E=.*$|TCL_LIB_FI
0700: 4c 45 3d 27 22 24 7b 6b 69 74 6c 69 62 66 69 6c  LE='"${kitlibfil
0710: 65 7d 22 27 7c 3b 73 7c 2d 6c 74 63 6c 5b 5e 73  e}"'|;s|-ltcl[^s
0720: 5d 5b 61 2d 7a 41 2d 5a 30 2d 39 5c 2e 5d 2a 7c  ][a-zA-Z0-9\.]*|
0730: 27 22 24 7b 6b 69 74 6c 69 6e 6b 65 72 7d 22 27  '"${kitlinker}"'
0740: 7c 27 20 27 74 63 6c 43 6f 6e 66 69 67 2e 73 68  |' 'tclConfig.sh
0750: 27 20 3e 20 27 74 63 6c 43 6f 6e 66 69 67 2e 73  ' > 'tclConfig.s
0760: 68 2e 6e 65 77 27 0a 09 28 0a 09 09 63 61 74 20  h.new'..(...cat 
0770: 3c 3c 20 5f 45 4f 46 5f 0a 69 66 20 5b 20 2d 7a  << _EOF_.if [ -z
0780: 20 22 5c 24 7b 54 43 4c 4b 49 54 5f 53 44 4b 5f   "\${TCLKIT_SDK_
0790: 44 49 52 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 54  DIR}" ]; then..T
07a0: 43 4c 4b 49 54 5f 53 44 4b 5f 44 49 52 3d 22 2e  CLKIT_SDK_DIR=".
07b0: 2f 6c 69 62 74 63 6c 6b 69 74 2d 73 64 6b 2d 24  /libtclkit-sdk-$
07c0: 7b 54 43 4c 56 45 52 53 7d 22 0a 66 69 0a 0a 5f  {TCLVERS}".fi.._
07d0: 45 4f 46 5f 0a 09 09 63 61 74 20 27 74 63 6c 43  EOF_...cat 'tclC
07e0: 6f 6e 66 69 67 2e 73 68 2e 6e 65 77 27 0a 09 29  onfig.sh.new'..)
07f0: 20 3e 20 27 74 63 6c 43 6f 6e 66 69 67 2e 73 68   > 'tclConfig.sh
0800: 27 0a 09 72 6d 20 2d 66 20 27 74 63 6c 43 6f 6e  '..rm -f 'tclCon
0810: 66 69 67 2e 73 68 2e 6e 65 77 27 0a 0a 09 69 66  fig.sh.new'...if
0820: 20 5b 20 2d 66 20 27 74 6b 43 6f 6e 66 69 67 2e   [ -f 'tkConfig.
0830: 73 68 27 20 5d 3b 20 74 68 65 6e 0a 09 09 73 65  sh' ]; then...se
0840: 64 20 27 73 7c 27 22 24 28 64 69 72 6e 61 6d 65  d 's|'"$(dirname
0850: 20 22 24 28 64 69 72 6e 61 6d 65 20 22 24 28 70   "$(dirname "$(p
0860: 77 64 29 22 29 22 29 22 27 2f 74 6b 2f 69 6e 73  wd)")")"'/tk/ins
0870: 74 7c 24 7b 54 43 4c 4b 49 54 5f 53 44 4b 5f 44  t|${TCLKIT_SDK_D
0880: 49 52 7d 7c 67 3b 73 7c 5e 54 4b 5f 53 48 41 52  IR}|g;s|^TK_SHAR
0890: 45 44 5f 42 55 49 4c 44 3d 2e 2a 24 7c 54 4b 5f  ED_BUILD=.*$|TK_
08a0: 53 48 41 52 45 44 5f 42 55 49 4c 44 3d 31 7c 3b  SHARED_BUILD=1|;
08b0: 73 7c 5e 54 4b 5f 4c 49 42 5f 46 49 4c 45 3d 2e  s|^TK_LIB_FILE=.
08c0: 2a 24 7c 54 4b 5f 4c 49 42 5f 46 49 4c 45 3d 27  *$|TK_LIB_FILE='
08d0: 22 24 7b 6b 69 74 6c 69 62 66 69 6c 65 7d 22 27  "${kitlibfile}"'
08e0: 7c 3b 73 7c 2d 6c 74 6b 5b 5e 73 5d 5b 61 2d 7a  |;s|-ltk[^s][a-z
08f0: 41 2d 5a 30 2d 39 5c 2e 5d 2a 7c 27 22 24 7b 6b  A-Z0-9\.]*|'"${k
0900: 69 74 6c 69 6e 6b 65 72 7d 22 27 7c 27 20 27 74  itlinker}"'|' 't
0910: 6b 43 6f 6e 66 69 67 2e 73 68 27 20 3e 20 27 74  kConfig.sh' > 't
0920: 6b 43 6f 6e 66 69 67 2e 73 68 2e 6e 65 77 27 0a  kConfig.sh.new'.
0930: 09 09 28 0a 09 09 09 63 61 74 20 3c 3c 20 5f 45  ..(....cat << _E
0940: 4f 46 5f 0a 69 66 20 5b 20 2d 7a 20 22 5c 24 7b  OF_.if [ -z "\${
0950: 54 43 4c 4b 49 54 5f 53 44 4b 5f 44 49 52 7d 22  TCLKIT_SDK_DIR}"
0960: 20 5d 3b 20 74 68 65 6e 0a 09 54 43 4c 4b 49 54   ]; then..TCLKIT
0970: 5f 53 44 4b 5f 44 49 52 3d 22 2e 2f 6c 69 62 74  _SDK_DIR="./libt
0980: 63 6c 6b 69 74 2d 73 64 6b 2d 24 7b 54 43 4c 56  clkit-sdk-${TCLV
0990: 45 52 53 7d 22 0a 66 69 0a 0a 5f 45 4f 46 5f 0a  ERS}".fi.._EOF_.
09a0: 09 09 09 63 61 74 20 27 74 6b 43 6f 6e 66 69 67  ...cat 'tkConfig
09b0: 2e 73 68 2e 6e 65 77 27 0a 09 09 29 20 3e 20 27  .sh.new'...) > '
09c0: 74 6b 43 6f 6e 66 69 67 2e 73 68 27 0a 09 09 72  tkConfig.sh'...r
09d0: 6d 20 2d 66 20 27 74 6b 43 6f 6e 66 69 67 2e 73  m -f 'tkConfig.s
09e0: 68 2e 6e 65 77 27 0a 09 66 69 0a 29 0a 0a 28 0a  h.new'..fi.)..(.
09f0: 09 63 64 20 27 5f 5f 74 6d 70 5f 5f 27 20 7c 7c  .cd '__tmp__' ||
0a00: 20 65 78 69 74 20 31 0a 0a 09 6d 6b 64 69 72 20   exit 1...mkdir 
0a10: 22 6c 69 62 74 63 6c 6b 69 74 2d 73 64 6b 2d 24  "libtclkit-sdk-$
0a20: 7b 54 43 4c 56 45 52 53 7d 22 0a 0a 09 6d 76 20  {TCLVERS}"...mv 
0a30: 27 6c 69 62 27 20 27 69 6e 63 6c 75 64 65 27 20  'lib' 'include' 
0a40: 27 64 6f 63 27 20 22 6c 69 62 74 63 6c 6b 69 74  'doc' "libtclkit
0a50: 2d 73 64 6b 2d 24 7b 54 43 4c 56 45 52 53 7d 2f  -sdk-${TCLVERS}/
0a60: 22 0a 0a 09 74 61 72 20 2d 63 66 20 2d 20 22 6c  "...tar -cf - "l
0a70: 69 62 74 63 6c 6b 69 74 2d 73 64 6b 2d 24 7b 54  ibtclkit-sdk-${T
0a80: 43 4c 56 45 52 53 7d 22 20 7c 20 67 7a 69 70 20  CLVERS}" | gzip 
0a90: 2d 39 63 20 3e 20 22 2e 2e 2f 6c 69 62 74 63 6c  -9c > "../libtcl
0aa0: 6b 69 74 2d 73 64 6b 2d 24 7b 54 43 4c 56 45 52  kit-sdk-${TCLVER
0ab0: 53 7d 2e 74 61 72 2e 67 7a 22 0a 29 0a 0a 72 6d  S}.tar.gz".)..rm
0ac0: 20 2d 72 66 20 27 5f 5f 74 6d 70 5f 5f 27 0a 0a   -rf '__tmp__'..
0ad0: 65 78 69 74 20 30 0a                             exit 0.