[libcamera-devel] [PATCH v4 2/5] src: meson: Define system paths

Jacopo Mondi jacopo at jmondi.org
Tue Apr 6 17:45:54 CEST 2021


From: Kieran Bingham <kieran.bingham at ideasonboard.com>

Define libcamera specific system paths for use within the library code
base. These can be used to identify system configuration files and
shared data.

Also, make use of the new system path variables and map the ipa paths
upon the libcamera system path, making use of the new shorter syntax for
join_paths().

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo at jmondi.org>
---
 src/ipa/meson.build | 17 ++++++++++-------
 src/meson.build     |  9 +++++++++
 2 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/src/ipa/meson.build b/src/ipa/meson.build
index df385eae84d3..b3f24f42f8af 100644
--- a/src/ipa/meson.build
+++ b/src/ipa/meson.build
@@ -1,19 +1,19 @@
 # SPDX-License-Identifier: CC0-1.0
 
-ipa_install_dir = join_paths(get_option('libdir'), 'libcamera')
-ipa_data_dir = join_paths(get_option('datadir'), 'libcamera', 'ipa')
-ipa_sysconf_dir = join_paths(get_option('sysconfdir'), 'libcamera', 'ipa')
-
 ipa_includes = [
     libcamera_includes,
 ]
 
+ipa_install_dir = libcamera_libdir
+ipa_data_dir = libcamera_datadir / 'ipa'
+ipa_sysconf_dir = libcamera_sysconfdir / 'ipa'
+
 config_h.set('IPA_CONFIG_DIR',
-             '"' + join_paths(get_option('prefix'), ipa_sysconf_dir) +
-             ':' + join_paths(get_option('prefix'), ipa_data_dir) + '"')
+             '"' + get_option('prefix') / ipa_sysconf_dir +
+             ':' + get_option('prefix') / ipa_data_dir + '"')
 
 config_h.set('IPA_MODULE_DIR',
-             '"' + join_paths(get_option('prefix'), ipa_install_dir) + '"')
+             '"' + get_option('prefix') / ipa_install_dir + '"')
 
 subdir('libipa')
 
@@ -22,6 +22,9 @@ ipa_sign = files('ipa-sign.sh')
 ipas = ['ipu3', 'raspberrypi', 'rkisp1', 'vimc']
 ipa_names = []
 
+# The ipa-sign-install.sh script which uses the ipa_names variable will itself
+# prepend MESON_INSTALL_DESTDIR_PREFIX to each ipa module name, therefore we
+# must not include the prefix string here.
 foreach pipeline : pipelines
     if ipas.contains(pipeline)
         subdir(pipeline)
diff --git a/src/meson.build b/src/meson.build
index 8c1c8763063b..53db2a677b8a 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1,5 +1,14 @@
 # SPDX-License-Identifier: CC0-1.0
 
+# Cache system paths
+libcamera_datadir = get_option('datadir') / 'libcamera'
+libcamera_libdir = get_option('libdir') / 'libcamera'
+libcamera_sysconfdir = get_option('sysconfdir') / 'libcamera'
+
+config_h.set('LIBCAMERA_DATA_DIR', '"' + get_option('prefix') / libcamera_datadir + '"')
+config_h.set('LIBCAMERA_SYSCONF_DIR', '"' + get_option('prefix') / libcamera_sysconfdir + '"')
+
+# Module Signing
 openssl = find_program('openssl', required : true)
 if openssl.found()
     ipa_priv_key = custom_target('ipa-priv-key',
-- 
2.31.1



More information about the libcamera-devel mailing list