]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/journal/meson.build
Merge pull request #28697 from 1awesomeJ/new_bsod
[thirdparty/systemd.git] / src / journal / meson.build
1 # SPDX-License-Identifier: LGPL-2.1-or-later
2
3 sources = files(
4 'journald-audit.c',
5 'journald-client.c',
6 'journald-console.c',
7 'journald-context.c',
8 'journald-kmsg.c',
9 'journald-native.c',
10 'journald-rate-limit.c',
11 'journald-server.c',
12 'journald-stream.c',
13 'journald-syslog.c',
14 'journald-wall.c',
15 'managed-journal-file.c',
16 )
17
18 sources += custom_target(
19 'journald-gperf.c',
20 input : 'journald-gperf.gperf',
21 output : 'journald-gperf.c',
22 command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
23
24 libjournal_core = static_library(
25 'journal-core',
26 sources,
27 include_directories : includes,
28 dependencies: [threads,
29 userspace],
30 build_by_default : false)
31
32 journal_includes = [includes, include_directories('.')]
33
34 if get_option('link-journalctl-shared')
35 journalctl_link_with = [libshared]
36 else
37 journalctl_link_with = [
38 libbasic_gcrypt,
39 libshared_static,
40 libsystemd_static,
41 ]
42 endif
43
44 journal_test_template = test_template + {
45 'link_with' : [
46 libjournal_core,
47 libshared,
48 ],
49 }
50
51 journal_fuzz_template = fuzz_template + {
52 'link_with' : [
53 libjournal_core,
54 libshared,
55 ],
56 'dependencies' : libselinux,
57 }
58
59 executables += [
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 },
75 libexec_template + {
76 'name' : 'systemd-bsod',
77 'conditions' : ['HAVE_QRENCODE'],
78 'sources' : files('bsod.c'),
79 'link_with' : libshared,
80 'dependencies' : libqrencode,
81 },
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 },
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 },
142 journal_fuzz_template + {
143 'sources' : files(
144 'fuzz-journald-audit.c',
145 'fuzz-journald.c',
146 ),
147 },
148 journal_fuzz_template + {
149 'sources' : files(
150 'fuzz-journald-kmsg.c',
151 'fuzz-journald.c',
152 ),
153 },
154 journal_fuzz_template + {
155 'sources' : files(
156 'fuzz-journald-native.c',
157 'fuzz-journald.c',
158 ),
159 },
160 journal_fuzz_template + {
161 'sources' : files(
162 'fuzz-journald-native-fd.c',
163 'fuzz-journald.c',
164 ),
165 },
166 journal_fuzz_template + {
167 'sources' : files(
168 'fuzz-journald-stream.c',
169 'fuzz-journald.c',
170 ),
171 },
172 journal_fuzz_template + {
173 'sources' : files(
174 'fuzz-journald-syslog.c',
175 'fuzz-journald.c',
176 ),
177 },
178 ]
179
180 if install_sysconfdir_samples
181 install_data('journald.conf',
182 install_dir : pkgsysconfdir)
183 endif
184
185 if get_option('create-log-dirs')
186 install_emptydir('/var/log/journal',
187 install_mode : [ 'rwxr-xr-x', 'root', 'root' ])
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
198 endif