]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/libsystemd/meson.build
Merge pull request #18701 from bugaevc/mdns-unicast
[thirdparty/systemd.git] / src / libsystemd / meson.build
CommitLineData
db9ecf05 1# SPDX-License-Identifier: LGPL-2.1-or-later
3a726fcd 2
99b9f8fd
YW
3sd_journal_sources = files(
4 'sd-journal/audit-type.c',
5 'sd-journal/audit-type.h',
6 'sd-journal/catalog.c',
7 'sd-journal/catalog.h',
8 'sd-journal/compress.c',
9 'sd-journal/compress.h',
10 'sd-journal/journal-def.h',
11 'sd-journal/journal-file.c',
12 'sd-journal/journal-file.h',
13 'sd-journal/journal-internal.h',
14 'sd-journal/journal-send.c',
15 'sd-journal/journal-vacuum.c',
16 'sd-journal/journal-vacuum.h',
17 'sd-journal/journal-verify.c',
18 'sd-journal/journal-verify.h',
19 'sd-journal/lookup3.c',
20 'sd-journal/lookup3.h',
21 'sd-journal/mmap-cache.c',
22 'sd-journal/mmap-cache.h',
23 'sd-journal/sd-journal.c')
24
25if conf.get('HAVE_GCRYPT') == 1
26 sd_journal_sources += files(
27 'sd-journal/fsprg.c',
28 'sd-journal/fsprg.h',
29 'sd-journal/journal-authenticate.c',
30 'sd-journal/journal-authenticate.h')
31endif
32
33audit_type_includes = [config_h,
34 missing_audit_h,
35 'linux/audit.h']
36if conf.get('HAVE_AUDIT') == 1
37 audit_type_includes += 'libaudit.h'
38endif
39
40generate_audit_type_list = find_program('sd-journal/generate-audit_type-list.sh')
41audit_type_list_txt = custom_target(
42 'audit_type-list.txt',
43 output : 'audit_type-list.txt',
44 command : [generate_audit_type_list, cpp] + audit_type_includes,
45 capture : true)
46
47audit_type_to_name = custom_target(
48 'audit_type-to-name.h',
49 input : ['sd-journal/audit_type-to-name.awk', audit_type_list_txt],
50 output : 'audit_type-to-name.h',
51 command : [awk, '-f', '@INPUT0@', '@INPUT1@'],
52 capture : true)
53
54sd_journal_sources += [audit_type_to_name]
55
56############################################################
57
c83812b1
DC
58id128_sources = files('''
59 sd-id128/id128-util.c
60 sd-id128/id128-util.h
61 sd-id128/sd-id128.c
62'''.split())
63
99b9f8fd
YW
64############################################################
65
3fa3dc9e 66sd_daemon_sources = files('sd-daemon/sd-daemon.c')
a137a1c3 67
99b9f8fd
YW
68############################################################
69
14378226 70sd_event_sources = files('''
a137a1c3 71 sd-event/event-source.h
764c08e6
YW
72 sd-event/event-util.c
73 sd-event/event-util.h
a137a1c3
YW
74 sd-event/sd-event.c
75'''.split())
76
99b9f8fd
YW
77############################################################
78
3fa3dc9e 79sd_login_sources = files('sd-login/sd-login.c')
5c23128d 80
99b9f8fd
YW
81############################################################
82
37e4d7a8 83libsystemd_sources = files('''
37efbbd8
ZJS
84 sd-bus/bus-common-errors.c
85 sd-bus/bus-common-errors.h
86 sd-bus/bus-container.c
87 sd-bus/bus-container.h
88 sd-bus/bus-control.c
89 sd-bus/bus-control.h
90 sd-bus/bus-convenience.c
91 sd-bus/bus-creds.c
92 sd-bus/bus-creds.h
93 sd-bus/bus-dump.c
94 sd-bus/bus-dump.h
95 sd-bus/bus-error.c
96 sd-bus/bus-error.h
97 sd-bus/bus-gvariant.c
98 sd-bus/bus-gvariant.h
99 sd-bus/bus-internal.c
100 sd-bus/bus-internal.h
101 sd-bus/bus-introspect.c
102 sd-bus/bus-introspect.h
103 sd-bus/bus-kernel.c
104 sd-bus/bus-kernel.h
105 sd-bus/bus-match.c
106 sd-bus/bus-match.h
107 sd-bus/bus-message.c
108 sd-bus/bus-message.h
109 sd-bus/bus-objects.c
110 sd-bus/bus-objects.h
111 sd-bus/bus-protocol.h
112 sd-bus/bus-signature.c
113 sd-bus/bus-signature.h
114 sd-bus/bus-slot.c
115 sd-bus/bus-slot.h
116 sd-bus/bus-socket.c
117 sd-bus/bus-socket.h
118 sd-bus/bus-track.c
119 sd-bus/bus-track.h
120 sd-bus/bus-type.c
121 sd-bus/bus-type.h
37efbbd8 122 sd-bus/sd-bus.c
37efbbd8
ZJS
123 sd-device/device-enumerator-private.h
124 sd-device/device-enumerator.c
125 sd-device/device-internal.h
b1c097af
YW
126 sd-device/device-monitor-private.h
127 sd-device/device-monitor.c
37efbbd8
ZJS
128 sd-device/device-private.c
129 sd-device/device-private.h
ac790e8b 130 sd-device/device-util.c
37efbbd8
ZJS
131 sd-device/device-util.h
132 sd-device/sd-device.c
37efbbd8 133 sd-hwdb/hwdb-internal.h
6a34639e 134 sd-hwdb/hwdb-util.c
37efbbd8
ZJS
135 sd-hwdb/hwdb-util.h
136 sd-hwdb/sd-hwdb.c
05d0c2e3 137 sd-netlink/generic-netlink.c
4e8f0ef9 138 sd-netlink/generic-netlink.h
37efbbd8
ZJS
139 sd-netlink/netlink-internal.h
140 sd-netlink/netlink-message.c
ee38400b
YW
141 sd-netlink/netlink-slot.c
142 sd-netlink/netlink-slot.h
37efbbd8
ZJS
143 sd-netlink/netlink-socket.c
144 sd-netlink/netlink-types.c
145 sd-netlink/netlink-types.h
146 sd-netlink/netlink-util.c
147 sd-netlink/netlink-util.h
347ea167 148 sd-netlink/nfnl-message.c
37efbbd8
ZJS
149 sd-netlink/rtnl-message.c
150 sd-netlink/sd-netlink.c
151 sd-network/network-util.c
152 sd-network/network-util.h
153 sd-network/sd-network.c
154 sd-path/sd-path.c
ceb26cdb 155 sd-resolve/resolve-private.h
37efbbd8
ZJS
156 sd-resolve/sd-resolve.c
157 sd-utf8/sd-utf8.c
99b9f8fd 158'''.split()) + sd_journal_sources + id128_sources + sd_daemon_sources + sd_event_sources + sd_login_sources
5c23128d 159
a5d8835c
ZJS
160disable_mempool_c = files('disable-mempool.c')
161
70848ecf
DC
162libsystemd_c_args = ['-fvisibility=default']
163
37e4d7a8 164libsystemd_static = static_library(
70848ecf 165 'systemd_static',
37e4d7a8 166 libsystemd_sources,
37efbbd8 167 install : false,
8d40961c 168 include_directories : libsystemd_includes,
37efbbd8
ZJS
169 link_with : libbasic,
170 dependencies : [threads,
a8e559d4 171 librt],
70848ecf 172 c_args : libsystemd_c_args)
5c23128d 173
024e9084
YW
174libsystemd_sym = files('libsystemd.sym')
175libsystemd_sym_path = join_paths(meson.current_source_dir(), 'libsystemd.sym')
176
177static_libsystemd = get_option('static-libsystemd')
178static_libsystemd_pic = static_libsystemd == 'true' or static_libsystemd == 'pic'
5c23128d 179
3d3075e3 180configure_file(
37efbbd8
ZJS
181 input : 'libsystemd.pc.in',
182 output : 'libsystemd.pc',
3d3075e3
ZJS
183 configuration : substs,
184 install_dir : pkgconfiglibdir == 'no' ? '' : pkgconfiglibdir)
e025c9df
YW
185
186############################################################
187
188tests += [
189 [['src/libsystemd/sd-journal/test-journal.c']],
190
191 [['src/libsystemd/sd-journal/test-journal-send.c']],
192
193 [['src/libsystemd/sd-journal/test-journal-match.c']],
194
195 [['src/libsystemd/sd-journal/test-journal-enum.c'],
196 [], [], [], '', 'timeout=360'],
197
198 [['src/libsystemd/sd-journal/test-journal-stream.c']],
199
200 [['src/libsystemd/sd-journal/test-journal-flush.c']],
201
202 [['src/libsystemd/sd-journal/test-journal-init.c']],
203
204 [['src/libsystemd/sd-journal/test-journal-verify.c']],
205
206 [['src/libsystemd/sd-journal/test-journal-interleaving.c']],
207
208 [['src/libsystemd/sd-journal/test-mmap-cache.c']],
209
210 [['src/libsystemd/sd-journal/test-catalog.c']],
211
212 [['src/libsystemd/sd-journal/test-compress.c'],
213 [],
214 [liblz4,
215 libzstd,
216 libxz]],
217
218 [['src/libsystemd/sd-journal/test-compress-benchmark.c'],
219 [],
220 [liblz4,
221 libzstd,
222 libxz],
223 [], '', 'timeout=90'],
224
225 [['src/libsystemd/sd-journal/test-audit-type.c']],
226]
227
228############################################################
229
230tests += [
231 [['src/libsystemd/sd-bus/test-bus-address.c'],
232 [],
233 [threads]],
234
235 [['src/libsystemd/sd-bus/test-bus-marshal.c'],
236 [],
237 [threads,
238 libglib,
239 libgobject,
240 libgio,
241 libdbus]],
242
243 [['src/libsystemd/sd-bus/test-bus-signature.c'],
244 [],
245 [threads]],
246
247 [['src/libsystemd/sd-bus/test-bus-queue-ref-cycle.c'],
248 [],
249 [threads]],
250
251 [['src/libsystemd/sd-bus/test-bus-watch-bind.c'],
252 [],
253 [threads],
254 [], '', 'timeout=120'],
255
256 [['src/libsystemd/sd-bus/test-bus-chat.c'],
257 [],
258 [threads]],
259
260 [['src/libsystemd/sd-bus/test-bus-cleanup.c'],
261 [],
262 [threads,
263 libseccomp]],
264
265 [['src/libsystemd/sd-bus/test-bus-track.c'],
266 [],
267 [libseccomp]],
268
269 [['src/libsystemd/sd-bus/test-bus-server.c'],
270 [],
271 [threads]],
272
273 [['src/libsystemd/sd-bus/test-bus-objects.c'],
274 [],
275 [threads]],
276
277 [['src/libsystemd/sd-bus/test-bus-vtable.c',
278 'src/libsystemd/sd-bus/test-vtable-data.h']],
279
280 [['src/libsystemd/sd-bus/test-bus-gvariant.c'],
281 [],
282 [libglib,
283 libgobject,
284 libgio]],
285
286 [['src/libsystemd/sd-bus/test-bus-creds.c']],
287
288 [['src/libsystemd/sd-bus/test-bus-match.c']],
289
290 [['src/libsystemd/sd-bus/test-bus-benchmark.c'],
291 [],
292 [threads],
293 [], '', 'manual'],
294
295 [['src/libsystemd/sd-bus/test-bus-introspect.c',
296 'src/libsystemd/sd-bus/test-vtable-data.h']],
297
298 [['src/libsystemd/sd-event/test-event.c']],
299
300 [['src/libsystemd/sd-netlink/test-netlink.c']],
301
302 [['src/libsystemd/sd-resolve/test-resolve.c'],
303 [],
304 [threads],
305 [], '', 'timeout=120'],
306
307 [['src/libsystemd/sd-login/test-login.c']],
308
309 [['src/libsystemd/sd-device/test-sd-device.c']],
310
0246f429
ZJS
311 [['src/libsystemd/sd-device/test-device-util.c']],
312
e025c9df
YW
313 [['src/libsystemd/sd-device/test-sd-device-monitor.c']],
314]
315
316if cxx_cmd != ''
317 tests += [
318 [['src/libsystemd/sd-bus/test-bus-vtable-cc.cc']],
319 ]
320endif
49ba1522
ZJS
321
322############################################################
323
324fuzzers += [
325 [['src/libsystemd/sd-bus/fuzz-bus-message.c']],
84f11eda
ZJS
326
327 [['src/libsystemd/sd-bus/fuzz-bus-match.c']],
49ba1522 328]