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

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Mar 26 04:18:55 CET 2021


Hi Jacopo and Kieran,

Thank you for the patch.

On Wed, Mar 24, 2021 at 12:25:23PM +0100, Jacopo Mondi wrote:
> 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

s/Handle/Cache/ ?

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

> +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',

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list