ref: 39f68ce356b8377a27759cd2356ec9b366e639b9
parent: 82b945ea38a512adea233bfb96d21d142e6946ec
author: Tim-Philipp Müller <tim@centricular.com>
date: Fri May 19 07:47:40 EDT 2023
meson: fix build for lpcnet additions
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -95,8 +95,9 @@
apt-get install -y ninja-build doxygen meson git
- !reference [.snippets, git_prep]
script:
+ - ./autogen.sh
- mkdir builddir
- - meson setup -Dtests=enabled -Ddocs=enabled -Dbuildtype=release builddir ${MESON_EXTRA_ARGS}
+ - meson setup -Dtests=enabled -Ddocs=enabled -Dbuildtype=release builddir
- meson compile -C builddir
- meson test -C builddir
#- meson dist --no-tests -C builddir
--- a/meson.build
+++ b/meson.build
@@ -14,7 +14,7 @@
top_srcdir = meson.current_source_dir()
top_builddir = meson.current_build_dir()
-opus_includes = include_directories('.', 'include', 'celt', 'silk')
+opus_includes = include_directories('.', 'include', 'celt', 'silk', 'lpcnet/include')
opus_public_includes = include_directories('include')
add_project_arguments('-DOPUS_BUILD', language: 'c')
@@ -563,7 +563,12 @@
endif
# extract source file lists from .mk files
-mk_files = ['silk_sources.mk', 'opus_headers.mk', 'opus_sources.mk', 'silk_headers.mk', 'celt_sources.mk', 'celt_headers.mk']
+mk_files = [
+ 'opus_headers.mk', 'opus_sources.mk',
+ 'silk_headers.mk', 'silk_sources.mk',
+ 'celt_sources.mk', 'celt_headers.mk',
+ 'lpcnet_headers.mk', 'lpcnet_sources.mk',
+]
lines = run_command('meson/read-sources-list.py', mk_files, check: true).stdout().strip().split('\n')
sources = {}
foreach l : lines
--- a/silk/meson.build
+++ b/silk/meson.build
@@ -54,10 +54,30 @@
silk_c_args += ['-DDLL_EXPORT']
endif
+# ----------------------- lpcnet ---------------------------------------------
+# Perhaps this should be moved into lpcnet itself
+lpcnet_sources = sources['LPCNET_SOURCES']
+
+lpcnet_includes = [opus_includes, include_directories('../lpcnet/include')]
+
+lpcnet_c_args = []
+if host_machine.system() == 'windows'
+ lpcnet_c_args += ['-DDLL_EXPORT']
+endif
+
+lpcnet_lib = static_library('silk-lpcnet',
+ lpcnet_sources,
+ c_args: lpcnet_c_args,
+ include_directories: lpcnet_includes,
+ dependencies: libm,
+ install: false)
+
+# ----------------------- lpcnet ---------------------------------------------
+
silk_lib = static_library('opus-silk',
silk_sources,
c_args: silk_c_args,
include_directories: silk_includes,
- link_whole: silk_static_libs,
+ link_whole: [silk_static_libs, lpcnet_lib],
dependencies: libm,
install: false)
--- a/src/meson.build
+++ b/src/meson.build
@@ -17,7 +17,7 @@
darwin_versions: macosversion,
c_args: opus_lib_c_args,
include_directories: opus_includes,
- link_with: [celt_lib, silk_lib],
+ link_whole: [celt_lib, silk_lib],
dependencies: libm,
install: true)
--
⑨