1 # SPDX-License-Identifier: LGPL-2.1-or-later
3 systemd_journald_sources = files(
6 systemd_journald_extract_sources = files(
14 'journald-rate-limit.c',
21 # Build fuzz-journald.c as part of systemd-journald so we only compile it once instead of once per
26 journald_gperf_c = custom_target(
27 input : 'journald-gperf.gperf',
28 output : 'journald-gperf.c',
29 command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
31 generated_sources += journald_gperf_c
32 systemd_journald_extract_sources += journald_gperf_c
34 journalctl_sources = files(
36 'journalctl-authenticate.c',
37 'journalctl-catalog.c',
38 'journalctl-filter.c',
42 'journalctl-varlink.c',
45 if get_option('link-journalctl-shared')
46 journalctl_link_with = [libshared]
48 journalctl_link_with = [
54 journal_test_template = test_template + {
55 'objects' : ['systemd-journald'],
58 journal_fuzz_template = fuzz_template + {
59 'objects' : ['systemd-journald'],
60 'dependencies' : libselinux,
65 'name' : 'systemd-journald',
66 'sources' : systemd_journald_sources + systemd_journald_extract_sources,
67 'include_directories' : [libexec_template['include_directories'], include_directories('.')],
68 'extract' : systemd_journald_extract_sources,
78 'name' : 'systemd-bsod',
80 'conditions' : ['HAVE_QRENCODE'],
81 'sources' : files('bsod.c'),
82 'dependencies' : libqrencode,
84 executable_template + {
85 'name' : 'systemd-cat',
87 'sources' : files('cat.c'),
88 'objects' : ['systemd-journald'],
89 'dependencies' : [libselinux, threads],
91 executable_template + {
92 'name' : 'journalctl',
94 'sources' : journalctl_sources,
95 'link_with' : journalctl_link_with,
104 journal_test_template + {
105 'sources' : files('test-journald-config.c'),
112 journal_test_template + {
113 'sources' : files('test-journald-rate-limit.c'),
120 journal_test_template + {
121 'sources' : files('test-journald-syslog.c'),
129 journal_test_template + {
130 'sources' : files('test-journald-tables.c'),
135 journal_fuzz_template + {
136 'sources' : files('fuzz-journald-audit.c'),
138 journal_fuzz_template + {
139 'sources' : files('fuzz-journald-kmsg.c'),
141 journal_fuzz_template + {
142 'sources' : files('fuzz-journald-native.c'),
144 journal_fuzz_template + {
145 'sources' : files('fuzz-journald-native-fd.c'),
147 journal_fuzz_template + {
148 'sources' : files('fuzz-journald-stream.c'),
150 journal_fuzz_template + {
151 'sources' : files('fuzz-journald-syslog.c'),
155 if install_sysconfdir_samples
156 install_data('journald.conf',
157 install_dir : pkgconfigfiledir)
160 if get_option('create-log-dirs')
161 install_emptydir('/var/log/journal',
162 install_mode : 'rwxr-xr-x')
163 if get_option('adm-group')
164 meson.add_install_script(
166 'setfacl -nm g:adm:rx,d:g:adm:rx $DESTDIR/var/log/journal || :')
168 if get_option('wheel-group')
169 meson.add_install_script(
171 'setfacl -nm g:wheel:rx,d:g:wheel:rx $DESTDIR/var/log/journal || :')