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
|
## Summarise Configurations
|
||||||
summary({
|
summary({
|
||||||
'Enabled pipelines': pipelines,
|
'Enabled pipelines': pipelines,
|
||||||
'Enabled IPA modules': enabled_ipa_modules,
|
'Enabled IPA modules': enabled_ipa_names,
|
||||||
'Tracing support': tracing_enabled,
|
'Tracing support': tracing_enabled,
|
||||||
'Android support': android_enabled,
|
'Android support': android_enabled,
|
||||||
'GStreamer support': gst_enabled,
|
'GStreamer support': gst_enabled,
|
||||||
|
|
|
@ -29,3 +29,5 @@ if ipa_sign_module
|
||||||
install : false,
|
install : false,
|
||||||
build_by_default : true)
|
build_by_default : true)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ipa_names += ipa_name
|
||||||
|
|
|
@ -36,16 +36,31 @@ if get_option('test') and 'vimc' not in ipa_modules
|
||||||
endif
|
endif
|
||||||
|
|
||||||
enabled_ipa_modules = []
|
enabled_ipa_modules = []
|
||||||
|
enabled_ipa_names = []
|
||||||
|
ipa_names = []
|
||||||
|
|
||||||
# The ipa-sign-install.sh script which uses the ipa_names variable will itself
|
subdirs = []
|
||||||
# prepend MESON_INSTALL_DESTDIR_PREFIX to each ipa module name, therefore we
|
|
||||||
# must not include the prefix string here.
|
|
||||||
foreach pipeline : pipelines
|
foreach pipeline : pipelines
|
||||||
if ipa_modules.contains(pipeline)
|
if not ipa_modules.contains(pipeline)
|
||||||
subdir(pipeline)
|
continue
|
||||||
ipa_names += ipa_install_dir / ipa_name + '.so'
|
|
||||||
enabled_ipa_modules += pipeline
|
|
||||||
endif
|
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
|
endforeach
|
||||||
|
|
||||||
if ipa_sign_module
|
if ipa_sign_module
|
||||||
|
@ -54,5 +69,5 @@ if ipa_sign_module
|
||||||
# install time, which invalidates the signatures.
|
# install time, which invalidates the signatures.
|
||||||
meson.add_install_script('ipa-sign-install.sh',
|
meson.add_install_script('ipa-sign-install.sh',
|
||||||
ipa_priv_key.full_path(),
|
ipa_priv_key.full_path(),
|
||||||
ipa_names)
|
enabled_ipa_modules)
|
||||||
endif
|
endif
|
||||||
|
|
|
@ -64,3 +64,5 @@ if ipa_sign_module
|
||||||
endif
|
endif
|
||||||
|
|
||||||
subdir('data')
|
subdir('data')
|
||||||
|
|
||||||
|
ipa_names += ipa_name
|
||||||
|
|
|
@ -29,3 +29,5 @@ if ipa_sign_module
|
||||||
install : false,
|
install : false,
|
||||||
build_by_default : true)
|
build_by_default : true)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ipa_names += ipa_name
|
||||||
|
|
|
@ -21,3 +21,5 @@ if ipa_sign_module
|
||||||
endif
|
endif
|
||||||
|
|
||||||
subdir('data')
|
subdir('data')
|
||||||
|
|
||||||
|
ipa_names += ipa_name
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue