Commit e3c9512b252ebb19f3a7d1d66e55ff8e6ca4086a
1 parent
8e9fe213
notes on symbol versioning
Showing
1 changed file
with
46 additions
and
0 deletions
TODO
| ... | ... | @@ -5,6 +5,52 @@ Next |
| 5 | 5 | to build and test cleanly in 2.3.1. Hopefully the next release |
| 6 | 6 | will include 64-bit binary distributions and external libraries. |
| 7 | 7 | |
| 8 | + * Add versioned symbols. Fix below to not use AM_CONDITIONAL. Just | |
| 9 | + set some variable that can be part of LDFLAGS, like | |
| 10 | + LD_VERSION_SCRIPT, instead. | |
| 11 | + | |
| 12 | +# Check if LD supports linker scripts, and define conditional | |
| 13 | +# HAVE_LD_VERSION_SCRIPT if so. This functionality is currently | |
| 14 | +# constrained to compilers using GNU ld on ELF systems or systems | |
| 15 | +# which provide an adequate emulation thereof. | |
| 16 | +AC_ARG_ENABLE([ld-version-script], | |
| 17 | + AS_HELP_STRING([--enable-ld-version-script], | |
| 18 | + [enable linker version script (default is disabled)]), | |
| 19 | + [have_ld_version_script=$enableval], [have_ld_version_script=no]) | |
| 20 | +if test "$have_ld_version_script" != no; then | |
| 21 | + AC_MSG_CHECKING([if LD -Wl,--version-script works]) | |
| 22 | + save_LDFLAGS="$LDFLAGS" | |
| 23 | + LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map" | |
| 24 | + cat > conftest.map <<EOF | |
| 25 | +VERS_1 { | |
| 26 | + global: sym; | |
| 27 | +}; | |
| 28 | + | |
| 29 | +VERS_2 { | |
| 30 | + global: sym; | |
| 31 | +} VERS_1; | |
| 32 | +EOF | |
| 33 | + AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], | |
| 34 | + [have_ld_version_script=yes], [have_ld_version_script=no]) | |
| 35 | + rm -f conftest.map | |
| 36 | + LDFLAGS="$save_LDFLAGS" | |
| 37 | + AC_MSG_RESULT($have_ld_version_script) | |
| 38 | +fi | |
| 39 | +AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes") | |
| 40 | + | |
| 41 | +---- | |
| 42 | + | |
| 43 | +if HAVE_LD_VERSION_SCRIPT | |
| 44 | +libtiff_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libtiff.map | |
| 45 | +endif | |
| 46 | + | |
| 47 | +---- | |
| 48 | + | |
| 49 | +LIBQPDF_3 { | |
| 50 | + global: | |
| 51 | + *; | |
| 52 | +}; | |
| 53 | + | |
| 8 | 54 | |
| 9 | 55 | Better 64-bit support on Windows |
| 10 | 56 | ================================ | ... | ... |