Hex Artifact Content

Artifact b9d44e1a68b091e3e29ca7486060d5970a77d9ae:


0000: 41 43 5f 44 45 46 55 4e 28 5b 44 43 5f 53 45 54  AC_DEFUN([DC_SET
0010: 55 50 5f 53 54 41 42 4c 45 5f 41 50 49 5d 2c 20  UP_STABLE_API], 
0020: 5b 0a 09 56 45 52 53 49 4f 4e 53 43 52 49 50 54  [..VERSIONSCRIPT
0030: 3d 22 24 31 22 0a 09 53 59 4d 46 49 4c 45 3d 22  ="$1"..SYMFILE="
0040: 24 32 22 0a 0a 09 44 43 5f 46 49 4e 44 5f 53 54  $2"...DC_FIND_ST
0050: 52 49 50 5f 41 4e 44 5f 52 45 4d 4f 56 45 53 59  RIP_AND_REMOVESY
0060: 4d 53 28 5b 24 53 59 4d 46 49 4c 45 5d 29 0a 09  MS([$SYMFILE])..
0070: 44 43 5f 53 45 54 56 45 52 53 49 4f 4e 53 43 52  DC_SETVERSIONSCR
0080: 49 50 54 28 5b 24 56 45 52 53 49 4f 4e 53 43 52  IPT([$VERSIONSCR
0090: 49 50 54 5d 2c 20 5b 24 53 59 4d 46 49 4c 45 5d  IPT], [$SYMFILE]
00a0: 29 0a 5d 29 0a 0a 0a 41 43 5f 44 45 46 55 4e 28  ).])...AC_DEFUN(
00b0: 5b 44 43 5f 53 45 54 56 45 52 53 49 4f 4e 53 43  [DC_SETVERSIONSC
00c0: 52 49 50 54 5d 2c 20 5b 0a 09 56 45 52 53 49 4f  RIPT], [..VERSIO
00d0: 4e 53 43 52 49 50 54 3d 22 24 31 22 0a 09 53 59  NSCRIPT="$1"..SY
00e0: 4d 46 49 4c 45 3d 22 24 32 22 0a 09 54 4d 50 53  MFILE="$2"..TMPS
00f0: 59 4d 46 49 4c 45 3d 22 24 7b 53 59 4d 46 49 4c  YMFILE="${SYMFIL
0100: 45 7d 2e 74 6d 70 22 0a 09 54 4d 50 56 45 52 53  E}.tmp"..TMPVERS
0110: 49 4f 4e 53 43 52 49 50 54 3d 22 24 7b 56 45 52  IONSCRIPT="${VER
0120: 53 49 4f 4e 53 43 52 49 50 54 7d 2e 74 6d 70 22  SIONSCRIPT}.tmp"
0130: 0a 0a 09 65 63 68 6f 20 22 24 7b 53 59 4d 50 52  ...echo "${SYMPR
0140: 45 46 49 58 7d 54 65 73 74 5f 53 79 6d 62 6f 6c  EFIX}Test_Symbol
0150: 22 20 3e 20 22 24 7b 54 4d 50 53 59 4d 46 49 4c  " > "${TMPSYMFIL
0160: 45 7d 22 0a 0a 09 65 63 68 6f 20 27 7b 27 20 3e  E}"...echo '{' >
0170: 20 22 24 7b 54 4d 50 56 45 52 53 49 4f 4e 53 43   "${TMPVERSIONSC
0180: 52 49 50 54 7d 22 0a 09 65 63 68 6f 20 27 09 6c  RIPT}"..echo '.l
0190: 6f 63 61 6c 3a 27 20 3e 3e 20 22 24 7b 54 4d 50  ocal:' >> "${TMP
01a0: 56 45 52 53 49 4f 4e 53 43 52 49 50 54 7d 22 0a  VERSIONSCRIPT}".
01b0: 09 65 63 68 6f 20 22 09 09 24 7b 53 59 4d 50 52  .echo "..${SYMPR
01c0: 45 46 49 58 7d 54 65 73 74 5f 53 79 6d 62 6f 6c  EFIX}Test_Symbol
01d0: 3b 22 20 3e 3e 20 22 24 7b 54 4d 50 56 45 52 53  ;" >> "${TMPVERS
01e0: 49 4f 4e 53 43 52 49 50 54 7d 22 0a 09 65 63 68  IONSCRIPT}"..ech
01f0: 6f 20 27 7d 3b 27 20 3e 3e 20 22 24 7b 54 4d 50  o '};' >> "${TMP
0200: 56 45 52 53 49 4f 4e 53 43 52 49 50 54 7d 22 0a  VERSIONSCRIPT}".
0210: 0a 09 53 41 56 45 5f 4c 44 46 4c 41 47 53 3d 22  ..SAVE_LDFLAGS="
0220: 24 7b 4c 44 46 4c 41 47 53 7d 22 0a 0a 09 41 43  ${LDFLAGS}"...AC
0230: 5f 4d 53 47 5f 43 48 45 43 4b 49 4e 47 28 5b 66  _MSG_CHECKING([f
0240: 6f 72 20 68 6f 77 20 74 6f 20 73 65 74 20 76 65  or how to set ve
0250: 72 73 69 6f 6e 20 73 63 72 69 70 74 5d 29 0a 0a  rsion script])..
0260: 09 66 6f 72 20 74 72 79 61 64 64 6c 64 66 6c 61  .for tryaddldfla
0270: 67 73 20 69 6e 20 22 2d 57 6c 2c 2d 2d 76 65 72  gs in "-Wl,--ver
0280: 73 69 6f 6e 2d 73 63 72 69 70 74 2c 24 7b 54 4d  sion-script,${TM
0290: 50 56 45 52 53 49 4f 4e 53 43 52 49 50 54 7d 22  PVERSIONSCRIPT}"
02a0: 20 22 2d 57 6c 2c 2d 65 78 70 6f 72 74 65 64 5f   "-Wl,-exported_
02b0: 73 79 6d 62 6f 6c 73 5f 6c 69 73 74 2c 24 7b 54  symbols_list,${T
02c0: 4d 50 53 59 4d 46 49 4c 45 7d 22 3b 20 64 6f 0a  MPSYMFILE}"; do.
02d0: 09 09 4c 44 46 4c 41 47 53 3d 22 24 7b 53 41 56  ..LDFLAGS="${SAV
02e0: 45 5f 4c 44 46 4c 41 47 53 7d 20 24 7b 74 72 79  E_LDFLAGS} ${try
02f0: 61 64 64 6c 64 66 6c 61 67 73 7d 22 0a 09 09 41  addldflags}"...A
0300: 43 5f 54 52 59 5f 4c 49 4e 4b 28 5b 76 6f 69 64  C_TRY_LINK([void
0310: 20 54 65 73 74 5f 53 79 6d 62 6f 6c 28 76 6f 69   Test_Symbol(voi
0320: 64 29 20 7b 20 72 65 74 75 72 6e 3b 20 7d 5d 2c  d) { return; }],
0330: 20 5b 5d 2c 20 5b 0a 09 09 09 61 64 64 6c 64 66   [], [....addldf
0340: 6c 61 67 73 3d 22 60 65 63 68 6f 20 22 24 7b 74  lags="`echo "${t
0350: 72 79 61 64 64 6c 64 66 6c 61 67 73 7d 22 20 7c  ryaddldflags}" |
0360: 20 73 65 64 20 27 73 2f 5c 2e 74 6d 70 24 2f 2f   sed 's/\.tmp$//
0370: 27 60 22 0a 0a 09 09 09 62 72 65 61 6b 0a 09 09  '`".....break...
0380: 5d 29 0a 09 64 6f 6e 65 0a 0a 09 72 6d 20 2d 66  ])..done...rm -f
0390: 20 22 24 7b 54 4d 50 53 59 4d 46 49 4c 45 7d 22   "${TMPSYMFILE}"
03a0: 0a 09 72 6d 20 2d 66 20 22 24 7b 54 4d 50 56 45  ..rm -f "${TMPVE
03b0: 52 53 49 4f 4e 53 43 52 49 50 54 7d 22 0a 0a 09  RSIONSCRIPT}"...
03c0: 4c 44 46 4c 41 47 53 3d 22 24 7b 53 41 56 45 5f  LDFLAGS="${SAVE_
03d0: 4c 44 46 4c 41 47 53 7d 22 0a 0a 09 69 66 20 74  LDFLAGS}"...if t
03e0: 65 73 74 20 2d 6e 20 22 24 7b 61 64 64 6c 64 66  est -n "${addldf
03f0: 6c 61 67 73 7d 22 3b 20 74 68 65 6e 0a 09 09 53  lags}"; then...S
0400: 48 4f 42 4a 4c 44 46 4c 41 47 53 3d 22 24 7b 53  HOBJLDFLAGS="${S
0410: 48 4f 42 4a 4c 44 46 4c 41 47 53 7d 20 24 7b 61  HOBJLDFLAGS} ${a
0420: 64 64 6c 64 66 6c 61 67 73 7d 22 0a 0a 09 09 41  ddldflags}"....A
0430: 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28 24 61 64  C_MSG_RESULT($ad
0440: 64 6c 64 66 6c 61 67 73 29 0a 09 65 6c 73 65 0a  dldflags)..else.
0450: 09 09 41 43 5f 4d 53 47 5f 52 45 53 55 4c 54 28  ..AC_MSG_RESULT(
0460: 5b 64 6f 6e 27 74 20 6b 6e 6f 77 5d 29 0a 09 66  [don't know])..f
0470: 69 0a 0a 09 41 43 5f 53 55 42 53 54 28 53 48 4f  i...AC_SUBST(SHO
0480: 42 4a 4c 44 46 4c 41 47 53 29 0a 5d 29 0a 0a 41  BJLDFLAGS).])..A
0490: 43 5f 44 45 46 55 4e 28 5b 44 43 5f 46 49 4e 44  C_DEFUN([DC_FIND
04a0: 5f 53 54 52 49 50 5f 41 4e 44 5f 52 45 4d 4f 56  _STRIP_AND_REMOV
04b0: 45 53 59 4d 53 5d 2c 20 5b 0a 09 53 59 4d 46 49  ESYMS], [..SYMFI
04c0: 4c 45 3d 22 24 31 22 0a 0a 09 64 6e 6c 20 44 65  LE="$1"...dnl De
04d0: 74 65 72 6d 69 6e 65 20 68 6f 77 20 74 6f 20 73  termine how to s
04e0: 74 72 69 70 20 65 78 65 63 75 74 61 62 6c 65 73  trip executables
04f0: 0a 09 41 43 5f 43 48 45 43 4b 5f 54 4f 4f 4c 53  ..AC_CHECK_TOOLS
0500: 28 4f 42 4a 43 4f 50 59 2c 20 6f 62 6a 63 6f 70  (OBJCOPY, objcop
0510: 79 20 67 6f 62 6a 63 6f 70 79 2c 20 5b 66 61 6c  y gobjcopy, [fal
0520: 73 65 5d 29 0a 09 41 43 5f 43 48 45 43 4b 5f 54  se])..AC_CHECK_T
0530: 4f 4f 4c 53 28 53 54 52 49 50 2c 20 73 74 72 69  OOLS(STRIP, stri
0540: 70 20 67 73 74 72 69 70 2c 20 5b 66 61 6c 73 65  p gstrip, [false
0550: 5d 29 0a 0a 09 69 66 20 74 65 73 74 20 22 78 24  ])...if test "x$
0560: 7b 53 54 52 49 50 7d 22 20 3d 20 22 78 66 61 6c  {STRIP}" = "xfal
0570: 73 65 22 3b 20 74 68 65 6e 0a 09 09 53 54 52 49  se"; then...STRI
0580: 50 3d 22 24 7b 4f 42 4a 43 4f 50 59 7d 22 0a 09  P="${OBJCOPY}"..
0590: 66 69 0a 0a 09 57 45 41 4b 45 4e 53 59 4d 53 3d  fi...WEAKENSYMS=
05a0: 27 74 72 75 65 27 0a 09 52 45 4d 4f 56 45 53 59  'true'..REMOVESY
05b0: 4d 53 3d 27 74 72 75 65 27 0a 09 53 59 4d 50 52  MS='true'..SYMPR
05c0: 45 46 49 58 3d 27 27 0a 0a 09 63 61 73 65 20 24  EFIX=''...case $
05d0: 68 6f 73 74 5f 6f 73 20 69 6e 0a 09 09 64 61 72  host_os in...dar
05e0: 77 69 6e 2a 29 0a 09 09 09 53 59 4d 50 52 45 46  win*)....SYMPREF
05f0: 49 58 3d 22 5f 22 0a 09 09 09 52 45 4d 4f 56 45  IX="_"....REMOVE
0600: 53 59 4d 53 3d 22 24 7b 53 54 52 49 50 7d 20 2d  SYMS="${STRIP} -
0610: 75 20 2d 78 22 0a 09 09 09 3b 3b 0a 09 09 2a 29  u -x"....;;...*)
0620: 0a 09 09 09 69 66 20 74 65 73 74 20 22 78 24 7b  ....if test "x${
0630: 4f 42 4a 43 4f 50 59 7d 22 20 21 3d 20 22 78 66  OBJCOPY}" != "xf
0640: 61 6c 73 65 22 3b 20 74 68 65 6e 0a 09 09 09 09  alse"; then.....
0650: 57 45 41 4b 45 4e 53 59 4d 53 3d 22 24 7b 4f 42  WEAKENSYMS="${OB
0660: 4a 43 4f 50 59 7d 20 2d 2d 6b 65 65 70 2d 67 6c  JCOPY} --keep-gl
0670: 6f 62 61 6c 2d 73 79 6d 62 6f 6c 73 3d 24 7b 53  obal-symbols=${S
0680: 59 4d 46 49 4c 45 7d 22 0a 09 09 09 09 52 45 4d  YMFILE}".....REM
0690: 4f 56 45 53 59 4d 53 3d 22 24 7b 4f 42 4a 43 4f  OVESYMS="${OBJCO
06a0: 50 59 7d 20 2d 2d 64 69 73 63 61 72 64 2d 61 6c  PY} --discard-al
06b0: 6c 22 0a 09 09 09 65 6c 69 66 20 74 65 73 74 20  l"....elif test 
06c0: 22 78 24 7b 53 54 52 49 50 7d 22 20 21 3d 20 22  "x${STRIP}" != "
06d0: 78 66 61 6c 73 65 22 3b 20 74 68 65 6e 0a 09 09  xfalse"; then...
06e0: 09 09 52 45 4d 4f 56 45 53 59 4d 53 3d 22 24 7b  ..REMOVESYMS="${
06f0: 53 54 52 49 50 7d 20 2d 78 22 0a 09 09 09 66 69  STRIP} -x"....fi
0700: 0a 09 09 09 3b 3b 0a 09 65 73 61 63 0a 0a 09 41  ....;;..esac...A
0710: 43 5f 53 55 42 53 54 28 57 45 41 4b 45 4e 53 59  C_SUBST(WEAKENSY
0720: 4d 53 29 0a 09 41 43 5f 53 55 42 53 54 28 52 45  MS)..AC_SUBST(RE
0730: 4d 4f 56 45 53 59 4d 53 29 0a 09 41 43 5f 53 55  MOVESYMS)..AC_SU
0740: 42 53 54 28 53 59 4d 50 52 45 46 49 58 29 0a 5d  BST(SYMPREFIX).]
0750: 29 0a                                            ).