]>
Commit | Line | Data |
---|---|---|
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 |