From e8924f30f7186a9523b8850976f01d27713e397c Mon Sep 17 00:00:00 2001 From: Umang Jain Date: Mon, 24 May 2021 14:50:23 +0530 Subject: 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 Reviewed-by: Paul Elder Reviewed-by: Jean-Michel Hautbois Reviewed-by: Laurent Pinchart Signed-off-by: Laurent Pinchart --- 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 -- cgit v1.2.1