forked from external/yambar
meson: make ‘alsa’ plugin compile time optional
This commit is contained in:
parent
f8f0d7ae99
commit
4c1398f1a5
4 changed files with 19 additions and 6 deletions
10
meson.build
10
meson.build
|
@ -132,10 +132,11 @@ yambar = executable(
|
||||||
dependencies: [bar, libepoll, libinotify, pixman, yaml, threads, dl, tllist, fcft] +
|
dependencies: [bar, libepoll, libinotify, pixman, yaml, threads, dl, tllist, fcft] +
|
||||||
decorations + particles + modules,
|
decorations + particles + modules,
|
||||||
c_args: [
|
c_args: [
|
||||||
plugin_mpd_enabled? '-DPLUGIN_ENABLED_MPD':[],
|
plugin_alsa_enabled ? '-DPLUGIN_ENABLED_ALSA' : [],
|
||||||
plugin_pulse_enabled? '-DPLUGIN_ENABLED_PULSE':[],
|
plugin_dwl_enabled ? '-DPLUGIN_ENABLED_DWL' : [],
|
||||||
plugin_pipewire_enabled? '-DPLUGIN_ENABLED_PIPEWIRE':[],
|
plugin_mpd_enabled ? '-DPLUGIN_ENABLED_MPD' : [],
|
||||||
plugin_dwl_enabled? '-DPLUGIN_ENABLED_DWL':[],
|
plugin_pipewire_enabled ? '-DPLUGIN_ENABLED_PIPEWIRE' : [],
|
||||||
|
plugin_pulse_enabled ? '-DPLUGIN_ENABLED_PULSE' : [],
|
||||||
],
|
],
|
||||||
build_rpath: '$ORIGIN/modules:$ORIGIN/decorations:$ORIGIN/particles',
|
build_rpath: '$ORIGIN/modules:$ORIGIN/decorations:$ORIGIN/particles',
|
||||||
export_dynamic: true,
|
export_dynamic: true,
|
||||||
|
@ -174,6 +175,7 @@ summary(
|
||||||
|
|
||||||
summary(
|
summary(
|
||||||
{
|
{
|
||||||
|
'ALSA': plugin_alsa_enabled,
|
||||||
'DWL (dwm for Wayland)': plugin_dwl_enabled,
|
'DWL (dwm for Wayland)': plugin_dwl_enabled,
|
||||||
'Music Player Daemon (MPD)': plugin_mpd_enabled,
|
'Music Player Daemon (MPD)': plugin_mpd_enabled,
|
||||||
'Pipewire': plugin_pipewire_enabled,
|
'Pipewire': plugin_pipewire_enabled,
|
||||||
|
|
|
@ -6,6 +6,7 @@ option(
|
||||||
'core-plugins-as-shared-libraries', type: 'boolean', value: false,
|
'core-plugins-as-shared-libraries', type: 'boolean', value: false,
|
||||||
description: 'Compiles modules, particles and decorations as shared libraries, which are loaded on-demand')
|
description: 'Compiles modules, particles and decorations as shared libraries, which are loaded on-demand')
|
||||||
|
|
||||||
|
option('plugin-alsa', type: 'feature', value: 'auto', description: 'ALSA')
|
||||||
option('plugin-dwl', type: 'feature', value: 'auto',
|
option('plugin-dwl', type: 'feature', value: 'auto',
|
||||||
description: 'DWL (dwm for wayland) support')
|
description: 'DWL (dwm for wayland) support')
|
||||||
option('plugin-mpd', type: 'feature', value: 'auto',
|
option('plugin-mpd', type: 'feature', value: 'auto',
|
||||||
|
|
|
@ -2,14 +2,17 @@ module_sdk = declare_dependency(dependencies: [pixman, threads, tllist, fcft])
|
||||||
|
|
||||||
modules = []
|
modules = []
|
||||||
|
|
||||||
alsa = dependency('alsa')
|
|
||||||
udev = dependency('libudev')
|
udev = dependency('libudev')
|
||||||
json = dependency('json-c')
|
json = dependency('json-c')
|
||||||
xcb_xkb = dependency('xcb-xkb', required: get_option('backend-x11'))
|
xcb_xkb = dependency('xcb-xkb', required: get_option('backend-x11'))
|
||||||
|
|
||||||
# Optional deps
|
# Optional deps
|
||||||
|
alsa = dependency('alsa', required: get_option('plugin-alsa'))
|
||||||
|
plugin_alsa_enabled = alsa.found()
|
||||||
|
|
||||||
mpd = dependency('libmpdclient', required: get_option('plugin-mpd'))
|
mpd = dependency('libmpdclient', required: get_option('plugin-mpd'))
|
||||||
plugin_mpd_enabled = mpd.found()
|
plugin_mpd_enabled = mpd.found()
|
||||||
|
|
||||||
pipewire = dependency('libpipewire-0.3', required: get_option('plugin-pipewire'))
|
pipewire = dependency('libpipewire-0.3', required: get_option('plugin-pipewire'))
|
||||||
plugin_pipewire_enabled = pipewire.found()
|
plugin_pipewire_enabled = pipewire.found()
|
||||||
|
|
||||||
|
@ -20,7 +23,6 @@ plugin_dwl_enabled = get_option('plugin-dwl').allowed()
|
||||||
|
|
||||||
# Module name -> (source-list, dep-list)
|
# Module name -> (source-list, dep-list)
|
||||||
mod_data = {
|
mod_data = {
|
||||||
'alsa': [[], [m, alsa]],
|
|
||||||
'backlight': [[], [m, udev]],
|
'backlight': [[], [m, udev]],
|
||||||
'battery': [[], [udev]],
|
'battery': [[], [udev]],
|
||||||
'clock': [[], []],
|
'clock': [[], []],
|
||||||
|
@ -35,6 +37,10 @@ mod_data = {
|
||||||
'sway-xkb': [['i3-common.c', 'i3-common.h'], [dynlist, json]],
|
'sway-xkb': [['i3-common.c', 'i3-common.h'], [dynlist, json]],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if plugin_alsa_enabled
|
||||||
|
mod_data += {'alsa': [[], [m, alsa]]}
|
||||||
|
endif
|
||||||
|
|
||||||
if plugin_dwl_enabled
|
if plugin_dwl_enabled
|
||||||
mod_data += {'dwl': [[], [dynlist]]}
|
mod_data += {'dwl': [[], [dynlist]]}
|
||||||
endif
|
endif
|
||||||
|
|
4
plugin.c
4
plugin.c
|
@ -32,7 +32,9 @@
|
||||||
keychain_t *chain, const struct yml_node *node); \
|
keychain_t *chain, const struct yml_node *node); \
|
||||||
extern struct deco *plug_name##_from_conf(const struct yml_node *node);
|
extern struct deco *plug_name##_from_conf(const struct yml_node *node);
|
||||||
|
|
||||||
|
#if defined(PLUGIN_ENABLED_ALSA)
|
||||||
EXTERN_MODULE(alsa);
|
EXTERN_MODULE(alsa);
|
||||||
|
#endif
|
||||||
EXTERN_MODULE(backlight);
|
EXTERN_MODULE(backlight);
|
||||||
EXTERN_MODULE(battery);
|
EXTERN_MODULE(battery);
|
||||||
EXTERN_MODULE(clock);
|
EXTERN_MODULE(clock);
|
||||||
|
@ -124,7 +126,9 @@ init(void)
|
||||||
tll_back(plugins).decoration = &deco_##func_prefix##_iface; \
|
tll_back(plugins).decoration = &deco_##func_prefix##_iface; \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
#if defined(PLUGIN_ENABLED_ALSA)
|
||||||
REGISTER_CORE_MODULE(alsa, alsa);
|
REGISTER_CORE_MODULE(alsa, alsa);
|
||||||
|
#endif
|
||||||
REGISTER_CORE_MODULE(backlight, backlight);
|
REGISTER_CORE_MODULE(backlight, backlight);
|
||||||
REGISTER_CORE_MODULE(battery, battery);
|
REGISTER_CORE_MODULE(battery, battery);
|
||||||
REGISTER_CORE_MODULE(clock, clock);
|
REGISTER_CORE_MODULE(clock, clock);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue