aboutsummaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorLasse Collin <lasse.collin@tukaani.org>2011-05-28 15:55:39 +0300
committerLasse Collin <lasse.collin@tukaani.org>2011-05-28 15:55:39 +0300
commitbd35d903a04c4d388adb4065b0fa271302380895 (patch)
tree4d0d508f4abcfde4bf20afabf9823a3c82a427cd /configure.ac
parentafbb244362c9426a37ce4eb9d54aab768da3adad (diff)
downloadxz-bd35d903a04c4d388adb4065b0fa271302380895.tar.gz
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.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac21
1 files changed, 21 insertions, 0 deletions
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.
###############################################################################