[gnome-session: 1/2] meson: Support elogind



commit 25dde19ebb75a2a297d9ce9ee313e7b3a69dedb5
Author: Mart Raudsepp <leio gentoo org>
Date:   Tue Mar 19 11:00:21 2019 +0200

    meson: Support elogind

 meson.build       | 12 +++++++++---
 meson_options.txt |  1 +
 2 files changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/meson.build b/meson.build
index afc97457..3a9c32a4 100644
--- a/meson.build
+++ b/meson.build
@@ -121,8 +121,10 @@ session_tracking = 'null backend'
 
 enable_systemd = get_option('systemd')
 enable_systemd_journal = get_option('systemd_journal')
+enable_elogind = get_option('elogind')
 enable_consolekit = get_option('consolekit')
-if enable_systemd or enable_consolekit
+assert(not (enable_systemd and enable_elogind), 'Can not support systemd and elogind at once')
+if enable_systemd or enable_elogind or enable_consolekit
   session_bin_deps += dependency('gio-unix-2.0', version: glib_req_version)
 
   # Check for systemd
@@ -145,6 +147,10 @@ if enable_systemd or enable_consolekit
     endif
 
     session_tracking = 'systemd'
+  elif enable_elogind
+    libelogind_dep = dependency('libelogind', version: '>= 239')
+    session_bin_deps += libelogind_dep
+    session_tracking = 'elogind'
   endif
 
   # Check for ConsoleKit
@@ -154,14 +160,14 @@ if enable_systemd or enable_consolekit
 
     session_bin_deps += dbus_glib_dep
 
-    if enable_systemd
+    if enable_systemd or enable_elogind
       session_tracking += ' (with fallback to ConsoleKit)'
     else
       session_tracking = 'ConsoleKit'
     endif
   endif
 endif
-config_h.set('HAVE_SYSTEMD', enable_systemd)
+config_h.set('HAVE_SYSTEMD', enable_systemd or enable_elogind)
 config_h.set('ENABLE_SYSTEMD_JOURNAL', enable_systemd_journal)
 config_h.set('HAVE_CONSOLEKIT', enable_consolekit)
 
diff --git a/meson_options.txt b/meson_options.txt
index 05174fec..cd85eae8 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,4 +1,5 @@
 option('deprecation_flags', type: 'boolean', value: false, description: 'use *_DISABLE_DEPRECATED flags')
+option('elogind', type: 'boolean', value: true, description: 'Use elogind')
 option('session_selector', type: 'boolean', value: false, description: 'enable building a custom session 
selector dialog')
 option('systemd', type: 'boolean', value: true, description: 'Use systemd')
 option('systemd_journal', type: 'boolean', value:'true', description: 'Send log to systemd-journal')


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]