libcamera: Enable vimc pipeline handler when tests are enabled

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 08ce394465 ("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

Fixes: 08ce394465 ("meson: ipa, proxy: Only build proxies for enabled pipelines")
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Tested-by: Sebastian Fricke<sebastian.fricke@posteo.net>
This commit is contained in:
Laurent Pinchart 2021-02-22 23:05:46 +02:00
parent 6c4ce7de30
commit 6e65d42257
4 changed files with 15 additions and 4 deletions

View file

@ -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

View file

@ -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')

View file

@ -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')

View file

@ -1,5 +1,5 @@
# SPDX-License-Identifier: CC0-1.0
foreach pipeline : get_option('pipelines')
foreach pipeline : pipelines
subdir(pipeline)
endforeach