Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.xiph.org/xiph/opus.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/silk
diff options
context:
space:
mode:
authorTim-Philipp Müller <tim@centricular.com>2016-03-19 18:40:22 +0300
committerNirbheek Chauhan <nirbheek@centricular.com>2020-10-28 19:59:08 +0300
commitc2b542b6c02bafbe7a83b2eeec6cb5a0bfa3ed0d (patch)
treed788ad2c57bd1ccaae6aa73dced21c83c59df1b1 /silk
parent034c1b61a250457649d788bbf983b3f0fb63f02e (diff)
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.build53
-rw-r--r--silk/tests/meson.build8
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)