Artifact
85a2a104f618150b8da015bd0ebcdf411d916e572f2a139f28977de6dafcb653:
0000: 23 21 20 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 #! /usr/bin/env
0010: 62 61 73 68 0a 0a 75 70 64 61 74 65 3d 27 30 27 bash..update='0'
0020: 0a 69 66 20 5b 20 22 24 31 22 20 3d 20 27 2d 75 .if [ "$1" = '-u
0030: 70 64 61 74 65 27 20 5d 3b 20 74 68 65 6e 0a 09 pdate' ]; then..
0040: 75 70 64 61 74 65 3d 27 31 27 0a 66 69 0a 0a 63 update='1'.fi..c
0050: 6f 6d 6d 61 6e 64 73 3d 28 0a 09 63 75 72 6c 20 ommands=(..curl
0060: 64 69 66 66 20 63 61 74 20 6d 6b 64 69 72 20 72 diff cat mkdir r
0070: 6d 20 6d 76 20 61 75 74 6f 6d 61 6b 65 20 61 75 m mv automake au
0080: 74 6f 63 6f 6e 66 0a 29 0a 0a 75 72 6c 73 3d 28 toconf.)..urls=(
0090: 0a 09 68 74 74 70 3a 2f 2f 63 68 69 73 65 6c 61 ..http://chisela
00a0: 70 70 2e 63 6f 6d 2f 75 73 65 72 2f 72 6b 65 65 pp.com/user/rkee
00b0: 6e 65 2f 72 65 70 6f 73 69 74 6f 72 79 2f 61 75 ne/repository/au
00c0: 74 6f 63 6f 6e 66 2f 64 6f 63 2f 74 72 75 6e 6b toconf/doc/trunk
00d0: 2f 74 63 6c 2e 6d 34 0a 09 68 74 74 70 3a 2f 2f /tcl.m4..http://
00e0: 63 68 69 73 65 6c 61 70 70 2e 63 6f 6d 2f 75 73 chiselapp.com/us
00f0: 65 72 2f 72 6b 65 65 6e 65 2f 72 65 70 6f 73 69 er/rkeene/reposi
0100: 74 6f 72 79 2f 61 75 74 6f 63 6f 6e 66 2f 64 6f tory/autoconf/do
0110: 63 2f 74 72 75 6e 6b 2f 73 68 6f 62 6a 2e 6d 34 c/trunk/shobj.m4
0120: 0a 09 68 74 74 70 3a 2f 2f 63 68 69 73 65 6c 61 ..http://chisela
0130: 70 70 2e 63 6f 6d 2f 75 73 65 72 2f 72 6b 65 65 pp.com/user/rkee
0140: 6e 65 2f 72 65 70 6f 73 69 74 6f 72 79 2f 61 75 ne/repository/au
0150: 74 6f 63 6f 6e 66 2f 64 6f 63 2f 74 72 75 6e 6b toconf/doc/trunk
0160: 2f 76 65 72 73 69 6f 6e 73 63 72 69 70 74 2e 6d /versionscript.m
0170: 34 0a 09 27 68 74 74 70 3a 2f 2f 67 69 74 2e 73 4..'http://git.s
0180: 61 76 61 6e 6e 61 68 2e 67 6e 75 2e 6f 72 67 2f avannah.gnu.org/
0190: 67 69 74 77 65 62 2f 3f 70 3d 61 75 74 6f 63 6f gitweb/?p=autoco
01a0: 6e 66 2d 61 72 63 68 69 76 65 2e 67 69 74 3b 61 nf-archive.git;a
01b0: 3d 62 6c 6f 62 5f 70 6c 61 69 6e 3b 66 3d 6d 34 =blob_plain;f=m4
01c0: 2f 61 78 5f 63 68 65 63 6b 5f 63 6f 6d 70 69 6c /ax_check_compil
01d0: 65 5f 66 6c 61 67 2e 6d 34 27 0a 29 0a 0a 6c 6f e_flag.m4'.)..lo
01e0: 63 61 6c 46 69 6c 65 73 3d 28 0a 09 61 63 6c 6f calFiles=(..aclo
01f0: 63 61 6c 2f 74 63 6c 74 6c 73 5f 6f 70 65 6e 73 cal/tcltls_opens
0200: 73 6c 2e 6d 34 0a 09 61 63 6c 6f 63 61 6c 2f 74 sl.m4..aclocal/t
0210: 63 6c 74 6c 73 5f 6d 62 65 64 74 6c 73 2e 6d 34 cltls_mbedtls.m4
0220: 0a 29 0a 0a 66 61 69 6c 65 64 3d 27 30 27 0a 66 .)..failed='0'.f
0230: 6f 72 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 22 24 or command in "$
0240: 7b 63 6f 6d 6d 61 6e 64 73 5b 40 5d 7d 22 3b 20 {commands[@]}";
0250: 64 6f 0a 09 69 66 20 5b 20 21 20 2d 66 20 22 24 do..if [ ! -f "$
0260: 28 77 68 69 63 68 20 22 24 7b 63 6f 6d 6d 61 6e (which "${comman
0270: 64 7d 22 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 29 d}" 2>/dev/null)
0280: 22 20 5d 3b 20 74 68 65 6e 0a 09 09 65 63 68 6f " ]; then...echo
0290: 20 22 65 72 72 6f 72 3a 20 55 6e 61 62 6c 65 20 "error: Unable
02a0: 74 6f 20 6c 6f 63 61 74 65 20 24 7b 63 6f 6d 6d to locate ${comm
02b0: 61 6e 64 7d 22 20 3e 26 32 0a 09 09 66 61 69 6c and}" >&2...fail
02c0: 65 64 3d 27 31 27 0a 09 66 69 0a 64 6f 6e 65 0a ed='1'..fi.done.
02d0: 69 66 20 5b 20 22 24 7b 66 61 69 6c 65 64 7d 22 if [ "${failed}"
02e0: 20 3d 20 27 31 27 20 5d 3b 20 74 68 65 6e 0a 09 = '1' ]; then..
02f0: 65 78 69 74 20 31 0a 66 69 0a 0a 63 64 20 22 24 exit 1.fi..cd "$
0300: 28 64 69 72 6e 61 6d 65 20 22 24 28 77 68 69 63 (dirname "$(whic
0310: 68 20 22 24 30 22 29 22 29 22 20 7c 7c 20 65 78 h "$0")")" || ex
0320: 69 74 20 31 0a 0a 6d 6b 64 69 72 20 61 63 6c 6f it 1..mkdir aclo
0330: 63 61 6c 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 cal >/dev/null 2
0340: 3e 2f 64 65 76 2f 6e 75 6c 6c 0a 0a 66 69 6c 65 >/dev/null..file
0350: 73 3d 28 29 0a 0a 66 6f 72 20 75 72 6c 20 69 6e s=()..for url in
0360: 20 22 24 7b 75 72 6c 73 5b 40 5d 7d 22 3b 20 64 "${urls[@]}"; d
0370: 6f 0a 09 66 69 6c 65 3d 22 61 63 6c 6f 63 61 6c o..file="aclocal
0380: 2f 24 28 65 63 68 6f 20 22 24 7b 75 72 6c 7d 22 /$(echo "${url}"
0390: 20 7c 20 73 65 64 20 27 73 40 5e 2e 2a 2f 40 40 | sed 's@^.*/@@
03a0: 27 29 22 0a 0a 09 69 66 20 5b 20 2d 66 20 22 24 ')"...if [ -f "$
03b0: 7b 66 69 6c 65 7d 22 20 5d 3b 20 74 68 65 6e 0a {file}" ]; then.
03c0: 09 09 69 66 20 5b 20 22 24 7b 75 70 64 61 74 65 ..if [ "${update
03d0: 7d 22 20 3d 20 27 30 27 20 5d 3b 20 74 68 65 6e }" = '0' ]; then
03e0: 0a 09 09 09 66 69 6c 65 73 3d 28 22 24 7b 66 69 ....files=("${fi
03f0: 6c 65 73 5b 40 5d 7d 22 20 22 24 7b 66 69 6c 65 les[@]}" "${file
0400: 7d 22 29 0a 0a 09 09 09 63 6f 6e 74 69 6e 75 65 }").....continue
0410: 0a 09 09 66 69 0a 09 66 69 0a 0a 09 63 75 72 6c ...fi..fi...curl
0420: 20 2d 6c 73 53 20 22 24 7b 75 72 6c 7d 22 20 3e -lsS "${url}" >
0430: 20 22 24 7b 66 69 6c 65 7d 2e 6e 65 77 22 20 7c "${file}.new" |
0440: 7c 20 65 78 69 74 20 31 0a 09 69 66 20 64 69 66 | exit 1..if dif
0450: 66 20 22 24 7b 66 69 6c 65 7d 2e 6e 65 77 22 20 f "${file}.new"
0460: 22 24 7b 66 69 6c 65 7d 22 20 3e 2f 64 65 76 2f "${file}" >/dev/
0470: 6e 75 6c 6c 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c null 2>/dev/null
0480: 3b 20 74 68 65 6e 0a 09 09 72 6d 20 2d 66 20 22 ; then...rm -f "
0490: 24 7b 66 69 6c 65 7d 2e 6e 65 77 22 0a 09 65 6c ${file}.new"..el
04a0: 73 65 0a 09 09 6d 76 20 22 24 7b 66 69 6c 65 7d se...mv "${file}
04b0: 2e 6e 65 77 22 20 22 24 7b 66 69 6c 65 7d 22 0a .new" "${file}".
04c0: 09 66 69 0a 0a 09 66 69 6c 65 73 3d 28 22 24 7b .fi...files=("${
04d0: 66 69 6c 65 73 5b 40 5d 7d 22 20 22 24 7b 66 69 files[@]}" "${fi
04e0: 6c 65 7d 22 29 0a 64 6f 6e 65 0a 0a 66 6f 72 20 le}").done..for
04f0: 66 69 6c 65 20 69 6e 20 22 24 7b 66 69 6c 65 73 file in "${files
0500: 5b 40 5d 7d 22 20 22 24 7b 6c 6f 63 61 6c 46 69 [@]}" "${localFi
0510: 6c 65 73 5b 40 5d 7d 22 3b 20 64 6f 0a 09 63 61 les[@]}"; do..ca
0520: 74 20 22 24 7b 66 69 6c 65 7d 22 0a 64 6f 6e 65 t "${file}".done
0530: 20 3e 20 61 63 6c 6f 63 61 6c 2e 6d 34 2e 6e 65 > aclocal.m4.ne
0540: 77 0a 0a 69 66 20 64 69 66 66 20 61 63 6c 6f 63 w..if diff acloc
0550: 61 6c 2e 6d 34 2e 6e 65 77 20 61 63 6c 6f 63 61 al.m4.new acloca
0560: 6c 2e 6d 34 20 3e 2f 64 65 76 2f 6e 75 6c 6c 20 l.m4 >/dev/null
0570: 32 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 2>/dev/null; the
0580: 6e 0a 09 72 6d 20 2d 66 20 61 63 6c 6f 63 61 6c n..rm -f aclocal
0590: 2e 6d 34 2e 6e 65 77 0a 65 6c 73 65 0a 09 6d 76 .m4.new.else..mv
05a0: 20 61 63 6c 6f 63 61 6c 2e 6d 34 2e 6e 65 77 20 aclocal.m4.new
05b0: 61 63 6c 6f 63 61 6c 2e 6d 34 0a 66 69 0a 0a 61 aclocal.m4.fi..a
05c0: 75 74 6f 6d 61 6b 65 20 2d 2d 61 64 64 2d 6d 69 utomake --add-mi
05d0: 73 73 69 6e 67 20 2d 2d 63 6f 70 79 20 2d 2d 66 ssing --copy --f
05e0: 6f 72 63 65 2d 6d 69 73 73 69 6e 67 20 3e 2f 64 orce-missing >/d
05f0: 65 76 2f 6e 75 6c 6c 20 32 3e 2f 64 65 76 2f 6e ev/null 2>/dev/n
0600: 75 6c 6c 0a 69 66 20 21 20 5b 20 2d 66 20 69 6e ull.if ! [ -f in
0610: 73 74 61 6c 6c 2d 73 68 20 2d 6f 20 2d 66 20 69 stall-sh -o -f i
0620: 6e 73 74 61 6c 6c 2e 73 68 20 2d 6f 20 2d 66 20 nstall.sh -o -f
0630: 73 68 74 6f 6f 6c 20 5d 3b 20 74 68 65 6e 0a 09 shtool ]; then..
0640: 65 63 68 6f 20 22 61 75 74 6f 6d 61 6b 65 20 66 echo "automake f
0650: 61 69 6c 65 64 22 20 3e 26 32 0a 09 65 78 69 74 ailed" >&2..exit
0660: 20 31 0a 66 69 0a 0a 61 75 74 6f 63 6f 6e 66 0a 1.fi..autoconf.
0670: 0a 69 66 20 67 72 65 70 20 41 43 5f 43 4f 4d 50 .if grep AC_COMP
0680: 49 4c 45 5f 49 46 45 4c 53 45 20 61 63 6c 6f 63 ILE_IFELSE acloc
0690: 61 6c 2f 61 78 5f 63 68 65 63 6b 5f 63 6f 6d 70 al/ax_check_comp
06a0: 69 6c 65 5f 66 6c 61 67 2e 6d 34 20 3e 2f 64 65 ile_flag.m4 >/de
06b0: 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a 09 73 65 v/null; then..se
06c0: 64 20 27 73 40 41 43 5f 43 4f 4d 50 49 4c 45 5f d 's@AC_COMPILE_
06d0: 49 46 45 4c 53 45 40 41 43 5f 4c 49 4e 4b 5f 49 IFELSE@AC_LINK_I
06e0: 46 45 4c 53 45 40 67 27 20 61 63 6c 6f 63 61 6c FELSE@g' aclocal
06f0: 2f 61 78 5f 63 68 65 63 6b 5f 63 6f 6d 70 69 6c /ax_check_compil
0700: 65 5f 66 6c 61 67 2e 6d 34 20 3e 20 61 63 6c 6f e_flag.m4 > aclo
0710: 63 61 6c 2f 61 78 5f 63 68 65 63 6b 5f 63 6f 6d cal/ax_check_com
0720: 70 69 6c 65 5f 66 6c 61 67 2e 6d 34 2e 6e 65 77 pile_flag.m4.new
0730: 0a 09 6d 76 20 61 63 6c 6f 63 61 6c 2f 61 78 5f ..mv aclocal/ax_
0740: 63 68 65 63 6b 5f 63 6f 6d 70 69 6c 65 5f 66 6c check_compile_fl
0750: 61 67 2e 6d 34 2e 6e 65 77 20 61 63 6c 6f 63 61 ag.m4.new acloca
0760: 6c 2f 61 78 5f 63 68 65 63 6b 5f 63 6f 6d 70 69 l/ax_check_compi
0770: 6c 65 5f 66 6c 61 67 2e 6d 34 0a 66 69 0a 0a 72 le_flag.m4.fi..r
0780: 6d 20 2d 72 66 20 61 75 74 6f 6d 34 74 65 2e 63 m -rf autom4te.c
0790: 61 63 68 65 0a ache.