Skip to content

Commit cf39bf7

Browse files
committed
Stop using -release, reset abi version fields
The use of `-release` forces recompilation of reverse dependencies on every new release and makes the abi version fields essentially cosmetic (even if they correctly track (in)compatibility). Clarified the comments on how to handle the abi fields on releases, since the short forms didn't cover resetting the age/revision flags. Reordered the field declarations in the automake file to match the order in which they are passed to -version-info.
1 parent 673c082 commit cf39bf7

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

Makefile.am

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ LIBS = $(JSON_LIBS) $(GLIB_LIBS) @LIBS@
9090
lib_LTLIBRARIES = libmypaint.la
9191

9292
libmypaint_la_LDFLAGS = \
93-
-release @LIBMYPAINT_API_PLATFORM_VERSION@ \
9493
-version-info @LIBMYPAINT_ABI_VERSION_INFO@ \
9594
-no-undefined
9695

configure.ac

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,21 @@ m4_define([libmypaint_api_prerelease], []) # may be blank
1717
# https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
1818
# The rules are fiddly, and are summarized here.
1919

20-
m4_define([libmypaint_abi_revision], [2]) # increment on every release
21-
m4_define([libmypaint_abi_current], [2]) # inc when add/remove/change interfaces
22-
m4_define([libmypaint_abi_age], [1]) # inc only if changes backward compat
20+
# NOTE: Due to the use of the ``-release`` flag, prior to the 1.6.1 release,
21+
# the ABI version fields were not used in a meaningful way, since the SONAME
22+
# differed even for ABI-compatible versions of the library.
23+
24+
# Increment if any public interfaces have been
25+
# added/removed/changed since the last release.
26+
m4_define([libmypaint_abi_current], [0])
27+
28+
# Set to 0 if ``current`` is incremented, otherwise increment
29+
# if the __code__ has changed at all since the last release.
30+
m4_define([libmypaint_abi_revision], [0])
31+
32+
# Set to 0 if any public interfaces have been removed/changed since the last release,
33+
# otherwise increment if any public interfaces have been __added__.
34+
m4_define([libmypaint_abi_age], [0]) # inc only if changes backward compat
2335

2436

2537
## Derivative version macros ##

0 commit comments

Comments
 (0)