diff options
author | Tim-Philipp Müller <tim@centricular.com> | 2016-03-19 15:40:22 +0000 |
---|---|---|
committer | Nirbheek Chauhan <nirbheek@centricular.com> | 2020-10-28 22:29:08 +0530 |
commit | c2b542b6c02bafbe7a83b2eeec6cb5a0bfa3ed0d (patch) | |
tree | d788ad2c57bd1ccaae6aa73dced21c83c59df1b1 /silk | |
parent | 034c1b61a250457649d788bbf983b3f0fb63f02e (diff) | |
download | opus-c2b542b6c02bafbe7a83b2eeec6cb5a0bfa3ed0d.tar.gz |
Add support for Meson build system
Tested on:
- Linux/x86* with gcc
- Android armv7 arm64 x86 x86_64 with clang
- Windows x86 x86_64 with Visual Studio 2017
- Windows x86 x86_64 with MinGW
- macOS x86_64 with clang
- iOS arm64 x86_64 with clang
Co-authored by: Nirbheek Chauhan <nirbheek@centricular.com>
https://gitlab.xiph.org/xiph/opus/-/merge_requests/13
Diffstat (limited to 'silk')
-rw-r--r-- | silk/meson.build | 53 | ||||
-rw-r--r-- | silk/tests/meson.build | 8 |
2 files changed, 61 insertions, 0 deletions
diff --git a/silk/meson.build b/silk/meson.build new file mode 100644 index 00000000..70692372 --- /dev/null +++ b/silk/meson.build @@ -0,0 +1,53 @@ +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) diff --git a/silk/tests/meson.build b/silk/tests/meson.build new file mode 100644 index 00000000..b7c70f75 --- /dev/null +++ b/silk/tests/meson.build @@ -0,0 +1,8 @@ +exe = executable('test_unit_LPC_inv_pred_gain', + 'test_unit_LPC_inv_pred_gain.c', '../LPC_inv_pred_gain.c', + include_directories: opus_includes, + link_with: [celt_lib, celt_static_libs, silk_lib, silk_static_libs], + dependencies: libm, + install: false) + +test(test_name, exe) |