summaryrefslogtreecommitdiff
path: root/src/pcm/meson.build
blob: 75eb5fb194170b91c85c9fc21a669ac09a3c09f4 (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
pcm_basic_sources = [
  'CheckAudioFormat.cxx',
  'AudioFormat.cxx',
  'AudioParser.cxx',
  'SampleFormat.cxx',
  'Interleave.cxx',
  'Buffer.cxx',
  'Export.cxx',
  'Dop.cxx',
  'Volume.cxx',
  'Silence.cxx',
  'Mix.cxx',
  'Pack.cxx',
  'Order.cxx',
  'Dither.cxx',
]

if get_option('dsd')
  pcm_basic_sources += [
    'Dsd16.cxx',
    'Dsd32.cxx',
    'PcmDsd.cxx',
    'Dsd2Pcm.cxx',
  ]
endif

pcm_basic = static_library(
  'pcm_basic',
  pcm_basic_sources,
  include_directories: inc,
  dependencies: [
    util_dep,
  ],
)

pcm_basic_dep = declare_dependency(
  link_with: pcm_basic,
)

pcm_sources = [
  'Convert.cxx',
  'PcmChannels.cxx',
  'PcmFormat.cxx',
  'FormatConverter.cxx',
  'ChannelsConverter.cxx',
  'GlueResampler.cxx',
  'FallbackResampler.cxx',
  'ConfiguredResampler.cxx',
]

libsamplerate_dep = dependency('samplerate', version: '>= 0.1.3', required: get_option('libsamplerate'))
if libsamplerate_dep.found()
  conf.set('ENABLE_LIBSAMPLERATE', true)
  pcm_sources += 'LibsamplerateResampler.cxx'
endif

soxr_dep = dependency('soxr', required: get_option('soxr'))
if soxr_dep.found()
  conf.set('ENABLE_SOXR', true)
  pcm_sources += 'SoxrResampler.cxx'
endif

pcm = static_library(
  'pcm',
  pcm_sources,
  include_directories: inc,
  dependencies: [
    util_dep,
    pcm_basic_dep,
    libsamplerate_dep,
    soxr_dep,
  ],
)

pcm_dep = declare_dependency(
  link_with: pcm,
)