Closed gicmo closed 5 years ago
See also the GNOME docs on versioning.
Thinking about it, I guess we should also have nixio.pc
be renamed to nixio-1.0.pc
, since we are otherwise in a good place to have multiple, non-ABI compatible versions of nix parallel installable.
I have re-read the whole idea about libtool versioning and it is mostly aimed at making multiple library versions of same software installable, which is something that these days is not supported without any additional precautions due to packages managers. The usual way around this is to have an explicit suffix everywhere. Common examples are glib/Gtk.
What we do need to do is to incease VERSION_ABI
(which then gets translated into to the so version, i.e. libnixio.so.VERSION_ABI
), every time we break ABI.
If we want to include nixio into distribution repositories (e.g. issue #715) we need to be more careful about ABI breaks, which is a lot of fun to get right for C++. See KDE's policies. Currently we version our binaries with our semver, which is not ideal. I propose we use libtool like versioning and update rules.