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.