Let configure perform linker test with --version-script if enabled

This commit is contained in:
Thomas Schmitt 2010-07-06 11:33:51 +00:00
parent 713ec46f23
commit 7a3b871c4e
3 changed files with 24 additions and 8 deletions

View File

@ -42,6 +42,21 @@ AC_DEFUN([TARGET_SHIZZLE],
]) ])
dnl LIBBURN_ASSERT_VERS_LIBS is by Thomas Schmitt, libburnia project
dnl It tests whether -Wl,--version-script=... works with the compiler
AC_DEFUN([LIBBURN_ASSERT_VERS_LIBS],
[
libburnia_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -Wl,--version-script=libburn/libburn.ver"
AC_TRY_LINK([#include <stdio.h>], [printf("Hello\n");],
[vers_libs_test="yes"], [vers_libs_test="no"])
if test x$vers_libs_test = xno
then
LDFLAGS="$libburnia_save_LDFLAGS"
fi
])
dnl LIBBURNIA_SET_PKGCONFIG determines the install directory for the *.pc file. dnl LIBBURNIA_SET_PKGCONFIG determines the install directory for the *.pc file.
dnl Important: Must be performed _after_ TARGET_SHIZZLE dnl Important: Must be performed _after_ TARGET_SHIZZLE
dnl dnl

View File

@ -1 +1 @@
#define Cdrskin_timestamP "2010.07.04.170035" #define Cdrskin_timestamP "2010.07.06.113304"

View File

@ -247,17 +247,18 @@ dnl ts B00704
# Since libburn obeys strict ABI backward compatibility, it needs only the # Since libburn obeys strict ABI backward compatibility, it needs only the
# simple feature to declare function names "global:" or "local:". Only the # simple feature to declare function names "global:" or "local:". Only the
# global ones are visible to applications at library load time. # 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, AC_ARG_ENABLE(versioned-libs,
[ --enable-versioned-libs Enable strict symbol encapsulation , default=yes], [ --enable-versioned-libs Enable strict symbol encapsulation , default=yes],
, enable_versioned_libs=yes) , enable_versioned_libs=yes)
if test x$enable_versioned_libs = xyes; then if test x$enable_versioned_libs = xyes; then
LDFLAGS="$LDFLAGS -Wl,--version-script=libburn/libburn.ver" vers_libs_test=no
echo "enabled strict symbol encapsulation" LIBBURN_ASSERT_VERS_LIBS
if test x$vers_libs_test = xno
then
echo "disabled strict symbol encapsulation (test failed)"
else
echo "enabled strict symbol encapsulation"
fi
else else
echo "disabled strict symbol encapsulation" echo "disabled strict symbol encapsulation"
fi fi