build: use separate versioning schemes for API & ABI
authorBartosz Golaszewski <bartekgola@gmail.com>
Tue, 13 Mar 2018 17:14:48 +0000 (18:14 +0100)
committerBartosz Golaszewski <bartekgola@gmail.com>
Wed, 14 Mar 2018 18:43:35 +0000 (19:43 +0100)
commit4e8f582ff71f8af895eb9ec7fc3b55b79becde14
tree1493826c05b42e27d875a360eb899db7eb44bea7
parent4fcb25ca3bf2fb8696ef935752a97aaeeaab2b10
build: use separate versioning schemes for API & ABI

Commit 783ff2e3c707 ("API: start certain enums from 1") broke the ABI
compatibility (while keeping the source compatibility). We need to
indicate that to the users by changing the SONAME string. Up until now
the SONAME would correspond with the major release number. We now need
to have a separate versioning schemes for API and ABI.

Keep using the same MAJOR.MINOR.RELEASE scheme for the API, but switch
to using the libtool versioning - CURRENT.REVISION.AGE - for ABI. Start
the ABI version from 2.0.0 to indicate that it changed since 1.0.0.

Define a separate ABI version for the C++ bindings, but start with 0.0.0
since it was not a part of any release yet.

Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
bindings/cxx/Makefile.am
configure.ac
src/lib/Makefile.am