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 2e06df4dd0
commit 99303a24e3
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
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" echo "enabled strict symbol encapsulation"
fi
else else
echo "disabled strict symbol encapsulation" echo "disabled strict symbol encapsulation"
fi fi