diff --git a/Makefile.am b/Makefile.am index 2382ae47..3b800d48 100644 --- a/Makefile.am +++ b/Makefile.am @@ -4,7 +4,7 @@ SUBDIRS += doc endif lib_LTLIBRARIES = %D%/librtmidi.la -%C%_librtmidi_la_LDFLAGS = -no-undefined +%C%_librtmidi_la_LDFLAGS = -no-undefined -export-dynamic -version-info @SO_VERSION@ %C%_librtmidi_la_SOURCES = \ %D%/RtMidi.cpp \ %D%/rtmidi_c.cpp diff --git a/configure.ac b/configure.ac index 58cf1177..a7ef102f 100644 --- a/configure.ac +++ b/configure.ac @@ -5,6 +5,29 @@ AC_CONFIG_SRCDIR(RtMidi.cpp) AC_CONFIG_FILES([rtmidi-config rtmidi.pc Makefile tests/Makefile doc/Makefile]) AM_INIT_AUTOMAKE([1.14 -Wall -Werror foreign subdir-objects]) +# libtool version: current:revision:age +# +# If the library source code has changed at all since the last update, then +# increment revision (`c:r:a' becomes `c:r+1:a'). +# +# If any interfaces have been added, removed, or changed since the last update, +# increment current, and set revision to 0. +# +# If any interfaces have been added since the last public release, then +# increment age. +# +# If any interfaces have been removed since the last public release, then set +# age to 0. +m4_define([lt_current], 3) +m4_define([lt_revision], 0) +m4_define([lt_age], 0) + +m4_define([lt_version_info], [lt_current:lt_revision:lt_age]) +m4_define([lt_current_minus_age], [m4_eval(lt_current - lt_age)]) + +SO_VERSION=lt_version_info +AC_SUBST(SO_VERSION) + # Enable some nice automake features if they are available m4_ifdef([AM_MAINTAINER_MODE], [AM_MAINTAINER_MODE]) m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])