[libcamera-devel] [PATCH v2 2/2] meson: Use x.y soname versioning

Kieran Bingham kieran.bingham at ideasonboard.com
Mon May 15 11:58:12 CEST 2023


Now that we identify ABI breakages, provide incremental releases which
can support backwards compatible linkage across release points that have
a compatible ABI.

Introduction of this commit does not convey that libcamera now has a
stable API, but that patch releases with a common minor number
(0.minor.patch) may potentially be used by applications without
recompilation and linkage against new releases.

Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
---
 meson.build | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/meson.build b/meson.build
index e1fd924307f7..9c1e708131eb 100644
--- a/meson.build
+++ b/meson.build
@@ -56,15 +56,13 @@ if libcamera_version != project_version
     libcamera_git_version += '-nvm'
 endif
 
-# Until we make ABI compatible releases, the full libcamera version is used as
-# the soname. No ABI/API compatibility is guaranteed between releases (x.y.z).
-#
-# When automatic ABI based detection is used to increment the version, this
-# will bump the minor number (x.y).
+# The major and minor libcamera version components are used as the soname.
+# No ABI/API compatibility is guaranteed between releases (x.y).
 #
 # When we declare a stable ABI/API we will provide a 1.0 release and the
 # soversion at that point will be the 'major' release value (x).
-libcamera_soversion = libcamera_version
+semver = libcamera_version.split('.')
+libcamera_soversion = semver[0] + '.' + semver[1]
 
 summary({ 'Sources': libcamera_git_version, }, section : 'Versions')
 
-- 
2.34.1



More information about the libcamera-devel mailing list