]>
Commit | Line | Data |
---|---|---|
db9ecf05 | 1 | # SPDX-License-Identifier: LGPL-2.1-or-later |
3a726fcd | 2 | |
f1b98127 ZJS |
3 | sources = 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 | 18 | sources += 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 |
24 | libjournal_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 |
32 | journal_includes = [includes, include_directories('.')] |
33 | ||
dd1f738e YW |
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 | |
5c23128d | 43 | |
130c87b1 YW |
44 | journal_test_template = test_template + { |
45 | 'link_with' : [ | |
46 | libjournal_core, | |
47 | libshared, | |
48 | ], | |
49 | } | |
50 | ||
dd1f738e YW |
51 | executables += [ |
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 | 129 | if install_sysconfdir_samples |
d7aa78c3 JT |
130 | install_data('journald.conf', |
131 | install_dir : pkgsysconfdir) | |
132 | endif | |
f6e49d4e | 133 | |
6ed5ef98 | 134 | if 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 | 152 | endif |
e025c9df YW |
153 | |
154 | ############################################################ | |
155 | ||
2ed35b2f JJ |
156 | fuzzer_journald_base = { |
157 | 'link_with' : [libjournal_core, libshared], | |
158 | 'dependencies' : [libselinux], | |
159 | } | |
e025c9df | 160 | |
2ed35b2f JJ |
161 | fuzzers += [ |
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 | ] |