aboutsummaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authorDudemanguy <random342@airmail.cc>2024-11-20 13:16:44 -0600
committerDmitry V. Levin <ldv@strace.io>2024-11-26 16:00:00 +0000
commite46b77e7739a2c5b8f72a7ea6fb77a7a6acc187d (patch)
tree35cdf6758104342f3c1808e7a8bdcb0b3dd0cd12 /meson.build
parent45576121e28e5880ba5b4ab2921fab52bc552787 (diff)
downloadpam-e46b77e7739a2c5b8f72a7ea6fb77a7a6acc187d.tar.gz
pam-e46b77e7739a2c5b8f72a7ea6fb77a7a6acc187d.tar.bz2
pam-e46b77e7739a2c5b8f72a7ea6fb77a7a6acc187d.zip
meson: support elogind as a logind provider
The systemd functionality used here is also supported by elogind. Introduce elogind meson option that could be used to enable logind support in pam_issue, pam_limits, and pam_timestamp via elogind. When elogind support is enabled, search for libelogind as well and use the appropriate headers.
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build13
1 files changed, 10 insertions, 3 deletions
diff --git a/meson.build b/meson.build
index 664bd126..f6a7dafe 100644
--- a/meson.build
+++ b/meson.build
@@ -318,9 +318,16 @@ else
stringparam_profileconditions += ';no_openssl_hmac'
endif
-
-libsystemd = dependency('libsystemd', version: '>= 254', required: get_option('logind'))
-cdata.set('USE_LOGIND', libsystemd.found() ? 1 : false)
+use_logind = get_option('logind')
+use_elogind = get_option('elogind').require(not use_logind.enabled()).disable_auto_if(use_logind.enabled())
+use_logind = use_logind.disable_auto_if(use_elogind.enabled())
+logind_dep = dependency('libsystemd', version: '>= 254', required: use_logind)
+cdata.set('USE_LIBSYSTEMD', logind_dep.found() ? 1 : false)
+if not logind_dep.found()
+ logind_dep = dependency('libelogind', version: '>= 254', required: use_elogind)
+ cdata.set('USE_LIBELOGIND', logind_dep.found() ? 1 : false)
+endif
+cdata.set('USE_LOGIND', logind_dep.found() ? 1 : false)
systemdunitdir = get_option('systemdunitdir')
if systemdunitdir == ''