Hex Artifact Content

Artifact 50ab5da7e8889b4459ec82db634358e30b0593c8:


0000: 23 21 20 2f 62 69 6e 2f 62 61 73 68 0a 0a 70 6c  #! /bin/bash..pl
0010: 61 74 66 6f 72 6d 3d 22 24 31 22 0a 73 68 69 66  atform="$1".shif
0020: 74 0a 0a 69 66 20 5b 20 2d 7a 20 22 24 7b 70 6c  t..if [ -z "${pl
0030: 61 74 66 6f 72 6d 7d 22 20 5d 3b 20 74 68 65 6e  atform}" ]; then
0040: 0a 09 65 63 68 6f 20 22 50 6c 61 74 66 6f 72 6d  ..echo "Platform
0050: 73 3a 22 0a 09 65 63 68 6f 20 22 20 20 6e 61 74  s:"..echo "  nat
0060: 69 76 65 22 0a 66 69 0a 0a 66 6f 72 20 64 69 72  ive".fi..for dir
0070: 20 69 6e 20 77 6f 72 6b 2f 6c 69 62 74 63 6c 6b   in work/libtclk
0080: 69 74 2d 2a 2f 20 5f 5f 66 61 69 6c 5f 5f 3b 20  it-*/ __fail__; 
0090: 64 6f 0a 09 69 66 20 5b 20 22 24 7b 70 6c 61 74  do..if [ "${plat
00a0: 66 6f 72 6d 7d 22 20 3d 20 27 6e 61 74 69 76 65  form}" = 'native
00b0: 27 20 5d 3b 20 74 68 65 6e 0a 09 09 62 72 65 61  ' ]; then...brea
00c0: 6b 0a 09 66 69 0a 0a 09 69 66 20 5b 20 22 24 7b  k..fi...if [ "${
00d0: 64 69 72 7d 22 20 3d 3d 20 27 5f 5f 66 61 69 6c  dir}" == '__fail
00e0: 5f 5f 27 20 5d 3b 20 74 68 65 6e 0a 09 09 69 66  __' ]; then...if
00f0: 20 5b 20 2d 7a 20 22 24 7b 70 6c 61 74 66 6f 72   [ -z "${platfor
0100: 6d 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 09 09 65  m}" ]; then....e
0110: 78 69 74 20 30 0a 09 09 66 69 0a 0a 09 09 65 63  xit 0...fi....ec
0120: 68 6f 20 22 4e 6f 20 73 75 63 68 20 70 6c 61 74  ho "No such plat
0130: 66 6f 72 6d 3a 20 24 7b 70 6c 61 74 66 6f 72 6d  form: ${platform
0140: 7d 22 20 3e 26 32 0a 0a 09 09 65 78 69 74 20 31  }" >&2....exit 1
0150: 0a 09 66 69 0a 0a 09 64 69 72 3d 22 24 28 65 63  ..fi...dir="$(ec
0160: 68 6f 20 22 24 7b 64 69 72 7d 22 20 7c 20 73 65  ho "${dir}" | se
0170: 64 20 27 73 40 2f 24 40 40 27 29 22 0a 09 64 69  d 's@/$@@')"..di
0180: 72 5f 70 6c 61 74 66 6f 72 6d 3d 22 24 28 62 61  r_platform="$(ba
0190: 73 65 6e 61 6d 65 20 22 24 7b 64 69 72 7d 2d 22  sename "${dir}-"
01a0: 20 7c 20 73 65 64 20 27 73 40 5e 6c 69 62 74 63   | sed 's@^libtc
01b0: 6c 6b 69 74 2d 5b 5e 2d 5d 2a 2d 40 40 3b 73 40  lkit-[^-]*-@@;s@
01c0: 2d 6e 6f 74 6b 2d 40 2d 40 67 3b 73 40 2d 78 63  -notk-@-@g;s@-xc
01d0: 6f 6d 70 69 6c 65 2d 40 2d 40 67 3b 73 40 2d 6b  ompile-@-@g;s@-k
01e0: 69 74 64 6c 6c 2d 40 2d 40 3b 73 40 2d 73 64 6b  itdll-@-@;s@-sdk
01f0: 2d 40 2d 40 67 3b 73 40 2d 24 40 40 27 29 22 0a  -@-@g;s@-$@@')".
0200: 0a 09 69 66 20 5b 20 2d 7a 20 22 24 7b 70 6c 61  ..if [ -z "${pla
0210: 74 66 6f 72 6d 7d 22 20 5d 3b 20 74 68 65 6e 0a  tform}" ]; then.
0220: 09 09 65 63 68 6f 20 22 20 20 24 64 69 72 5f 70  ..echo "  $dir_p
0230: 6c 61 74 66 6f 72 6d 22 0a 09 65 6c 73 65 0a 09  latform"..else..
0240: 09 69 66 20 5b 20 22 24 7b 64 69 72 5f 70 6c 61  .if [ "${dir_pla
0250: 74 66 6f 72 6d 7d 22 20 3d 20 22 24 7b 70 6c 61  tform}" = "${pla
0260: 74 66 6f 72 6d 7d 22 20 5d 3b 20 74 68 65 6e 0a  tform}" ]; then.
0270: 09 09 09 62 72 65 61 6b 0a 09 09 66 69 0a 09 66  ...break...fi..f
0280: 69 0a 64 6f 6e 65 0a 64 69 72 3d 22 24 28 70 77  i.done.dir="$(pw
0290: 64 29 2f 24 7b 64 69 72 7d 22 0a 0a 63 61 73 65  d)/${dir}"..case
02a0: 20 22 24 7b 70 6c 61 74 66 6f 72 6d 7d 22 20 69   "${platform}" i
02b0: 6e 0a 09 6e 61 74 69 76 65 29 0a 09 09 70 6c 61  n..native)...pla
02c0: 74 66 6f 72 6d 3d 27 27 0a 09 09 3b 3b 0a 09 6c  tform=''...;;..l
02d0: 69 6e 75 78 2d 69 33 38 36 29 0a 09 09 70 6c 61  inux-i386)...pla
02e0: 74 66 6f 72 6d 3d 22 78 38 36 5f 36 34 2d 72 65  tform="x86_64-re
02f0: 64 68 61 74 35 2d 6c 69 6e 75 78 20 33 32 22 0a  dhat5-linux 32".
0300: 09 09 3b 3b 0a 09 6c 69 6e 75 78 2d 6d 69 70 73  ..;;..linux-mips
0310: 65 6c 29 0a 09 09 70 6c 61 74 66 6f 72 6d 3d 22  el)...platform="
0320: 6d 69 70 73 65 6c 2d 75 6e 6b 6e 6f 77 6e 2d 6c  mipsel-unknown-l
0330: 69 6e 75 78 2d 75 63 6c 69 62 63 22 0a 09 09 3b  inux-uclibc"...;
0340: 3b 0a 09 73 6f 6c 61 72 69 73 2d 61 6d 64 36 34  ;..solaris-amd64
0350: 29 0a 09 09 70 6c 61 74 66 6f 72 6d 3d 22 69 33  )...platform="i3
0360: 38 36 2d 70 63 2d 73 6f 6c 61 72 69 73 32 2e 31  86-pc-solaris2.1
0370: 30 20 36 34 22 0a 09 09 3b 3b 0a 09 73 6f 6c 61  0 64"...;;..sola
0380: 72 69 73 2d 69 33 38 36 29 0a 09 09 70 6c 61 74  ris-i386)...plat
0390: 66 6f 72 6d 3d 22 69 33 38 36 2d 70 63 2d 73 6f  form="i386-pc-so
03a0: 6c 61 72 69 73 32 2e 31 30 22 0a 09 09 3b 3b 0a  laris2.10"...;;.
03b0: 09 77 69 6e 33 32 2d 69 35 38 36 29 0a 09 09 70  .win32-i586)...p
03c0: 6c 61 74 66 6f 72 6d 3d 22 69 35 38 36 2d 6d 69  latform="i586-mi
03d0: 6e 67 77 33 32 6d 73 76 63 22 0a 09 09 3b 3b 0a  ngw32msvc"...;;.
03e0: 09 77 69 6e 36 34 2d 61 6d 64 36 34 29 0a 09 09  .win64-amd64)...
03f0: 70 6c 61 74 66 6f 72 6d 3d 22 78 38 36 5f 36 34  platform="x86_64
0400: 2d 77 36 34 2d 6d 69 6e 67 77 33 32 22 0a 09 09  -w64-mingw32"...
0410: 3b 3b 0a 09 61 6e 64 72 6f 69 64 2d 61 72 6d 29  ;;..android-arm)
0420: 0a 09 09 70 6c 61 74 66 6f 72 6d 3d 22 61 72 6d  ...platform="arm
0430: 2d 61 6e 64 72 6f 69 64 39 2d 6c 69 6e 75 78 2d  -android9-linux-
0440: 61 6e 64 72 6f 69 64 65 61 62 69 22 0a 09 09 3b  androideabi"...;
0450: 3b 0a 09 6e 65 74 62 73 64 2d 61 6d 64 36 34 29  ;..netbsd-amd64)
0460: 0a 09 09 70 6c 61 74 66 6f 72 6d 3d 22 78 38 36  ...platform="x86
0470: 5f 36 34 2d 75 6e 6b 6e 6f 77 6e 2d 6e 65 74 62  _64-unknown-netb
0480: 73 64 35 22 0a 09 09 3b 3b 0a 09 27 27 29 0a 09  sd5"...;;..'')..
0490: 09 65 78 69 74 20 30 0a 09 09 3b 3b 0a 09 2a 29  .exit 0...;;..*)
04a0: 0a 09 09 65 63 68 6f 20 22 55 6e 6b 6e 6f 77 6e  ...echo "Unknown
04b0: 20 70 6c 61 74 66 6f 72 6d 3a 20 24 7b 70 6c 61   platform: ${pla
04c0: 74 66 6f 72 6d 7d 22 20 3e 26 32 0a 0a 09 09 65  tform}" >&2....e
04d0: 78 69 74 20 31 0a 09 09 3b 3b 0a 65 73 61 63 0a  xit 1...;;.esac.
04e0: 0a 54 43 4c 4b 49 54 5f 53 44 4b 5f 44 49 52 3d  .TCLKIT_SDK_DIR=
04f0: 22 24 7b 64 69 72 7d 22 0a 65 78 70 6f 72 74 20  "${dir}".export 
0500: 54 43 4c 4b 49 54 5f 53 44 4b 5f 44 49 52 0a 0a  TCLKIT_SDK_DIR..
0510: 6d 61 6b 65 20 64 69 73 74 63 6c 65 61 6e 0a 0a  make distclean..
0520: 69 66 20 5b 20 22 24 7b 70 6c 61 74 66 6f 72 6d  if [ "${platform
0530: 7d 22 20 21 3d 20 27 27 20 5d 3b 20 74 68 65 6e  }" != '' ]; then
0540: 0a 09 65 76 61 6c 20 60 7e 2f 72 6f 6f 74 2f 63  ..eval `~/root/c
0550: 72 6f 73 73 2d 63 6f 6d 70 69 6c 65 72 73 2f 73  ross-compilers/s
0560: 65 74 75 70 2d 63 63 20 24 70 6c 61 74 66 6f 72  etup-cc $platfor
0570: 6d 60 0a 0a 09 70 6c 61 74 66 6f 72 6d 3d 22 24  m`...platform="$
0580: 28 65 63 68 6f 20 22 24 7b 70 6c 61 74 66 6f 72  (echo "${platfor
0590: 6d 7d 22 20 7c 20 63 75 74 20 2d 66 31 20 2d 64  m}" | cut -f1 -d
05a0: 20 27 20 27 29 22 0a 66 69 0a 0a 72 6d 20 2d 72   ' ')".fi..rm -r
05b0: 66 20 49 4e 53 54 0a 69 66 20 5b 20 22 24 7b 70  f INST.if [ "${p
05c0: 6c 61 74 66 6f 72 6d 7d 22 20 3d 20 27 27 20 5d  latform}" = '' ]
05d0: 3b 20 74 68 65 6e 0a 09 2e 2f 63 6f 6e 66 69 67  ; then.../config
05e0: 75 72 65 20 2d 2d 6c 69 62 64 69 72 3d 22 24 28  ure --libdir="$(
05f0: 70 77 64 29 2f 49 4e 53 54 22 20 22 24 40 22 20  pwd)/INST" "$@" 
0600: 7c 7c 20 65 78 69 74 20 31 0a 65 6c 73 65 0a 09  || exit 1.else..
0610: 2e 2f 63 6f 6e 66 69 67 75 72 65 20 2d 2d 68 6f  ./configure --ho
0620: 73 74 3d 22 24 7b 70 6c 61 74 66 6f 72 6d 7d 22  st="${platform}"
0630: 20 2d 2d 6c 69 62 64 69 72 3d 22 24 28 70 77 64   --libdir="$(pwd
0640: 29 2f 49 4e 53 54 22 20 2d 2d 77 69 74 68 2d 74  )/INST" --with-t
0650: 63 6c 3d 22 24 7b 64 69 72 7d 2f 6c 69 62 22 20  cl="${dir}/lib" 
0660: 22 24 40 22 20 7c 7c 20 65 78 69 74 20 31 0a 66  "$@" || exit 1.f
0670: 69 0a 0a 6d 61 6b 65 20 20 7c 7c 20 65 78 69 74  i..make  || exit
0680: 20 31 0a 6d 61 6b 65 20 69 6e 73 74 61 6c 6c 0a   1.make install.
0690: 0a 63 61 73 65 20 22 24 7b 70 6c 61 74 66 6f 72  .case "${platfor
06a0: 6d 7d 22 20 69 6e 0a 09 69 35 38 36 2d 6d 69 6e  m}" in..i586-min
06b0: 67 77 33 32 6d 73 76 63 29 0a 09 09 6d 61 6b 65  gw32msvc)...make
06c0: 20 54 43 4c 53 48 3d 22 77 69 6e 65 20 24 7b 64   TCLSH="wine ${d
06d0: 69 72 7d 2f 6c 69 62 2f 74 63 6c 73 68 2e 65 78  ir}/lib/tclsh.ex
06e0: 65 22 20 74 65 73 74 0a 09 09 3b 3b 0a 09 78 38  e" test...;;..x8
06f0: 36 5f 36 34 2d 77 36 34 2d 6d 69 6e 67 77 33 32  6_64-w64-mingw32
0700: 29 0a 09 09 57 49 4e 45 50 52 45 46 49 58 3d 22  )...WINEPREFIX="
0710: 24 7b 48 4f 4d 45 7d 2f 2e 77 69 6e 65 36 34 22  ${HOME}/.wine64"
0720: 0a 09 09 65 78 70 6f 72 74 20 57 49 4e 45 50 52  ...export WINEPR
0730: 45 46 49 58 0a 0a 09 09 6d 61 6b 65 20 54 43 4c  EFIX....make TCL
0740: 53 48 3d 22 77 69 6e 65 36 34 20 24 7b 64 69 72  SH="wine64 ${dir
0750: 7d 2f 6c 69 62 2f 74 63 6c 73 68 2e 65 78 65 22  }/lib/tclsh.exe"
0760: 20 74 65 73 74 0a 09 09 3b 3b 0a 09 78 38 36 5f   test...;;..x86_
0770: 36 34 2d 72 65 64 68 61 74 35 2d 6c 69 6e 75 78  64-redhat5-linux
0780: 29 0a 09 09 6d 61 6b 65 20 54 43 4c 53 48 3d 22  )...make TCLSH="
0790: 24 7b 64 69 72 7d 2f 6c 69 62 2f 74 63 6c 73 68  ${dir}/lib/tclsh
07a0: 22 20 74 65 73 74 0a 09 09 3b 3b 0a 09 27 27 29  " test...;;..'')
07b0: 0a 09 09 6d 61 6b 65 20 74 65 73 74 0a 09 09 3b  ...make test...;
07c0: 3b 0a 65 73 61 63 0a                             ;.esac.