summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUmang Jain <umang.jain@ideasonboard.com>2021-05-24 14:50:23 +0530
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2021-05-24 14:27:29 +0300
commite8924f30f7186a9523b8850976f01d27713e397c (patch)
tree1c0e7218a36f453a48c2b88ee04ff1e88c5d8c46
parentc76ca01323d8f7cb26b3a0c1137de92f7538a2c6 (diff)
meson: Add a configuration option to build IPAs
There can be multiple IPAs per pipeline-handler or platform. They can live in-tree or externally linked. It is up to the vendor whether to use in-tree IPA for a platform or provide it externally. In the case of IPAs being external, building in-tree IPAs might be futile hence, provide a clear and explicit mechanism to choose whether to build the in-tree IPA for the platform or not. By default, all in-tree IPAs are built when a matching Pipeline handler is also enabled. Signed-off-by: Umang Jain <umang.jain@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-rw-r--r--meson.build1
-rw-r--r--meson_options.txt5
-rw-r--r--src/ipa/meson.build5
3 files changed, 9 insertions, 2 deletions
diff --git a/meson.build b/meson.build
index 46eb1b46..6626fa7e 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