diff --git a/meson.build b/meson.build index 36453bfcd1..6e79e2dd67 100644 --- a/meson.build +++ b/meson.build @@ -2371,6 +2371,7 @@ subdir('src/journal') subdir('src/libsystemd-network') subdir('src/analyze') +subdir('src/backlight') subdir('src/boot') subdir('src/boot/efi') subdir('src/busctl') @@ -2387,6 +2388,7 @@ subdir('src/hibernate-resume') subdir('src/home') subdir('src/hostname') subdir('src/import') +subdir('src/integritysetup') subdir('src/journal-remote') subdir('src/kernel-install') subdir('src/locale') @@ -2402,19 +2404,24 @@ subdir('src/oom') subdir('src/partition') subdir('src/portable') subdir('src/pstore') +subdir('src/rc-local-generator') subdir('src/resolve') +subdir('src/rfkill') subdir('src/rpm') subdir('src/run-generator') subdir('src/shutdown') subdir('src/socket-activate') subdir('src/sysext') +subdir('src/system-update-generator') subdir('src/systemctl') subdir('src/sysupdate') +subdir('src/sysv-generator') subdir('src/timedate') subdir('src/timesync') subdir('src/tmpfiles') subdir('src/user-sessions') subdir('src/userdb') +subdir('src/veritysetup') subdir('src/xdg-autostart-generator') subdir('src/systemd') @@ -2570,442 +2577,10 @@ if conf.get('HAVE_BLKID') == 1 and conf.get('ENABLE_BOOTLOADER') == 1 endif endif -systemctl = executable( - 'systemctl', - systemctl_sources, - include_directories : includes, - link_with : systemctl_link_with, - dependencies : [libcap, - liblz4, - libselinux, - libxz, - libzstd, - threads, - userspace], - install_rpath : pkglibdir, - install : true) -public_programs += systemctl - -if conf.get('ENABLE_PORTABLED') == 1 - if get_option('link-portabled-shared') - portabled_link_with = [libshared] - else - portabled_link_with = [libsystemd_static, - libshared_static] - endif - - dbus_programs += executable( - 'systemd-portabled', - systemd_portabled_sources, - include_directories : includes, - link_with : [portabled_link_with], - dependencies : [libselinux, - threads, - userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - - public_programs += executable( - 'portablectl', - 'src/portable/portablectl.c', - include_directories : includes, - link_with : [portabled_link_with], - dependencies : [threads, - userspace], - install_rpath : pkglibdir, - install : true) -endif - -if conf.get('ENABLE_SYSEXT') == 1 - public_programs += executable( - 'systemd-sysext', - systemd_sysext_sources, - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true) -endif - -if conf.get('ENABLE_USERDB') == 1 - executable( - 'systemd-userwork', - systemd_userwork_sources, - include_directories : includes, - link_with : [libshared], - dependencies : [threads, - userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - - executable( - 'systemd-userdbd', - systemd_userdbd_sources, - include_directories : includes, - link_with : [libshared], - dependencies : [threads, - userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - - public_programs += executable( - 'userdbctl', - userdbctl_sources, - include_directories : includes, - link_with : [libshared], - dependencies : [threads, - userspace], - install_rpath : pkglibdir, - install : true) -endif - -if conf.get('ENABLE_HOMED') == 1 - executable( - 'systemd-homework', - systemd_homework_sources, - include_directories : includes, - link_with : [libshared, - libshared_fdisk], - dependencies : [libblkid, - libcrypt, - libfdisk, - libopenssl, - libp11kit, - threads, - userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - - dbus_programs += executable( - 'systemd-homed', - systemd_homed_sources, - include_directories : home_includes, - link_with : [libshared], - dependencies : [libcrypt, - libm, - libopenssl, - threads, - userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - - public_programs += executable( - 'homectl', - homectl_sources, - include_directories : includes, - link_with : [libshared], - dependencies : [libcrypt, - libdl, - libopenssl, - libp11kit, - threads, - userspace], - install_rpath : pkglibdir, - install : true) - - if conf.get('HAVE_PAM') == 1 - version_script_arg = project_source_root / pam_systemd_home_sym - pam_systemd_home = shared_library( - 'pam_systemd_home', - pam_systemd_home_c, - name_prefix : '', - include_directories : includes, - link_args : ['-shared', - '-Wl,--version-script=' + version_script_arg], - link_with : [libsystemd_static, - libshared_static], - dependencies : [libcrypt, - libpam_misc, - libpam, - threads, - userspace], - link_depends : pam_systemd_home_sym, - install : true, - install_tag : 'pam', - install_dir : pamlibdir) - - if want_tests != 'false' - test('dlopen-pam_systemd_home', - test_dlopen, - # path to dlopen must include a slash - args : pam_systemd_home.full_path(), - depends : pam_systemd_home) - endif - endif -endif - -foreach alias : (['halt', 'poweroff', 'reboot', 'shutdown'] + - (conf.get('HAVE_SYSV_COMPAT') == 1 ? ['runlevel', 'telinit'] : [])) - meson.add_install_script(meson_make_symlink, - bindir / 'systemctl', - sbindir / alias) -endforeach - meson.add_install_script(meson_make_symlink, bindir / 'udevadm', libexecdir / 'systemd-udevd') -if conf.get('ENABLE_BACKLIGHT') == 1 - executable( - 'systemd-backlight', - 'src/backlight/backlight.c', - include_directories : includes, - link_with : [libshared], - dependencies : userspace, - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) -endif - -if conf.get('ENABLE_RFKILL') == 1 - executable( - 'systemd-rfkill', - 'src/rfkill/rfkill.c', - include_directories : includes, - link_with : [libshared], - dependencies : userspace, - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) -endif - -executable( - 'systemd-system-update-generator', - 'src/system-update-generator/system-update-generator.c', - include_directories : includes, - link_with : [libshared], - dependencies : userspace, - install_rpath : pkglibdir, - install : true, - install_dir : systemgeneratordir) - -if conf.get('HAVE_LIBCRYPTSETUP') == 1 - executable( - 'systemd-cryptsetup', - systemd_cryptsetup_sources, - include_directories : includes, - link_with : [libshared], - dependencies : [libcryptsetup, - libopenssl, - libp11kit, - userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - - executable( - 'systemd-cryptsetup-generator', - 'src/cryptsetup/cryptsetup-generator.c', - include_directories : includes, - link_with : [libshared], - dependencies : userspace, - install_rpath : pkglibdir, - install : true, - install_dir : systemgeneratordir) - - executable( - 'systemd-veritysetup', - 'src/veritysetup/veritysetup.c', - include_directories : includes, - link_with : [libshared], - dependencies : [libcryptsetup, - userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - - executable( - 'systemd-veritysetup-generator', - 'src/veritysetup/veritysetup-generator.c', - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true, - install_dir : systemgeneratordir) - - public_programs += executable( - 'systemd-cryptenroll', - systemd_cryptenroll_sources, - include_directories : includes, - link_with : [libshared], - dependencies : [libcryptsetup, - libdl, - libopenssl, - libp11kit, - userspace], - install_rpath : pkglibdir, - install : true) - - executable( - 'systemd-integritysetup', - ['src/integritysetup/integritysetup.c', 'src/integritysetup/integrity-util.c'], - include_directories : includes, - link_with : [libshared], - dependencies : [libcryptsetup, - userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - - executable( - 'systemd-integritysetup-generator', - ['src/integritysetup/integritysetup-generator.c', 'src/integritysetup/integrity-util.c'], - include_directories : includes, - link_with : [libshared], - dependencies : userspace, - install_rpath : pkglibdir, - install : true, - install_dir : systemgeneratordir) -endif - -if conf.get('HAVE_SYSV_COMPAT') == 1 - exe = executable( - 'systemd-sysv-generator', - 'src/sysv-generator/sysv-generator.c', - include_directories : includes, - link_with : [libshared], - dependencies : userspace, - install_rpath : pkglibdir, - install : true, - install_dir : systemgeneratordir) - - sysv_generator_test_py = find_program('test/sysv-generator-test.py') - if want_tests != 'false' - test('sysv-generator-test', - sysv_generator_test_py, - depends : exe) - endif - - executable( - 'systemd-rc-local-generator', - 'src/rc-local-generator/rc-local-generator.c', - include_directories : includes, - link_with : [libshared], - dependencies : userspace, - install_rpath : pkglibdir, - install : true, - install_dir : systemgeneratordir) -endif - -if conf.get('ENABLE_XDG_AUTOSTART') == 1 - executable( - 'systemd-xdg-autostart-generator', - systemd_xdg_autostart_generator_sources, - include_directories : includes, - link_with : [libshared], - dependencies : userspace, - install_rpath : pkglibdir, - install : true, - install_dir : usergeneratordir) - - executable( - 'systemd-xdg-autostart-condition', - 'src/xdg-autostart-generator/xdg-autostart-condition.c', - include_directories : includes, - link_with : [libshared], - dependencies : userspace, - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) -endif - -if conf.get('ENABLE_HOSTNAMED') == 1 - dbus_programs += executable( - 'systemd-hostnamed', - 'src/hostname/hostnamed.c', - include_directories : includes, - link_with : [libshared], - dependencies : userspace, - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - - public_programs += executable( - 'hostnamectl', - 'src/hostname/hostnamectl.c', - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true) -endif - -if conf.get('ENABLE_LOCALED') == 1 - dbus_programs += executable( - 'systemd-localed', - systemd_localed_sources, - include_directories : includes, - link_with : [libshared], - dependencies : libxkbcommon_deps + - [userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - - public_programs += executable( - 'localectl', - localectl_sources, - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true) -endif - -if conf.get('ENABLE_TIMEDATED') == 1 - dbus_programs += executable( - 'systemd-timedated', - 'src/timedate/timedated.c', - include_directories : includes, - link_with : [libshared], - dependencies : userspace, - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) -endif - -if conf.get('ENABLE_TIMEDATECTL') == 1 - public_programs += executable( - 'timedatectl', - 'src/timedate/timedatectl.c', - include_directories : includes, - install_rpath : pkglibdir, - link_with : [libshared], - dependencies : [libm, - userspace], - install : true) -endif - -if conf.get('ENABLE_TIMESYNCD') == 1 - executable( - 'systemd-timesyncd', - systemd_timesyncd_sources, - include_directories : includes, - link_with : [libtimesyncd_core], - dependencies : [libm, - threads, - userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - - executable( - 'systemd-time-wait-sync', - 'src/timesync/wait-sync.c', - include_directories : includes, - link_with : [libtimesyncd_core], - dependencies : userspace, - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) -endif - if conf.get('ENABLE_MACHINED') == 1 dbus_programs += executable( 'systemd-machined', @@ -3481,6 +3056,7 @@ systemd_id128 = executable( public_programs += systemd_id128 if want_tests != 'false' + systemctl = executables_by_name.get('systemctl') test('test-systemctl-enable', test_systemctl_enable_sh, # https://github.com/mesonbuild/meson/issues/2681 diff --git a/src/backlight/meson.build b/src/backlight/meson.build new file mode 100644 index 0000000000..ed4c55e717 --- /dev/null +++ b/src/backlight/meson.build @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + libexec_template + { + 'name' : 'systemd-backlight', + 'conditions' : ['ENABLE_BACKLIGHT'], + 'sources' : files('backlight.c'), + }, +] diff --git a/src/cryptenroll/meson.build b/src/cryptenroll/meson.build index 9080af0db9..fa171ea47a 100644 --- a/src/cryptenroll/meson.build +++ b/src/cryptenroll/meson.build @@ -19,3 +19,18 @@ endif if conf.get('HAVE_TPM2') == 1 systemd_cryptenroll_sources += files('cryptenroll-tpm2.c') endif + +executables += [ + executable_template + { + 'name' : 'systemd-cryptenroll', + 'public' : true, + 'conditions' : ['HAVE_LIBCRYPTSETUP'], + 'sources' : systemd_cryptenroll_sources, + 'dependencies' : [ + libcryptsetup, + libdl, + libopenssl, + libp11kit, + ], + }, +] diff --git a/src/cryptsetup/meson.build b/src/cryptsetup/meson.build index 2a8e43a33a..6f7aa3c796 100644 --- a/src/cryptsetup/meson.build +++ b/src/cryptsetup/meson.build @@ -14,3 +14,21 @@ endif if conf.get('HAVE_TPM2') == 1 systemd_cryptsetup_sources += files('cryptsetup-tpm2.c') endif + +executables += [ + libexec_template + { + 'name' : 'systemd-cryptsetup', + 'conditions' : ['HAVE_LIBCRYPTSETUP'], + 'sources' : systemd_cryptsetup_sources, + 'dependencies' : [ + libcryptsetup, + libopenssl, + libp11kit, + ], + }, + generator_template + { + 'name' : 'systemd-cryptsetup-generator', + 'conditions' : ['HAVE_LIBCRYPTSETUP'], + 'sources' : files('cryptsetup-generator.c'), + }, +] diff --git a/src/home/meson.build b/src/home/meson.build index ff3cf411fe..cbd37dba78 100644 --- a/src/home/meson.build +++ b/src/home/meson.build @@ -56,13 +56,77 @@ homectl_sources = files( 'user-record-util.c', ) -pam_systemd_home_sym = 'src/home/pam_systemd_home.sym' -pam_systemd_home_c = files( +pam_systemd_home_sources = files( 'home-util.c', 'pam_systemd_home.c', 'user-record-util.c', ) +executables += [ + libexec_template + { + 'name' : 'systemd-homework', + 'conditions' : ['ENABLE_HOMED'], + 'sources' : systemd_homework_sources, + 'link_with' : [ + libshared, + libshared_fdisk + ], + 'dependencies' : [ + libblkid, + libcrypt, + libfdisk, + libopenssl, + libp11kit, + threads, + ], + }, + libexec_template + { + 'name' : 'systemd-homed', + 'dbus' : true, + 'conditions' : ['ENABLE_HOMED'], + 'sources' : systemd_homed_sources, + 'include_directories' : includes + + include_directories('.'), + 'dependencies' : [ + libcrypt, + libm, + libopenssl, + threads, + ], + }, + executable_template + { + 'name' : 'homectl', + 'public' : true, + 'conditions' : ['ENABLE_HOMED'], + 'sources' : homectl_sources, + 'dependencies' : [ + libcrypt, + libdl, + libopenssl, + libp11kit, + threads, + ], + }, +] + +modules += [ + pam_template + { + 'name' : 'pam_systemd_home', + 'conditions' : [ + 'ENABLE_HOMED', + 'HAVE_PAM', + ], + 'sources' : pam_systemd_home_sources, + 'dependencies' : [ + libcrypt, + libpam_misc, + libpam, + threads, + ], + 'link_depends' : files('pam_systemd_home.sym'), + }, +] + if conf.get('ENABLE_HOMED') == 1 install_data('org.freedesktop.home1.conf', install_dir : dbuspolicydir) diff --git a/src/hostname/meson.build b/src/hostname/meson.build index 718a7bd4f1..27c9b84209 100644 --- a/src/hostname/meson.build +++ b/src/hostname/meson.build @@ -1,5 +1,20 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +executables += [ + libexec_template + { + 'name' : 'systemd-hostnamed', + 'dbus' : true, + 'conditions' : ['ENABLE_HOSTNAMED'], + 'sources' : files('hostnamed.c'), + }, + executable_template + { + 'name' : 'hostnamectl', + 'public' : true, + 'conditions' : ['ENABLE_HOSTNAMED'], + 'sources' : files('hostnamectl.c'), + }, +] + if conf.get('ENABLE_HOSTNAMED') == 1 install_data('org.freedesktop.hostname1.conf', install_dir : dbuspolicydir) diff --git a/src/integritysetup/meson.build b/src/integritysetup/meson.build new file mode 100644 index 0000000000..6b9d78d4e8 --- /dev/null +++ b/src/integritysetup/meson.build @@ -0,0 +1,21 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + libexec_template + { + 'name' : 'systemd-integritysetup', + 'conditions' : ['HAVE_LIBCRYPTSETUP'], + 'sources' : files( + 'integrity-util.c', + 'integritysetup.c', + ), + 'dependencies' : libcryptsetup, + }, + generator_template + { + 'name' : 'systemd-integritysetup-generator', + 'conditions' : ['HAVE_LIBCRYPTSETUP'], + 'sources' : files( + 'integrity-util.c', + 'integritysetup-generator.c', + ), + }, +] diff --git a/src/locale/meson.build b/src/locale/meson.build index 61001cc259..e7e059a0ab 100644 --- a/src/locale/meson.build +++ b/src/locale/meson.build @@ -8,15 +8,33 @@ systemd_localed_sources = files( localectl_sources = files('localectl.c') -if conf.get('ENABLE_LOCALED') == 1 - install_data('org.freedesktop.locale1.conf', - install_dir : dbuspolicydir) - install_data('org.freedesktop.locale1.service', - install_dir : dbussystemservicedir) - install_data('org.freedesktop.locale1.policy', - install_dir : polkitpolicydir) +# logind will load libxkbcommon.so dynamically on its own, but we still need to +# specify where the headers are. +if conf.get('HAVE_XKBCOMMON') == 1 + libxkbcommon_deps = [ + libdl, + libxkbcommon.partial_dependency(compile_args: true), + ] +else + libxkbcommon_deps = [] endif +executables += [ + libexec_template + { + 'name' : 'systemd-localed', + 'dbus' : true, + 'conditions' : ['ENABLE_LOCALED'], + 'sources' : systemd_localed_sources, + 'dependencies' : libxkbcommon_deps, + }, + executable_template + { + 'name' : 'localectl', + 'public' : true, + 'conditions' : ['ENABLE_LOCALED'], + 'sources' : files('localectl.c'), + }, +] + # If you know a way that allows the same variables to be used # in sources list and concatenated to a string for test_env, # let me know. @@ -24,20 +42,17 @@ kbd_model_map = meson.current_source_dir() / 'kbd-model-map' language_fallback_map = meson.current_source_dir() / 'language-fallback-map' if conf.get('ENABLE_LOCALED') == 1 + install_data('org.freedesktop.locale1.conf', + install_dir : dbuspolicydir) + install_data('org.freedesktop.locale1.service', + install_dir : dbussystemservicedir) + install_data('org.freedesktop.locale1.policy', + install_dir : polkitpolicydir) install_data('kbd-model-map', 'language-fallback-map', install_dir : pkgdatadir) endif -# logind will load libxkbcommon.so dynamically on its own, but we still need to -# specify where the headers are. -if conf.get('HAVE_XKBCOMMON') == 1 - libxkbcommon_deps = [libdl, - libxkbcommon.partial_dependency(compile_args: true)] -else - libxkbcommon_deps = [] -endif - tests += [ { 'sources' : files( diff --git a/src/portable/meson.build b/src/portable/meson.build index 3a151d498e..210829b851 100644 --- a/src/portable/meson.build +++ b/src/portable/meson.build @@ -9,6 +9,37 @@ systemd_portabled_sources = files( 'portabled.c', ) +if get_option('link-portabled-shared') + portabled_link_with = [libshared] +else + portabled_link_with = [ + libshared_static, + libsystemd_static, + ] +endif + +executables += [ + libexec_template + { + 'name' : 'systemd-portabled', + 'dbus' : true, + 'conditions' : ['ENABLE_PORTABLED'], + 'sources' : systemd_portabled_sources, + 'link_with' : portabled_link_with, + 'dependencies' : [ + libselinux, + threads, + ], + }, + executable_template + { + 'name' : 'portablectl', + 'public' : true, + 'conditions' : ['ENABLE_PORTABLED'], + 'sources' : files('portablectl.c'), + 'link_with' : portabled_link_with, + 'dependencies' : threads, + }, +] + if conf.get('ENABLE_PORTABLED') == 1 install_data('org.freedesktop.portable1.conf', install_dir : dbuspolicydir) diff --git a/src/rc-local-generator/meson.build b/src/rc-local-generator/meson.build new file mode 100644 index 0000000000..e74225cd48 --- /dev/null +++ b/src/rc-local-generator/meson.build @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + generator_template + { + 'name' : 'systemd-rc-local-generator', + 'conditions' : ['HAVE_SYSV_COMPAT'], + 'sources' : files('rc-local-generator.c'), + }, +] diff --git a/src/rfkill/meson.build b/src/rfkill/meson.build new file mode 100644 index 0000000000..aa13b0038c --- /dev/null +++ b/src/rfkill/meson.build @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + libexec_template + { + 'name' : 'systemd-rfkill', + 'conditions' : ['ENABLE_RFKILL'], + 'sources' : files('rfkill.c'), + }, +] diff --git a/src/sysext/meson.build b/src/sysext/meson.build index 7fc699ec1e..e58888ade3 100644 --- a/src/sysext/meson.build +++ b/src/sysext/meson.build @@ -1,6 +1,13 @@ # SPDX-License-Identifier: LGPL-2.1-or-later -systemd_sysext_sources = files('sysext.c') +executables += [ + executable_template + { + 'name' : 'systemd-sysext', + 'public' : true, + 'conditions' : ['ENABLE_SYSEXT'], + 'sources' : files('sysext.c'), + }, +] if conf.get('ENABLE_SYSEXT') == 1 meson.add_install_script(meson_make_symlink, diff --git a/src/system-update-generator/meson.build b/src/system-update-generator/meson.build new file mode 100644 index 0000000000..cc629198f0 --- /dev/null +++ b/src/system-update-generator/meson.build @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + generator_template + { + 'name' : 'systemd-system-update-generator', + 'sources' : files('system-update-generator.c'), + }, +] diff --git a/src/systemctl/meson.build b/src/systemctl/meson.build index f45cbc47d3..e7e1a1964b 100644 --- a/src/systemctl/meson.build +++ b/src/systemctl/meson.build @@ -48,6 +48,30 @@ else libbasic_gcrypt] endif +executables += [ + executable_template + { + 'name' : 'systemctl', + 'public' : true, + 'sources' : systemctl_sources, + 'link_with' : systemctl_link_with, + 'dependencies' : [ + libcap, + liblz4, + libselinux, + libxz, + libzstd, + threads, + ], + }, +] + +foreach alias : (['halt', 'poweroff', 'reboot', 'shutdown'] + + (conf.get('HAVE_SYSV_COMPAT') == 1 ? ['runlevel', 'telinit'] : [])) + meson.add_install_script(meson_make_symlink, + bindir / 'systemctl', + sbindir / alias) +endforeach + fuzzers += [ { 'sources' : [ diff --git a/src/sysv-generator/meson.build b/src/sysv-generator/meson.build new file mode 100644 index 0000000000..4e89439df6 --- /dev/null +++ b/src/sysv-generator/meson.build @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + generator_template + { + 'name' : 'systemd-sysv-generator', + 'conditions' : ['HAVE_SYSV_COMPAT'], + 'sources' : files('sysv-generator.c'), + }, +] diff --git a/src/timedate/meson.build b/src/timedate/meson.build index 6eb9607e08..48054bb604 100644 --- a/src/timedate/meson.build +++ b/src/timedate/meson.build @@ -1,5 +1,21 @@ # SPDX-License-Identifier: LGPL-2.1-or-later +executables += [ + libexec_template + { + 'name' : 'systemd-timedated', + 'dbus' : true, + 'conditions' : ['ENABLE_TIMEDATED'], + 'sources' : files('timedated.c'), + }, + executable_template + { + 'name' : 'timedatectl', + 'public' : true, + 'conditions' : ['ENABLE_TIMEDATECTL'], + 'sources' : files('timedatectl.c'), + 'dependencies' : libm, + }, +] + if conf.get('ENABLE_TIMEDATED') == 1 install_data('org.freedesktop.timedate1.conf', install_dir : dbuspolicydir) diff --git a/src/timesync/meson.build b/src/timesync/meson.build index 54f5b18a3a..54ae6a9e73 100644 --- a/src/timesync/meson.build +++ b/src/timesync/meson.build @@ -33,6 +33,25 @@ libtimesyncd_core = static_library( link_with : timesyncd_link_with, build_by_default : false) +executables += [ + libexec_template + { + 'name' : 'systemd-timesyncd', + 'conditions' : ['ENABLE_TIMESYNCD'], + 'sources' : systemd_timesyncd_sources, + 'link_with' : libtimesyncd_core, + 'dependencies' : [ + libm, + threads, + ], + }, + libexec_template + { + 'name' : 'systemd-time-wait-sync', + 'conditions' : ['ENABLE_TIMESYNCD'], + 'sources' : files('wait-sync.c'), + 'link_with' : libtimesyncd_core, + }, +] + custom_target( 'timesyncd.conf', input : 'timesyncd.conf.in', diff --git a/src/userdb/meson.build b/src/userdb/meson.build index e2dc812f94..2d701c8ba7 100644 --- a/src/userdb/meson.build +++ b/src/userdb/meson.build @@ -1,10 +1,25 @@ # SPDX-License-Identifier: LGPL-2.1-or-later -systemd_userwork_sources = files('userwork.c') - -systemd_userdbd_sources = files( - 'userdbd-manager.c', - 'userdbd.c', -) - -userdbctl_sources = files('userdbctl.c') +executables += [ + libexec_template + { + 'name' : 'systemd-userwork', + 'conditions' : ['ENABLE_USERDB'], + 'sources' : files('userwork.c'), + 'dependencies' : threads, + }, + libexec_template + { + 'name' : 'systemd-userdbd', + 'conditions' : ['ENABLE_USERDB'], + 'sources' : files( + 'userdbd-manager.c', + 'userdbd.c', + ), + 'dependencies' : threads, + }, + executable_template + { + 'name' : 'userdbctl', + 'conditions' : ['ENABLE_USERDB'], + 'sources' : files('userdbctl.c'), + 'dependencies' : threads, + }, +] diff --git a/src/veritysetup/meson.build b/src/veritysetup/meson.build new file mode 100644 index 0000000000..a7468dfe06 --- /dev/null +++ b/src/veritysetup/meson.build @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: LGPL-2.1-or-later + +executables += [ + libexec_template + { + 'name' : 'systemd-veritysetup', + 'conditions' : ['HAVE_LIBCRYPTSETUP'], + 'sources' : files('veritysetup.c'), + 'dependencies' : libcryptsetup, + }, + generator_template + { + 'name' : 'systemd-veritysetup-generator', + 'conditions' : ['HAVE_LIBCRYPTSETUP'], + 'sources' : files('veritysetup-generator.c'), + }, +] diff --git a/src/xdg-autostart-generator/meson.build b/src/xdg-autostart-generator/meson.build index c7e5660881..8eea9322ae 100644 --- a/src/xdg-autostart-generator/meson.build +++ b/src/xdg-autostart-generator/meson.build @@ -5,6 +5,20 @@ systemd_xdg_autostart_generator_sources = files( 'xdg-autostart-service.c', ) +executables += [ + executable_template + { + 'name' : 'systemd-xdg-autostart-generator', + 'conditions' : ['ENABLE_XDG_AUTOSTART'], + 'sources' : systemd_xdg_autostart_generator_sources, + 'install_dir' : usergeneratordir, + }, + libexec_template + { + 'name' : 'systemd-xdg-autostart-condition', + 'conditions' : ['ENABLE_XDG_AUTOSTART'], + 'sources' : files('xdg-autostart-condition.c'), + }, +] + tests += [ { 'sources' : files(