]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/journal/meson.build
Merge pull request #28697 from 1awesomeJ/new_bsod
[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
cbc55c4c
YW
51journal_fuzz_template = fuzz_template + {
52 'link_with' : [
53 libjournal_core,
54 libshared,
55 ],
56 'dependencies' : libselinux,
57}
58
dd1f738e
YW
59executables += [
60 libexec_template + {
61 'name' : 'systemd-journald',
62 'sources' : files('journald.c'),
63 'link_with' : [
64 libjournal_core,
65 libshared,
66 ],
67 'dependencies' : [
68 liblz4,
69 libselinux,
70 libxz,
71 libzstd,
72 threads,
73 ],
74 },
5ae58e8f
OJ
75 libexec_template + {
76 'name' : 'systemd-bsod',
77 'conditions' : ['HAVE_QRENCODE'],
78 'sources' : files('bsod.c'),
79 'link_with' : libshared,
80 'dependencies' : libqrencode,
81 },
dd1f738e
YW
82 executable_template + {
83 'name' : 'systemd-cat',
84 'public' : true,
85 'sources' : files('cat.c'),
86 'link_with' : [
87 libjournal_core,
88 libshared,
89 ],
90 'dependencies' : threads,
91 },
92 executable_template + {
93 'name' : 'journalctl',
94 'public' : true,
95 'sources' : files('journalctl.c'),
96 'link_with' : journalctl_link_with,
97 'dependencies' : [
98 libdl,
99 liblz4,
100 libxz,
101 libzstd,
102 threads,
103 ],
104 },
130c87b1
YW
105 journal_test_template + {
106 'sources' : files('test-journal-append.c'),
107 'type' : 'manual',
108 },
109 journal_test_template + {
110 'sources' : files('test-journal-config.c'),
111 'dependencies' : [
112 liblz4,
113 libselinux,
114 libxz,
115 ],
116 },
117 journal_test_template + {
118 'sources' : files('test-journal-flush.c'),
119 },
120 journal_test_template + {
121 'sources' : files('test-journal-interleaving.c'),
122 },
123 journal_test_template + {
124 'sources' : files('test-journal-stream.c'),
125 },
126 journal_test_template + {
127 'sources' : files('test-journal-syslog.c'),
128 'dependencies' : [
129 liblz4,
130 libselinux,
131 libxz,
132 threads,
133 ],
134 },
135 journal_test_template + {
136 'sources' : files('test-journal-verify.c'),
137 'timeout' : 90,
138 },
139 journal_test_template + {
140 'sources' : files('test-journal.c'),
141 },
cbc55c4c 142 journal_fuzz_template + {
2ed35b2f
JJ
143 'sources' : files(
144 'fuzz-journald-audit.c',
145 'fuzz-journald.c',
146 ),
2ed35b2f 147 },
cbc55c4c 148 journal_fuzz_template + {
2ed35b2f
JJ
149 'sources' : files(
150 'fuzz-journald-kmsg.c',
151 'fuzz-journald.c',
152 ),
2ed35b2f 153 },
cbc55c4c 154 journal_fuzz_template + {
2ed35b2f
JJ
155 'sources' : files(
156 'fuzz-journald-native.c',
157 'fuzz-journald.c',
158 ),
2ed35b2f 159 },
cbc55c4c 160 journal_fuzz_template + {
2ed35b2f
JJ
161 'sources' : files(
162 'fuzz-journald-native-fd.c',
163 'fuzz-journald.c',
164 ),
2ed35b2f 165 },
cbc55c4c 166 journal_fuzz_template + {
2ed35b2f
JJ
167 'sources' : files(
168 'fuzz-journald-stream.c',
169 'fuzz-journald.c',
170 ),
2ed35b2f 171 },
cbc55c4c 172 journal_fuzz_template + {
2ed35b2f
JJ
173 'sources' : files(
174 'fuzz-journald-syslog.c',
175 'fuzz-journald.c',
176 ),
2ed35b2f 177 },
e025c9df 178]
cbc55c4c
YW
179
180if install_sysconfdir_samples
181 install_data('journald.conf',
182 install_dir : pkgsysconfdir)
183endif
184
185if get_option('create-log-dirs')
9289e093
YW
186 install_emptydir('/var/log/journal',
187 install_mode : [ 'rwxr-xr-x', 'root', 'root' ])
cbc55c4c
YW
188 if get_option('adm-group')
189 meson.add_install_script(
190 'sh', '-c',
191 'setfacl -nm g:adm:rx,d:g:adm:rx $DESTDIR/var/log/journal || :')
192 endif
193 if get_option('wheel-group')
194 meson.add_install_script(
195 'sh', '-c',
196 'setfacl -nm g:wheel:rx,d:g:wheel:rx $DESTDIR/var/log/journal || :')
197 endif
198endif