Hex Artifact Content

Artifact 3d73e376145c593d1571bf1ab8b0083a222835ad:


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 65 74 61 6b 69 74 7c 74 68 72 65  tsh|metakit|thre
0400: 61 64 29 0a 09 09 09 63 70 20 22 24 7b 70 72 6f  ad)....cp "${pro
0410: 6a 64 69 72 7d 2f 6c 69 63 65 6e 73 65 2e 74 65  jdir}/license.te
0420: 72 6d 73 22 20 22 24 7b 64 6f 63 64 69 72 7d 2f  rms" "${docdir}/
0430: 22 0a 09 09 09 3b 3b 0a 09 09 7a 6c 69 62 29 0a  "....;;...zlib).
0440: 09 09 09 63 70 20 22 24 7b 70 72 6f 6a 64 69 72  ...cp "${projdir
0450: 7d 2f 52 45 41 44 4d 45 22 20 22 24 7b 64 6f 63  }/README" "${doc
0460: 64 69 72 7d 2f 22 0a 09 09 09 3b 3b 0a 09 09 2a  dir}/"....;;...*
0470: 29 0a 09 09 09 63 70 20 22 24 7b 70 72 6f 6a 64  )....cp "${projd
0480: 69 72 7d 2f 52 45 41 44 4d 45 22 20 22 24 7b 70  ir}/README" "${p
0490: 72 6f 6a 64 69 72 7d 2f 4c 49 43 45 4e 53 45 22  rojdir}/LICENSE"
04a0: 20 22 24 7b 70 72 6f 6a 64 69 72 7d 2f 64 6f 63   "${projdir}/doc
04b0: 2f 52 45 41 44 4d 45 22 20 22 24 7b 70 72 6f 6a  /README" "${proj
04c0: 64 69 72 7d 2f 64 6f 63 2f 4c 49 43 45 4e 53 45  dir}/doc/LICENSE
04d0: 22 20 22 24 7b 70 72 6f 6a 64 69 72 7d 2f 6c 69  " "${projdir}/li
04e0: 63 65 6e 73 65 2e 74 65 72 6d 73 22 20 22 24 7b  cense.terms" "${
04f0: 70 72 6f 6a 64 69 72 7d 2f 64 6f 63 2f 6c 69 63  projdir}/doc/lic
0500: 65 6e 73 65 2e 74 65 72 6d 73 22 20 22 24 7b 64  ense.terms" "${d
0510: 6f 63 64 69 72 7d 2f 22 20 3e 2f 64 65 76 2f 6e  ocdir}/" >/dev/n
0520: 75 6c 6c 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 0a  ull 2>/dev/null.
0530: 09 09 09 3b 3b 0a 09 65 73 61 63 0a 64 6f 6e 65  ...;;..esac.done
0540: 0a 0a 28 0a 09 63 64 20 27 5f 5f 74 6d 70 5f 5f  ..(..cd '__tmp__
0550: 2f 6c 69 62 27 20 7c 7c 20 65 78 69 74 20 31 0a  /lib' || exit 1.
0560: 0a 09 66 6f 72 20 6b 69 74 6c 69 62 66 69 6c 65  ..for kitlibfile
0570: 20 69 6e 20 6c 69 62 74 63 6c 6b 69 74 2a 2e 64   in libtclkit*.d
0580: 6c 6c 20 6c 69 62 74 63 6c 6b 69 74 2a 3b 20 64  ll libtclkit*; d
0590: 6f 0a 09 09 69 66 20 5b 20 21 20 2d 66 20 22 24  o...if [ ! -f "$
05a0: 7b 6b 69 74 6c 69 62 66 69 6c 65 7d 22 20 5d 3b  {kitlibfile}" ];
05b0: 20 74 68 65 6e 0a 09 09 09 63 6f 6e 74 69 6e 75   then....continu
05c0: 65 0a 09 09 66 69 0a 0a 09 09 69 66 20 65 63 68  e...fi....if ech
05d0: 6f 20 22 24 7b 6b 69 74 6c 69 62 66 69 6c 65 7d  o "${kitlibfile}
05e0: 22 20 7c 20 67 72 65 70 20 27 5c 2e 74 61 72 5c  " | grep '\.tar\
05f0: 2e 67 7a 27 20 3e 2f 64 65 76 2f 6e 75 6c 6c 3b  .gz' >/dev/null;
0600: 20 74 68 65 6e 0a 09 09 09 63 6f 6e 74 69 6e 75   then....continu
0610: 65 0a 09 09 66 69 0a 0a 09 09 62 72 65 61 6b 0a  e...fi....break.
0620: 09 64 6f 6e 65 0a 09 6b 69 74 6c 69 6e 6b 65 72  .done..kitlinker
0630: 3d 22 24 28 65 63 68 6f 20 22 24 7b 6b 69 74 6c  ="$(echo "${kitl
0640: 69 62 66 69 6c 65 7d 22 20 7c 20 73 65 64 20 27  ibfile}" | sed '
0650: 73 40 5e 6c 69 62 40 2d 6c 40 3b 73 40 5c 2e 5b  s@^lib@-l@;s@\.[
0660: 5e 5c 2e 5d 2a 24 40 40 27 29 22 0a 0a 09 73 65  ^\.]*$@@')"...se
0670: 64 20 27 73 7c 27 22 24 28 64 69 72 6e 61 6d 65  d 's|'"$(dirname
0680: 20 22 24 28 64 69 72 6e 61 6d 65 20 22 24 28 70   "$(dirname "$(p
0690: 77 64 29 22 29 22 29 22 27 2f 74 63 6c 2f 69 6e  wd)")")"'/tcl/in
06a0: 73 74 7c 24 7b 54 43 4c 4b 49 54 5f 53 44 4b 5f  st|${TCLKIT_SDK_
06b0: 44 49 52 7d 7c 67 3b 73 7c 5e 54 43 4c 5f 53 48  DIR}|g;s|^TCL_SH
06c0: 41 52 45 44 5f 42 55 49 4c 44 3d 2e 2a 24 7c 54  ARED_BUILD=.*$|T
06d0: 43 4c 5f 53 48 41 52 45 44 5f 42 55 49 4c 44 3d  CL_SHARED_BUILD=
06e0: 31 7c 3b 73 7c 5e 54 43 4c 5f 4c 49 42 5f 46 49  1|;s|^TCL_LIB_FI
06f0: 4c 45 3d 2e 2a 24 7c 54 43 4c 5f 4c 49 42 5f 46  LE=.*$|TCL_LIB_F
0700: 49 4c 45 3d 27 22 24 7b 6b 69 74 6c 69 62 66 69  ILE='"${kitlibfi
0710: 6c 65 7d 22 27 7c 3b 73 7c 2d 6c 74 63 6c 5b 5e  le}"'|;s|-ltcl[^
0720: 73 5d 5b 61 2d 7a 41 2d 5a 30 2d 39 5c 2e 5d 2a  s][a-zA-Z0-9\.]*
0730: 7c 27 22 24 7b 6b 69 74 6c 69 6e 6b 65 72 7d 22  |'"${kitlinker}"
0740: 27 7c 27 20 27 74 63 6c 43 6f 6e 66 69 67 2e 73  '|' 'tclConfig.s
0750: 68 27 20 3e 20 27 74 63 6c 43 6f 6e 66 69 67 2e  h' > 'tclConfig.
0760: 73 68 2e 6e 65 77 27 0a 09 28 0a 09 09 63 61 74  sh.new'..(...cat
0770: 20 3c 3c 20 5f 45 4f 46 5f 0a 69 66 20 5b 20 2d   << _EOF_.if [ -
0780: 7a 20 22 5c 24 7b 54 43 4c 4b 49 54 5f 53 44 4b  z "\${TCLKIT_SDK
0790: 5f 44 49 52 7d 22 20 5d 3b 20 74 68 65 6e 0a 09  _DIR}" ]; then..
07a0: 54 43 4c 4b 49 54 5f 53 44 4b 5f 44 49 52 3d 22  TCLKIT_SDK_DIR="
07b0: 2e 2f 6c 69 62 74 63 6c 6b 69 74 2d 73 64 6b 2d  ./libtclkit-sdk-
07c0: 24 7b 54 43 4c 56 45 52 53 7d 22 0a 66 69 0a 0a  ${TCLVERS}".fi..
07d0: 5f 45 4f 46 5f 0a 09 09 63 61 74 20 27 74 63 6c  _EOF_...cat 'tcl
07e0: 43 6f 6e 66 69 67 2e 73 68 2e 6e 65 77 27 0a 09  Config.sh.new'..
07f0: 29 20 3e 20 27 74 63 6c 43 6f 6e 66 69 67 2e 73  ) > 'tclConfig.s
0800: 68 27 0a 09 72 6d 20 2d 66 20 27 74 63 6c 43 6f  h'..rm -f 'tclCo
0810: 6e 66 69 67 2e 73 68 2e 6e 65 77 27 0a 0a 09 69  nfig.sh.new'...i
0820: 66 20 5b 20 2d 66 20 27 74 6b 43 6f 6e 66 69 67  f [ -f 'tkConfig
0830: 2e 73 68 27 20 5d 3b 20 74 68 65 6e 0a 09 09 73  .sh' ]; then...s
0840: 65 64 20 27 73 7c 27 22 24 28 64 69 72 6e 61 6d  ed 's|'"$(dirnam
0850: 65 20 22 24 28 64 69 72 6e 61 6d 65 20 22 24 28  e "$(dirname "$(
0860: 70 77 64 29 22 29 22 29 22 27 2f 74 6b 2f 69 6e  pwd)")")"'/tk/in
0870: 73 74 7c 24 7b 54 43 4c 4b 49 54 5f 53 44 4b 5f  st|${TCLKIT_SDK_
0880: 44 49 52 7d 7c 67 3b 73 7c 5e 54 4b 5f 53 48 41  DIR}|g;s|^TK_SHA
0890: 52 45 44 5f 42 55 49 4c 44 3d 2e 2a 24 7c 54 4b  RED_BUILD=.*$|TK
08a0: 5f 53 48 41 52 45 44 5f 42 55 49 4c 44 3d 31 7c  _SHARED_BUILD=1|
08b0: 3b 73 7c 5e 54 4b 5f 4c 49 42 5f 46 49 4c 45 3d  ;s|^TK_LIB_FILE=
08c0: 2e 2a 24 7c 54 4b 5f 4c 49 42 5f 46 49 4c 45 3d  .*$|TK_LIB_FILE=
08d0: 27 22 24 7b 6b 69 74 6c 69 62 66 69 6c 65 7d 22  '"${kitlibfile}"
08e0: 27 7c 3b 73 7c 2d 6c 74 6b 5b 5e 73 5d 5b 61 2d  '|;s|-ltk[^s][a-
08f0: 7a 41 2d 5a 30 2d 39 5c 2e 5d 2a 7c 27 22 24 7b  zA-Z0-9\.]*|'"${
0900: 6b 69 74 6c 69 6e 6b 65 72 7d 22 27 7c 27 20 27  kitlinker}"'|' '
0910: 74 6b 43 6f 6e 66 69 67 2e 73 68 27 20 3e 20 27  tkConfig.sh' > '
0920: 74 6b 43 6f 6e 66 69 67 2e 73 68 2e 6e 65 77 27  tkConfig.sh.new'
0930: 0a 09 09 28 0a 09 09 09 63 61 74 20 3c 3c 20 5f  ...(....cat << _
0940: 45 4f 46 5f 0a 69 66 20 5b 20 2d 7a 20 22 5c 24  EOF_.if [ -z "\$
0950: 7b 54 43 4c 4b 49 54 5f 53 44 4b 5f 44 49 52 7d  {TCLKIT_SDK_DIR}
0960: 22 20 5d 3b 20 74 68 65 6e 0a 09 54 43 4c 4b 49  " ]; then..TCLKI
0970: 54 5f 53 44 4b 5f 44 49 52 3d 22 2e 2f 6c 69 62  T_SDK_DIR="./lib
0980: 74 63 6c 6b 69 74 2d 73 64 6b 2d 24 7b 54 43 4c  tclkit-sdk-${TCL
0990: 56 45 52 53 7d 22 0a 66 69 0a 0a 5f 45 4f 46 5f  VERS}".fi.._EOF_
09a0: 0a 09 09 09 63 61 74 20 27 74 6b 43 6f 6e 66 69  ....cat 'tkConfi
09b0: 67 2e 73 68 2e 6e 65 77 27 0a 09 09 29 20 3e 20  g.sh.new'...) > 
09c0: 27 74 6b 43 6f 6e 66 69 67 2e 73 68 27 0a 09 09  'tkConfig.sh'...
09d0: 72 6d 20 2d 66 20 27 74 6b 43 6f 6e 66 69 67 2e  rm -f 'tkConfig.
09e0: 73 68 2e 6e 65 77 27 0a 09 66 69 0a 29 0a 0a 28  sh.new'..fi.)..(
09f0: 0a 09 63 64 20 27 5f 5f 74 6d 70 5f 5f 27 20 7c  ..cd '__tmp__' |
0a00: 7c 20 65 78 69 74 20 31 0a 0a 09 6d 6b 64 69 72  | exit 1...mkdir
0a10: 20 22 6c 69 62 74 63 6c 6b 69 74 2d 73 64 6b 2d   "libtclkit-sdk-
0a20: 24 7b 54 43 4c 56 45 52 53 7d 22 0a 0a 09 6d 76  ${TCLVERS}"...mv
0a30: 20 27 6c 69 62 27 20 27 69 6e 63 6c 75 64 65 27   'lib' 'include'
0a40: 20 27 64 6f 63 27 20 22 6c 69 62 74 63 6c 6b 69   'doc' "libtclki
0a50: 74 2d 73 64 6b 2d 24 7b 54 43 4c 56 45 52 53 7d  t-sdk-${TCLVERS}
0a60: 2f 22 0a 0a 09 74 61 72 20 2d 63 66 20 2d 20 22  /"...tar -cf - "
0a70: 6c 69 62 74 63 6c 6b 69 74 2d 73 64 6b 2d 24 7b  libtclkit-sdk-${
0a80: 54 43 4c 56 45 52 53 7d 22 20 7c 20 67 7a 69 70  TCLVERS}" | gzip
0a90: 20 2d 39 63 20 3e 20 22 2e 2e 2f 6c 69 62 74 63   -9c > "../libtc
0aa0: 6c 6b 69 74 2d 73 64 6b 2d 24 7b 54 43 4c 56 45  lkit-sdk-${TCLVE
0ab0: 52 53 7d 2e 74 61 72 2e 67 7a 22 0a 29 0a 0a 72  RS}.tar.gz".)..r
0ac0: 6d 20 2d 72 66 20 27 5f 5f 74 6d 70 5f 5f 27 0a  m -rf '__tmp__'.
0ad0: 0a 65 78 69 74 20 30 0a                          .exit 0.