summaryrefslogtreecommitdiffstats
path: root/tests/fuzz/meson.build
blob: 95ea3823ee912f0d85512e8457928dd5af70946f (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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
if get_option('fuzz-targets')
    crypt2_load_fuzz = executable('crypt2_load_fuzz',
        [
            'crypt2_load_fuzz.cc',
        ],
        dependencies: [
            devmapper,
            fuzzing_engine,
        ],
        link_with: [
            libcryptsetup,
            libcrypto_backend,
            libutils_io,
        ],
        link_args: [
            link_args,
        ],
        include_directories: includes_tools)

    crypt2_load_ondisk_fuzz = executable('crypt2_load_ondisk_fuzz',
        [
            'crypt2_load_ondisk_fuzz.cc',
        ],
        dependencies: [
            devmapper,
            fuzzing_engine,
        ],
        link_with: [
            libcryptsetup,
            libcrypto_backend,
            libutils_io,
        ],
        link_args: [
            link_args,
        ],
        include_directories: includes_tools)

    luks2_generated = protoc_generator.process('LUKS2.proto')
    crypt2_load_proto_fuzz = executable('crypt2_load_proto_fuzz',
        [
            'crypt2_load_proto_fuzz.cc',
            'proto_to_luks2_converter.cc',
            luks2_generated,
        ],
        dependencies: [
            devmapper,
            protobuf,
            libprotobuf_mutator,
            fuzzing_engine,
        ],
        link_with: [
            libcryptsetup,
            libcrypto_backend,
            libutils_io,
        ],
        link_args: [
            link_args,
        ],
        include_directories: includes_tools)

    luks2_plain_json_generated = protoc_generator.process('LUKS2_plain_JSON.proto')
    crypt2_load_proto_plain_fuzz = executable('crypt2_load_proto_plain_fuzz',
        [
            'crypt2_load_proto_plain_json_fuzz.cc',
            'json_proto_converter.cc',
            'plain_json_proto_to_luks2_converter.cc',
            luks2_plain_json_generated,
        ],
        dependencies: [
            devmapper,
            protobuf,
            libprotobuf_mutator,
            fuzzing_engine,
        ],
        link_with: [
            libcryptsetup,
            libcrypto_backend,
            libutils_io,
        ],
        link_args: [
            link_args,
        ],
        include_directories: includes_tools)

    proto_to_luks2 = executable('proto_to_luks2',
        [
            'proto_to_luks2.cc',
            'proto_to_luks2_converter.cc',
            luks2_generated,
        ],
        dependencies: [
            devmapper,
            protobuf,
            libprotobuf_mutator,
        ],
        link_with: [
            libcryptsetup,
            libcrypto_backend,
            libutils_io,
        ],
        link_args: [
            link_args,
        ],
        include_directories: includes_tools)

    plain_json_proto_to_luks2 = executable('plain_json_proto_to_luks2',
        [
            'plain_json_proto_to_luks2.cc',
            'plain_json_proto_to_luks2_converter.cc',
            'json_proto_converter.cc',
            luks2_plain_json_generated,
        ],
        dependencies: [
            devmapper,
            protobuf,
            libprotobuf_mutator,
        ],
        link_with: [
            libcryptsetup,
            libcrypto_backend,
            libutils_io,
        ],
        link_args: [
            link_args,
        ],
        include_directories: includes_tools)
endif