summaryrefslogtreecommitdiffstats
path: root/src/cryptsetup/cryptsetup-tokens/meson.build
blob: b26940c6a3b10079fc70afabb158558518d72835 (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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# SPDX-License-Identifier: LGPL-2.1-or-later

lib_cryptsetup_token_common = static_library(
        'cryptsetup-token-common',
        'cryptsetup-token-util.c',
        include_directories : includes,
        dependencies : userspace,
        link_with : libshared,
        build_by_default : false)

cryptsetup_token_systemd_tpm2_sources = files(
        'cryptsetup-token-systemd-tpm2.c',
        'luks2-tpm2.c',
)

cryptsetup_token_systemd_fido2_sources = files(
        'cryptsetup-token-systemd-fido2.c',
        'luks2-fido2.c',
)

cryptsetup_token_systemd_pkcs11_sources = files(
        'cryptsetup-token-systemd-pkcs11.c',
        'luks2-pkcs11.c',
)

template = {
        'include_directories' : includes,
        'link_with' : [
                lib_cryptsetup_token_common,
                libshared,
        ],
        'version-script' : meson.current_source_dir() / 'cryptsetup-token.sym',
        'install_rpath' : pkglibdir,
        'install' : true,
        'install_dir' : libcryptsetup_plugins_dir,
}

modules += [
        template + {
                'name' : 'cryptsetup-token-systemd-tpm2',
                'conditions' : [
                        'HAVE_LIBCRYPTSETUP_PLUGINS',
                        'HAVE_TPM2',
                ],
                'sources' : cryptsetup_token_systemd_tpm2_sources,
                'dependencies' : [
                        libcryptsetup,
                        tpm2,
                ],
        },
        template + {
                'name' : 'cryptsetup-token-systemd-fido2',
                'conditions' : [
                        'HAVE_LIBCRYPTSETUP_PLUGINS',
                        'HAVE_LIBFIDO2',
                ],
                'sources' : cryptsetup_token_systemd_fido2_sources,
                'dependencies' : [
                        libcryptsetup,
                        libfido2,
                ],
        },
        template + {
                'name' : 'cryptsetup-token-systemd-pkcs11',
                'conditions' : [
                        'HAVE_LIBCRYPTSETUP_PLUGINS',
                        'HAVE_P11KIT',
                ],
                'sources' : cryptsetup_token_systemd_pkcs11_sources,
                'dependencies' : [
                        libcryptsetup,
                        libp11kit_cflags,
                ],
        },
]