]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/journal/meson.build
meson: merge declarations of normal and test executables
[thirdparty/systemd.git] / src / journal / meson.build
CommitLineData
db9ecf05 1# SPDX-License-Identifier: LGPL-2.1-or-later
3a726fcd 2
f1b98127
ZJS
3sources = files(
4 'journald-audit.c',
87a13dab 5 'journald-client.c',
f1b98127 6 'journald-console.c',
f1b98127 7 'journald-context.c',
f1b98127 8 'journald-kmsg.c',
f1b98127 9 'journald-native.c',
f1b98127 10 'journald-rate-limit.c',
f1b98127 11 'journald-server.c',
f1b98127 12 'journald-stream.c',
f1b98127 13 'journald-syslog.c',
f1b98127 14 'journald-wall.c',
f1b98127 15 'managed-journal-file.c',
2f492a73 16)
5c23128d 17
52964293 18sources += custom_target(
37efbbd8
ZJS
19 'journald-gperf.c',
20 input : 'journald-gperf.gperf',
21 output : 'journald-gperf.c',
22 command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
5c23128d 23
52964293
YW
24libjournal_core = static_library(
25 'journal-core',
26 sources,
27 include_directories : includes,
92148283
JJ
28 dependencies: [threads,
29 userspace],
03f7ddf0 30 build_by_default : false)
52964293 31
8d40961c
YW
32journal_includes = [includes, include_directories('.')]
33
dd1f738e
YW
34if get_option('link-journalctl-shared')
35 journalctl_link_with = [libshared]
36else
37 journalctl_link_with = [
38 libbasic_gcrypt,
39 libshared_static,
40 libsystemd_static,
41 ]
42endif
5c23128d 43
130c87b1
YW
44journal_test_template = test_template + {
45 'link_with' : [
46 libjournal_core,
47 libshared,
48 ],
49}
50
dd1f738e
YW
51executables += [
52 libexec_template + {
53 'name' : 'systemd-journald',
54 'sources' : files('journald.c'),
55 'link_with' : [
56 libjournal_core,
57 libshared,
58 ],
59 'dependencies' : [
60 liblz4,
61 libselinux,
62 libxz,
63 libzstd,
64 threads,
65 ],
66 },
67 executable_template + {
68 'name' : 'systemd-cat',
69 'public' : true,
70 'sources' : files('cat.c'),
71 'link_with' : [
72 libjournal_core,
73 libshared,
74 ],
75 'dependencies' : threads,
76 },
77 executable_template + {
78 'name' : 'journalctl',
79 'public' : true,
80 'sources' : files('journalctl.c'),
81 'link_with' : journalctl_link_with,
82 'dependencies' : [
83 libdl,
84 liblz4,
85 libxz,
86 libzstd,
87 threads,
88 ],
89 },
130c87b1
YW
90 journal_test_template + {
91 'sources' : files('test-journal-append.c'),
92 'type' : 'manual',
93 },
94 journal_test_template + {
95 'sources' : files('test-journal-config.c'),
96 'dependencies' : [
97 liblz4,
98 libselinux,
99 libxz,
100 ],
101 },
102 journal_test_template + {
103 'sources' : files('test-journal-flush.c'),
104 },
105 journal_test_template + {
106 'sources' : files('test-journal-interleaving.c'),
107 },
108 journal_test_template + {
109 'sources' : files('test-journal-stream.c'),
110 },
111 journal_test_template + {
112 'sources' : files('test-journal-syslog.c'),
113 'dependencies' : [
114 liblz4,
115 libselinux,
116 libxz,
117 threads,
118 ],
119 },
120 journal_test_template + {
121 'sources' : files('test-journal-verify.c'),
122 'timeout' : 90,
123 },
124 journal_test_template + {
125 'sources' : files('test-journal.c'),
126 },
dd1f738e 127]
5c23128d 128
225d08b8 129if install_sysconfdir_samples
d7aa78c3
JT
130 install_data('journald.conf',
131 install_dir : pkgsysconfdir)
132endif
f6e49d4e 133
6ed5ef98 134if get_option('create-log-dirs')
37efbbd8
ZJS
135 meson.add_install_script(
136 'sh', '-c',
6ed5ef98 137 mkdir_p.format('/var/log/journal'))
37efbbd8
ZJS
138 meson.add_install_script(
139 'sh', '-c',
6ed5ef98
ZJS
140 '''chown 0:0 $DESTDIR/var/log/journal &&
141 chmod 755 $DESTDIR/var/log/journal || :''')
142 if get_option('adm-group')
143 meson.add_install_script(
144 'sh', '-c',
145 'setfacl -nm g:adm:rx,d:g:adm:rx $DESTDIR/var/log/journal || :')
146 endif
147 if get_option('wheel-group')
148 meson.add_install_script(
149 'sh', '-c',
150 'setfacl -nm g:wheel:rx,d:g:wheel:rx $DESTDIR/var/log/journal || :')
151 endif
f6e49d4e 152endif
e025c9df
YW
153
154############################################################
155
2ed35b2f
JJ
156fuzzer_journald_base = {
157 'link_with' : [libjournal_core, libshared],
158 'dependencies' : [libselinux],
159}
e025c9df 160
2ed35b2f
JJ
161fuzzers += [
162 {
163 'sources' : files(
164 'fuzz-journald-audit.c',
165 'fuzz-journald.c',
166 ),
167 'base' : fuzzer_journald_base,
168 },
169 {
170 'sources' : files(
171 'fuzz-journald-kmsg.c',
172 'fuzz-journald.c',
173 ),
174 'base' : fuzzer_journald_base,
175 },
176 {
177 'sources' : files(
178 'fuzz-journald-native.c',
179 'fuzz-journald.c',
180 ),
181 'base' : fuzzer_journald_base,
182 },
183 {
184 'sources' : files(
185 'fuzz-journald-native-fd.c',
186 'fuzz-journald.c',
187 ),
188 'base' : fuzzer_journald_base,
189 },
190 {
191 'sources' : files(
192 'fuzz-journald-stream.c',
193 'fuzz-journald.c',
194 ),
195 'base' : fuzzer_journald_base,
196 },
197 {
198 'sources' : files(
199 'fuzz-journald-syslog.c',
200 'fuzz-journald.c',
201 ),
202 'base' : fuzzer_journald_base,
203 },
e025c9df 204]