diff --git a/meson.build b/meson.build index e16b7d6..4d3cf63 100644 --- a/meson.build +++ b/meson.build @@ -78,8 +78,8 @@ tllist = dependency('tllist', version: '>=1.0.1', fallback: 'tllist') fcft = dependency('fcft', version: ['>=3.0.0', '<4.0.0'], fallback: 'fcft') # DBus dependency. Used by 'modules/mpris' -dbus = dependency('libsystemd', version: '>=221', fallback: 'basu') -# dbus = dependency('basu') +sdbus_library = dependency('libsystemd', 'libelogind', 'basu', required: get_option('plugin-mpris')) +sdbus = declare_dependency(compile_args: ['-DHAVE_' + sdbus_library.name().to_upper()], dependencies:[sdbus_library]) add_project_arguments( cc_flags + diff --git a/modules/dbus.h b/modules/dbus.h new file mode 100644 index 0000000..6517cef --- /dev/null +++ b/modules/dbus.h @@ -0,0 +1,13 @@ +#pragma once + +// This header provides an generic interface for different versions of +// systemd-sdbus. + +#if defined(HAVE_LIBSYSTEMD) +#include +#elif defined(HAVE_LIBELOGIND) +#include +#elif defined(HAVE_BASU) +#include +#endif + diff --git a/modules/meson.build b/modules/meson.build index c80990a..2e08aba 100644 --- a/modules/meson.build +++ b/modules/meson.build @@ -22,8 +22,8 @@ plugin_mem_enabled = get_option('plugin-mem').allowed() mpd = dependency('libmpdclient', required: get_option('plugin-mpd')) plugin_mpd_enabled = mpd.found() -mpris = dbus -plugin_mpris_enabled = dbus.found() +mpris = sdbus +plugin_mpris_enabled = sdbus.found() json_i3 = dependency('json-c', required: get_option('plugin-i3')) plugin_i3_enabled = json_i3.found() diff --git a/modules/mpris.c b/modules/mpris.c index bad1bf1..3e38a88 100644 --- a/modules/mpris.c +++ b/modules/mpris.c @@ -13,7 +13,7 @@ #include -#include +#include "dbus.h" #define LOG_MODULE "mpris" #define LOG_ENABLE_DBG 1 diff --git a/subprojects/basu.wrap b/subprojects/basu.wrap deleted file mode 100644 index 9e9adab..0000000 --- a/subprojects/basu.wrap +++ /dev/null @@ -1,3 +0,0 @@ -[wrap-git] -url = https://git.sr.ht/~emersion/basu -revision = v0.2.1