diff options
author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-02-22 23:05:46 +0200 |
---|---|---|
committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2021-02-23 12:53:15 +0200 |
commit | 6e65d4225736cec2fb58168e0e66951483f13903 (patch) | |
tree | 5f490f772ac9bee0e6c6bccd7babd26e64296a25 | |
parent | 6c4ce7de30c87a785001bc1e6632aa7b401854ce (diff) |
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 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
Fixes: 08ce394465b5 ("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>
-rw-r--r-- | include/libcamera/ipa/meson.build | 2 | ||||
-rw-r--r-- | meson.build | 13 | ||||
-rw-r--r-- | src/ipa/meson.build | 2 | ||||
-rw-r--r-- | 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 a4d3f868..2d72c1fc 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 be77191d..1768f6ea 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 9d623f22..df385eae 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 46424493..30dc5b97 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 |