[libcamera-devel] [PATCH v2 2/2] v4l2: Move the v4l2 compat layer to libexec/libcamera

Kieran Bingham kieran.bingham at ideasonboard.com
Thu May 4 16:48:01 CEST 2023


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 at 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',
-- 
2.34.1



More information about the libcamera-devel mailing list