]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/journal/meson.build
NEWS: finalize for v256~rc3
[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 'journald-socket.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 journalctl_sources = files(
33 'journalctl.c',
34 'journalctl-catalog.c',
35 'journalctl-filter.c',
36 'journalctl-misc.c',
37 'journalctl-show.c',
38 'journalctl-util.c',
39 'journalctl-varlink.c',
40 )
41
42 if conf.get('HAVE_GCRYPT') == 1
43 journalctl_sources += files('journalctl-authenticate.c')
44 endif
45
46 if get_option('link-journalctl-shared')
47 journalctl_link_with = [libshared]
48 else
49 journalctl_link_with = [
50 libshared_static,
51 libsystemd_static,
52 ]
53 endif
54
55 journal_test_template = test_template + {
56 'link_with' : [
57 libjournal_core,
58 libshared,
59 ],
60 }
61
62 journal_fuzz_template = fuzz_template + {
63 'link_with' : [
64 libjournal_core,
65 libshared,
66 ],
67 'dependencies' : libselinux,
68 }
69
70 executables += [
71 libexec_template + {
72 'name' : 'systemd-journald',
73 'sources' : files('journald.c'),
74 'link_with' : [
75 libjournal_core,
76 libshared,
77 ],
78 'dependencies' : [
79 liblz4_cflags,
80 libselinux,
81 libxz_cflags,
82 libzstd_cflags,
83 threads,
84 ],
85 },
86 libexec_template + {
87 'name' : 'systemd-bsod',
88 'public' : true,
89 'conditions' : ['HAVE_QRENCODE'],
90 'sources' : files('bsod.c'),
91 'link_with' : libshared,
92 'dependencies' : libqrencode,
93 },
94 executable_template + {
95 'name' : 'systemd-cat',
96 'public' : true,
97 'sources' : files('cat.c'),
98 'link_with' : [
99 libjournal_core,
100 libshared,
101 ],
102 'dependencies' : threads,
103 },
104 executable_template + {
105 'name' : 'journalctl',
106 'public' : true,
107 'sources' : journalctl_sources,
108 'link_with' : journalctl_link_with,
109 'dependencies' : [
110 libdl,
111 liblz4_cflags,
112 libxz_cflags,
113 libzstd_cflags,
114 threads,
115 ],
116 },
117 journal_test_template + {
118 'sources' : files('test-journald-config.c'),
119 'dependencies' : [
120 liblz4_cflags,
121 libselinux,
122 libxz_cflags,
123 ],
124 },
125 test_template + {
126 'sources' : files(
127 'test-journald-rate-limit.c',
128 'journald-rate-limit.c',
129 ),
130 },
131 journal_test_template + {
132 'sources' : files('test-journald-syslog.c'),
133 'dependencies' : [
134 liblz4_cflags,
135 libselinux,
136 libxz_cflags,
137 threads,
138 ],
139 },
140 journal_test_template + {
141 'sources' : files('test-journald-tables.c'),
142 'dependencies' : [
143 libselinux,
144 ],
145 },
146 journal_fuzz_template + {
147 'sources' : files(
148 'fuzz-journald-audit.c',
149 'fuzz-journald.c',
150 ),
151 },
152 journal_fuzz_template + {
153 'sources' : files(
154 'fuzz-journald-kmsg.c',
155 'fuzz-journald.c',
156 ),
157 },
158 journal_fuzz_template + {
159 'sources' : files(
160 'fuzz-journald-native.c',
161 'fuzz-journald.c',
162 ),
163 },
164 journal_fuzz_template + {
165 'sources' : files(
166 'fuzz-journald-native-fd.c',
167 'fuzz-journald.c',
168 ),
169 },
170 journal_fuzz_template + {
171 'sources' : files(
172 'fuzz-journald-stream.c',
173 'fuzz-journald.c',
174 ),
175 },
176 journal_fuzz_template + {
177 'sources' : files(
178 'fuzz-journald-syslog.c',
179 'fuzz-journald.c',
180 ),
181 },
182 ]
183
184 if install_sysconfdir_samples
185 install_data('journald.conf',
186 install_dir : pkgconfigfiledir)
187 endif
188
189 if get_option('create-log-dirs')
190 install_emptydir('/var/log/journal',
191 install_mode : 'rwxr-xr-x')
192 if get_option('adm-group')
193 meson.add_install_script(
194 sh, '-c',
195 'setfacl -nm g:adm:rx,d:g:adm:rx $DESTDIR/var/log/journal || :')
196 endif
197 if get_option('wheel-group')
198 meson.add_install_script(
199 sh, '-c',
200 'setfacl -nm g:wheel:rx,d:g:wheel:rx $DESTDIR/var/log/journal || :')
201 endif
202 endif