1audiomixer_sources = [
2  'audiomixer.c',
3  'mix-ops.c',
4  'mixer-dsp.c',
5  'plugin.c'
6]
7
8simd_cargs = []
9simd_dependencies = []
10
11audiomixer_c = static_library('audiomixer_c',
12  ['mix-ops-c.c' ],
13  c_args : ['-O3'],
14  dependencies : [ spa_dep ],
15  install : false
16)
17simd_dependencies += audiomixer_c
18
19if have_sse
20  audiomixer_sse = static_library('audiomixer_sse',
21    ['mix-ops-sse.c' ],
22    c_args : [sse_args, '-O3', '-DHAVE_SSE'],
23    dependencies : [ spa_dep ],
24    install : false
25  )
26  simd_cargs += ['-DHAVE_SSE']
27  simd_dependencies += audiomixer_sse
28endif
29if have_sse2
30  audiomixer_sse2 = static_library('audiomixer_sse2',
31    ['mix-ops-sse2.c' ],
32    c_args : [sse2_args, '-O3', '-DHAVE_SSE2'],
33    dependencies : [ spa_dep ],
34    install : false
35  )
36  simd_cargs += ['-DHAVE_SSE2']
37  simd_dependencies += audiomixer_sse2
38endif
39if have_avx and have_fma
40  audiomixer_avx = static_library('audiomixer_avx',
41    ['mix-ops-avx.c'],
42    c_args : [avx_args, fma_args, '-O3', '-DHAVE_AVX', '-DHAVE_FMA'],
43    dependencies : [ spa_dep ],
44    install : false
45  )
46  simd_cargs += ['-DHAVE_AVX', '-DHAVE_FMA']
47  simd_dependencies += audiomixer_avx
48endif
49
50audiomixerlib = shared_library('spa-audiomixer',
51  audiomixer_sources,
52  c_args : simd_cargs,
53  link_with : simd_dependencies,
54  dependencies : [ spa_dep, mathlib ],
55  install : true,
56  install_dir : spa_plugindir / 'audiomixer'
57)
58