[libcamera-devel] [PATCH 3/4] src: meson: Define system paths
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Mon Dec 7 20:14:53 CET 2020
Hi Kieran,
Thank you for the patch.
On Mon, Dec 07, 2020 at 03:07:36PM +0000, Kieran Bingham wrote:
> 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
>
> src/ipa/meson.build | 19 ++++++++++---------
> src/meson.build | 14 ++++++++++++++
> 2 files changed, 24 insertions(+), 9 deletions(-)
>
> diff --git a/src/ipa/meson.build b/src/ipa/meson.build
> index 5a5de267c147..41625ed471bc 100644
> --- a/src/ipa/meson.build
> +++ b/src/ipa/meson.build
> @@ -1,19 +1,17 @@
> # 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,
> ]
>
> -config_h.set('IPA_CONFIG_DIR',
> - '"' + join_paths(get_option('prefix'), ipa_sysconf_dir) +
> - ':' + join_paths(get_option('prefix'), ipa_data_dir) + '"')
> +ipa_install_dir = libcamera_libdir
> +ipa_data_dir = libcamera_datadir / 'ipa'
> +ipa_sysconf_dir = libcamera_sysconfdir / 'ipa'
> +
> +config_h.set('IPA_CONFIG_DIR', '"' + prefix / ipa_sysconf_dir +
> + ':' + prefix / ipa_data_dir + '"')
>
> -config_h.set('IPA_MODULE_DIR',
> - '"' + join_paths(get_option('prefix'), ipa_install_dir) + '"')
> +config_h.set('IPA_MODULE_DIR', '"' + prefix / ipa_install_dir + '"')
> subdir('libipa')
>
> @@ -22,6 +20,9 @@ ipa_sign = files('ipa-sign.sh')
> ipas = ['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 : get_option('pipelines')
> if ipas.contains(pipeline)
> subdir(pipeline)
> diff --git a/src/meson.build b/src/meson.build
> index 4b75f05878bc..f98fcede203b 100644
> --- a/src/meson.build
> +++ b/src/meson.build
> @@ -1,5 +1,19 @@
> # SPDX-License-Identifier: CC0-1.0
>
> +# Handle system paths
> +datadir = get_option('datadir')
> +libdir = get_option('libdir')
> +prefix = get_option('prefix')
> +sysconfdir = get_option('sysconfdir')
> +
> +libcamera_datadir = datadir / 'libcamera'
> +libcamera_libdir = libdir / 'libcamera'
> +libcamera_sysconfdir = sysconfdir / 'libcamera'
We could write this
libcamera_datadir = get_option('datadir') / 'libcamera'
libcamera_libdir = get_option('libdir') / 'libcamera'
libcamera_sysconfdir = get_option('sysconfdir') / 'libcamera'
to avoid the datadir, libdir and sysconfdir variables that are fairly
generic and could result in namespace clashes later.
> +
> +config_h.set('LIBCAMERA_DATA_DIR', '"' + prefix / libcamera_datadir + '"')
> +config_h.set('LIBCAMERA_SYSCONF_DIR', '"' + prefix / libcamera_sysconfdir + '"')
Those two variables are not used in this patch series, I believe they
were introduced to support the configuration file parser. Should they be
left out for now ?
Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> +
> +# Module Signing
> openssl = find_program('openssl', required : true)
> if openssl.found()
> ipa_priv_key = custom_target('ipa-priv-key',
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list