]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/libsystemd/meson.build
meson: stop building out convenience libraries by default
[thirdparty/systemd.git] / src / libsystemd / meson.build
1 # SPDX-License-Identifier: LGPL-2.1-or-later
2
3 sd_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
25 if 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')
31 endif
32
33 audit_type_includes = [config_h,
34 missing_audit_h,
35 'linux/audit.h']
36 if conf.get('HAVE_AUDIT') == 1
37 audit_type_includes += 'libaudit.h'
38 endif
39
40 generate_audit_type_list = find_program('sd-journal/generate-audit_type-list.sh')
41 audit_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
47 audit_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
54 sd_journal_sources += [audit_type_to_name]
55
56 ############################################################
57
58 id128_sources = files('''
59 sd-id128/id128-util.c
60 sd-id128/id128-util.h
61 sd-id128/sd-id128.c
62 '''.split())
63
64 ############################################################
65
66 sd_daemon_sources = files('sd-daemon/sd-daemon.c')
67
68 ############################################################
69
70 sd_event_sources = files('''
71 sd-event/event-source.h
72 sd-event/event-util.c
73 sd-event/event-util.h
74 sd-event/sd-event.c
75 '''.split())
76
77 ############################################################
78
79 sd_login_sources = files('sd-login/sd-login.c')
80
81 ############################################################
82
83 libsystemd_sources = files('''
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
122 sd-bus/sd-bus.c
123 sd-device/device-enumerator-private.h
124 sd-device/device-enumerator.c
125 sd-device/device-internal.h
126 sd-device/device-monitor-private.h
127 sd-device/device-monitor.c
128 sd-device/device-private.c
129 sd-device/device-private.h
130 sd-device/device-util.c
131 sd-device/device-util.h
132 sd-device/sd-device.c
133 sd-hwdb/hwdb-internal.h
134 sd-hwdb/sd-hwdb.c
135 sd-netlink/netlink-genl.c
136 sd-netlink/netlink-genl.h
137 sd-netlink/netlink-internal.h
138 sd-netlink/netlink-message-nfnl.c
139 sd-netlink/netlink-message-rtnl.c
140 sd-netlink/netlink-message.c
141 sd-netlink/netlink-slot.c
142 sd-netlink/netlink-slot.h
143 sd-netlink/netlink-socket.c
144 sd-netlink/netlink-types-genl.c
145 sd-netlink/netlink-types-internal.h
146 sd-netlink/netlink-types-nfnl.c
147 sd-netlink/netlink-types-rtnl.c
148 sd-netlink/netlink-types.c
149 sd-netlink/netlink-types.h
150 sd-netlink/netlink-util.c
151 sd-netlink/netlink-util.h
152 sd-netlink/sd-netlink.c
153 sd-network/network-util.c
154 sd-network/network-util.h
155 sd-network/sd-network.c
156 sd-path/sd-path.c
157 sd-resolve/resolve-private.h
158 sd-resolve/sd-resolve.c
159 sd-utf8/sd-utf8.c
160 '''.split()) + sd_journal_sources + id128_sources + sd_daemon_sources + sd_event_sources + sd_login_sources
161
162 disable_mempool_c = files('disable-mempool.c')
163
164 libsystemd_c_args = ['-fvisibility=default']
165
166 libsystemd_static = static_library(
167 'systemd_static',
168 libsystemd_sources,
169 include_directories : libsystemd_includes,
170 c_args : libsystemd_c_args,
171 link_with : libbasic,
172 dependencies : [threads,
173 librt],
174 build_by_default : false)
175
176 libsystemd_sym = files('libsystemd.sym')
177 libsystemd_sym_path = meson.current_source_dir() / 'libsystemd.sym'
178
179 static_libsystemd = get_option('static-libsystemd')
180 static_libsystemd_pic = static_libsystemd == 'true' or static_libsystemd == 'pic'
181
182 custom_target(
183 'libsystemd.pc',
184 input : 'libsystemd.pc.in',
185 output : 'libsystemd.pc',
186 command : [meson_render_jinja2, config_h, '@INPUT@', '@OUTPUT@'],
187 install : pkgconfiglibdir != 'no',
188 install_dir : pkgconfiglibdir)
189
190 ############################################################
191
192 tests += [
193 [['src/libsystemd/sd-journal/test-journal-send.c']],
194
195 [['src/libsystemd/sd-journal/test-journal-match.c']],
196
197 [['src/libsystemd/sd-journal/test-journal-enum.c'],
198 [], [], [], '', 'timeout=360'],
199
200 [['src/libsystemd/sd-journal/test-journal-init.c']],
201
202 [['src/libsystemd/sd-journal/test-mmap-cache.c']],
203
204 [['src/libsystemd/sd-journal/test-catalog.c']],
205
206 [['src/libsystemd/sd-journal/test-compress.c'],
207 [],
208 [liblz4,
209 libzstd,
210 libxz]],
211
212 [['src/libsystemd/sd-journal/test-compress-benchmark.c'],
213 [],
214 [liblz4,
215 libzstd,
216 libxz],
217 [], '', 'timeout=90'],
218
219 [['src/libsystemd/sd-journal/test-audit-type.c']],
220 ]
221
222 ############################################################
223
224 tests += [
225 [['src/libsystemd/sd-bus/test-bus-address.c'],
226 [],
227 [threads]],
228
229 [['src/libsystemd/sd-bus/test-bus-marshal.c'],
230 [],
231 [threads,
232 libglib,
233 libgobject,
234 libgio,
235 libdbus]],
236
237 [['src/libsystemd/sd-bus/test-bus-signature.c'],
238 [],
239 [threads]],
240
241 [['src/libsystemd/sd-bus/test-bus-queue-ref-cycle.c'],
242 [],
243 [threads]],
244
245 [['src/libsystemd/sd-bus/test-bus-watch-bind.c'],
246 [],
247 [threads],
248 [], '', 'timeout=120'],
249
250 [['src/libsystemd/sd-bus/test-bus-chat.c'],
251 [],
252 [threads]],
253
254 [['src/libsystemd/sd-bus/test-bus-cleanup.c'],
255 [],
256 [threads,
257 libseccomp]],
258
259 [['src/libsystemd/sd-bus/test-bus-track.c'],
260 [],
261 [libseccomp]],
262
263 [['src/libsystemd/sd-bus/test-bus-server.c'],
264 [],
265 [threads]],
266
267 [['src/libsystemd/sd-bus/test-bus-objects.c'],
268 [],
269 [threads]],
270
271 [['src/libsystemd/sd-bus/test-bus-vtable.c',
272 'src/libsystemd/sd-bus/test-vtable-data.h']],
273
274 [['src/libsystemd/sd-bus/test-bus-gvariant.c'],
275 [],
276 [libglib,
277 libgobject,
278 libgio]],
279
280 [['src/libsystemd/sd-bus/test-bus-creds.c']],
281
282 [['src/libsystemd/sd-bus/test-bus-match.c']],
283
284 [['src/libsystemd/sd-bus/test-bus-benchmark.c'],
285 [],
286 [threads],
287 [], '', 'manual'],
288
289 [['src/libsystemd/sd-bus/test-bus-introspect.c',
290 'src/libsystemd/sd-bus/test-vtable-data.h']],
291
292 [['src/libsystemd/sd-event/test-event.c']],
293
294 [['src/libsystemd/sd-netlink/test-netlink.c']],
295
296 [['src/libsystemd/sd-resolve/test-resolve.c'],
297 [],
298 [threads],
299 [], '', 'timeout=120'],
300
301 [['src/libsystemd/sd-login/test-login.c']],
302
303 [['src/libsystemd/sd-device/test-sd-device.c']],
304
305 [['src/libsystemd/sd-device/test-device-util.c']],
306
307 [['src/libsystemd/sd-device/test-sd-device-monitor.c']],
308 ]
309
310 if cxx_cmd != ''
311 tests += [
312 [['src/libsystemd/sd-bus/test-bus-vtable-cc.cc']],
313 ]
314 endif
315
316 ############################################################
317
318 fuzzers += [
319 [['src/libsystemd/sd-bus/fuzz-bus-message.c']],
320
321 [['src/libsystemd/sd-bus/fuzz-bus-match.c']],
322 ]