Hiding all non-API symbols from the linker by use of --version-script

This commit is contained in:
2010-07-05 12:29:50 +00:00
parent 90c1fcd0e9
commit 2e06df4dd0
5 changed files with 293 additions and 7 deletions

View File

@ -251,6 +251,25 @@ else
fi
AC_SUBST(XORRISO_DVD_OBS_64K)
dnl ts B00705
# Library versioning normally serves a complex purpose.
# Since libisoburn obeys strict ABI backward compatibility, it needs only the
# simple feature to declare function names "global:" or "local:". Only the
# global ones are visible to applications at library load time.
dnl
dnl >>> TODO:
dnl >>> make an actual try whether -Wl,--version-script=libburn/libburn.ver
dnl >>> is accepted by the compiler
dnl
AC_ARG_ENABLE(versioned-libs,
[ --enable-versioned-libs Enable strict symbol encapsulation , default=yes],
, enable_versioned_libs=yes)
if test x$enable_versioned_libs = xyes; then
LDFLAGS="$LDFLAGS -Wl,--version-script=libisoburn/libisoburn.ver"
echo "enabled strict symbol encapsulation"
else
echo "disabled strict symbol encapsulation"
fi
AC_CHECK_HEADER(libburn/libburn.h)
AC_CHECK_HEADER(libisofs/libisofs.h)