1silk_sources = sources['SILK_SOURCES']
2
3silk_sources_sse4_1 = sources['SILK_SOURCES_SSE4_1']
4
5silk_sources_neon_intr = sources['SILK_SOURCES_ARM_NEON_INTR']
6
7silk_sources_fixed_neon_intr = sources['SILK_SOURCES_FIXED_ARM_NEON_INTR']
8
9silk_sources_fixed = sources['SILK_SOURCES_FIXED']
10
11silk_sources_fixed_sse4_1 = sources['SILK_SOURCES_FIXED_SSE4_1']
12
13silk_sources_float = sources['SILK_SOURCES_FLOAT']
14
15if opt_fixed_point
16  silk_sources += silk_sources_fixed
17else
18  silk_sources += silk_sources_float
19endif
20
21silk_includes = [opus_includes, include_directories('float', 'fixed')]
22silk_static_libs = []
23
24foreach intr_name : ['sse4_1', 'neon_intr']
25  have_intr = get_variable('have_' + intr_name)
26  if not have_intr
27    continue
28  endif
29
30  intr_sources = get_variable('silk_sources_' + intr_name)
31  if opt_fixed_point
32    intr_sources += get_variable('silk_sources_fixed_' + intr_name)
33  endif
34
35  intr_args = get_variable('opus_@0@_args'.format(intr_name), [])
36  silk_static_libs += static_library('silk_' + intr_name, intr_sources,
37      c_args: intr_args,
38      include_directories: silk_includes,
39      install: false)
40endforeach
41
42silk_c_args = []
43if host_machine.system() == 'windows'
44  silk_c_args += ['-DDLL_EXPORT']
45endif
46
47silk_lib = static_library('opus-silk',
48  silk_sources,
49  c_args: silk_c_args,
50  include_directories: silk_includes,
51  link_whole: silk_static_libs,
52  dependencies: libm,
53  install: false)
54