Browse Source

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

ZeroEightSix
Thomas Schmitt 10 years ago
parent
commit
7a3b871c4e
3 changed files with 24 additions and 8 deletions
  1. +15
    -0
      acinclude.m4
  2. +1
    -1
      cdrskin/cdrskin_timestamp.h
  3. +8
    -7
      configure.ac

+ 15
- 0
acinclude.m4 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 Important: Must be performed _after_ TARGET_SHIZZLE
dnl


+ 1
- 1
cdrskin/cdrskin_timestamp.h View File

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

+ 8
- 7
configure.ac View File

@ -247,17 +247,18 @@ dnl ts B00704
# Since libburn 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=libburn/libburn.ver"
echo "enabled strict symbol encapsulation"
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"
fi
else
echo "disabled strict symbol encapsulation"
fi


Loading…
Cancel
Save