summaryrefslogtreecommitdiff
path: root/src/ipa/meson.build
blob: e15a8a066f071ec15db1683c807939622e8d848d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 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