From b8ed1bf8eedce7d20c388a4a0bc33a118b6ecf3f Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sun, 25 Jun 2023 15:38:19 +0900 Subject: [PATCH] meson: move declarations of logind and friends --- meson.build | 76 ------------------------------------------- src/login/meson.build | 53 ++++++++++++++++++++++++++++-- 2 files changed, 50 insertions(+), 79 deletions(-) diff --git a/meson.build b/meson.build index 939ed66fa18..d7a297584ae 100644 --- a/meson.build +++ b/meson.build @@ -2558,82 +2558,6 @@ if want_tests != 'false' depends : exe) endif -if conf.get('ENABLE_LOGIND') == 1 - dbus_programs += executable( - 'systemd-logind', - systemd_logind_sources, - include_directories : includes, - link_with : [liblogind_core, - libshared], - dependencies : [libacl, - threads, - userspace], - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) - - public_programs += executable( - 'loginctl', - loginctl_sources, - include_directories : includes, - link_with : [libshared], - dependencies : [liblz4, - libxz, - libzstd, - threads, - userspace], - install_rpath : pkglibdir, - install : true) - - public_programs += executable( - 'systemd-inhibit', - 'src/login/inhibit.c', - include_directories : includes, - link_with : [libshared], - dependencies : [userspace], - install_rpath : pkglibdir, - install : true) - - if conf.get('HAVE_PAM') == 1 - version_script_arg = project_source_root / pam_systemd_sym - pam_systemd = shared_library( - 'pam_systemd', - pam_systemd_c, - name_prefix : '', - include_directories : includes, - link_args : ['-shared', - '-Wl,--version-script=' + version_script_arg], - link_with : [libsystemd_static, - libshared_static], - dependencies : [libpam_misc, - libpam, - threads, - userspace], - link_depends : pam_systemd_sym, - install : true, - install_tag : 'pam', - install_dir : pamlibdir) - - if want_tests != 'false' - test('dlopen-pam_systemd', - test_dlopen, - # path to dlopen must include a slash - args : pam_systemd.full_path(), - depends : pam_systemd) - endif - endif - - executable( - 'systemd-user-runtime-dir', - user_runtime_dir_sources, - include_directories : includes, - link_with : [libshared], - dependencies : userspace, - install_rpath : pkglibdir, - install : true, - install_dir : libexecdir) -endif - if conf.get('HAVE_PAM') == 1 executable( 'systemd-user-sessions', diff --git a/src/login/meson.build b/src/login/meson.build index 473cf340893..c641cc700e0 100644 --- a/src/login/meson.build +++ b/src/login/meson.build @@ -44,10 +44,57 @@ loginctl_sources = files( 'sysfs-show.c', ) -user_runtime_dir_sources = files('user-runtime-dir.c') +executables += [ + libexec_template + { + 'name' : 'systemd-logind', + 'dbus' : true, + 'conditions' : ['ENABLE_LOGIND'], + 'sources' : systemd_logind_sources, + 'link_with' : [ + liblogind_core, + libshared, + ], + 'dependencies' : [ + libacl, + threads, + ], + }, + executable_template + { + 'name' : 'loginctl', + 'public' : true, + 'conditions' : ['ENABLE_LOGIND'], + 'sources' : loginctl_sources, + 'dependencies' : [ + liblz4, + libxz, + libzstd, + threads, + ], + }, + executable_template + { + 'name' : 'systemd-inhibit', + 'public' : true, + 'conditions' : ['ENABLE_LOGIND'], + 'sources' : files('inhibit.c'), + }, + libexec_template + { + 'name' : 'systemd-user-runtime-dir', + 'conditions' : ['ENABLE_LOGIND'], + 'sources' : files('user-runtime-dir.c'), + }, +] -pam_systemd_sym = 'src/login/pam_systemd.sym' -pam_systemd_c = files('pam_systemd.c') +modules += [ + pam_template + { + 'name' : 'pam_systemd', + 'conditions' : [ + 'ENABLE_LOGIND', + 'HAVE_PAM', + ], + 'sources' : files('pam_systemd.c'), + 'link_depends' : files('pam_systemd.sym'), + }, +] enable_logind = conf.get('ENABLE_LOGIND') == 1 -- 2.39.2