From bd35d903a04c4d388adb4065b0fa271302380895 Mon Sep 17 00:00:00 2001 From: Lasse Collin Date: Sat, 28 May 2011 15:55:39 +0300 Subject: liblzma: Use symbol versioning. Symbol versioning is enabled by default on GNU/Linux, other GNU-based systems, and FreeBSD. I'm not sure how stable this is, so it may need backward-incompatible changes before the next release. The idea is that alpha and beta symbols are considered unstable and require recompiling the applications that use those symbols. Once a symbol is stable, it may get extended with new features in ways that don't break compatibility with older ABI & API. The mydist target runs validate_map.sh which should catch some probable problems in liblzma.map. Otherwise I would forget to update the map file for new releases. --- configure.ac | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'configure.ac') diff --git a/configure.ac b/configure.ac index bc85fdd0..106c0811 100644 --- a/configure.ac +++ b/configure.ac @@ -403,6 +403,27 @@ AC_ARG_ENABLE([scripts], [AC_HELP_STRING([--disable-scripts], AM_CONDITIONAL([COND_SCRIPTS], [test x$enable_scripts != xno]) +##################### +# Symbol versioning # +##################### + +AC_ARG_ENABLE([symbol-versions], [AC_HELP_STRING([--enable-symbol-versions], + [Use symbol versioning for liblzma. Enabled by default on + GNU/Linux, other GNU-based systems, and FreeBSD.])], + [], [enable_symbol_versions=auto]) +if test "x$enable_symbol_versions" = xauto; then + case $host_os in + gnu* | *-gnu* | freebsd*) + enable_symbol_versions=yes + ;; + *) + enable_symbol_versions=no + ;; + esac +fi +AM_CONDITIONAL([COND_SYMVERS], [test "x$enable_symbol_versions" = xyes]) + + ############################################################################### # Checks for programs. ############################################################################### -- cgit v1.2.3