[libcamera-devel] [PATCH 3/7] src: meson: Define system paths

Jacopo Mondi jacopo at jmondi.org
Wed Mar 24 12:25:23 CET 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().

Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>

---
v2:
 - Add comments explaining why we can't use prefix throughout
 - Squash src/meson and src/ipa/meson changes together

v3:
 - Remove the config_h additions until they are needed
 - Remove the convenience variables, and use get_option() directly
---
 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 c908b0675773..208ae45b5bef 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -1,5 +1,14 @@
 # SPDX-License-Identifier: CC0-1.0
 
+# Handle 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.30.0



More information about the libcamera-devel mailing list