OSDN Git Service

API: fix versioning.
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>
Sun, 16 Oct 2011 10:08:52 +0000 (12:08 +0200)
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>
Thu, 20 Oct 2011 11:53:09 +0000 (13:53 +0200)
commit5b82650dcc150c71ff70d144d1f0fe95afeb291f
treee9404a43d55f2805de6d7dd16509703e4c010083
parent20dbf1dc1b3d570259ec94b5d4cb2e4f1de4e7cc
API: fix versioning.

We have to consider three distinct versions at this time: the VA-API
version, the library package version number, and the DSO version.

* VA-API version:
- increment major for any ABI change (which shall not occur!)
- increment minor for any interface change (e.g. new or modified function)
- increment micro for any other change (e.g. new flag, new codec definitions)
- reset micro version to zero when minor version is incremented
- reset minor version to zero when major version is incremented

* libva package version number:
- major version is automatically generated from VA-API major version
- minor version is automatically generated from VA-API minor version
- increment micro for any library release
- reset micro version to zero when VA-API major or minor version is incremented

* DSO version:
The SONAME shall remain to libva.so.1 for VA-API 0.x.y as long as the ABI
is not changed. Thus, the library name is generated as libva.<x>.<y>.0 where
<x> = VA-API major version + 1
<y> = 100 * VA-API minor version + VA-API micro version

For example:
VA-API 0.32.0 generates libva.so.1.3200.0 (libva 1.0.14 as of today)
VA-API 0.34.1 generates libva.so.1.3401.0 (e.g. libva 1.2.1)
VA-API 1.2.13 generates libva.so.2.213.0  (e.g. libva 2.2.13)

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
build/gen_version.sh
configure.ac
pkgconfig/libva-egl.pc.in
pkgconfig/libva-glx.pc.in
pkgconfig/libva-tpi.pc.in
pkgconfig/libva-x11.pc.in
pkgconfig/libva.pc.in
va/va_version.h.in