summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-02-22 23:05:46 +0200
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-02-23 12:53:15 +0200
commit6e65d4225736cec2fb58168e0e66951483f13903 (patch)
tree5f490f772ac9bee0e6c6bccd7babd26e64296a25
parent6c4ce7de30c87a785001bc1e6632aa7b401854ce (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.build2
-rw-r--r--meson.build13
-rw-r--r--src/ipa/meson.build2
-rw-r--r--src/libcamera/pipeline/meson.build2
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