0000: 41 43 5f 44 45 46 55 4e 28 44 43 5f 44 4f 5f 54 AC_DEFUN(DC_DO_T
0010: 43 4c 2c 20 5b 0a 09 41 43 5f 4d 53 47 5f 43 48 CL, [..AC_MSG_CH
0020: 45 43 4b 49 4e 47 28 5b 70 61 74 68 20 74 6f 20 ECKING([path to
0030: 74 63 6c 5d 29 0a 09 41 43 5f 41 52 47 5f 57 49 tcl])..AC_ARG_WI
0040: 54 48 28 74 63 6c 2c 20 41 43 5f 48 45 4c 50 5f TH(tcl, AC_HELP_
0050: 53 54 52 49 4e 47 28 5b 2d 2d 77 69 74 68 2d 74 STRING([--with-t
0060: 63 6c 5d 2c 20 5b 64 69 72 65 63 74 6f 72 79 20 cl], [directory
0070: 63 6f 6e 74 61 69 6e 69 6e 67 20 74 63 6c 20 63 containing tcl c
0080: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 28 74 63 onfiguration (tc
0090: 6c 43 6f 6e 66 69 67 2e 73 68 29 5d 29 2c 20 5b lConfig.sh)]), [
00a0: 5d 2c 20 5b 0a 09 09 77 69 74 68 5f 74 63 6c 3d ], [...with_tcl=
00b0: 22 61 75 74 6f 22 0a 09 5d 29 0a 0a 09 69 66 20 "auto"..])...if
00c0: 74 65 73 74 20 22 24 7b 77 69 74 68 5f 74 63 6c test "${with_tcl
00d0: 7d 22 20 3d 20 22 61 75 74 6f 22 3b 20 74 68 65 }" = "auto"; the
00e0: 6e 0a 09 09 66 6f 72 20 64 69 72 20 69 6e 20 60 n...for dir in `
00f0: 65 63 68 6f 20 22 24 7b 50 41 54 48 7d 22 20 7c echo "${PATH}" |
0100: 20 73 65 64 20 27 73 40 3a 40 20 40 67 27 60 3b sed 's@:@ @g'`;
0110: 20 64 6f 0a 09 09 09 69 66 20 74 65 73 74 20 2d do....if test -
0120: 66 20 22 24 7b 64 69 72 7d 2f 74 63 6c 43 6f 6e f "${dir}/tclCon
0130: 66 69 67 2e 73 68 22 3b 20 74 68 65 6e 0a 09 09 fig.sh"; then...
0140: 09 09 74 63 6c 63 6f 6e 66 69 67 73 68 64 69 72 ..tclconfigshdir
0150: 3d 22 24 7b 64 69 72 7d 22 0a 09 09 09 09 74 63 ="${dir}".....tc
0160: 6c 63 6f 6e 66 69 67 73 68 3d 22 24 7b 74 63 6c lconfigsh="${tcl
0170: 63 6f 6e 66 69 67 73 68 64 69 72 7d 2f 74 63 6c configshdir}/tcl
0180: 43 6f 6e 66 69 67 2e 73 68 22 0a 09 09 09 09 62 Config.sh".....b
0190: 72 65 61 6b 0a 09 09 09 66 69 0a 09 09 09 69 66 reak....fi....if
01a0: 20 74 65 73 74 20 2d 66 20 22 24 7b 64 69 72 7d test -f "${dir}
01b0: 2f 2e 2e 2f 6c 69 62 2f 74 63 6c 43 6f 6e 66 69 /../lib/tclConfi
01c0: 67 2e 73 68 22 3b 20 74 68 65 6e 0a 09 09 09 09 g.sh"; then.....
01d0: 74 63 6c 63 6f 6e 66 69 67 73 68 64 69 72 3d 22 tclconfigshdir="
01e0: 24 7b 64 69 72 7d 2f 2e 2e 2f 6c 69 62 22 0a 09 ${dir}/../lib"..
01f0: 09 09 09 74 63 6c 63 6f 6e 66 69 67 73 68 3d 22 ...tclconfigsh="
0200: 24 7b 74 63 6c 63 6f 6e 66 69 67 73 68 64 69 72 ${tclconfigshdir
0210: 7d 2f 74 63 6c 43 6f 6e 66 69 67 2e 73 68 22 0a }/tclConfig.sh".
0220: 09 09 09 09 62 72 65 61 6b 0a 09 09 09 66 69 0a ....break....fi.
0230: 09 09 09 69 66 20 74 65 73 74 20 2d 66 20 22 24 ...if test -f "$
0240: 7b 64 69 72 7d 2f 2e 2e 2f 6c 69 62 36 34 2f 74 {dir}/../lib64/t
0250: 63 6c 43 6f 6e 66 69 67 2e 73 68 22 3b 20 74 68 clConfig.sh"; th
0260: 65 6e 0a 09 09 09 09 74 63 6c 63 6f 6e 66 69 67 en.....tclconfig
0270: 73 68 64 69 72 3d 22 24 7b 64 69 72 7d 2f 2e 2e shdir="${dir}/..
0280: 2f 6c 69 62 36 34 22 0a 09 09 09 09 74 63 6c 63 /lib64".....tclc
0290: 6f 6e 66 69 67 73 68 3d 22 24 7b 74 63 6c 63 6f onfigsh="${tclco
02a0: 6e 66 69 67 73 68 64 69 72 7d 2f 74 63 6c 43 6f nfigshdir}/tclCo
02b0: 6e 66 69 67 2e 73 68 22 0a 09 09 09 09 62 72 65 nfig.sh".....bre
02c0: 61 6b 0a 09 09 09 66 69 0a 09 09 64 6f 6e 65 0a ak....fi...done.
02d0: 0a 09 09 69 66 20 74 65 73 74 20 2d 7a 20 22 24 ...if test -z "$
02e0: 7b 74 63 6c 63 6f 6e 66 69 67 73 68 7d 22 3b 20 {tclconfigsh}";
02f0: 74 68 65 6e 0a 09 09 09 41 43 5f 4d 53 47 5f 45 then....AC_MSG_E
0300: 52 52 4f 52 28 5b 55 6e 61 62 6c 65 20 74 6f 20 RROR([Unable to
0310: 66 69 6e 64 20 74 63 6c 43 6f 6e 66 69 67 2e 73 find tclConfig.s
0320: 68 5d 29 0a 09 09 66 69 0a 09 65 6c 73 65 0a 09 h])...fi..else..
0330: 09 74 63 6c 63 6f 6e 66 69 67 73 68 64 69 72 3d .tclconfigshdir=
0340: 22 24 7b 77 69 74 68 5f 74 63 6c 7d 22 0a 09 09 "${with_tcl}"...
0350: 74 63 6c 63 6f 6e 66 69 67 73 68 3d 22 24 7b 74 tclconfigsh="${t
0360: 63 6c 63 6f 6e 66 69 67 73 68 64 69 72 7d 2f 74 clconfigshdir}/t
0370: 63 6c 43 6f 6e 66 69 67 2e 73 68 22 0a 09 66 69 clConfig.sh"..fi
0380: 0a 0a 09 69 66 20 74 65 73 74 20 2d 66 20 22 24 ...if test -f "$
0390: 7b 74 63 6c 63 6f 6e 66 69 67 73 68 7d 22 3b 20 {tclconfigsh}";
03a0: 74 68 65 6e 0a 09 09 2e 20 22 24 7b 74 63 6c 63 then.... "${tclc
03b0: 6f 6e 66 69 67 73 68 7d 22 0a 0a 09 09 43 46 4c onfigsh}"....CFL
03c0: 41 47 53 3d 22 24 7b 43 46 4c 41 47 53 7d 20 24 AGS="${CFLAGS} $
03d0: 7b 54 43 4c 5f 49 4e 43 4c 55 44 45 5f 53 50 45 {TCL_INCLUDE_SPE
03e0: 43 7d 20 2d 49 24 7b 54 43 4c 5f 53 52 43 5f 44 C} -I${TCL_SRC_D
03f0: 49 52 7d 2f 67 65 6e 65 72 69 63 20 2d 49 24 7b IR}/generic -I${
0400: 74 63 6c 63 6f 6e 66 69 67 73 68 64 69 72 7d 22 tclconfigshdir}"
0410: 0a 09 09 43 50 50 46 4c 41 47 53 3d 22 24 7b 43 ...CPPFLAGS="${C
0420: 50 50 46 4c 41 47 53 7d 20 24 7b 54 43 4c 5f 49 PPFLAGS} ${TCL_I
0430: 4e 43 4c 55 44 45 5f 53 50 45 43 7d 20 2d 49 24 NCLUDE_SPEC} -I$
0440: 7b 54 43 4c 5f 53 52 43 5f 44 49 52 7d 2f 67 65 {TCL_SRC_DIR}/ge
0450: 6e 65 72 69 63 20 2d 49 24 7b 74 63 6c 63 6f 6e neric -I${tclcon
0460: 66 69 67 73 68 64 69 72 7d 22 0a 09 09 4c 49 42 figshdir}"...LIB
0470: 53 3d 22 24 7b 4c 49 42 53 7d 20 24 7b 54 43 4c S="${LIBS} ${TCL
0480: 5f 4c 49 42 53 7d 22 0a 0a 09 09 4b 49 54 44 4c _LIBS}"....KITDL
0490: 4c 5f 4c 49 42 5f 56 45 52 53 49 4f 4e 3d 60 65 L_LIB_VERSION=`e
04a0: 63 68 6f 20 22 24 7b 54 43 4c 5f 56 45 52 53 49 cho "${TCL_VERSI
04b0: 4f 4e 7d 24 7b 54 43 4c 5f 50 41 54 43 48 5f 4c ON}${TCL_PATCH_L
04c0: 45 56 45 4c 7d 22 20 7c 20 73 65 64 20 27 73 40 EVEL}" | sed 's@
04d0: 5c 2e 40 40 67 27 60 0a 09 66 69 0a 0a 09 41 43 \.@@g'`..fi...AC
04e0: 5f 53 55 42 53 54 28 43 46 4c 41 47 53 29 0a 09 _SUBST(CFLAGS)..
04f0: 41 43 5f 53 55 42 53 54 28 43 50 50 46 4c 41 47 AC_SUBST(CPPFLAG
0500: 53 29 0a 09 41 43 5f 53 55 42 53 54 28 4c 49 42 S)..AC_SUBST(LIB
0510: 53 29 0a 09 41 43 5f 53 55 42 53 54 28 4b 49 54 S)..AC_SUBST(KIT
0520: 44 4c 4c 5f 4c 49 42 5f 56 45 52 53 49 4f 4e 29 DLL_LIB_VERSION)
0530: 0a 0a 09 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 ...AC_MSG_RESULT
0540: 28 5b 24 74 63 6c 63 6f 6e 66 69 67 73 68 5d 29 ([$tclconfigsh])
0550: 0a 5d 29 0a 0a 41 43 5f 44 45 46 55 4e 28 44 43 .])..AC_DEFUN(DC
0560: 5f 44 4f 5f 54 4b 2c 20 5b 0a 09 41 43 5f 4d 53 _DO_TK, [..AC_MS
0570: 47 5f 43 48 45 43 4b 49 4e 47 28 5b 70 61 74 68 G_CHECKING([path
0580: 20 74 6f 20 74 6b 5d 29 0a 09 41 43 5f 41 52 47 to tk])..AC_ARG
0590: 5f 57 49 54 48 28 74 6b 2c 20 41 43 5f 48 45 4c _WITH(tk, AC_HEL
05a0: 50 5f 53 54 52 49 4e 47 28 5b 2d 2d 77 69 74 68 P_STRING([--with
05b0: 2d 74 6b 5d 2c 20 5b 64 69 72 65 63 74 6f 72 79 -tk], [directory
05c0: 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 6b 20 63 containing tk c
05d0: 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 28 74 6b onfiguration (tk
05e0: 43 6f 6e 66 69 67 2e 73 68 29 5d 29 2c 20 5b 5d Config.sh)]), []
05f0: 2c 20 5b 0a 09 09 77 69 74 68 5f 74 6b 3d 22 61 , [...with_tk="a
0600: 75 74 6f 22 0a 09 5d 29 0a 0a 09 69 66 20 74 65 uto"..])...if te
0610: 73 74 20 22 24 7b 77 69 74 68 5f 74 6b 7d 22 20 st "${with_tk}"
0620: 3d 20 22 61 75 74 6f 22 3b 20 74 68 65 6e 0a 09 = "auto"; then..
0630: 09 66 6f 72 20 64 69 72 20 69 6e 20 2e 2e 2f 2e .for dir in ../.
0640: 2e 2f 2e 2e 2f 74 6b 2f 62 75 69 6c 64 2f 74 6b ./../tk/build/tk
0650: 2a 2f 2a 2f 20 60 65 63 68 6f 20 22 24 7b 50 41 */*/ `echo "${PA
0660: 54 48 7d 22 20 7c 20 73 65 64 20 27 73 40 3a 40 TH}" | sed 's@:@
0670: 20 40 67 27 60 3b 20 64 6f 0a 09 09 09 69 66 20 @g'`; do....if
0680: 74 65 73 74 20 2d 66 20 22 24 7b 64 69 72 7d 2f test -f "${dir}/
0690: 74 6b 43 6f 6e 66 69 67 2e 73 68 22 3b 20 74 68 tkConfig.sh"; th
06a0: 65 6e 0a 09 09 09 09 74 6b 63 6f 6e 66 69 67 73 en.....tkconfigs
06b0: 68 64 69 72 3d 22 24 7b 64 69 72 7d 22 0a 09 09 hdir="${dir}"...
06c0: 09 09 74 6b 63 6f 6e 66 69 67 73 68 3d 22 24 7b ..tkconfigsh="${
06d0: 74 6b 63 6f 6e 66 69 67 73 68 64 69 72 7d 2f 74 tkconfigshdir}/t
06e0: 6b 43 6f 6e 66 69 67 2e 73 68 22 0a 09 09 09 09 kConfig.sh".....
06f0: 62 72 65 61 6b 0a 09 09 09 66 69 0a 09 09 09 69 break....fi....i
0700: 66 20 74 65 73 74 20 2d 66 20 22 24 7b 64 69 72 f test -f "${dir
0710: 7d 2f 2e 2e 2f 6c 69 62 2f 74 6b 43 6f 6e 66 69 }/../lib/tkConfi
0720: 67 2e 73 68 22 3b 20 74 68 65 6e 0a 09 09 09 09 g.sh"; then.....
0730: 74 6b 63 6f 6e 66 69 67 73 68 64 69 72 3d 22 24 tkconfigshdir="$
0740: 7b 64 69 72 7d 2f 2e 2e 2f 6c 69 62 22 0a 09 09 {dir}/../lib"...
0750: 09 09 74 6b 63 6f 6e 66 69 67 73 68 3d 22 24 7b ..tkconfigsh="${
0760: 74 6b 63 6f 6e 66 69 67 73 68 64 69 72 7d 2f 74 tkconfigshdir}/t
0770: 6b 43 6f 6e 66 69 67 2e 73 68 22 0a 09 09 09 09 kConfig.sh".....
0780: 62 72 65 61 6b 0a 09 09 09 66 69 0a 09 09 09 69 break....fi....i
0790: 66 20 74 65 73 74 20 2d 66 20 22 24 7b 64 69 72 f test -f "${dir
07a0: 7d 2f 2e 2e 2f 6c 69 62 36 34 2f 74 6b 43 6f 6e }/../lib64/tkCon
07b0: 66 69 67 2e 73 68 22 3b 20 74 68 65 6e 0a 09 09 fig.sh"; then...
07c0: 09 09 74 6b 63 6f 6e 66 69 67 73 68 64 69 72 3d ..tkconfigshdir=
07d0: 22 24 7b 64 69 72 7d 2f 2e 2e 2f 6c 69 62 36 34 "${dir}/../lib64
07e0: 22 0a 09 09 09 09 74 6b 63 6f 6e 66 69 67 73 68 ".....tkconfigsh
07f0: 3d 22 24 7b 74 6b 63 6f 6e 66 69 67 73 68 64 69 ="${tkconfigshdi
0800: 72 7d 2f 74 6b 43 6f 6e 66 69 67 2e 73 68 22 0a r}/tkConfig.sh".
0810: 09 09 09 09 62 72 65 61 6b 0a 09 09 09 66 69 0a ....break....fi.
0820: 09 09 64 6f 6e 65 0a 0a 09 09 69 66 20 74 65 73 ..done....if tes
0830: 74 20 2d 7a 20 22 24 7b 74 6b 63 6f 6e 66 69 67 t -z "${tkconfig
0840: 73 68 7d 22 3b 20 74 68 65 6e 0a 09 09 09 41 43 sh}"; then....AC
0850: 5f 4d 53 47 5f 45 52 52 4f 52 28 5b 55 6e 61 62 _MSG_ERROR([Unab
0860: 6c 65 20 74 6f 20 66 69 6e 64 20 74 6b 43 6f 6e le to find tkCon
0870: 66 69 67 2e 73 68 5d 29 0a 09 09 66 69 0a 09 65 fig.sh])...fi..e
0880: 6c 73 65 0a 09 09 74 6b 63 6f 6e 66 69 67 73 68 lse...tkconfigsh
0890: 64 69 72 3d 22 24 7b 77 69 74 68 5f 74 6b 7d 22 dir="${with_tk}"
08a0: 0a 09 09 74 6b 63 6f 6e 66 69 67 73 68 3d 22 24 ...tkconfigsh="$
08b0: 7b 74 6b 63 6f 6e 66 69 67 73 68 64 69 72 7d 2f {tkconfigshdir}/
08c0: 74 6b 43 6f 6e 66 69 67 2e 73 68 22 0a 09 66 69 tkConfig.sh"..fi
08d0: 0a 0a 09 69 66 20 74 65 73 74 20 2d 66 20 22 24 ...if test -f "$
08e0: 7b 74 6b 63 6f 6e 66 69 67 73 68 7d 22 3b 20 74 {tkconfigsh}"; t
08f0: 68 65 6e 0a 09 09 2e 20 22 24 7b 74 6b 63 6f 6e hen.... "${tkcon
0900: 66 69 67 73 68 7d 22 0a 0a 09 09 43 46 4c 41 47 figsh}"....CFLAG
0910: 53 3d 22 24 7b 43 46 4c 41 47 53 7d 20 24 7b 54 S="${CFLAGS} ${T
0920: 4b 5f 49 4e 43 4c 55 44 45 5f 53 50 45 43 7d 20 K_INCLUDE_SPEC}
0930: 2d 49 24 7b 74 6b 63 6f 6e 66 69 67 73 68 64 69 -I${tkconfigshdi
0940: 72 7d 20 2d 49 24 7b 54 4b 5f 53 52 43 5f 44 49 r} -I${TK_SRC_DI
0950: 52 7d 2f 67 65 6e 65 72 69 63 20 2d 49 24 7b 54 R}/generic -I${T
0960: 4b 5f 53 52 43 5f 44 49 52 7d 2f 78 6c 69 62 22 K_SRC_DIR}/xlib"
0970: 0a 09 09 43 50 50 46 4c 41 47 53 3d 22 24 7b 43 ...CPPFLAGS="${C
0980: 50 50 46 4c 41 47 53 7d 20 24 7b 54 4b 5f 49 4e PPFLAGS} ${TK_IN
0990: 43 4c 55 44 45 5f 53 50 45 43 7d 20 2d 49 24 7b CLUDE_SPEC} -I${
09a0: 74 6b 63 6f 6e 66 69 67 73 68 64 69 72 7d 20 2d tkconfigshdir} -
09b0: 49 24 7b 54 4b 5f 53 52 43 5f 44 49 52 7d 2f 67 I${TK_SRC_DIR}/g
09c0: 65 6e 65 72 69 63 20 2d 49 24 7b 54 4b 5f 53 52 eneric -I${TK_SR
09d0: 43 5f 44 49 52 7d 2f 78 6c 69 62 22 0a 09 09 4c C_DIR}/xlib"...L
09e0: 49 42 53 3d 22 24 7b 4c 49 42 53 7d 20 24 7b 54 IBS="${LIBS} ${T
09f0: 4b 5f 4c 49 42 53 7d 22 0a 0a 09 09 4e 45 57 4c K_LIBS}"....NEWL
0a00: 49 42 53 3d 22 22 0a 09 09 66 6f 72 20 6c 69 62 IBS=""...for lib
0a10: 20 69 6e 20 24 7b 4c 49 42 53 7d 3b 20 64 6f 0a in ${LIBS}; do.
0a20: 09 09 09 69 66 20 65 63 68 6f 20 22 24 7b 6c 69 ...if echo "${li
0a30: 62 7d 22 20 7c 20 67 72 65 70 20 27 5e 2d 6c 27 b}" | grep '^-l'
0a40: 20 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 >/dev/null; the
0a50: 6e 0a 09 09 09 09 69 66 20 65 63 68 6f 20 22 20 n.....if echo "
0a60: 24 7b 4e 45 57 4c 49 42 53 7d 20 22 20 7c 20 67 ${NEWLIBS} " | g
0a70: 72 65 70 20 22 20 24 7b 6c 69 62 7d 20 22 20 3e rep " ${lib} " >
0a80: 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a /dev/null; then.
0a90: 09 09 09 09 09 63 6f 6e 74 69 6e 75 65 0a 09 09 .....continue...
0aa0: 09 09 66 69 0a 09 09 09 66 69 0a 0a 09 09 09 4e ..fi....fi.....N
0ab0: 45 57 4c 49 42 53 3d 22 24 7b 4e 45 57 4c 49 42 EWLIBS="${NEWLIB
0ac0: 53 7d 20 24 7b 6c 69 62 7d 22 0a 09 09 64 6f 6e S} ${lib}"...don
0ad0: 65 0a 09 09 4c 49 42 53 3d 22 24 7b 4e 45 57 4c e...LIBS="${NEWL
0ae0: 49 42 53 7d 22 0a 09 09 75 6e 73 65 74 20 4e 45 IBS}"...unset NE
0af0: 57 4c 49 42 53 0a 09 66 69 0a 0a 09 41 43 5f 53 WLIBS..fi...AC_S
0b00: 55 42 53 54 28 43 46 4c 41 47 53 29 0a 09 41 43 UBST(CFLAGS)..AC
0b10: 5f 53 55 42 53 54 28 43 50 50 46 4c 41 47 53 29 _SUBST(CPPFLAGS)
0b20: 0a 09 41 43 5f 53 55 42 53 54 28 4c 49 42 53 29 ..AC_SUBST(LIBS)
0b30: 0a 0a 09 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 ...AC_MSG_RESULT
0b40: 28 5b 24 74 6b 63 6f 6e 66 69 67 73 68 5d 29 0a ([$tkconfigsh]).
0b50: 5d 29 0a 0a 41 43 5f 44 45 46 55 4e 28 44 43 5f ])..AC_DEFUN(DC_
0b60: 44 4f 5f 53 54 41 54 49 43 5f 4c 49 4e 4b 5f 4c DO_STATIC_LINK_L
0b70: 49 42 2c 20 5b 0a 09 41 43 5f 4d 53 47 5f 43 48 IB, [..AC_MSG_CH
0b80: 45 43 4b 49 4e 47 28 5b 66 6f 72 20 68 6f 77 20 ECKING([for how
0b90: 74 6f 20 73 74 61 74 69 63 61 6c 6c 79 20 6c 69 to statically li
0ba0: 6e 6b 20 74 6f 20 24 31 5d 29 0a 0a 09 53 41 56 nk to $1])...SAV
0bb0: 45 4c 49 42 53 3d 22 24 7b 4c 49 42 53 7d 22 0a ELIBS="${LIBS}".
0bc0: 09 73 74 61 74 69 63 6c 69 62 3d 22 22 0a 09 66 .staticlib=""..f
0bd0: 6f 75 6e 64 3d 22 30 22 0a 09 64 6e 6c 20 48 50 ound="0"..dnl HP
0be0: 2f 55 58 20 75 73 65 73 20 2d 57 6c 2c 2d 61 2c /UX uses -Wl,-a,
0bf0: 61 72 63 68 69 76 65 20 2d 6c 73 74 64 63 2b 2b archive -lstdc++
0c00: 20 2d 57 6c 2c 2d 61 2c 73 68 61 72 65 64 5f 61 -Wl,-a,shared_a
0c10: 72 63 68 69 76 65 0a 09 64 6e 6c 20 4c 69 6e 75 rchive..dnl Linu
0c20: 78 20 61 6e 64 20 53 6f 6c 61 72 69 73 20 75 73 x and Solaris us
0c30: 20 2d 57 6c 2c 2d 42 73 74 61 74 69 63 20 2e 2e -Wl,-Bstatic ..
0c40: 2e 20 2d 57 6c 2c 2d 42 64 79 6e 61 6d 69 63 0a . -Wl,-Bdynamic.
0c50: 09 66 6f 72 20 74 72 79 6c 69 6e 6b 20 69 6e 20 .for trylink in
0c60: 22 2d 57 6c 2c 2d 61 2c 61 72 63 68 69 76 65 20 "-Wl,-a,archive
0c70: 24 32 20 2d 57 6c 2c 2d 61 2c 73 68 61 72 65 64 $2 -Wl,-a,shared
0c80: 5f 61 72 63 68 69 76 65 22 20 22 2d 57 6c 2c 2d _archive" "-Wl,-
0c90: 42 73 74 61 74 69 63 20 24 32 20 2d 57 6c 2c 2d Bstatic $2 -Wl,-
0ca0: 42 64 79 6e 61 6d 69 63 22 20 22 24 32 22 3b 20 Bdynamic" "$2";
0cb0: 64 6f 0a 09 09 69 66 20 65 63 68 6f 20 22 20 24 do...if echo " $
0cc0: 7b 4c 44 46 4c 41 47 53 7d 20 22 20 7c 20 67 72 {LDFLAGS} " | gr
0cd0: 65 70 20 27 20 2d 73 74 61 74 69 63 20 27 20 3e ep ' -static ' >
0ce0: 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68 65 6e 0a /dev/null; then.
0cf0: 09 09 09 69 66 20 74 65 73 74 20 22 24 7b 74 72 ...if test "${tr
0d00: 79 6c 69 6e 6b 7d 22 20 21 3d 20 22 24 32 22 3b ylink}" != "$2";
0d10: 20 74 68 65 6e 0a 09 09 09 09 63 6f 6e 74 69 6e then.....contin
0d20: 75 65 0a 09 09 09 66 69 0a 09 09 66 69 0a 0a 09 ue....fi...fi...
0d30: 09 4c 49 42 53 3d 22 24 7b 53 41 56 45 4c 49 42 .LIBS="${SAVELIB
0d40: 53 7d 20 24 7b 74 72 79 6c 69 6e 6b 7d 22 0a 0a S} ${trylink}"..
0d50: 09 09 41 43 5f 4c 49 4e 4b 5f 49 46 45 4c 53 45 ..AC_LINK_IFELSE
0d60: 28 41 43 5f 4c 41 4e 47 5f 50 52 4f 47 52 41 4d (AC_LANG_PROGRAM
0d70: 28 5b 5d 2c 20 5b 5d 29 2c 20 5b 0a 09 09 09 73 ([], []), [....s
0d80: 74 61 74 69 63 6c 69 62 3d 22 24 7b 74 72 79 6c taticlib="${tryl
0d90: 69 6e 6b 7d 22 0a 09 09 09 66 6f 75 6e 64 3d 22 ink}"....found="
0da0: 31 22 0a 0a 09 09 09 62 72 65 61 6b 0a 09 09 5d 1".....break...]
0db0: 29 0a 09 64 6f 6e 65 0a 0a 09 69 66 20 74 65 73 )..done...if tes
0dc0: 74 20 22 24 7b 66 6f 75 6e 64 7d 22 20 3d 20 22 t "${found}" = "
0dd0: 31 22 3b 20 74 68 65 6e 0a 09 09 53 41 56 45 4c 1"; then...SAVEL
0de0: 49 42 53 3d 60 65 63 68 6f 20 22 24 53 41 56 45 IBS=`echo "$SAVE
0df0: 4c 49 42 53 22 20 7c 20 73 65 64 20 27 73 40 20 LIBS" | sed 's@
0e00: 24 32 20 40 20 40 27 60 0a 09 09 4c 49 42 53 3d $2 @ @'`...LIBS=
0e10: 22 24 7b 53 41 56 45 4c 49 42 53 7d 20 24 7b 73 "${SAVELIBS} ${s
0e20: 74 61 74 69 63 6c 69 62 7d 22 0a 0a 09 09 41 43 taticlib}"....AC
0e30: 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b 24 7b 73 _MSG_RESULT([${s
0e40: 74 61 74 69 63 6c 69 62 7d 5d 29 0a 0a 09 09 41 taticlib}])....A
0e50: 43 5f 53 55 42 53 54 28 4c 49 42 53 29 0a 0a 09 C_SUBST(LIBS)...
0e60: 09 24 33 0a 09 65 6c 73 65 0a 09 09 4c 49 42 53 .$3..else...LIBS
0e70: 3d 22 24 7b 53 41 56 45 4c 49 42 53 7d 22 0a 0a ="${SAVELIBS}"..
0e80: 09 09 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28 ..AC_MSG_RESULT(
0e90: 5b 63 61 6e 74 5d 29 0a 0a 09 09 24 34 0a 09 66 [cant])....$4..f
0ea0: 69 0a 5d 29 0a 0a 41 43 5f 44 45 46 55 4e 28 44 i.])..AC_DEFUN(D
0eb0: 43 5f 44 4f 5f 53 54 41 54 49 43 5f 4c 49 4e 4b C_DO_STATIC_LINK
0ec0: 5f 4c 49 42 43 58 58 2c 20 5b 0a 09 64 6e 6c 20 _LIBCXX, [..dnl
0ed0: 53 75 6e 20 53 74 75 64 69 6f 20 75 73 65 73 20 Sun Studio uses
0ee0: 2d 6c 43 73 74 64 20 2d 6c 43 72 75 6e 2c 20 6d -lCstd -lCrun, m
0ef0: 6f 73 74 20 70 6c 61 74 66 6f 72 6d 73 20 75 73 ost platforms us
0f00: 65 20 2d 6c 73 74 64 63 2b 2b 0a 09 44 43 5f 44 e -lstdc++..DC_D
0f10: 4f 5f 53 54 41 54 49 43 5f 4c 49 4e 4b 5f 4c 49 O_STATIC_LINK_LI
0f20: 42 28 5b 43 2b 2b 20 4c 69 62 72 61 72 79 20 28 B([C++ Library (
0f30: 53 75 6e 20 53 74 75 64 69 6f 29 5d 2c 20 5b 2d Sun Studio)], [-
0f40: 6c 43 73 74 64 20 2d 6c 43 72 75 6e 5d 2c 2c 20 lCstd -lCrun],,
0f50: 5b 0a 09 09 44 43 5f 44 4f 5f 53 54 41 54 49 43 [...DC_DO_STATIC
0f60: 5f 4c 49 4e 4b 5f 4c 49 42 28 5b 43 2b 2b 20 4c _LINK_LIB([C++ L
0f70: 69 62 72 61 72 79 20 28 55 4e 49 58 29 5d 2c 20 ibrary (UNIX)],
0f80: 5b 2d 6c 73 74 64 63 2b 2b 5d 29 0a 09 5d 29 0a [-lstdc++])..]).
0f90: 5d 29 0a 0a 41 43 5f 44 45 46 55 4e 28 44 43 5f ])..AC_DEFUN(DC_
0fa0: 46 49 4e 44 5f 54 43 4c 4b 49 54 5f 4c 49 42 53 FIND_TCLKIT_LIBS
0fb0: 2c 20 5b 0a 09 44 43 5f 53 45 54 55 50 5f 54 43 , [..DC_SETUP_TC
0fc0: 4c 5f 50 4c 41 54 5f 44 45 46 53 0a 0a 09 64 6e L_PLAT_DEFS...dn
0fd0: 6c 20 57 65 20 77 69 6c 6c 20 6e 65 65 64 20 74 l We will need t
0fe0: 68 69 73 20 66 6f 72 20 74 68 65 20 54 63 6c 20 his for the Tcl
0ff0: 70 72 6f 6a 65 63 74 2c 20 77 68 69 63 68 20 77 project, which w
1000: 65 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 68 61 e will always ha
1010: 76 65 0a 09 44 43 5f 43 48 45 43 4b 5f 46 4f 52 ve..DC_CHECK_FOR
1020: 5f 57 48 4f 4c 45 5f 41 52 43 48 49 56 45 0a 0a _WHOLE_ARCHIVE..
1030: 09 65 63 68 6f 20 27 2f 2a 20 44 79 6e 61 6d 69 .echo '/* Dynami
1040: 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 2e cally generated.
1050: 20 2a 2f 27 20 3e 20 6b 69 74 49 6e 69 74 2d 6c */' > kitInit-l
1060: 69 62 73 2e 68 0a 09 6c 69 62 73 5f 69 6e 69 74 ibs.h..libs_init
1070: 5f 66 75 6e 63 73 3d 22 22 0a 0a 09 66 6f 72 20 _funcs=""...for
1080: 70 72 6f 6a 64 69 72 20 69 6e 20 2e 2e 2f 2e 2e projdir in ../..
1090: 2f 2e 2e 2f 2a 2f 3b 20 64 6f 0a 09 09 70 72 6f /../*/; do...pro
10a0: 6a 3d 22 60 62 61 73 65 6e 61 6d 65 20 22 24 7b j="`basename "${
10b0: 70 72 6f 6a 64 69 72 7d 22 60 22 0a 09 09 73 75 projdir}"`"...su
10c0: 62 70 72 6f 6a 73 3d 22 24 70 72 6f 6a 22 0a 0a bprojs="$proj"..
10d0: 09 09 69 66 20 74 65 73 74 20 22 24 7b 70 72 6f ..if test "${pro
10e0: 6a 7d 22 20 3d 20 22 62 75 69 6c 64 22 3b 20 74 j}" = "build"; t
10f0: 68 65 6e 0a 09 09 09 63 6f 6e 74 69 6e 75 65 0a hen....continue.
1100: 09 09 66 69 0a 0a 09 09 69 66 20 74 65 73 74 20 ..fi....if test
1110: 22 24 7b 70 72 6f 6a 7d 22 20 3d 20 22 6b 69 74 "${proj}" = "kit
1120: 73 68 22 3b 20 74 68 65 6e 0a 09 09 09 63 6f 6e sh"; then....con
1130: 74 69 6e 75 65 0a 09 09 66 69 0a 0a 09 09 70 72 tinue...fi....pr
1140: 6f 6a 6c 69 62 64 69 72 3d 22 2e 2e 2f 2e 2e 2f ojlibdir="../../
1150: 2e 2e 2f 24 7b 70 72 6f 6a 7d 2f 69 6e 73 74 22 ../${proj}/inst"
1160: 0a 0a 09 09 69 66 20 74 65 73 74 20 2d 64 20 22 ....if test -d "
1170: 24 7b 70 72 6f 6a 6c 69 62 64 69 72 7d 22 3b 20 ${projlibdir}";
1180: 74 68 65 6e 0a 09 09 09 74 72 75 65 0a 09 09 65 then....true...e
1190: 6c 73 65 0a 09 09 09 63 6f 6e 74 69 6e 75 65 0a lse....continue.
11a0: 09 09 66 69 0a 0a 09 09 41 43 5f 4d 53 47 5f 43 ..fi....AC_MSG_C
11b0: 48 45 43 4b 49 4e 47 28 5b 66 6f 72 20 6c 69 62 HECKING([for lib
11c0: 72 61 72 69 65 73 20 72 65 71 75 69 72 65 64 20 raries required
11d0: 66 6f 72 20 24 7b 70 72 6f 6a 7d 5d 29 0a 0a 09 for ${proj}])...
11e0: 09 70 72 6f 6a 6c 69 62 66 69 6c 65 73 3d 22 60 .projlibfiles="`
11f0: 66 69 6e 64 20 22 24 7b 70 72 6f 6a 6c 69 62 64 find "${projlibd
1200: 69 72 7d 22 20 2d 6e 61 6d 65 20 27 2a 2e 61 27 ir}" -name '*.a'
1210: 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 20 7c 20 73 2>/dev/null | s
1220: 6f 72 74 20 7c 20 74 72 20 22 5c 6e 22 20 27 20 ort | tr "\n" '
1230: 27 60 22 0a 09 09 70 72 6f 6a 6c 69 62 66 69 6c '`"...projlibfil
1240: 65 73 6e 6f 73 74 75 62 3d 22 60 66 69 6e 64 20 esnostub="`find
1250: 22 24 7b 70 72 6f 6a 6c 69 62 64 69 72 7d 22 20 "${projlibdir}"
1260: 2d 6e 61 6d 65 20 27 2a 2e 61 27 20 32 3e 2f 64 -name '*.a' 2>/d
1270: 65 76 2f 6e 75 6c 6c 20 7c 20 67 72 65 70 20 2d ev/null | grep -
1280: 76 20 27 73 74 75 62 27 20 7c 20 74 72 20 22 5c v 'stub' | tr "\
1290: 6e 22 20 27 20 27 60 22 0a 09 09 70 72 6f 6a 6c n" ' '`"...projl
12a0: 69 62 65 78 74 72 61 3d 22 22 0a 0a 09 09 66 6f ibextra=""....fo
12b0: 72 20 6c 69 62 66 69 6c 65 20 69 6e 20 24 7b 70 r libfile in ${p
12c0: 72 6f 6a 6c 69 62 66 69 6c 65 73 6e 6f 73 74 75 rojlibfilesnostu
12d0: 62 7d 3b 20 64 6f 0a 09 09 09 69 66 20 74 65 73 b}; do....if tes
12e0: 74 20 2d 66 20 22 24 7b 6c 69 62 66 69 6c 65 7d t -f "${libfile}
12f0: 2e 6c 69 6e 6b 61 64 64 22 3b 20 74 68 65 6e 0a .linkadd"; then.
1300: 09 09 09 09 70 72 6f 6a 6c 69 62 65 78 74 72 61 ....projlibextra
1310: 3d 22 60 63 61 74 20 22 24 7b 6c 69 62 66 69 6c ="`cat "${libfil
1320: 65 7d 2e 6c 69 6e 6b 61 64 64 22 60 22 0a 09 09 e}.linkadd"`"...
1330: 09 66 69 0a 09 09 64 6f 6e 65 0a 0a 09 09 41 43 .fi...done....AC
1340: 5f 4d 53 47 5f 52 45 53 55 4c 54 28 5b 24 7b 70 _MSG_RESULT([${p
1350: 72 6f 6a 6c 69 62 66 69 6c 65 73 6e 6f 73 74 75 rojlibfilesnostu
1360: 62 7d 20 24 7b 70 72 6f 6a 6c 69 62 65 78 74 72 b} ${projlibextr
1370: 61 7d 5d 29 0a 0a 09 09 68 69 64 65 5f 73 79 6d a}])....hide_sym
1380: 62 6f 6c 73 3d 22 31 22 0a 0a 09 09 69 66 20 74 bols="1"....if t
1390: 65 73 74 20 22 24 7b 70 72 6f 6a 7d 22 20 3d 20 est "${proj}" =
13a0: 22 74 63 6c 22 3b 20 74 68 65 6e 0a 09 09 09 44 "tcl"; then....D
13b0: 43 5f 54 45 53 54 5f 57 48 4f 4c 45 5f 41 52 43 C_TEST_WHOLE_ARC
13c0: 48 49 56 45 5f 53 48 41 52 45 44 5f 4c 49 42 28 HIVE_SHARED_LIB(
13d0: 5b 24 41 52 43 48 53 20 24 70 72 6f 6a 6c 69 62 [$ARCHS $projlib
13e0: 66 69 6c 65 73 6e 6f 73 74 75 62 5d 2c 20 5b 0a filesnostub], [.
13f0: 09 09 09 09 70 72 6f 6a 6c 69 62 66 69 6c 65 73 ....projlibfiles
1400: 3d 22 24 7b 70 72 6f 6a 6c 69 62 66 69 6c 65 73 ="${projlibfiles
1410: 6e 6f 73 74 75 62 7d 22 0a 09 09 09 5d 2c 20 5b nostub}"....], [
1420: 0a 09 09 09 09 44 43 5f 54 45 53 54 5f 57 48 4f .....DC_TEST_WHO
1430: 4c 45 5f 41 52 43 48 49 56 45 5f 53 48 41 52 45 LE_ARCHIVE_SHARE
1440: 44 5f 4c 49 42 28 5b 24 41 52 43 48 53 20 24 70 D_LIB([$ARCHS $p
1450: 72 6f 6a 6c 69 62 66 69 6c 65 73 5d 2c 20 5b 0a rojlibfiles], [.
1460: 09 09 09 09 09 70 72 6f 6a 6c 69 62 66 69 6c 65 .....projlibfile
1470: 73 3d 22 24 7b 70 72 6f 6a 6c 69 62 66 69 6c 65 s="${projlibfile
1480: 73 7d 22 0a 09 09 09 09 5d 29 0a 09 09 09 5d 29 s}".....])....])
1490: 0a 0a 09 09 09 68 69 64 65 5f 73 79 6d 62 6f 6c .....hide_symbol
14a0: 73 3d 22 30 22 0a 09 09 09 73 75 62 70 72 6f 6a s="0"....subproj
14b0: 73 3d 22 60 65 63 68 6f 20 22 20 24 70 72 6f 6a s="`echo " $proj
14c0: 6c 69 62 66 69 6c 65 73 6e 6f 73 74 75 62 20 22 libfilesnostub "
14d0: 20 7c 20 73 65 64 20 27 73 40 20 5b 5b 5e 20 5d | sed 's@ [[^ ]
14e0: 5d 2a 2f 40 20 40 67 3b 73 40 20 6c 69 62 40 20 ]*/@ @g;s@ lib@
14f0: 40 67 3b 73 40 5b 5b 30 2d 39 5c 2e 5d 5d 2a 5c @g;s@[[0-9\.]]*\
1500: 2e 61 40 20 40 67 3b 73 40 20 74 64 62 63 5b 5b .a@ @g;s@ tdbc[[
1510: 5e 20 5d 5d 2a 40 20 40 67 3b 73 40 20 73 71 6c ^ ]]*@ @g;s@ sql
1520: 69 74 65 20 40 20 73 71 6c 69 74 65 33 20 40 3b ite @ sqlite3 @;
1530: 73 40 20 74 63 6c 20 40 20 40 3b 73 40 5e 20 2a s@ tcl @ @;s@^ *
1540: 40 40 3b 73 40 20 2a 5b 24 5d 40 40 27 60 22 0a @@;s@ *[$]@@'`".
1550: 09 09 66 69 0a 0a 09 09 69 66 20 74 65 73 74 20 ..fi....if test
1560: 22 24 7b 70 72 6f 6a 7d 22 20 3d 20 22 6d 6b 34 "${proj}" = "mk4
1570: 74 63 6c 22 3b 20 74 68 65 6e 0a 09 09 09 69 66 tcl"; then....if
1580: 20 74 65 73 74 20 2d 6e 20 22 24 7b 70 72 6f 6a test -n "${proj
1590: 6c 69 62 66 69 6c 65 73 7d 22 3b 20 74 68 65 6e libfiles}"; then
15a0: 0a 09 09 09 09 41 43 5f 44 45 46 49 4e 45 28 4b .....AC_DEFINE(K
15b0: 49 54 5f 49 4e 43 4c 55 44 45 53 5f 4d 4b 34 54 IT_INCLUDES_MK4T
15c0: 43 4c 2c 20 5b 31 5d 2c 20 5b 53 70 65 63 69 66 CL, [1], [Specif
15d0: 79 20 74 68 69 73 20 69 66 20 79 6f 75 20 6c 69 y this if you li
15e0: 6e 6b 20 61 67 61 69 6e 73 74 20 6d 6b 74 34 74 nk against mkt4t
15f0: 63 6c 5d 29 0a 0a 09 09 09 09 6b 63 5f 63 76 5f cl])......kc_cv_
1600: 66 65 61 74 75 72 65 5f 6b 69 74 5f 69 6e 63 6c feature_kit_incl
1610: 75 64 65 73 5f 6d 6b 34 74 63 6c 3d 27 31 27 0a udes_mk4tcl='1'.
1620: 0a 09 09 09 09 44 43 5f 44 4f 5f 53 54 41 54 49 .....DC_DO_STATI
1630: 43 5f 4c 49 4e 4b 5f 4c 49 42 43 58 58 0a 09 09 C_LINK_LIBCXX...
1640: 09 66 69 0a 0a 09 09 09 73 75 62 70 72 6f 6a 73 .fi.....subprojs
1650: 3d 22 22 0a 09 09 66 69 0a 0a 09 09 69 66 20 74 =""...fi....if t
1660: 65 73 74 20 22 24 7b 70 72 6f 6a 7d 22 20 3d 20 est "${proj}" =
1670: 22 74 6b 22 3b 20 74 68 65 6e 0a 09 09 09 69 66 "tk"; then....if
1680: 20 74 65 73 74 20 22 24 7b 70 72 6f 6a 6c 69 62 test "${projlib
1690: 66 69 6c 65 73 6e 6f 73 74 75 62 7d 22 20 21 3d filesnostub}" !=
16a0: 20 22 22 3b 20 74 68 65 6e 0a 09 09 09 09 44 43 ""; then.....DC
16b0: 5f 44 4f 5f 54 4b 0a 09 09 09 09 41 43 5f 44 45 _DO_TK.....AC_DE
16c0: 46 49 4e 45 28 4b 49 54 5f 49 4e 43 4c 55 44 45 FINE(KIT_INCLUDE
16d0: 53 5f 54 4b 2c 20 5b 31 5d 2c 20 5b 53 70 65 63 S_TK, [1], [Spec
16e0: 69 66 79 20 74 68 69 73 20 69 66 20 77 65 20 6c ify this if we l
16f0: 69 6e 6b 20 73 74 61 74 69 63 61 6c 6c 79 20 74 ink statically t
1700: 6f 20 54 6b 5d 29 0a 09 09 09 09 69 66 20 74 65 o Tk]).....if te
1710: 73 74 20 2d 6e 20 22 24 7b 54 4b 5f 56 45 52 53 st -n "${TK_VERS
1720: 49 4f 4e 7d 22 3b 20 74 68 65 6e 0a 09 09 09 09 ION}"; then.....
1730: 09 41 43 5f 44 45 46 49 4e 45 5f 55 4e 51 55 4f .AC_DEFINE_UNQUO
1740: 54 45 44 28 4b 49 54 5f 54 4b 5f 56 45 52 53 49 TED(KIT_TK_VERSI
1750: 4f 4e 2c 20 22 24 7b 54 4b 5f 56 45 52 53 49 4f ON, "${TK_VERSIO
1760: 4e 7d 24 7b 54 4b 5f 50 41 54 43 48 5f 4c 45 56 N}${TK_PATCH_LEV
1770: 45 4c 7d 22 2c 20 5b 53 70 65 63 69 66 79 20 74 EL}", [Specify t
1780: 68 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 54 6b he version of Tk
1790: 5d 29 0a 09 09 09 09 66 69 0a 0a 09 09 09 09 69 ]).....fi......i
17a0: 66 20 74 65 73 74 20 22 24 68 6f 73 74 5f 6f 73 f test "$host_os
17b0: 22 20 3d 20 22 6d 69 6e 67 77 33 32 6d 73 76 63 " = "mingw32msvc
17c0: 22 20 2d 6f 20 22 24 68 6f 73 74 5f 6f 73 22 20 " -o "$host_os"
17d0: 3d 20 22 6d 69 6e 67 77 33 32 22 3b 20 74 68 65 = "mingw32"; the
17e0: 6e 0a 09 09 09 09 09 41 43 5f 44 45 46 49 4e 45 n......AC_DEFINE
17f0: 28 4b 49 54 53 48 5f 4e 45 45 44 5f 57 49 4e 4d (KITSH_NEED_WINM
1800: 41 49 4e 2c 20 5b 31 5d 2c 20 5b 44 65 66 69 6e AIN, [1], [Defin
1810: 65 20 69 66 20 79 6f 75 20 6e 65 65 64 20 57 69 e if you need Wi
1820: 6e 4d 61 69 6e 20 28 57 69 6e 64 6f 77 73 29 5d nMain (Windows)]
1830: 29 0a 09 09 09 09 09 43 46 4c 41 47 53 3d 22 24 )......CFLAGS="$
1840: 7b 43 46 4c 41 47 53 7d 20 2d 6d 77 69 6e 64 6f {CFLAGS} -mwindo
1850: 77 73 22 0a 09 09 09 09 66 69 0a 0a 09 09 09 09 ws".....fi......
1860: 44 43 5f 54 45 53 54 5f 57 48 4f 4c 45 5f 41 52 DC_TEST_WHOLE_AR
1870: 43 48 49 56 45 5f 53 48 41 52 45 44 5f 4c 49 42 CHIVE_SHARED_LIB
1880: 28 5b 24 41 52 43 48 53 20 24 70 72 6f 6a 6c 69 ([$ARCHS $projli
1890: 62 66 69 6c 65 73 6e 6f 73 74 75 62 5d 2c 20 5b bfilesnostub], [
18a0: 0a 09 09 09 09 09 70 72 6f 6a 6c 69 62 66 69 6c ......projlibfil
18b0: 65 73 3d 22 24 7b 70 72 6f 6a 6c 69 62 66 69 6c es="${projlibfil
18c0: 65 73 6e 6f 73 74 75 62 7d 22 0a 09 09 09 09 5d esnostub}".....]
18d0: 2c 20 5b 0a 09 09 09 09 09 44 43 5f 54 45 53 54 , [......DC_TEST
18e0: 5f 57 48 4f 4c 45 5f 41 52 43 48 49 56 45 5f 53 _WHOLE_ARCHIVE_S
18f0: 48 41 52 45 44 5f 4c 49 42 28 5b 24 41 52 43 48 HARED_LIB([$ARCH
1900: 53 20 24 70 72 6f 6a 6c 69 62 66 69 6c 65 73 5d S $projlibfiles]
1910: 2c 20 5b 0a 09 09 09 09 09 09 70 72 6f 6a 6c 69 , [.......projli
1920: 62 66 69 6c 65 73 3d 22 24 7b 70 72 6f 6a 6c 69 bfiles="${projli
1930: 62 66 69 6c 65 73 7d 22 0a 09 09 09 09 09 5d 29 bfiles}"......])
1940: 0a 09 09 09 09 5d 29 0a 0a 09 09 09 09 68 69 64 .....])......hid
1950: 65 5f 73 79 6d 62 6f 6c 73 3d 22 30 22 0a 09 09 e_symbols="0"...
1960: 09 66 69 0a 0a 09 09 09 73 75 62 70 72 6f 6a 73 .fi.....subprojs
1970: 3d 22 22 0a 09 09 66 69 0a 0a 09 09 69 66 20 74 =""...fi....if t
1980: 65 73 74 20 22 24 7b 70 72 6f 6a 7d 22 20 3d 20 est "${proj}" =
1990: 22 74 63 6c 76 66 73 22 3b 20 74 68 65 6e 0a 09 "tclvfs"; then..
19a0: 09 09 73 75 62 70 72 6f 6a 73 3d 22 22 0a 09 09 ..subprojs=""...
19b0: 66 69 0a 0a 09 09 69 66 20 74 65 73 74 20 22 24 fi....if test "$
19c0: 7b 68 69 64 65 5f 73 79 6d 62 6f 6c 73 7d 22 20 {hide_symbols}"
19d0: 3d 20 22 31 22 3b 20 74 68 65 6e 0a 09 09 09 53 = "1"; then....S
19e0: 54 52 49 50 4c 49 42 53 3d 22 24 7b 53 54 52 49 TRIPLIBS="${STRI
19f0: 50 4c 49 42 53 7d 20 24 7b 70 72 6f 6a 6c 69 62 PLIBS} ${projlib
1a00: 66 69 6c 65 73 7d 22 0a 09 09 66 69 0a 0a 09 09 files}"...fi....
1a10: 64 6e 6c 20 44 6f 20 6e 6f 74 20 65 78 70 6c 69 dnl Do not expli
1a20: 63 69 74 6c 79 20 6c 69 6e 6b 20 74 6f 20 5a 6c citly link to Zl
1a30: 69 62 2c 20 74 68 61 74 20 77 69 6c 6c 20 68 61 ib, that will ha
1a40: 70 70 65 6e 20 65 6c 73 65 77 68 65 72 65 0a 09 ppen elsewhere..
1a50: 09 69 66 20 74 65 73 74 20 22 24 7b 70 72 6f 6a .if test "${proj
1a60: 7d 22 20 3d 20 22 7a 6c 69 62 22 3b 20 74 68 65 }" = "zlib"; the
1a70: 6e 0a 09 09 09 63 6f 6e 74 69 6e 75 65 0a 09 09 n....continue...
1a80: 66 69 0a 0a 09 09 69 66 20 74 65 73 74 20 2d 6e fi....if test -n
1a90: 20 22 24 7b 73 75 62 70 72 6f 6a 73 7d 22 3b 20 "${subprojs}";
1aa0: 74 68 65 6e 0a 09 09 09 69 66 20 74 65 73 74 20 then....if test
1ab0: 2d 6e 20 22 24 7b 70 72 6f 6a 6c 69 62 66 69 6c -n "${projlibfil
1ac0: 65 73 6e 6f 73 74 75 62 7d 22 3b 20 74 68 65 6e esnostub}"; then
1ad0: 0a 09 09 09 09 66 6f 72 20 73 75 62 70 72 6f 6a .....for subproj
1ae0: 20 69 6e 20 24 73 75 62 70 72 6f 6a 73 3b 20 64 in $subprojs; d
1af0: 6f 0a 09 09 09 09 09 73 75 62 70 72 6f 6a 75 63 o......subprojuc
1b00: 61 73 65 3d 22 60 65 63 68 6f 20 24 7b 73 75 62 ase="`echo ${sub
1b10: 70 72 6f 6a 7d 20 7c 20 64 64 20 63 6f 6e 76 3d proj} | dd conv=
1b20: 75 63 61 73 65 20 32 3e 2f 64 65 76 2f 6e 75 6c ucase 2>/dev/nul
1b30: 6c 60 22 0a 09 09 09 09 09 73 75 62 70 72 6f 6a l`"......subproj
1b40: 74 63 61 73 65 3d 22 60 65 63 68 6f 20 24 7b 73 tcase="`echo ${s
1b50: 75 62 70 72 6f 6a 75 63 61 73 65 7d 20 7c 20 63 ubprojucase} | c
1b60: 75 74 20 2d 63 20 31 60 60 65 63 68 6f 20 24 7b ut -c 1``echo ${
1b70: 73 75 62 70 72 6f 6a 7d 20 7c 20 63 75 74 20 2d subproj} | cut -
1b80: 63 20 32 2d 60 22 0a 09 09 09 09 09 6c 69 62 5f c 2-`"......lib_
1b90: 69 6e 69 74 5f 66 75 6e 63 3d 22 24 7b 73 75 62 init_func="${sub
1ba0: 70 72 6f 6a 74 63 61 73 65 7d 5f 49 6e 69 74 22 projtcase}_Init"
1bb0: 0a 0a 09 09 09 09 09 65 63 68 6f 20 22 23 64 65 .......echo "#de
1bc0: 66 69 6e 65 20 4b 49 54 5f 49 4e 43 4c 55 44 45 fine KIT_INCLUDE
1bd0: 53 5f 24 7b 73 75 62 70 72 6f 6a 75 63 61 73 65 S_${subprojucase
1be0: 7d 22 20 3e 3e 20 6b 69 74 49 6e 69 74 2d 6c 69 }" >> kitInit-li
1bf0: 62 73 2e 68 0a 09 09 09 09 09 65 63 68 6f 20 22 bs.h......echo "
1c00: 54 63 6c 5f 41 70 70 49 6e 69 74 50 72 6f 63 20 Tcl_AppInitProc
1c10: 24 7b 6c 69 62 5f 69 6e 69 74 5f 66 75 6e 63 7d ${lib_init_func}
1c20: 3b 22 20 3e 3e 20 6b 69 74 49 6e 69 74 2d 6c 69 ;" >> kitInit-li
1c30: 62 73 2e 68 0a 0a 09 09 09 09 09 6c 69 62 73 5f bs.h.......libs_
1c40: 69 6e 69 74 5f 66 75 6e 63 73 3d 22 24 7b 6c 69 init_funcs="${li
1c50: 62 73 5f 69 6e 69 74 5f 66 75 6e 63 73 7d 20 24 bs_init_funcs} $
1c60: 7b 6c 69 62 5f 69 6e 69 74 5f 66 75 6e 63 7d 22 {lib_init_func}"
1c70: 0a 09 09 09 09 64 6f 6e 65 0a 09 09 09 66 69 0a .....done....fi.
1c80: 09 09 66 69 0a 0a 09 09 41 52 43 48 53 3d 22 24 ..fi....ARCHS="$
1c90: 7b 41 52 43 48 53 7d 20 24 7b 70 72 6f 6a 6c 69 {ARCHS} ${projli
1ca0: 62 66 69 6c 65 73 7d 22 0a 09 09 4c 49 42 53 3d bfiles}"...LIBS=
1cb0: 22 24 7b 4c 49 42 53 7d 20 24 7b 70 72 6f 6a 6c "${LIBS} ${projl
1cc0: 69 62 65 78 74 72 61 7d 22 0a 09 64 6f 6e 65 0a ibextra}"..done.
1cd0: 0a 09 65 63 68 6f 20 27 27 20 3e 3e 20 6b 69 74 ..echo '' >> kit
1ce0: 49 6e 69 74 2d 6c 69 62 73 2e 68 0a 09 65 63 68 Init-libs.h..ech
1cf0: 6f 20 27 73 74 61 74 69 63 20 76 6f 69 64 20 5f o 'static void _
1d00: 54 63 6c 6b 69 74 5f 47 65 6e 65 72 69 63 4c 69 Tclkit_GenericLi
1d10: 62 5f 49 6e 69 74 28 76 6f 69 64 29 20 7b 27 20 b_Init(void) {'
1d20: 3e 3e 20 6b 69 74 49 6e 69 74 2d 6c 69 62 73 2e >> kitInit-libs.
1d30: 68 0a 09 66 6f 72 20 6c 69 62 5f 69 6e 69 74 5f h..for lib_init_
1d40: 66 75 6e 63 20 69 6e 20 24 7b 6c 69 62 73 5f 69 func in ${libs_i
1d50: 6e 69 74 5f 66 75 6e 63 73 7d 3b 20 64 6f 0a 09 nit_funcs}; do..
1d60: 09 70 72 6f 6a 3d 22 60 65 63 68 6f 20 24 7b 6c .proj="`echo ${l
1d70: 69 62 5f 69 6e 69 74 5f 66 75 6e 63 7d 20 7c 20 ib_init_func} |
1d80: 73 65 64 20 27 73 40 5f 49 6e 69 74 24 24 40 40 sed 's@_Init$$@@
1d90: 40 27 20 7c 20 64 64 20 63 6f 6e 76 3d 6c 63 61 @' | dd conv=lca
1da0: 73 65 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 60 22 se 2>/dev/null`"
1db0: 0a 09 09 65 63 68 6f 20 22 09 54 63 6c 5f 53 74 ...echo ".Tcl_St
1dc0: 61 74 69 63 50 61 63 6b 61 67 65 28 30 2c 20 5c aticPackage(0, \
1dd0: 22 24 7b 70 72 6f 6a 7d 5c 22 2c 20 24 7b 6c 69 "${proj}\", ${li
1de0: 62 5f 69 6e 69 74 5f 66 75 6e 63 7d 2c 20 4e 55 b_init_func}, NU
1df0: 4c 4c 29 3b 22 20 3e 3e 20 6b 69 74 49 6e 69 74 LL);" >> kitInit
1e00: 2d 6c 69 62 73 2e 68 0a 09 64 6f 6e 65 0a 09 65 -libs.h..done..e
1e10: 63 68 6f 20 27 09 72 65 74 75 72 6e 3b 27 20 3e cho '.return;' >
1e20: 3e 20 6b 69 74 49 6e 69 74 2d 6c 69 62 73 2e 68 > kitInit-libs.h
1e30: 0a 09 65 63 68 6f 20 27 7d 27 20 3e 3e 20 6b 69 ..echo '}' >> ki
1e40: 74 49 6e 69 74 2d 6c 69 62 73 2e 68 0a 0a 09 41 tInit-libs.h...A
1e50: 43 5f 53 55 42 53 54 28 41 52 43 48 53 29 0a 09 C_SUBST(ARCHS)..
1e60: 41 43 5f 53 55 42 53 54 28 53 54 52 49 50 4c 49 AC_SUBST(STRIPLI
1e70: 42 53 29 0a 09 41 43 5f 53 55 42 53 54 28 4c 49 BS)..AC_SUBST(LI
1e80: 42 53 29 0a 5d 29 0a 0a 41 43 5f 44 45 46 55 4e BS).])..AC_DEFUN
1e90: 28 44 43 5f 53 45 54 55 50 5f 54 43 4c 5f 50 4c (DC_SETUP_TCL_PL
1ea0: 41 54 5f 44 45 46 53 2c 20 5b 0a 09 41 43 5f 43 AT_DEFS, [..AC_C
1eb0: 41 4e 4f 4e 49 43 41 4c 5f 42 55 49 4c 44 0a 09 ANONICAL_BUILD..
1ec0: 41 43 5f 43 41 4e 4f 4e 49 43 41 4c 5f 48 4f 53 AC_CANONICAL_HOS
1ed0: 54 0a 20 20 0a 09 41 43 5f 4d 53 47 5f 43 48 45 T. ..AC_MSG_CHE
1ee0: 43 4b 49 4e 47 28 68 6f 73 74 20 6f 70 65 72 61 CKING(host opera
1ef0: 74 69 6e 67 20 73 79 73 74 65 6d 29 0a 09 41 43 ting system)..AC
1f00: 5f 4d 53 47 5f 52 45 53 55 4c 54 28 24 68 6f 73 _MSG_RESULT($hos
1f10: 74 5f 6f 73 29 0a 20 20 0a 09 63 61 73 65 20 24 t_os). ..case $
1f20: 68 6f 73 74 5f 6f 73 20 69 6e 0a 09 09 6d 69 6e host_os in...min
1f30: 67 77 33 32 2a 29 0a 09 09 09 43 46 4c 41 47 53 gw32*)....CFLAGS
1f40: 3d 22 24 7b 43 46 4c 41 47 53 7d 20 2d 6d 6d 73 ="${CFLAGS} -mms
1f50: 2d 62 69 74 66 69 65 6c 64 73 22 0a 09 09 09 57 -bitfields"....W
1f60: 49 53 48 5f 43 46 4c 41 47 53 3d 22 2d 6d 77 69 ISH_CFLAGS="-mwi
1f70: 6e 64 6f 77 73 22 0a 0a 09 09 09 64 6e 6c 20 49 ndows".....dnl I
1f80: 66 20 77 65 20 61 72 65 20 62 75 69 6c 64 69 6e f we are buildin
1f90: 67 20 66 6f 72 20 57 69 6e 33 32 2c 20 77 65 20 g for Win32, we
1fa0: 6e 65 65 64 20 74 6f 20 64 65 66 69 6e 65 20 22 need to define "
1fb0: 42 55 49 4c 44 5f 74 63 6c 22 20 73 6f 20 74 68 BUILD_tcl" so th
1fc0: 61 74 0a 09 09 09 64 6e 6c 20 54 43 4c 5f 53 54 at....dnl TCL_ST
1fd0: 4f 52 41 47 45 5f 43 4c 41 53 53 20 67 65 74 73 ORAGE_CLASS gets
1fe0: 20 64 65 66 69 6e 65 64 20 61 73 20 44 4c 4c 45 defined as DLLE
1ff0: 58 50 4f 52 54 2c 20 74 6f 20 6d 61 6b 65 20 73 XPORT, to make s
2000: 74 61 74 69 63 20 6c 69 6e 6b 69 6e 67 0a 09 09 tatic linking...
2010: 09 64 6e 6c 20 77 6f 72 6b 0a 09 09 09 41 43 5f .dnl work....AC_
2020: 44 45 46 49 4e 45 28 42 55 49 4c 44 5f 74 63 6c DEFINE(BUILD_tcl
2030: 2c 20 5b 31 5d 2c 20 5b 44 65 66 69 6e 65 20 69 , [1], [Define i
2040: 66 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 70 72 f you need to pr
2050: 65 74 65 6e 64 20 74 6f 20 62 65 20 62 75 69 6c etend to be buil
2060: 64 69 6e 67 20 54 63 6c 20 28 57 69 6e 64 6f 77 ding Tcl (Window
2070: 73 29 5d 29 0a 09 09 09 41 43 5f 44 45 46 49 4e s)])....AC_DEFIN
2080: 45 28 42 55 49 4c 44 5f 74 6b 2c 20 5b 31 5d 2c E(BUILD_tk, [1],
2090: 20 5b 44 65 66 69 6e 65 20 69 66 20 79 6f 75 20 [Define if you
20a0: 6e 65 65 64 20 74 6f 20 70 72 65 74 65 6e 64 20 need to pretend
20b0: 74 6f 20 62 65 20 62 75 69 6c 64 69 6e 67 20 54 to be building T
20c0: 6b 20 28 57 69 6e 64 6f 77 73 29 5d 29 0a 09 09 k (Windows)])...
20d0: 09 3b 3b 0a 09 09 63 79 67 77 69 6e 2a 29 0a 09 .;;...cygwin*)..
20e0: 09 09 43 46 4c 41 47 53 3d 22 24 7b 43 46 4c 41 ..CFLAGS="${CFLA
20f0: 47 53 7d 20 2d 6d 6d 73 2d 62 69 74 66 69 65 6c GS} -mms-bitfiel
2100: 64 73 22 0a 09 09 09 57 49 53 48 5f 43 46 4c 41 ds"....WISH_CFLA
2110: 47 53 3d 22 2d 6d 77 69 6e 64 6f 77 73 22 0a 09 GS="-mwindows"..
2120: 09 09 3b 3b 0a 09 65 73 61 63 0a 0a 09 41 43 5f ..;;..esac...AC_
2130: 53 55 42 53 54 28 57 49 53 48 5f 43 46 4c 41 47 SUBST(WISH_CFLAG
2140: 53 29 0a 5d 29 0a 0a 41 43 5f 44 45 46 55 4e 28 S).])..AC_DEFUN(
2150: 44 43 5f 53 54 41 54 49 43 5f 4c 49 42 47 43 43 DC_STATIC_LIBGCC
2160: 2c 20 5b 0a 09 41 43 5f 4d 53 47 5f 43 48 45 43 , [..AC_MSG_CHEC
2170: 4b 49 4e 47 28 5b 68 6f 77 20 74 6f 20 6c 69 6e KING([how to lin
2180: 6b 20 73 74 61 74 69 63 61 6c 6c 79 20 61 67 61 k statically aga
2190: 69 6e 73 74 20 6c 69 62 67 63 63 5d 29 0a 0a 09 inst libgcc])...
21a0: 53 41 56 45 4c 44 46 4c 41 47 53 3d 22 24 7b 4c SAVELDFLAGS="${L
21b0: 44 46 4c 41 47 53 7d 22 0a 09 73 74 61 74 69 63 DFLAGS}"..static
21c0: 6c 69 62 67 63 63 3d 22 22 0a 09 66 6f 72 20 74 libgcc=""..for t
21d0: 72 79 6c 69 6e 6b 20 69 6e 20 22 2d 73 74 61 74 rylink in "-stat
21e0: 69 63 2d 6c 69 62 67 63 63 22 3b 20 64 6f 0a 09 ic-libgcc"; do..
21f0: 09 4c 44 46 4c 41 47 53 3d 22 24 7b 53 41 56 45 .LDFLAGS="${SAVE
2200: 4c 44 46 4c 41 47 53 7d 20 24 7b 74 72 79 6c 69 LDFLAGS} ${tryli
2210: 6e 6b 7d 22 0a 09 09 41 43 5f 4c 49 4e 4b 5f 49 nk}"...AC_LINK_I
2220: 46 45 4c 53 45 28 41 43 5f 4c 41 4e 47 5f 50 52 FELSE(AC_LANG_PR
2230: 4f 47 52 41 4d 28 5b 5d 2c 20 5b 5d 29 2c 20 5b OGRAM([], []), [
2240: 0a 09 09 09 73 74 61 74 69 63 6c 69 62 67 63 63 ....staticlibgcc
2250: 3d 22 24 7b 74 72 79 6c 69 6e 6b 7d 22 0a 0a 09 ="${trylink}"...
2260: 09 09 62 72 65 61 6b 0a 09 09 5d 29 0a 09 64 6f ..break...])..do
2270: 6e 65 0a 09 69 66 20 74 65 73 74 20 2d 6e 20 22 ne..if test -n "
2280: 24 7b 73 74 61 74 69 63 6c 69 62 67 63 63 7d 22 ${staticlibgcc}"
2290: 3b 20 74 68 65 6e 0a 09 09 4c 44 46 4c 41 47 53 ; then...LDFLAGS
22a0: 3d 22 24 7b 53 41 56 45 4c 44 46 4c 41 47 53 7d ="${SAVELDFLAGS}
22b0: 20 24 7b 73 74 61 74 69 63 6c 69 62 67 63 63 7d ${staticlibgcc}
22c0: 22 0a 09 09 41 43 5f 4d 53 47 5f 52 45 53 55 4c "...AC_MSG_RESUL
22d0: 54 28 5b 24 7b 73 74 61 74 69 63 6c 69 62 67 63 T([${staticlibgc
22e0: 63 7d 5d 29 0a 09 65 6c 73 65 0a 09 09 4c 44 46 c}])..else...LDF
22f0: 4c 41 47 53 3d 22 24 7b 53 41 56 45 4c 44 46 4c LAGS="${SAVELDFL
2300: 41 47 53 7d 22 0a 09 09 41 43 5f 4d 53 47 5f 52 AGS}"...AC_MSG_R
2310: 45 53 55 4c 54 28 5b 6e 6f 74 20 6e 65 65 64 65 ESULT([not neede
2320: 64 5d 29 0a 09 66 69 0a 0a 09 41 43 5f 53 55 42 d])..fi...AC_SUB
2330: 53 54 28 4c 44 46 4c 41 47 53 29 0a 5d 29 0a 0a ST(LDFLAGS).])..
2340: 41 43 5f 44 45 46 55 4e 28 44 43 5f 43 48 45 43 AC_DEFUN(DC_CHEC
2350: 4b 5f 46 4f 52 5f 41 43 43 45 50 54 41 42 4c 45 K_FOR_ACCEPTABLE
2360: 5f 44 4c 41 44 44 52 2c 20 5b 0a 09 41 43 5f 43 _DLADDR, [..AC_C
2370: 48 45 43 4b 5f 48 45 41 44 45 52 53 28 64 6c 66 HECK_HEADERS(dlf
2380: 63 6e 2e 68 29 0a 09 41 43 5f 43 48 45 43 4b 5f cn.h)..AC_CHECK_
2390: 46 55 4e 43 53 28 64 6c 61 64 64 72 29 0a 0a 09 FUNCS(dladdr)...
23a0: 41 43 5f 4d 53 47 5f 43 48 45 43 4b 49 4e 47 28 AC_MSG_CHECKING(
23b0: 5b 66 6f 72 20 61 63 63 65 70 74 61 62 6c 65 20 [for acceptable
23c0: 64 6c 61 64 64 72 5d 29 0a 0a 09 41 43 5f 4c 49 dladdr])...AC_LI
23d0: 4e 4b 5f 49 46 45 4c 53 45 28 0a 09 09 41 43 5f NK_IFELSE(...AC_
23e0: 4c 41 4e 47 5f 50 52 4f 47 52 41 4d 28 5b 5b 0a LANG_PROGRAM([[.
23f0: 23 69 66 64 65 66 20 48 41 56 45 5f 44 4c 46 43 #ifdef HAVE_DLFC
2400: 4e 5f 48 0a 23 69 6e 63 6c 75 64 65 20 3c 64 6c N_H.#include <dl
2410: 66 63 6e 2e 68 3e 0a 23 65 6e 64 69 66 0a 09 09 fcn.h>.#endif...
2420: 09 5d 5d 2c 20 5b 5b 0a 63 68 61 72 20 2a 78 3b .]], [[.char *x;
2430: 0a 44 6c 5f 69 6e 66 6f 20 73 79 6d 69 6e 66 6f .Dl_info syminfo
2440: 3b 0a 64 6c 61 64 64 72 28 28 76 6f 69 64 20 2a ;.dladdr((void *
2450: 29 20 30 2c 20 26 73 79 6d 69 6e 66 6f 29 3b 0a ) 0, &syminfo);.
2460: 78 20 3d 20 73 79 6d 69 6e 66 6f 2e 64 6c 69 5f x = syminfo.dli_
2470: 66 6e 61 6d 65 3b 0a 09 09 09 5d 5d 0a 09 09 29 fname;....]]...)
2480: 2c 0a 09 09 5b 0a 09 09 09 41 43 5f 4d 53 47 5f ,...[....AC_MSG_
2490: 52 45 53 55 4c 54 28 5b 66 6f 75 6e 64 5d 29 0a RESULT([found]).
24a0: 09 09 09 41 43 5f 44 45 46 49 4e 45 28 48 41 56 ...AC_DEFINE(HAV
24b0: 45 5f 41 43 43 45 50 54 41 42 4c 45 5f 44 4c 41 E_ACCEPTABLE_DLA
24c0: 44 44 52 2c 20 5b 31 5d 2c 20 5b 44 65 66 69 6e DDR, [1], [Defin
24d0: 65 20 74 6f 20 31 20 69 66 20 79 6f 75 20 68 61 e to 1 if you ha
24e0: 76 65 20 61 6e 20 61 63 63 65 70 74 61 62 6c 65 ve an acceptable
24f0: 20 64 6c 61 64 64 72 20 69 6d 70 6c 65 6d 65 6e dladdr implemen
2500: 74 61 74 69 6f 6e 20 77 69 74 68 20 64 6c 69 5f tation with dli_
2510: 66 6e 61 6d 65 5d 29 0a 09 09 5d 2c 20 5b 0a 09 fname])...], [..
2520: 09 09 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28 ..AC_MSG_RESULT(
2530: 5b 6e 6f 74 20 66 6f 75 6e 64 5d 29 0a 09 09 5d [not found])...]
2540: 0a 09 29 0a 5d 29 0a 0a 64 6e 6c 20 55 73 61 67 ..).])..dnl Usag
2550: 65 3a 0a 64 6e 6c 20 20 20 20 44 43 5f 54 45 53 e:.dnl DC_TES
2560: 54 5f 53 48 4f 42 4a 46 4c 41 47 53 28 73 68 6f T_SHOBJFLAGS(sho
2570: 62 6a 66 6c 61 67 73 2c 20 73 68 6f 62 6a 6c 64 bjflags, shobjld
2580: 66 6c 61 67 73 2c 20 61 63 74 69 6f 6e 2d 69 66 flags, action-if
2590: 2d 6e 6f 74 2d 66 6f 75 6e 64 29 0a 64 6e 6c 0a -not-found).dnl.
25a0: 41 43 5f 44 45 46 55 4e 28 44 43 5f 54 45 53 54 AC_DEFUN(DC_TEST
25b0: 5f 53 48 4f 42 4a 46 4c 41 47 53 2c 20 5b 0a 20 _SHOBJFLAGS, [.
25c0: 20 41 43 5f 53 55 42 53 54 28 53 48 4f 42 4a 46 AC_SUBST(SHOBJF
25d0: 4c 41 47 53 29 0a 20 20 41 43 5f 53 55 42 53 54 LAGS). AC_SUBST
25e0: 28 53 48 4f 42 4a 4c 44 46 4c 41 47 53 29 0a 0a (SHOBJLDFLAGS)..
25f0: 20 20 4f 4c 44 5f 4c 44 46 4c 41 47 53 3d 22 24 OLD_LDFLAGS="$
2600: 4c 44 46 4c 41 47 53 22 0a 20 20 53 48 4f 42 4a LDFLAGS". SHOBJ
2610: 46 4c 41 47 53 3d 22 22 0a 0a 20 20 4c 44 46 4c FLAGS="".. LDFL
2620: 41 47 53 3d 22 24 4f 4c 44 5f 4c 44 46 4c 41 47 AGS="$OLD_LDFLAG
2630: 53 20 24 31 20 24 32 22 0a 0a 20 20 41 43 5f 54 S $1 $2".. AC_T
2640: 52 59 5f 4c 49 4e 4b 28 5b 23 69 6e 63 6c 75 64 RY_LINK([#includ
2650: 65 20 3c 73 74 64 69 6f 2e 68 3e 0a 69 6e 74 20 e <stdio.h>.int
2660: 75 6e 72 65 73 74 73 74 28 76 6f 69 64 29 3b 5d unrestst(void);]
2670: 2c 20 5b 20 70 72 69 6e 74 66 28 22 6f 6b 61 79 , [ printf("okay
2680: 5c 6e 22 29 3b 20 75 6e 72 65 73 74 73 74 28 29 \n"); unrestst()
2690: 3b 20 72 65 74 75 72 6e 28 30 29 3b 20 5d 2c 20 ; return(0); ],
26a0: 5b 20 53 48 4f 42 4a 46 4c 41 47 53 3d 22 24 31 [ SHOBJFLAGS="$1
26b0: 22 3b 20 53 48 4f 42 4a 4c 44 46 4c 41 47 53 3d "; SHOBJLDFLAGS=
26c0: 22 24 32 22 20 5d 2c 20 5b 0a 20 20 4c 44 46 4c "$2" ], [. LDFL
26d0: 41 47 53 3d 22 24 4f 4c 44 5f 4c 44 46 4c 41 47 AGS="$OLD_LDFLAG
26e0: 53 22 0a 20 20 24 33 0a 5d 29 0a 0a 20 20 4c 44 S". $3.]).. LD
26f0: 46 4c 41 47 53 3d 22 24 4f 4c 44 5f 4c 44 46 4c FLAGS="$OLD_LDFL
2700: 41 47 53 22 0a 5d 29 0a 0a 41 43 5f 44 45 46 55 AGS".])..AC_DEFU
2710: 4e 28 44 43 5f 47 45 54 5f 53 48 4f 42 4a 46 4c N(DC_GET_SHOBJFL
2720: 41 47 53 2c 20 5b 0a 20 20 41 43 5f 53 55 42 53 AGS, [. AC_SUBS
2730: 54 28 53 48 4f 42 4a 46 4c 41 47 53 29 0a 20 20 T(SHOBJFLAGS).
2740: 41 43 5f 53 55 42 53 54 28 53 48 4f 42 4a 4c 44 AC_SUBST(SHOBJLD
2750: 46 4c 41 47 53 29 0a 0a 20 20 41 43 5f 4d 53 47 FLAGS).. AC_MSG
2760: 5f 43 48 45 43 4b 49 4e 47 28 68 6f 77 20 74 6f _CHECKING(how to
2770: 20 63 72 65 61 74 65 20 73 68 61 72 65 64 20 6f create shared o
2780: 62 6a 65 63 74 73 29 0a 0a 20 20 69 66 20 74 65 bjects).. if te
2790: 73 74 20 2d 7a 20 22 24 53 48 4f 42 4a 46 4c 41 st -z "$SHOBJFLA
27a0: 47 53 22 20 2d 61 20 2d 7a 20 22 24 53 48 4f 42 GS" -a -z "$SHOB
27b0: 4a 4c 44 46 4c 41 47 53 22 3b 20 74 68 65 6e 0a JLDFLAGS"; then.
27c0: 20 20 20 20 44 43 5f 54 45 53 54 5f 53 48 4f 42 DC_TEST_SHOB
27d0: 4a 46 4c 41 47 53 28 5b 2d 66 50 49 43 20 2d 44 JFLAGS([-fPIC -D
27e0: 50 49 43 5d 2c 20 5b 2d 73 68 61 72 65 64 20 2d PIC], [-shared -
27f0: 72 64 79 6e 61 6d 69 63 5d 2c 20 5b 0a 20 20 20 rdynamic], [.
2800: 20 20 20 44 43 5f 54 45 53 54 5f 53 48 4f 42 4a DC_TEST_SHOBJ
2810: 46 4c 41 47 53 28 5b 2d 66 50 49 43 20 2d 44 50 FLAGS([-fPIC -DP
2820: 49 43 5d 2c 20 5b 2d 73 68 61 72 65 64 5d 2c 20 IC], [-shared],
2830: 5b 0a 20 20 20 20 20 20 20 20 44 43 5f 54 45 53 [. DC_TES
2840: 54 5f 53 48 4f 42 4a 46 4c 41 47 53 28 5b 2d 66 T_SHOBJFLAGS([-f
2850: 50 49 43 20 2d 44 50 49 43 5d 2c 20 5b 2d 73 68 PIC -DPIC], [-sh
2860: 61 72 65 64 20 2d 72 64 79 6e 61 6d 69 63 20 2d ared -rdynamic -
2870: 6d 69 6d 70 75 72 65 2d 74 65 78 74 5d 2c 20 5b mimpure-text], [
2880: 0a 20 20 20 20 20 20 20 20 20 20 44 43 5f 54 45 . DC_TE
2890: 53 54 5f 53 48 4f 42 4a 46 4c 41 47 53 28 5b 2d ST_SHOBJFLAGS([-
28a0: 66 50 49 43 20 2d 44 50 49 43 5d 2c 20 5b 2d 73 fPIC -DPIC], [-s
28b0: 68 61 72 65 64 20 2d 6d 69 6d 70 75 72 65 2d 74 hared -mimpure-t
28c0: 65 78 74 5d 2c 20 5b 0a 20 20 20 20 20 20 20 20 ext], [.
28d0: 20 20 20 20 44 43 5f 54 45 53 54 5f 53 48 4f 42 DC_TEST_SHOB
28e0: 4a 46 4c 41 47 53 28 5b 2d 66 50 49 43 20 2d 44 JFLAGS([-fPIC -D
28f0: 50 49 43 5d 2c 20 5b 2d 73 68 61 72 65 64 20 2d PIC], [-shared -
2900: 72 64 79 6e 61 6d 69 63 20 2d 57 6c 2c 2d 47 2c rdynamic -Wl,-G,
2910: 2d 7a 2c 74 65 78 74 6f 66 66 5d 2c 20 5b 0a 20 -z,textoff], [.
2920: 20 20 20 20 20 20 20 20 20 20 20 20 20 44 43 5f DC_
2930: 54 45 53 54 5f 53 48 4f 42 4a 46 4c 41 47 53 28 TEST_SHOBJFLAGS(
2940: 5b 2d 66 50 49 43 20 2d 44 50 49 43 5d 2c 20 5b [-fPIC -DPIC], [
2950: 2d 73 68 61 72 65 64 20 2d 57 6c 2c 2d 47 2c 2d -shared -Wl,-G,-
2960: 7a 2c 74 65 78 74 6f 66 66 5d 2c 20 5b 0a 20 20 z,textoff], [.
2970: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 44 43 DC
2980: 5f 54 45 53 54 5f 53 48 4f 42 4a 46 4c 41 47 53 _TEST_SHOBJFLAGS
2990: 28 5b 2d 66 50 49 43 20 2d 44 50 49 43 5d 2c 20 ([-fPIC -DPIC],
29a0: 5b 2d 73 68 61 72 65 64 20 2d 64 79 6e 61 6d 69 [-shared -dynami
29b0: 63 6c 69 62 20 2d 66 6c 61 74 5f 6e 61 6d 65 73 clib -flat_names
29c0: 70 61 63 65 20 2d 75 6e 64 65 66 69 6e 65 64 20 pace -undefined
29d0: 73 75 70 70 72 65 73 73 20 2d 62 69 6e 64 5f 61 suppress -bind_a
29e0: 74 5f 6c 6f 61 64 5d 2c 20 5b 0a 20 20 20 20 20 t_load], [.
29f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 44 43 5f DC_
2a00: 54 45 53 54 5f 53 48 4f 42 4a 46 4c 41 47 53 28 TEST_SHOBJFLAGS(
2a10: 5b 2d 66 50 49 43 20 2d 44 50 49 43 5d 2c 20 5b [-fPIC -DPIC], [
2a20: 2d 64 79 6e 61 6d 69 63 6c 69 62 20 2d 66 6c 61 -dynamiclib -fla
2a30: 74 5f 6e 61 6d 65 73 70 61 63 65 20 2d 75 6e 64 t_namespace -und
2a40: 65 66 69 6e 65 64 20 73 75 70 70 72 65 73 73 20 efined suppress
2a50: 2d 62 69 6e 64 5f 61 74 5f 6c 6f 61 64 5d 2c 20 -bind_at_load],
2a60: 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 [.
2a70: 20 20 20 20 20 20 44 43 5f 54 45 53 54 5f 53 48 DC_TEST_SH
2a80: 4f 42 4a 46 4c 41 47 53 28 5b 2d 66 50 49 43 20 OBJFLAGS([-fPIC
2a90: 2d 44 50 49 43 5d 2c 20 5b 2d 57 6c 2c 2d 64 79 -DPIC], [-Wl,-dy
2aa0: 6e 61 6d 69 63 6c 69 62 20 2d 57 6c 2c 2d 66 6c namiclib -Wl,-fl
2ab0: 61 74 5f 6e 61 6d 65 73 70 61 63 65 20 2d 57 6c at_namespace -Wl
2ac0: 2c 2d 75 6e 64 65 66 69 6e 65 64 2c 73 75 70 70 ,-undefined,supp
2ad0: 72 65 73 73 20 2d 57 6c 2c 2d 62 69 6e 64 5f 61 ress -Wl,-bind_a
2ae0: 74 5f 6c 6f 61 64 5d 2c 20 5b 0a 20 20 20 20 20 t_load], [.
2af0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2b00: 20 44 43 5f 54 45 53 54 5f 53 48 4f 42 4a 46 4c DC_TEST_SHOBJFL
2b10: 41 47 53 28 5b 2d 66 50 49 43 20 2d 44 50 49 43 AGS([-fPIC -DPIC
2b20: 5d 2c 20 5b 2d 64 79 6e 61 6d 69 63 6c 69 62 20 ], [-dynamiclib
2b30: 2d 66 6c 61 74 5f 6e 61 6d 65 73 70 61 63 65 20 -flat_namespace
2b40: 2d 75 6e 64 65 66 69 6e 65 64 20 73 75 70 70 72 -undefined suppr
2b50: 65 73 73 5d 2c 20 5b 0a 20 20 20 20 20 20 20 20 ess], [.
2b60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2b70: 44 43 5f 54 45 53 54 5f 53 48 4f 42 4a 46 4c 41 DC_TEST_SHOBJFLA
2b80: 47 53 28 5b 2d 66 50 49 43 20 2d 44 50 49 43 5d GS([-fPIC -DPIC]
2b90: 2c 20 5b 2d 64 79 6e 61 6d 69 63 6c 69 62 5d 2c , [-dynamiclib],
2ba0: 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 [.
2bb0: 20 20 20 20 20 20 20 20 20 20 20 20 20 41 43 5f AC_
2bc0: 4d 53 47 5f 52 45 53 55 4c 54 28 63 61 6e 74 29 MSG_RESULT(cant)
2bd0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2be0: 20 20 20 20 20 20 20 20 20 20 20 41 43 5f 4d 53 AC_MS
2bf0: 47 5f 45 52 52 4f 52 28 5b 57 65 20 61 72 65 20 G_ERROR([We are
2c00: 75 6e 61 62 6c 65 20 74 6f 20 6d 61 6b 65 20 73 unable to make s
2c10: 68 61 72 65 64 20 6f 62 6a 65 63 74 73 2e 5d 29 hared objects.])
2c20: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2c30: 20 20 20 20 20 20 20 20 20 5d 29 0a 20 20 20 20 ]).
2c40: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
2c50: 20 20 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 ]).
2c60: 20 20 20 20 20 20 20 20 20 5d 29 0a 20 20 20 20 ]).
2c70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5d 29 ])
2c80: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
2c90: 20 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ]).
2ca0: 20 20 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 ]).
2cb0: 20 5d 29 0a 20 20 20 20 20 20 20 20 20 20 5d 29 ]). ])
2cc0: 0a 20 20 20 20 20 20 20 20 5d 29 0a 20 20 20 20 . ]).
2cd0: 20 20 5d 29 0a 20 20 20 20 5d 29 0a 20 20 66 69 ]). ]). fi
2ce0: 0a 0a 20 20 41 43 5f 4d 53 47 5f 52 45 53 55 4c .. AC_MSG_RESUL
2cf0: 54 28 24 53 48 4f 42 4a 4c 44 46 4c 41 47 53 20 T($SHOBJLDFLAGS
2d00: 24 53 48 4f 42 4a 46 4c 41 47 53 29 0a 5d 29 0a $SHOBJFLAGS).]).
2d10: 0a 41 43 5f 44 45 46 55 4e 28 44 43 5f 43 48 4b .AC_DEFUN(DC_CHK
2d20: 5f 4f 53 5f 49 4e 46 4f 2c 20 5b 0a 09 41 43 5f _OS_INFO, [..AC_
2d30: 43 41 4e 4f 4e 49 43 41 4c 5f 42 55 49 4c 44 0a CANONICAL_BUILD.
2d40: 09 41 43 5f 43 41 4e 4f 4e 49 43 41 4c 5f 48 4f .AC_CANONICAL_HO
2d50: 53 54 0a 0a 09 41 43 5f 53 55 42 53 54 28 53 48 ST...AC_SUBST(SH
2d60: 4f 42 4a 45 58 54 29 0a 09 41 43 5f 53 55 42 53 OBJEXT)..AC_SUBS
2d70: 54 28 41 52 45 58 54 29 0a 20 20 20 20 20 20 20 T(AREXT).
2d80: 20 41 43 5f 53 55 42 53 54 28 53 48 4f 42 4a 46 AC_SUBST(SHOBJF
2d90: 4c 41 47 53 29 0a 20 20 20 20 20 20 20 20 41 43 LAGS). AC
2da0: 5f 53 55 42 53 54 28 53 48 4f 42 4a 4c 44 46 4c _SUBST(SHOBJLDFL
2db0: 41 47 53 29 0a 0a 20 20 20 20 20 20 20 20 41 43 AGS).. AC
2dc0: 5f 4d 53 47 5f 43 48 45 43 4b 49 4e 47 28 68 6f _MSG_CHECKING(ho
2dd0: 73 74 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 st operating sys
2de0: 74 65 6d 29 0a 20 20 20 20 20 20 20 20 41 43 5f tem). AC_
2df0: 4d 53 47 5f 52 45 53 55 4c 54 28 24 68 6f 73 74 MSG_RESULT($host
2e00: 5f 6f 73 29 0a 0a 09 53 48 4f 42 4a 45 58 54 3d _os)...SHOBJEXT=
2e10: 22 73 6f 22 0a 09 41 52 45 58 54 3d 22 61 22 0a "so"..AREXT="a".
2e20: 0a 20 20 20 20 20 20 20 20 63 61 73 65 20 24 68 . case $h
2e30: 6f 73 74 5f 6f 73 20 69 6e 0a 20 20 20 20 20 20 ost_os in.
2e40: 20 20 20 20 20 20 20 20 20 20 64 61 72 77 69 6e darwin
2e50: 2a 29 0a 09 09 09 53 48 4f 42 4a 45 58 54 3d 22 *)....SHOBJEXT="
2e60: 64 79 6c 69 62 22 0a 20 20 20 20 20 20 20 20 20 dylib".
2e70: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b ;
2e80: 3b 0a 09 09 68 70 75 78 2a 29 0a 09 09 09 53 48 ;...hpux*)....SH
2e90: 4f 42 4a 45 58 54 3d 22 73 6c 22 0a 09 09 09 3b OBJEXT="sl"....;
2ea0: 3b 0a 09 09 6d 69 6e 67 77 2a 29 0a 09 09 09 53 ;...mingw*)....S
2eb0: 48 4f 42 4a 45 58 54 3d 22 64 6c 6c 22 0a 09 09 HOBJEXT="dll"...
2ec0: 09 53 48 4f 42 4a 46 4c 41 47 53 3d 22 2d 6d 6d .SHOBJFLAGS="-mm
2ed0: 73 2d 62 69 74 66 69 65 6c 64 73 20 2d 44 50 49 s-bitfields -DPI
2ee0: 43 22 0a 09 09 09 53 48 4f 42 4a 4c 44 46 4c 41 C"....SHOBJLDFLA
2ef0: 47 53 3d 27 2d 73 68 61 72 65 64 20 2d 57 6c 2c GS='-shared -Wl,
2f00: 2d 2d 64 6c 6c 20 2d 57 6c 2c 2d 2d 65 6e 61 62 --dll -Wl,--enab
2f10: 6c 65 2d 61 75 74 6f 2d 69 6d 61 67 65 2d 62 61 le-auto-image-ba
2f20: 73 65 20 2d 57 6c 2c 2d 2d 6f 75 74 70 75 74 2d se -Wl,--output-
2f30: 64 65 66 2c 24 5b 40 5d 2e 64 65 66 2c 2d 2d 6f def,$[@].def,--o
2f40: 75 74 2d 69 6d 70 6c 69 62 2c 24 5b 40 5d 2e 61 ut-implib,$[@].a
2f50: 20 2d 57 6c 2c 2d 2d 65 78 70 6f 72 74 2d 61 6c -Wl,--export-al
2f60: 6c 2d 73 79 6d 62 6f 6c 73 20 2d 57 6c 2c 2d 2d l-symbols -Wl,--
2f70: 61 64 64 2d 73 74 64 63 61 6c 6c 2d 61 6c 69 61 add-stdcall-alia
2f80: 73 27 0a 09 09 09 3b 3b 0a 09 65 73 61 63 0a 5d s'....;;..esac.]
2f90: 29 0a 0a 41 43 5f 44 45 46 55 4e 28 44 43 5f 54 )..AC_DEFUN(DC_T
2fa0: 45 53 54 5f 57 48 4f 4c 45 5f 41 52 43 48 49 56 EST_WHOLE_ARCHIV
2fb0: 45 5f 53 48 41 52 45 44 5f 4c 49 42 2c 20 5b 0a E_SHARED_LIB, [.
2fc0: 0a 09 53 41 56 45 5f 4c 49 42 53 3d 22 24 7b 4c ..SAVE_LIBS="${L
2fd0: 49 42 53 7d 22 0a 0a 09 4c 49 42 53 3d 22 24 7b IBS}"...LIBS="${
2fe0: 57 48 4f 4c 45 41 52 43 48 49 56 45 7d 20 24 31 WHOLEARCHIVE} $1
2ff0: 20 24 7b 4e 4f 57 48 4f 4c 45 41 52 43 48 49 56 ${NOWHOLEARCHIV
3000: 45 7d 20 24 7b 53 41 56 45 5f 4c 49 42 53 7d 22 E} ${SAVE_LIBS}"
3010: 0a 09 41 43 5f 4c 49 4e 4b 5f 49 46 45 4c 53 45 ..AC_LINK_IFELSE
3020: 28 0a 09 09 41 43 5f 4c 41 4e 47 5f 50 52 4f 47 (...AC_LANG_PROG
3030: 52 41 4d 28 5b 5b 0a 09 09 09 5d 5d 2c 20 5b 5b RAM([[....]], [[
3040: 0a 09 09 09 5d 5d 0a 09 09 29 2c 0a 09 09 5b 0a ....]]...),...[.
3050: 09 09 09 4c 49 42 53 3d 22 24 7b 53 41 56 45 5f ...LIBS="${SAVE_
3060: 4c 49 42 53 7d 22 0a 0a 09 09 09 24 32 0a 09 09 LIBS}".....$2...
3070: 5d 2c 20 5b 0a 09 09 09 4c 49 42 53 3d 22 24 7b ], [....LIBS="${
3080: 53 41 56 45 5f 4c 49 42 53 7d 22 0a 0a 09 09 09 SAVE_LIBS}".....
3090: 24 33 0a 09 09 5d 0a 09 29 0a 5d 29 0a 0a 41 43 $3...]..).])..AC
30a0: 5f 44 45 46 55 4e 28 44 43 5f 43 48 45 43 4b 5f _DEFUN(DC_CHECK_
30b0: 46 4f 52 5f 57 48 4f 4c 45 5f 41 52 43 48 49 56 FOR_WHOLE_ARCHIV
30c0: 45 2c 20 5b 0a 09 41 43 5f 4d 53 47 5f 43 48 45 E, [..AC_MSG_CHE
30d0: 43 4b 49 4e 47 28 5b 66 6f 72 20 68 6f 77 20 74 CKING([for how t
30e0: 6f 20 6c 69 6e 6b 20 77 68 6f 6c 65 20 61 72 63 o link whole arc
30f0: 68 69 76 65 5d 29 0a 0a 09 53 41 56 45 5f 43 46 hive])...SAVE_CF
3100: 4c 41 47 53 3d 22 24 7b 43 46 4c 41 47 53 7d 22 LAGS="${CFLAGS}"
3110: 0a 0a 09 77 68 6f 6c 65 61 72 63 68 69 76 65 3d ...wholearchive=
3120: 22 22 0a 0a 09 66 6f 72 20 63 68 65 63 6b 20 69 ""...for check i
3130: 6e 20 22 2d 57 6c 2c 2d 2d 77 68 6f 6c 65 2d 61 n "-Wl,--whole-a
3140: 72 63 68 69 76 65 20 2d 57 6c 2c 2d 2d 6e 6f 2d rchive -Wl,--no-
3150: 77 68 6f 6c 65 2d 61 72 63 68 69 76 65 22 20 22 whole-archive" "
3160: 2d 57 6c 2c 2d 7a 2c 61 6c 6c 65 78 74 72 61 63 -Wl,-z,allextrac
3170: 74 20 2d 57 6c 2c 2d 7a 2c 64 65 66 61 75 6c 74 t -Wl,-z,default
3180: 65 78 74 72 61 63 74 22 3b 20 64 6f 0a 09 09 43 extract"; do...C
3190: 46 4c 41 47 53 3d 22 24 7b 53 41 56 45 5f 43 46 FLAGS="${SAVE_CF
31a0: 4c 41 47 53 7d 20 24 7b 63 68 65 63 6b 7d 22 0a LAGS} ${check}".
31b0: 0a 09 09 41 43 5f 4c 49 4e 4b 5f 49 46 45 4c 53 ...AC_LINK_IFELS
31c0: 45 28 41 43 5f 4c 41 4e 47 5f 50 52 4f 47 52 41 E(AC_LANG_PROGRA
31d0: 4d 28 5b 5d 2c 20 5b 5d 29 2c 0a 09 09 09 5b 0a M([], []),....[.
31e0: 09 09 09 09 77 68 6f 6c 65 61 72 63 68 69 76 65 ....wholearchive
31f0: 3d 22 24 7b 63 68 65 63 6b 7d 22 0a 0a 09 09 09 ="${check}".....
3200: 09 62 72 65 61 6b 0a 09 09 09 5d 0a 09 09 29 0a .break....]...).
3210: 0a 09 64 6f 6e 65 0a 0a 09 43 46 4c 41 47 53 3d ..done...CFLAGS=
3220: 22 24 7b 53 41 56 45 5f 43 46 4c 41 47 53 7d 22 "${SAVE_CFLAGS}"
3230: 0a 0a 09 69 66 20 74 65 73 74 20 2d 7a 20 22 24 ...if test -z "$
3240: 7b 77 68 6f 6c 65 61 72 63 68 69 76 65 7d 22 3b {wholearchive}";
3250: 20 74 68 65 6e 0a 09 09 41 43 5f 4d 53 47 5f 52 then...AC_MSG_R
3260: 45 53 55 4c 54 28 5b 6e 6f 74 20 66 6f 75 6e 64 ESULT([not found
3270: 5d 29 0a 09 65 6c 73 65 0a 09 09 41 43 5f 4d 53 ])..else...AC_MS
3280: 47 5f 52 45 53 55 4c 54 28 5b 24 7b 77 68 6f 6c G_RESULT([${whol
3290: 65 61 72 63 68 69 76 65 7d 5d 29 0a 0a 09 09 57 earchive}])....W
32a0: 48 4f 4c 45 41 52 43 48 49 56 45 3d 60 65 63 68 HOLEARCHIVE=`ech
32b0: 6f 20 22 24 7b 77 68 6f 6c 65 61 72 63 68 69 76 o "${wholearchiv
32c0: 65 7d 22 20 7c 20 63 75 74 20 2d 66 20 31 20 2d e}" | cut -f 1 -
32d0: 64 20 27 20 27 60 0a 09 09 4e 4f 57 48 4f 4c 45 d ' '`...NOWHOLE
32e0: 41 52 43 48 49 56 45 3d 60 65 63 68 6f 20 22 24 ARCHIVE=`echo "$
32f0: 7b 77 68 6f 6c 65 61 72 63 68 69 76 65 7d 22 20 {wholearchive}"
3300: 7c 20 63 75 74 20 2d 66 20 32 20 2d 64 20 27 20 | cut -f 2 -d '
3310: 27 60 0a 09 66 69 0a 0a 09 41 43 5f 53 55 42 53 '`..fi...AC_SUBS
3320: 54 28 57 48 4f 4c 45 41 52 43 48 49 56 45 29 0a T(WHOLEARCHIVE).
3330: 09 41 43 5f 53 55 42 53 54 28 4e 4f 57 48 4f 4c .AC_SUBST(NOWHOL
3340: 45 41 52 43 48 49 56 45 29 0a 5d 29 0a 0a 41 43 EARCHIVE).])..AC
3350: 5f 44 45 46 55 4e 28 44 43 5f 53 45 54 4c 44 52 _DEFUN(DC_SETLDR
3360: 55 4e 50 41 54 48 2c 20 5b 0a 09 4f 4c 44 5f 4c UNPATH, [..OLD_L
3370: 44 46 4c 41 47 53 3d 22 24 7b 4c 44 46 4c 41 47 DFLAGS="${LDFLAG
3380: 53 7d 22 0a 0a 09 66 6f 72 20 74 65 73 74 6c 64 S}"...for testld
3390: 66 6c 61 67 73 20 69 6e 20 22 2d 57 6c 2c 2d 72 flags in "-Wl,-r
33a0: 70 61 74 68 20 2d 57 6c 2c 24 31 22 20 22 2d 57 path -Wl,$1" "-W
33b0: 6c 2c 2d 52 20 2d 57 6c 2c 24 31 22 3b 20 64 6f l,-R -Wl,$1"; do
33c0: 0a 09 09 4c 44 46 4c 41 47 53 3d 22 24 7b 4f 4c ...LDFLAGS="${OL
33d0: 44 5f 4c 44 46 4c 41 47 53 7d 20 24 7b 74 65 73 D_LDFLAGS} ${tes
33e0: 74 6c 64 66 6c 61 67 73 7d 22 0a 09 09 41 43 5f tldflags}"...AC_
33f0: 54 52 59 5f 4c 49 4e 4b 28 5b 23 69 6e 63 6c 75 TRY_LINK([#inclu
3400: 64 65 20 3c 73 74 64 69 6f 2e 68 3e 5d 2c 20 5b de <stdio.h>], [
3410: 20 72 65 74 75 72 6e 28 30 29 3b 20 5d 2c 20 5b return(0); ], [
3420: 0a 09 09 09 4c 44 52 55 4e 50 41 54 48 3d 22 24 ....LDRUNPATH="$
3430: 4c 44 52 55 4e 50 41 54 48 20 24 74 65 73 74 6c LDRUNPATH $testl
3440: 64 66 6c 61 67 73 22 0a 0a 09 09 09 62 72 65 61 dflags".....brea
3450: 6b 0a 09 09 5d 29 0a 09 64 6f 6e 65 0a 0a 09 4c k...])..done...L
3460: 44 46 4c 41 47 53 3d 22 24 7b 4f 4c 44 5f 4c 44 DFLAGS="${OLD_LD
3470: 46 4c 41 47 53 7d 22 0a 0a 09 41 43 5f 53 55 42 FLAGS}"...AC_SUB
3480: 53 54 28 4c 44 52 55 4e 50 41 54 48 29 0a 5d 29 ST(LDRUNPATH).])
3490: 0a .