[libcamera-devel,v2,2/2] v4l2: Move the v4l2 compat layer to libexec/libcamera
diff mbox series

Message ID 20230504144801.2590668-3-kieran.bingham@ideasonboard.com
State Accepted
Headers show
Series
  • V4L2 Compatibility installation directory
Related show

Commit Message

Kieran Bingham May 4, 2023, 2:48 p.m. UTC
Move the v4l2-compat.so shared library installation to the libcamera
directory under libexec. This is the same location that the proxy
workers live and will facilitate easier packaging of the V4L2
compatibiltiy layer with distributions.

Create a new libcamera_libexecdir variable within meson to simplify
representation of this path and update the proxy worker meson.build
infrastructure to make use of it as well.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 src/libcamera/proxy/worker/meson.build | 2 +-
 src/meson.build                        | 1 +
 src/v4l2/meson.build                   | 3 ++-
 3 files changed, 4 insertions(+), 2 deletions(-)

Comments

Laurent Pinchart May 4, 2023, 3:04 p.m. UTC | #1
Hi Kieran,

Thank you for the patch.

On Thu, May 04, 2023 at 03:48:01PM +0100, Kieran Bingham via libcamera-devel wrote:
> Move the v4l2-compat.so shared library installation to the libcamera
> directory under libexec. This is the same location that the proxy
> workers live and will facilitate easier packaging of the V4L2
> compatibiltiy layer with distributions.

s/compatibiltiy/compatibility/

> Create a new libcamera_libexecdir variable within meson to simplify
> representation of this path and update the proxy worker meson.build
> infrastructure to make use of it as well.
> 
> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>

Looks good !

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  src/libcamera/proxy/worker/meson.build | 2 +-
>  src/meson.build                        | 1 +
>  src/v4l2/meson.build                   | 3 ++-
>  3 files changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/src/libcamera/proxy/worker/meson.build b/src/libcamera/proxy/worker/meson.build
> index 70c8760a3d42..aa4d9cd7b5d8 100644
> --- a/src/libcamera/proxy/worker/meson.build
> +++ b/src/libcamera/proxy/worker/meson.build
> @@ -1,6 +1,6 @@
>  # SPDX-License-Identifier: CC0-1.0
>  
> -proxy_install_dir = get_option('libexecdir') / 'libcamera'
> +proxy_install_dir = libcamera_libexecdir
>  
>  # generate {pipeline}_ipa_proxy_worker.cpp
>  foreach mojom : ipa_mojoms
> diff --git a/src/meson.build b/src/meson.build
> index a3821fb90a0f..165a77bb9d53 100644
> --- a/src/meson.build
> +++ b/src/meson.build
> @@ -3,6 +3,7 @@
>  # Cache system paths
>  libcamera_datadir = get_option('datadir') / 'libcamera'
>  libcamera_libdir = get_option('libdir') / 'libcamera'
> +libcamera_libexecdir = get_option('libexecdir') / 'libcamera'
>  libcamera_sysconfdir = get_option('sysconfdir') / 'libcamera'
>  
>  config_h.set('LIBCAMERA_DATA_DIR', '"' + get_option('prefix') / libcamera_datadir + '"')
> diff --git a/src/v4l2/meson.build b/src/v4l2/meson.build
> index f132103cb503..ab4b35dd0e6b 100644
> --- a/src/v4l2/meson.build
> +++ b/src/v4l2/meson.build
> @@ -31,6 +31,7 @@ v4l2_compat = shared_library('v4l2-compat',
>                               v4l2_compat_sources,
>                               name_prefix : '',
>                               install : true,
> +                             install_dir : libcamera_libexecdir,
>                               dependencies : [libcamera_private, libdl],
>                               cpp_args : v4l2_compat_cpp_args)
>  
> @@ -38,7 +39,7 @@ v4l2_compat = shared_library('v4l2-compat',
>  # adaptation layer.
>  
>  cdata = configuration_data()
> -cdata.set('LIBCAMERA_V4L2_SO', get_option('prefix') / get_option('libdir') / 'v4l2-compat.so')
> +cdata.set('LIBCAMERA_V4L2_SO', get_option('prefix') / libcamera_libexecdir / 'v4l2-compat.so')
>  
>  configure_file(input : 'libcamerify.in',
>                 output : 'libcamerify',
Javier Martinez Canillas May 4, 2023, 3:39 p.m. UTC | #2
Kieran Bingham <kieran.bingham@ideasonboard.com> writes:

Hello Kieran,

> Move the v4l2-compat.so shared library installation to the libcamera
> directory under libexec. This is the same location that the proxy
> workers live and will facilitate easier packaging of the V4L2
> compatibiltiy layer with distributions.
>
> Create a new libcamera_libexecdir variable within meson to simplify
> representation of this path and update the proxy worker meson.build
> infrastructure to make use of it as well.
>
> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> ---

Thanks a lot for your patch!

Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>

Patch
diff mbox series

diff --git a/src/libcamera/proxy/worker/meson.build b/src/libcamera/proxy/worker/meson.build
index 70c8760a3d42..aa4d9cd7b5d8 100644
--- a/src/libcamera/proxy/worker/meson.build
+++ b/src/libcamera/proxy/worker/meson.build
@@ -1,6 +1,6 @@ 
 # SPDX-License-Identifier: CC0-1.0
 
-proxy_install_dir = get_option('libexecdir') / 'libcamera'
+proxy_install_dir = libcamera_libexecdir
 
 # generate {pipeline}_ipa_proxy_worker.cpp
 foreach mojom : ipa_mojoms
diff --git a/src/meson.build b/src/meson.build
index a3821fb90a0f..165a77bb9d53 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -3,6 +3,7 @@ 
 # Cache system paths
 libcamera_datadir = get_option('datadir') / 'libcamera'
 libcamera_libdir = get_option('libdir') / 'libcamera'
+libcamera_libexecdir = get_option('libexecdir') / 'libcamera'
 libcamera_sysconfdir = get_option('sysconfdir') / 'libcamera'
 
 config_h.set('LIBCAMERA_DATA_DIR', '"' + get_option('prefix') / libcamera_datadir + '"')
diff --git a/src/v4l2/meson.build b/src/v4l2/meson.build
index f132103cb503..ab4b35dd0e6b 100644
--- a/src/v4l2/meson.build
+++ b/src/v4l2/meson.build
@@ -31,6 +31,7 @@  v4l2_compat = shared_library('v4l2-compat',
                              v4l2_compat_sources,
                              name_prefix : '',
                              install : true,
+                             install_dir : libcamera_libexecdir,
                              dependencies : [libcamera_private, libdl],
                              cpp_args : v4l2_compat_cpp_args)
 
@@ -38,7 +39,7 @@  v4l2_compat = shared_library('v4l2-compat',
 # adaptation layer.
 
 cdata = configuration_data()
-cdata.set('LIBCAMERA_V4L2_SO', get_option('prefix') / get_option('libdir') / 'v4l2-compat.so')
+cdata.set('LIBCAMERA_V4L2_SO', get_option('prefix') / libcamera_libexecdir / 'v4l2-compat.so')
 
 configure_file(input : 'libcamerify.in',
                output : 'libcamerify',