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