Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rational (from: https://gitlab.freedesktop.org/wayland/wayland/-/issues/175): The ABI of a shared library on Linux is given by a major version, which is part of the SONAME and is incremented (rarely) on incompatible changes, and a minor version, which is part of the basename of the regular file to which the SONAME provides a symlink. It's conventional to manage the ABI version in the style of semantic versioning (major.minor.micro where the major version goes up for incompatible changes, the minor version goes up for new ABI, or the micro version goes up for internal fixes), although this is not strictly required. The minor version is used by `ldconfig(8)` and by some projects to choose which of potentially several copies of a library is the newest; keeping it the same means we can't tell, and will potentially choose an outdated version. --- In xkbcommon we did not have an API break for a long time, so in order to avoid an unnecessary SONAME bump, let’s keep the major version version at 0, e.g. xkbcommon 1.x.y produces `libxkbcommon.so.0.x.y`. The same goes for `libxkbcommon-x11` and `libxkbregistry`. Note: each library has its own handling of the major version, although right now it is identical.
- Loading branch information