[libcamera-devel] [PATCH v3 6/6] meson: Add a configuration option to build IPAs

Laurent Pinchart laurent.pinchart at ideasonboard.com
Mon May 24 03:03:07 CEST 2021


Hi Umang,

Thank you for the patch.

On Fri, May 21, 2021 at 06:58:23PM +0530, Umang Jain wrote:
> There can be multiple IPAs per pipeline-handler or platform.
> They can live in-tree or externally linked. To support the externally
> linked IPA use-case, provide a mechanism to choose whether or not
> to build the IPAs in tree, with the help of a meson configuration
> option.

We can still build an out-of-tree IPA module if the in-tree module is
built. I don't dispute the fact that it's useful to select which in-tree
IPA modules to build, but maybe a more accurate explanation could be
useful in the commit message ?

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

> By default, all in-tree IPAs are built when a matching Pipeline handler
> is also enabled.
> 
> Signed-off-by: Umang Jain <umang.jain at ideasonboard.com>
> Reviewed-by: Paul Elder <paul.elder at ideasonboard.com>
> Reviewed-by: Jean-Michel Hautbois <jeanmichel.hautbois at ideasonboard.com>
> ---
>  meson.build         | 1 +
>  meson_options.txt   | 5 +++++
>  src/ipa/meson.build | 5 +++--
>  3 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index fa2a62cf..35c80c6a 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -167,6 +167,7 @@ py_mod.find_installation('python3', modules: py_modules)
>  ## Summarise Configurations
>  summary({
>              'Enabled pipelines': pipelines,
> +            'Enabled IPA modules': ipa_modules,
>              'Android support': android_enabled,
>              'GStreamer support': gst_enabled,
>              'V4L2 emulation support': v4l2_enabled,
> diff --git a/meson_options.txt b/meson_options.txt
> index 69f11f85..2c80ad8b 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -25,6 +25,11 @@ option('gstreamer',
>          value : 'auto',
>          description : 'Compile libcamera GStreamer plugin')
>  
> +option('ipas',
> +        type : 'array',
> +        choices : ['ipu3', 'raspberrypi', 'rkisp1', 'vimc'],
> +        description : 'Select which IPA modules to build')
> +
>  option('lc-compliance',
>          type : 'feature',
>          value : 'auto',
> diff --git a/src/ipa/meson.build b/src/ipa/meson.build
> index 5b5684a1..49245e5e 100644
> --- a/src/ipa/meson.build
> +++ b/src/ipa/meson.build
> @@ -19,14 +19,15 @@ subdir('libipa')
>  
>  ipa_sign = files('ipa-sign.sh')
>  
> -ipas = ['ipu3', 'raspberrypi', 'rkisp1', 'vimc']
>  ipa_names = []
>  
> +ipa_modules = get_option('ipas')
> +
>  # 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)
> +    if ipa_modules.contains(pipeline)
>          subdir(pipeline)
>          ipa_names += ipa_install_dir / ipa_name + '.so'
>      endif

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list