mirror of
https://gitlab.freedesktop.org/wayland/weston
synced 2024-07-23 19:54:13 +00:00
README: minor the libweston ABI/API documentation
v2: Elaborate what is meant with "major ABI versions" (Pekka). Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> (v1)
This commit is contained in:
parent
99ac6232fa
commit
2d01e9138e
25
README
25
README
|
@ -41,25 +41,25 @@ continue evolving through many Weston releases before it achieves a
|
||||||
stable API and feature completeness.
|
stable API and feature completeness.
|
||||||
|
|
||||||
|
|
||||||
API (in)stability and parallel installability
|
API/ABI (in)stability and parallel installability
|
||||||
---------------------------------------------
|
-------------------------------------------------
|
||||||
|
|
||||||
As libweston's API surface is huge, it is impossible to get it right
|
As libweston's API surface is huge, it is impossible to get it right
|
||||||
in one go. Therefore developers reserve the right to break the API
|
in one go. Therefore developers reserve the right to break the API/ABI
|
||||||
between every 1.x.0 Weston release (minor version bumps), just like
|
between every 1.x.0 Weston release (minor version bumps), just like
|
||||||
Weston's plugin API does. For git snapshots of the master branch, the
|
Weston's plugin API does. For git snapshots of the master branch, the
|
||||||
API can break any time without warning or version bump.
|
API/ABI can break any time without warning or version bump.
|
||||||
|
|
||||||
Libweston API or ABI will not be broken between Weston's stable
|
Libweston API or ABI will not be broken between Weston's stable
|
||||||
releases 1.x.0 and 1.x.y, where y < 90.
|
releases 1.x.0 and 1.x.y, where y < 90.
|
||||||
|
|
||||||
To make things tolerable for libweston users despite ABI breakages,
|
To make things tolerable for libweston users despite API/ABI breakages,
|
||||||
libweston is designed to be perfectly parallel-installable. An
|
libweston is designed to be perfectly parallel-installable. An
|
||||||
ABI-version is defined for libweston, and it is bumped for releases as
|
API/ABI-version is defined for libweston, and it is bumped for releases as
|
||||||
needed. Different ABI-versions of libweston can be installed in
|
needed. Different non-backward compatible ABI versions of libweston can be
|
||||||
parallel, so that external projects can easily depend on a particular
|
installed in parallel, so that external projects can easily depend on a
|
||||||
ABI-version, and they do not have to fight over which ABI-version is
|
particular ABI-version. Thus they do not have to fight over which ABI-version
|
||||||
installed in a user's system. This allows a user to install many
|
is installed in a user's system. This allows a user to install many
|
||||||
different compositors each requiring a different libweston ABI-version
|
different compositors each requiring a different libweston ABI-version
|
||||||
without tricks or conflicts.
|
without tricks or conflicts.
|
||||||
|
|
||||||
|
@ -161,8 +161,9 @@ would be roughly like this:
|
||||||
|
|
||||||
- and possibly more...
|
- and possibly more...
|
||||||
|
|
||||||
Everything should be parallel-installable across libweston
|
Everything should be parallel-installable across libweston major
|
||||||
ABI-versions, except those explicitly mentioned.
|
ABI-versions (libweston-1.so, libweston-2.so, etc.), except those
|
||||||
|
explicitly mentioned.
|
||||||
|
|
||||||
Weston's build may not sanely allow this yet, but this is the
|
Weston's build may not sanely allow this yet, but this is the
|
||||||
intention.
|
intention.
|
||||||
|
|
Loading…
Reference in a new issue