mirror of
https://github.com/qpdf/qpdf.git
synced 2024-11-16 01:27:07 +00:00
notes on symbol versioning
This commit is contained in:
parent
8e9fe21316
commit
e3c9512b25
46
TODO
46
TODO
@ -5,6 +5,52 @@ Next
|
||||
to build and test cleanly in 2.3.1. Hopefully the next release
|
||||
will include 64-bit binary distributions and external libraries.
|
||||
|
||||
* Add versioned symbols. Fix below to not use AM_CONDITIONAL. Just
|
||||
set some variable that can be part of LDFLAGS, like
|
||||
LD_VERSION_SCRIPT, instead.
|
||||
|
||||
# Check if LD supports linker scripts, and define conditional
|
||||
# HAVE_LD_VERSION_SCRIPT if so. This functionality is currently
|
||||
# constrained to compilers using GNU ld on ELF systems or systems
|
||||
# which provide an adequate emulation thereof.
|
||||
AC_ARG_ENABLE([ld-version-script],
|
||||
AS_HELP_STRING([--enable-ld-version-script],
|
||||
[enable linker version script (default is disabled)]),
|
||||
[have_ld_version_script=$enableval], [have_ld_version_script=no])
|
||||
if test "$have_ld_version_script" != no; then
|
||||
AC_MSG_CHECKING([if LD -Wl,--version-script works])
|
||||
save_LDFLAGS="$LDFLAGS"
|
||||
LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
|
||||
cat > conftest.map <<EOF
|
||||
VERS_1 {
|
||||
global: sym;
|
||||
};
|
||||
|
||||
VERS_2 {
|
||||
global: sym;
|
||||
} VERS_1;
|
||||
EOF
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
|
||||
[have_ld_version_script=yes], [have_ld_version_script=no])
|
||||
rm -f conftest.map
|
||||
LDFLAGS="$save_LDFLAGS"
|
||||
AC_MSG_RESULT($have_ld_version_script)
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")
|
||||
|
||||
----
|
||||
|
||||
if HAVE_LD_VERSION_SCRIPT
|
||||
libtiff_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libtiff.map
|
||||
endif
|
||||
|
||||
----
|
||||
|
||||
LIBQPDF_3 {
|
||||
global:
|
||||
*;
|
||||
};
|
||||
|
||||
|
||||
Better 64-bit support on Windows
|
||||
================================
|
||||
|
Loading…
Reference in New Issue
Block a user