summaryrefslogtreecommitdiff
path: root/src/mixer
diff options
context:
space:
mode:
Diffstat (limited to 'src/mixer')
-rw-r--r--src/mixer/audio_miniaudio.c3
-rw-r--r--src/mixer/meson.build20
2 files changed, 19 insertions, 4 deletions
diff --git a/src/mixer/audio_miniaudio.c b/src/mixer/audio_miniaudio.c
index bc2da0d..9355f35 100644
--- a/src/mixer/audio_miniaudio.c
+++ b/src/mixer/audio_miniaudio.c
@@ -74,6 +74,9 @@ static void miniaudio_log_callback(void *userdata, u32 level, const char *messag
static bool audio_miniaudio_init(struct camu_audio *audio, str *name)
{
struct camu_audio_miniaudio *ma = (struct camu_audio_miniaudio *)audio;
+#ifdef CAMU_NO_MINIAUDIO_BACKENDS
+ al_assert_and_return(false);
+#endif
ma_log_init(&alloc_callbacks, &ma->log);
ma_log_register_callback(&ma->log, ma_log_callback_init(miniaudio_log_callback, NULL));
ma->context_config = ma_context_config_init();
diff --git a/src/mixer/meson.build b/src/mixer/meson.build
index e4840c1..f65d624 100644
--- a/src/mixer/meson.build
+++ b/src/mixer/meson.build
@@ -17,10 +17,20 @@ if use_miniaudio
'-DMA_NO_GENERATION',
]
if is_linux
- libpulse = dependency('libpulse')
- alsa = dependency('alsa')
- mixer_deps += [libpulse, alsa]
- mixer_args += ['-DMA_ENABLE_ALSA', '-DMA_ENABLE_PULSEAUDIO', '-DMA_NO_RUNTIME_LINKING']
+ mixer_args += ['-DMA_NO_RUNTIME_LINKING']
+ libpulse = dependency('libpulse', required: false)
+ if libpulse.found()
+ mixer_deps += [libpulse]
+ mixer_args += ['-DMA_ENABLE_PULSEAUDIO']
+ endif
+ alsa = dependency('alsa', required: false)
+ if alsa.found()
+ mixer_deps += [alsa]
+ mixer_args += ['-DMA_ENABLE_ALSA']
+ endif
+ if not (libpulse.found() or alsa.found())
+ mixer_args += ['-DCAMU_NO_MINIAUDIO_BACKENDS']
+ endif
elif is_windows
if get_option('win32-compat')
mixer_args += ['-DMA_ENABLE_DSOUND']
@@ -29,6 +39,8 @@ if use_miniaudio
endif
elif is_android
mixer_args += ['-DMA_ENABLE_AAUDIO']
+ else
+ mixer_args += ['-DCAMU_NO_MINIAUDIO_BACKENDS']
endif
endif