summaryrefslogtreecommitdiff
path: root/src/mixer/meson.build
blob: cf67fbb0f02b00606aecc612883dd9b3a5f33785 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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)