summaryrefslogtreecommitdiffstats
path: root/src/journal/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'src/journal/meson.build')
-rw-r--r--src/journal/meson.build152
1 files changed, 152 insertions, 0 deletions
diff --git a/src/journal/meson.build b/src/journal/meson.build
new file mode 100644
index 0000000..1e41ea1
--- /dev/null
+++ b/src/journal/meson.build
@@ -0,0 +1,152 @@
+# SPDX-License-Identifier: LGPL-2.1-or-later
+
+sources = files(
+ 'journald-audit.c',
+ 'journald-audit.h',
+ 'journald-console.c',
+ 'journald-console.h',
+ 'journald-context.c',
+ 'journald-context.h',
+ 'journald-kmsg.c',
+ 'journald-kmsg.h',
+ 'journald-native.c',
+ 'journald-native.h',
+ 'journald-rate-limit.c',
+ 'journald-rate-limit.h',
+ 'journald-server.c',
+ 'journald-server.h',
+ 'journald-stream.c',
+ 'journald-stream.h',
+ 'journald-syslog.c',
+ 'journald-syslog.h',
+ 'journald-wall.c',
+ 'journald-wall.h',
+ 'managed-journal-file.c',
+ 'managed-journal-file.h',
+)
+
+sources += custom_target(
+ 'journald-gperf.c',
+ input : 'journald-gperf.gperf',
+ output : 'journald-gperf.c',
+ command : [gperf, '@INPUT@', '--output-file', '@OUTPUT@'])
+
+libjournal_core = static_library(
+ 'journal-core',
+ sources,
+ include_directories : includes,
+ dependencies: threads,
+ build_by_default : false)
+
+journal_includes = [includes, include_directories('.')]
+
+systemd_journald_sources = files(
+ 'journald.c',
+ 'journald-server.h',
+)
+
+systemd_cat_sources = files('cat.c')
+
+journalctl_sources = files('journalctl.c')
+
+if install_sysconfdir_samples
+ install_data('journald.conf',
+ install_dir : pkgsysconfdir)
+endif
+
+if get_option('create-log-dirs')
+ meson.add_install_script(
+ 'sh', '-c',
+ mkdir_p.format('/var/log/journal'))
+ meson.add_install_script(
+ 'sh', '-c',
+ '''chown 0:0 $DESTDIR/var/log/journal &&
+ chmod 755 $DESTDIR/var/log/journal || :''')
+ if get_option('adm-group')
+ meson.add_install_script(
+ 'sh', '-c',
+ 'setfacl -nm g:adm:rx,d:g:adm:rx $DESTDIR/var/log/journal || :')
+ endif
+ if get_option('wheel-group')
+ meson.add_install_script(
+ 'sh', '-c',
+ 'setfacl -nm g:wheel:rx,d:g:wheel:rx $DESTDIR/var/log/journal || :')
+ endif
+endif
+
+############################################################
+
+tests += [
+ [files('test-journal-syslog.c'),
+ [libjournal_core,
+ libshared],
+ [threads,
+ libxz,
+ liblz4,
+ libselinux]],
+
+ [files('test-journal-config.c'),
+ [libjournal_core,
+ libshared],
+ [libxz,
+ liblz4,
+ libselinux]],
+
+ [files('test-journal.c'),
+ [libjournal_core,
+ libshared]],
+
+ [files('test-journal-stream.c'),
+ [libjournal_core,
+ libshared]],
+
+ [files('test-journal-flush.c'),
+ [libjournal_core,
+ libshared]],
+
+ [files('test-journal-verify.c'),
+ [libjournal_core,
+ libshared]],
+
+ [files('test-journal-interleaving.c'),
+ [libjournal_core,
+ libshared]],
+]
+
+fuzzers += [
+ [files('fuzz-journald-audit.c',
+ 'fuzz-journald.c'),
+ [libjournal_core,
+ libshared],
+ [libselinux]],
+
+ [files('fuzz-journald-kmsg.c',
+ 'fuzz-journald.c'),
+ [libjournal_core,
+ libshared],
+ [libselinux]],
+
+ [files('fuzz-journald-native.c',
+ 'fuzz-journald.c'),
+ [libjournal_core,
+ libshared],
+ [libselinux]],
+
+ [files('fuzz-journald-native-fd.c',
+ 'fuzz-journald.c'),
+ [libjournal_core,
+ libshared],
+ [libselinux]],
+
+ [files('fuzz-journald-stream.c',
+ 'fuzz-journald.c'),
+ [libjournal_core,
+ libshared],
+ [libselinux]],
+
+ [files('fuzz-journald-syslog.c',
+ 'fuzz-journald.c'),
+ [libjournal_core,
+ libshared],
+ [libselinux]],
+]