#include <systemd/sd-login.h>
#endif
+#ifdef HAVE_ELOGIND
+#include <elogind/sd-login.h>
+#endif
+
/**
* @addtogroup DBusInternalsUtils
* @{
_dbus_is_console_user (dbus_uid_t uid,
DBusError *error)
{
-#ifdef HAVE_SYSTEMD
+#if defined(HAVE_SYSTEMD) || defined(HAVE_ELOGIND)
/* check if we have logind */
if (access ("/run/systemd/seats/", F_OK) >= 0)
{
endif
data_config.set('SYSTEMCTL', systemctl)
+elogind_opt = get_option('elogind')
+if use_systemd
+ if elogind_opt.enabled()
+ error('-Dsystemd and -Delogind are mutually exclusive')
+ endif
+ elogind = dependency('', required: false)
+else
+ elogind = dependency('libelogind', version: '>=209', required: elogind_opt)
+endif
+use_elogind = elogind.found()
+config.set('HAVE_ELOGIND', use_elogind)
use_traditional_activation = message_bus and get_option('traditional_activation')
'Building inotify support': use_inotify,
'Building kqueue support': use_kqueue,
'Building systemd support': use_systemd,
+ 'Building elogind support': use_elogind,
'Traditional activation': use_traditional_activation,
'Building X11 code': config.get('DBUS_BUILD_X11'),
'Building Doxygen docs': doxygen.found(),