[libcamera-devel] [PATCH] libcamera: Enable vimc pipeline handler when tests are enabled

Kieran Bingham kieran.bingham at ideasonboard.com
Tue Feb 23 10:58:15 CET 2021


Hi Laurent,

On 23/02/2021 01:15, Laurent Pinchart wrote:
> The

How about:

The addition of the new IPA IPC mechanism compiles pipeline specific
headers to define the interface between the pipeline and the IPA.

This was optimised in 08ce394465b5 ("meson: ipa, proxy: Only build
proxies for enabled pipelines") to only build for enabled pipelines,
however the tests directly use the VIMC pipeline handler, and require
it to be built.

Create a local variable to store the requested pipelines from the user
configuration and extend the enabled pipelines to ensure that VIMC is
always enabled if the tests are also enabled

With a commit message as you wish:

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

> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> ---
>  include/libcamera/ipa/meson.build  |  2 +-
>  meson.build                        | 13 ++++++++++++-
>  src/ipa/meson.build                |  2 +-
>  src/libcamera/pipeline/meson.build |  2 +-
>  4 files changed, 15 insertions(+), 4 deletions(-)
> 
> diff --git a/include/libcamera/ipa/meson.build b/include/libcamera/ipa/meson.build
> index a4d3f868dd41..2d72c1fcc8d6 100644
> --- a/include/libcamera/ipa/meson.build
> +++ b/include/libcamera/ipa/meson.build
> @@ -72,7 +72,7 @@ ipa_mojoms = []
>  foreach file : ipa_mojom_files
>      name = file.split('.')[0]
>  
> -    if not get_option('pipelines').contains(name)
> +    if name not in pipelines
>          continue
>      endif
>  
> diff --git a/meson.build b/meson.build
> index be77191d22c4..1768f6eaf98e 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -111,6 +111,17 @@ py_modules = []
>  # Libraries used by multiple components
>  liblttng = cc.find_library('lttng-ust', required : get_option('tracing'))
>  
> +# Pipeline handlers
> +#
> +# Tests require the vimc pipeline handler, include it automatically when tests
> +# are enabled.
> +pipelines = get_option('pipelines')
> +
> +if get_option('test') and 'vimc' not in pipelines
> +    message('Enabling vimc pipeline handler to support tests')
> +    pipelines += ['vimc']
> +endif
> +
>  # Utilities are parsed first to provide support for other components.
>  subdir('utils')
>  
> @@ -156,5 +167,5 @@ py_mod.find_installation('python3', modules: py_modules)
>  
>  ## Summarise Configurations
>  summary({
> -            'Enabled pipelines': get_option('pipelines'),
> +            'Enabled pipelines': pipelines,
>          }, section : 'Configuration')
> diff --git a/src/ipa/meson.build b/src/ipa/meson.build
> index 9d623f227a1f..df385eae84d3 100644
> --- a/src/ipa/meson.build
> +++ b/src/ipa/meson.build
> @@ -22,7 +22,7 @@ ipa_sign = files('ipa-sign.sh')
>  ipas = ['ipu3', 'raspberrypi', 'rkisp1', 'vimc']
>  ipa_names = []
>  
> -foreach pipeline : get_option('pipelines')
> +foreach pipeline : pipelines
>      if ipas.contains(pipeline)
>          subdir(pipeline)
>          ipa_names += join_paths(ipa_install_dir, ipa_name + '.so')
> diff --git a/src/libcamera/pipeline/meson.build b/src/libcamera/pipeline/meson.build
> index 46424493aa37..30dc5b97f1dc 100644
> --- a/src/libcamera/pipeline/meson.build
> +++ b/src/libcamera/pipeline/meson.build
> @@ -1,5 +1,5 @@
>  # SPDX-License-Identifier: CC0-1.0
>  
> -foreach pipeline : get_option('pipelines')
> +foreach pipeline : pipelines
>      subdir(pipeline)
>  endforeach
> 

-- 
Regards
--
Kieran


More information about the libcamera-devel mailing list