aboutsummaryrefslogtreecommitdiff
path: root/src/liblzma/Makefile.am
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 /src/liblzma/Makefile.am
parentTranslations: Update the Italian translation. (diff)
downloadxz-bd35d903a04c4d388adb4065b0fa271302380895.tar.xz
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 'src/liblzma/Makefile.am')
-rw-r--r--src/liblzma/Makefile.am6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/liblzma/Makefile.am b/src/liblzma/Makefile.am
index 8331f136..5bd205d3 100644
--- a/src/liblzma/Makefile.am
+++ b/src/liblzma/Makefile.am
@@ -26,6 +26,12 @@ liblzma_la_CPPFLAGS = \
-DTUKLIB_SYMBOL_PREFIX=lzma_
liblzma_la_LDFLAGS = -no-undefined -version-info 5:99:0
+if COND_SYMVERS
+EXTRA_DIST += liblzma.map
+liblzma_la_LDFLAGS += \
+ -Wl,--version-script=$(top_srcdir)/src/liblzma/liblzma.map
+endif
+
include $(srcdir)/common/Makefile.inc
include $(srcdir)/check/Makefile.inc