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

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon May 1 13:55:56 CEST 2023


Hi Kieran,

Thank you for the patch.

On Mon, May 01, 2023 at 12:44:52PM +0100, Kieran Bingham via libcamera-devel wrote:
> Now that we identify ABI breakages,

Can you explain how so ? Ideally I'd like a script in the utils/
directory to handle the ABI checks.

> 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 6e363a906c69..4afe7d1624a7 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')
>  

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list