| silk_sources = sources['SILK_SOURCES'] |
| |
| silk_sources_sse4_1 = sources['SILK_SOURCES_SSE4_1'] |
| |
| silk_sources_neon_intr = sources['SILK_SOURCES_ARM_NEON_INTR'] |
| |
| silk_sources_fixed_neon_intr = sources['SILK_SOURCES_FIXED_ARM_NEON_INTR'] |
| |
| silk_sources_fixed = sources['SILK_SOURCES_FIXED'] |
| |
| silk_sources_fixed_sse4_1 = sources['SILK_SOURCES_FIXED_SSE4_1'] |
| |
| silk_sources_float = sources['SILK_SOURCES_FLOAT'] |
| |
| if opt_fixed_point |
| silk_sources += silk_sources_fixed |
| else |
| silk_sources += silk_sources_float |
| endif |
| |
| silk_includes = [opus_includes, include_directories('float', 'fixed')] |
| silk_static_libs = [] |
| |
| foreach intr_name : ['sse4_1', 'neon_intr'] |
| have_intr = get_variable('have_' + intr_name) |
| if not have_intr |
| continue |
| endif |
| |
| intr_sources = get_variable('silk_sources_' + intr_name) |
| if opt_fixed_point |
| intr_sources += get_variable('silk_sources_fixed_' + intr_name) |
| endif |
| |
| intr_args = get_variable('opus_@0@_args'.format(intr_name), []) |
| silk_static_libs += static_library('silk_' + intr_name, intr_sources, |
| c_args: intr_args, |
| include_directories: silk_includes, |
| install: false) |
| endforeach |
| |
| silk_c_args = [] |
| if host_machine.system() == 'windows' |
| silk_c_args += ['-DDLL_EXPORT'] |
| endif |
| |
| silk_lib = static_library('opus-silk', |
| silk_sources, |
| c_args: silk_c_args, |
| include_directories: silk_includes, |
| link_whole: silk_static_libs, |
| dependencies: libm, |
| install: false) |