ipa: meson: Allow nested IPA directory structures
The current IPA build files require a flat directory structure for the IPAs. Modify the build files to remove this restriction and allow a directory structure such as: src/ipa |- raspberrypi |- common |- cam_helpers |- controller |- vc4 |- rkisp1 |- ipu3 where each subdir (e.g. raspberrypi/common, raspberrypi/cam_helper) has its own meson.build file. Such a directory structure will be introduced for the Raspberry Pi IPA in a future commit. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> Reviewed-by: Jacopo Mondi <jacopo.mondi@ideasonboard.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
6388449a79
commit
e8526c0c2b
6 changed files with 32 additions and 9 deletions
|
@ -262,7 +262,7 @@ py_mod.find_installation('python3', modules: py_modules)
|
|||
## Summarise Configurations
|
||||
summary({
|
||||
'Enabled pipelines': pipelines,
|
||||
'Enabled IPA modules': enabled_ipa_modules,
|
||||
'Enabled IPA modules': enabled_ipa_names,
|
||||
'Tracing support': tracing_enabled,
|
||||
'Android support': android_enabled,
|
||||
'GStreamer support': gst_enabled,
|
||||
|
|
|
@ -29,3 +29,5 @@ if ipa_sign_module
|
|||
install : false,
|
||||
build_by_default : true)
|
||||
endif
|
||||
|
||||
ipa_names += ipa_name
|
||||
|
|
|
@ -36,16 +36,31 @@ if get_option('test') and 'vimc' not in ipa_modules
|
|||
endif
|
||||
|
||||
enabled_ipa_modules = []
|
||||
enabled_ipa_names = []
|
||||
ipa_names = []
|
||||
|
||||
# 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.
|
||||
subdirs = []
|
||||
foreach pipeline : pipelines
|
||||
if ipa_modules.contains(pipeline)
|
||||
subdir(pipeline)
|
||||
ipa_names += ipa_install_dir / ipa_name + '.so'
|
||||
enabled_ipa_modules += pipeline
|
||||
if not ipa_modules.contains(pipeline)
|
||||
continue
|
||||
endif
|
||||
enabled_ipa_names += pipeline
|
||||
|
||||
# Allow multi-level directory structuring for the IPAs if needed.
|
||||
pipeline = pipeline.split('/')[0]
|
||||
if pipeline in subdirs
|
||||
continue
|
||||
endif
|
||||
|
||||
subdir(pipeline)
|
||||
subdirs += pipeline
|
||||
endforeach
|
||||
|
||||
# The ipa-sign-install.sh script which uses the enabled_ipa_modules variable
|
||||
# will itself prepend MESON_INSTALL_DESTDIR_PREFIX to each ipa module name,
|
||||
# therefore we must not include the prefix string here.
|
||||
foreach ipa_name : ipa_names
|
||||
enabled_ipa_modules += ipa_install_dir / ipa_name + '.so'
|
||||
endforeach
|
||||
|
||||
if ipa_sign_module
|
||||
|
@ -54,5 +69,5 @@ if ipa_sign_module
|
|||
# install time, which invalidates the signatures.
|
||||
meson.add_install_script('ipa-sign-install.sh',
|
||||
ipa_priv_key.full_path(),
|
||||
ipa_names)
|
||||
enabled_ipa_modules)
|
||||
endif
|
||||
|
|
|
@ -64,3 +64,5 @@ if ipa_sign_module
|
|||
endif
|
||||
|
||||
subdir('data')
|
||||
|
||||
ipa_names += ipa_name
|
||||
|
|
|
@ -29,3 +29,5 @@ if ipa_sign_module
|
|||
install : false,
|
||||
build_by_default : true)
|
||||
endif
|
||||
|
||||
ipa_names += ipa_name
|
||||
|
|
|
@ -21,3 +21,5 @@ if ipa_sign_module
|
|||
endif
|
||||
|
||||
subdir('data')
|
||||
|
||||
ipa_names += ipa_name
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue