mixer_src = ['mixer.c', 'audio_null.c'] mixer_deps = [] mixer_args = [] if 'miniaudio' in get_option('audio-backends') miniaudio = subproject('miniaudio').get_variable('miniaudio') mixer_src += ['audio_miniaudio.c'] mixer_deps += [miniaudio] mixer_args += [ '-DMA_ENABLE_ONLY_SPECIFIC_BACKENDS', '-DMA_NO_DECODING', '-DMA_NO_ENCODING', '-DMA_NO_RESOURCE_MANAGER', '-DMA_NO_NODE_GRAPH', '-DMA_NO_ENGINE', '-DMA_NO_GENERATION', ] if is_linux 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'] else mixer_args += ['-DMA_ENABLE_WASAPI'] endif elif is_android mixer_args += ['-DMA_ENABLE_AAUDIO'] else mixer_args += ['-DCAMU_NO_MINIAUDIO_BACKENDS'] endif endif mixer = declare_dependency(sources: mixer_src, dependencies: mixer_deps, compile_args: mixer_args)