[libcamera-devel] [PATCH v2 6/7] meson: Add a configuration option to build IPAs

Umang Jain umang.jain at ideasonboard.com
Wed May 19 12:19:53 CEST 2021


There can be multiple IPAs per pipeline-handler or platform.
They can live in-tree or externally linked. To support the externally
linked IPA use-case, provide a mechanism to choose whether or not
to build the IPAs in tree, with the help of a meson configuration
option.

By default, all in-tree IPAs are built.

Signed-off-by: Umang Jain <umang.jain at ideasonboard.com>
---
 meson.build         | 1 +
 meson_options.txt   | 5 +++++
 src/ipa/meson.build | 5 +++--
 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
-- 
2.26.2



More information about the libcamera-devel mailing list