wayland/cursor
Simon McVittie 0cdd2a5c54 build: Include the Wayland minor version in libraries' ABI versions
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.

Until now, the ABI minor version was hard-coded, which means we can't
tell which of a pair of Wayland libraries is newer (and therefore
likely to have more symbols and/or fewer bugs).

libwayland-egl already had ABI major version 1, so we can use the
"marketing" version number as the ABI major.minor version number
directly, so Wayland 1.19.90 would produce
libwayland-egl.so.1 -> libwayland-egl.so.1.19.90.

libwayland-cursor and libwayland-server have ABI major version 0,
and OS distributions don't like it when there's a SONAME bump for no
good reason, so use their existing ABI major version together with
the "marketing" minor version:
libwayland-cursor.so.0 -> libwayland-cursor.so.0.19.90.

If the Wayland major version number is incremented to 2, we'll have to
rethink this, so add some error() to break the build if/when that
happens. Assuming that Wayland 2.0 would involve breaking changes,
the best way would probably to bump all the SONAMEs to
libwayland-foo.so.2.

Resolves: https://gitlab.freedesktop.org/wayland/wayland/-/issues/175
Signed-off-by: Simon McVittie <smcv@collabora.com>
2021-10-28 12:46:06 +00:00
..
convert_font.c cursor/convert_font.c: malloc cannot guarantee that the memory allocated is always successful 2020-10-29 13:00:20 +00:00
cursor-data.h (multiple): Include stdint.h 2016-07-25 18:39:32 -07:00
cursor.pcf cursor: add cursor.pcf and extraction program 2012-09-10 21:05:14 -04:00
meson.build build: Include the Wayland minor version in libraries' ABI versions 2021-10-28 12:46:06 +00:00
os-compatibility.c cursor: fix typo "insufficent" 2020-12-17 16:03:14 -05:00
os-compatibility.h cursor/os-compatibility: move resizing into a separate function 2020-02-23 20:42:54 +00:00
wayland-cursor.c cursor: remove unused wl_cursor_theme.name 2021-08-06 09:26:03 +00:00
wayland-cursor.h cursor: Properly document wl_cursor_image and wl_cursor 2020-06-05 11:05:20 +00:00
xcursor.c cursor: fix CVE-2013-2003 2021-05-02 21:35:23 +02:00
xcursor.h Use fixed size integer type 2020-09-04 12:27:23 +02:00