Files
external_libcamera/src/ipa/meson.build
Kieran Bingham 94d1af771e meson: summarise paths
The IPAs are loaded from a defined location set as IPA_MODULE_DIR.
Furthermore, configuration files for both libcamera and IPAs are loaded
from paths defined during the meson configuration.

To make it easy to identify these locations for a given configuration,
present them as a 'paths' section in the meson summary.

This adds a summary section to meson in the form:

  Paths
    LIBCAMERA_DATA_DIR       : "/usr/share/libcamera"
    LIBCAMERA_SYSCONF_DIR    : "/etc/camera/libcamera"
    IPA_PROXY_DIR            : "/usr/libexec/libcamera"
    IPA_CONFIG_DIR           : "/etc/camera/libcamera/ipa:/usr/share/libcamera/ipa"
    IPA_MODULE_DIR           : "/usr/lib/x86_64-linux-gnu/libcamera"

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
2021-06-16 15:38:45 +01:00

49 lines
1.4 KiB
Meson

# SPDX-License-Identifier: CC0-1.0
ipa_includes = [
libcamera_includes,
]
ipa_install_dir = libcamera_libdir
ipa_data_dir = libcamera_datadir / 'ipa'
ipa_sysconf_dir = libcamera_sysconfdir / 'ipa'
config_h.set('IPA_CONFIG_DIR',
'"' + get_option('prefix') / ipa_sysconf_dir +
':' + get_option('prefix') / ipa_data_dir + '"')
config_h.set('IPA_MODULE_DIR',
'"' + get_option('prefix') / ipa_install_dir + '"')
summary({
'IPA_CONFIG_DIR' : config_h.get('IPA_CONFIG_DIR'),
'IPA_MODULE_DIR' : config_h.get('IPA_MODULE_DIR'),
}, section : 'Paths')
subdir('libipa')
ipa_sign = files('ipa-sign.sh')
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 ipa_modules.contains(pipeline)
subdir(pipeline)
ipa_names += ipa_install_dir / ipa_name + '.so'
endif
endforeach
if ipa_sign_module
# Regenerate the signatures for all IPA modules. We can't simply install the
# .sign files, as meson strips the DT_RPATH and DT_RUNPATH from binaries at
# install time, which invalidates the signatures.
meson.add_install_script('ipa-sign-install.sh',
ipa_priv_key.full_path(),
ipa_names)
endif