diff --git a/meson.build b/meson.build index f8451ba7acb..c6d0459f619 100644 --- a/meson.build +++ b/meson.build @@ -2540,55 +2540,6 @@ if want_tests != 'false' args : exe.full_path()) endif -executable( - 'systemd-journald', - systemd_journald_sources, - include_directories : includes, - link_with : [libjournal_core, - libshared], - dependencies : [liblz4, - libselinux, - libxz, - libzstd, - threads, - userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - -public_programs += executable( - 'systemd-cat', - systemd_cat_sources, - include_directories : includes, - link_with : [libjournal_core, - libshared], - dependencies : [threads, - userspace], - install_rpath : pkglibdir, - install : true) - -if get_option('link-journalctl-shared') - journalctl_link_with = [libshared] -else - journalctl_link_with = [libsystemd_static, - libshared_static, - libbasic_gcrypt] -endif - -public_programs += executable( - 'journalctl', - journalctl_sources, - include_directories : includes, - link_with : [journalctl_link_with], - dependencies : [libdl, - liblz4, - libxz, - libzstd, - threads, - userspace], - install_rpath : pkglibdir, - install : true) - executable( 'systemd-getty-generator', 'src/getty-generator/getty-generator.c', diff --git a/src/journal/meson.build b/src/journal/meson.build index a6837d23c54..0c996847707 100644 --- a/src/journal/meson.build +++ b/src/journal/meson.build @@ -31,13 +31,56 @@ libjournal_core = static_library( journal_includes = [includes, include_directories('.')] -systemd_journald_sources = files( - 'journald.c', -) +if get_option('link-journalctl-shared') + journalctl_link_with = [libshared] +else + journalctl_link_with = [ + libbasic_gcrypt, + libshared_static, + libsystemd_static, + ] +endif -systemd_cat_sources = files('cat.c') - -journalctl_sources = files('journalctl.c') +executables += [ + libexec_template + { + 'name' : 'systemd-journald', + 'sources' : files('journald.c'), + 'link_with' : [ + libjournal_core, + libshared, + ], + 'dependencies' : [ + liblz4, + libselinux, + libxz, + libzstd, + threads, + ], + }, + executable_template + { + 'name' : 'systemd-cat', + 'public' : true, + 'sources' : files('cat.c'), + 'link_with' : [ + libjournal_core, + libshared, + ], + 'dependencies' : threads, + }, + executable_template + { + 'name' : 'journalctl', + 'public' : true, + 'sources' : files('journalctl.c'), + 'link_with' : journalctl_link_with, + 'dependencies' : [ + libdl, + liblz4, + libxz, + libzstd, + threads, + ], + }, +] if install_sysconfdir_samples install_data('journald.conf',