Skip to content

Commit

Permalink
Stop using -release, reset abi version fields
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
jplloyd committed May 11, 2020
1 parent 673c082 commit cf39bf7
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 4 deletions.
1 change: 0 additions & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,6 @@ LIBS = $(JSON_LIBS) $(GLIB_LIBS) @LIBS@
lib_LTLIBRARIES = libmypaint.la

libmypaint_la_LDFLAGS = \
-release @LIBMYPAINT_API_PLATFORM_VERSION@ \
-version-info @LIBMYPAINT_ABI_VERSION_INFO@ \
-no-undefined

Expand Down
18 changes: 15 additions & 3 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,21 @@ m4_define([libmypaint_api_prerelease], []) # may be blank
# https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
# The rules are fiddly, and are summarized here.

m4_define([libmypaint_abi_revision], [2]) # increment on every release
m4_define([libmypaint_abi_current], [2]) # inc when add/remove/change interfaces
m4_define([libmypaint_abi_age], [1]) # inc only if changes backward compat
# NOTE: Due to the use of the ``-release`` flag, prior to the 1.6.1 release,
# the ABI version fields were not used in a meaningful way, since the SONAME
# differed even for ABI-compatible versions of the library.

# Increment if any public interfaces have been
# added/removed/changed since the last release.
m4_define([libmypaint_abi_current], [0])

# Set to 0 if ``current`` is incremented, otherwise increment
# if the __code__ has changed at all since the last release.
m4_define([libmypaint_abi_revision], [0])

# Set to 0 if any public interfaces have been removed/changed since the last release,
# otherwise increment if any public interfaces have been __added__.
m4_define([libmypaint_abi_age], [0]) # inc only if changes backward compat


## Derivative version macros ##
Expand Down

0 comments on commit cf39bf7

Please sign in to comment.