Commit Graph

118 Commits

Author SHA1 Message Date
92a4765a7e meson: Update to latest wrap, install required absl headers 2023-06-01 17:46:28 +05:30
c76b8bf340 doc: Update tarball generation process
Use meson dist, include subproject tarballs, and sha256sum files are
also autogenerated.
v1.1
2023-05-25 18:25:51 -04:00
cdec109331 file_utils.h: Fix build with gcc-13
* add missing include as reported by gcc-13:
webrtc/modules/audio_processing/transient/file_utils.cc:11:
../webrtc-audio-processing-1.0/webrtc/modules/audio_processing/transient/file_utils.h:36:35: error: 'uint8_t' does not name a type
   36 | int ConvertByteArrayToFloat(const uint8_t bytes[4], float* out);
      |                                   ^~~~~~~
webrtc/modules/audio_processing/transient/file_utils.h:17:1: note: 'uint8_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
   16 | #include "rtc_base/system/file_wrapper.h"
  +++ |+#include <cstdint>
   17 |

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2023-05-25 18:13:04 -04:00
096b0eaed2 meson: Fixes for MSVC build
winsock2.h must be included before windows.h or alternative
definitions of `struct sockaddr` are defined.

```
FAILED: webrtc/rtc_base/liblibbase.a.p/logging.cc.obj
"cl" "-Iwebrtc\rtc_base\liblibbase.a.p" "-Iwebrtc\rtc_base" "-I..\webrtc\rtc_base" "-Iwebrtc" "-I..\webrtc" "-Isubprojects\abseil-cpp-20230125.1" "-I..\subprojects\abseil-cpp-20230125.1" "/MD" "/nologo" "/showIncludes" "/utf-8" "/Zc:__cplusplus" "/W2" "/EHsc" "/std:c++17" "/permissive-" "/O2" "/Zi" "-DWEBRTC_LIBRARY_
IMPL" "-DWEBRTC_ENABLE_SYMBOL_EXPORT" "-DNDEBUG" "-DWEBRTC_WIN" "-D_WIN32" "-U__STRICT_ANSI__" "-D__STDC_FORMAT_MACROS=1" "-DNOMINMAX" "-DWEBRTC_ENABLE_AVX2" "/Fdwebrtc\rtc_base\liblibbase.a.p\logging.cc.pdb" /Fowebrtc/rtc_base/liblibbase.a.p/logging.cc.obj "/c" ../webrtc/rtc_base/logging.cc
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(103): warning C4005: 'AF_IPX': macro redefinition
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\winsock.h(457): note: see previous definition of 'AF_IPX'
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(147): warning C4005: 'AF_MAX': macro redefinition
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\winsock.h(476): note: see previous definition of 'AF_MAX'
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(187): warning C4005: 'SO_DONTLINGER': macro redefinition
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\winsock.h(399): note: see previous definition of 'SO_DONTLINGER'
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(240): error C2011: 'sockaddr': 'struct' type redefinition
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\um\winsock.h(482): note: see declaration of 'sockaddr'
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(442): error C2143: syntax error: missing '}' before 'constant'
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(442): error C2059: syntax error: 'constant'
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(496): error C2143: syntax error: missing ';' before '}'
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(496): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\Program Files (x86)\Windows Kits\10\include\10.0.22000.0\shared\ws2def.h(496): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
...
```
2023-05-26 03:17:31 +05:30
b24229cbbc meson: Ensure that abseil is built with c++17 too
subprojects do not inherit $lang_std default values from the project.
2023-05-26 03:17:31 +05:30
55239c4ca2 ci: Add jobs for MSVC, macOS, iOS, Android 2023-05-26 03:17:31 +05:30
a47df351ca ci: Bump ubuntu version to 22.10
Contains absl with pkgconfig files.
2023-05-26 03:17:31 +05:30
4125ace620 meson: Fix compatibility with Fedora's abseil-cpp package
1. Fedora abseil-cpp package is built with C++17:
   https://src.fedoraproject.org/rpms/abseil-cpp/blob/rawhide/f/abseil-cpp.spec
2. There is no `absl_types` pkgconfig file, and it's only needed on iOS
2023-05-26 03:16:38 +05:30
aa32d179d0 meson: Update abseil-cpp to latest wrap 2023-05-26 00:45:29 +05:30
9a362bd149 meson: Don't require cross files to set host_system = ios
It's not specified as a host_system by meson, so people will often not
set it.
2023-05-26 00:45:29 +05:30
8366ff0ce0 meson: Get rid of cmake and manual library searching
Simplify fallback, and prefer it. `[provide]` section requires meson
0.55, so require that.

pkg-config lookup is only provided for distros, since they dislike
static linking / vendoring.
2023-05-26 00:45:00 +05:30
ca1186946d build: don't detect neon again when building on aarch64
it will try to add -mfpu=neon to cflags not available on aarch64 since
neon is mandatory there
2022-05-21 14:10:48 +02:00
26f4493405 build: fix -Dneon=runtime 2022-05-21 14:08:15 +02:00
e31340c243 Add builds for distro and vendored versions of abseil 2021-10-20 11:16:19 -04:00
5a5aa66ada Add an abseil subproject and correctly specify fallback deps 2021-10-20 11:16:18 -04:00
0cc2ebeda2 Add missing absl library for bad_optional_access 2021-10-20 11:15:57 -04:00
6064932abf Add missing header for C++17 compatibility
Hopefully we can drop this change with the next update.
2021-10-19 18:06:37 -04:00
8bf9efad15 Use pkg-config for abseil-cpp detection if available
This should make things a bit easier.
2021-10-19 18:06:37 -04:00
ff85c98683 Some fixes for MinGW
* Rename Windows.h uses to windows.h
  * Comment out structured exception handling usage

Makes MinGW happier. Mostly the same as previous work by
Nicolas Dufresne <nicolas.dufresne@collabora.com>, with the exception
that we now don't try to invoke RaiseException which would fail in MinGW
as it raises a Windows structured exception.
2021-10-19 16:09:07 -04:00
57ec282d4f Remove rnn_vad_tool.cc that contains main(). 2021-09-08 12:21:50 +00:00
6e37f37c4e build: Split out iSAC VAD sources into a separate dependency
Avoid having to link webrtc-audio-processing with webrtc-audio-coding,
and makes the required symbols directly available.

Part-of: <https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/merge_requests/22>
2021-06-19 13:06:12 -04:00
b8ad0dfc22 build: Add framework deps on macOS and iOS
Part-of: <https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/merge_requests/21>
2021-06-18 23:44:18 -04:00
e47b68df57 arch.h: Add RISC-V support 2021-06-17 01:48:37 +00:00
e74894baeb build: Add library-based absl detection as a fallback
This should help for cases where users can make abseil-cpp available but
wiring up the CMake-build isn't that easy (for example, while
cross-compiling).
2021-06-05 18:37:23 -04:00
589a744585 Fix build on Android
There's a bit of system integration that we haven't pulled in (as it has
transitive dependencies), so we manually stub it out.
2021-06-05 18:16:18 -04:00
8ac052ad6f doc: Add some build instructions to README 2021-02-12 15:44:49 -05:00
b34c1d5746 build: Fix ARM ISA detection
armv7 isn't a real cpu_family in meson, so drop that. The detection for
__ARM_ARCH_ISA_ARM was also inverted.

Fixes: https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/6
2020-12-11 08:16:04 -05:00
3f9907f93d build: Use cmake to look up abseil dependency
This should be much more robust than looking up the library directly.

Fixes: https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/4
2020-12-10 19:20:09 -05:00
ce1a78887a build: Revert top-level project name to not have a prefix
Should make meson dist easier to work with.
2020-12-10 18:24:05 -05:00
8ce8bebb7d build: Bump project version to 1.1 2020-12-10 18:24:05 -05:00
00ae7eb234 doc: Fix up release process
Missed a trailing '/' while generating the archive with disastrous
results.
2020-11-27 16:47:09 -05:00
d353e92425 doc: Fix up links in markdown 2020-11-27 14:50:02 -05:00
6a4d14d5c0 doc: Some minor README cleanups 2020-11-27 14:46:36 -05:00
6a67b5ba7e doc: Add some documentation about the release process v1.0 2020-11-27 14:30:53 -05:00
e5402cd638 build: Fix up some ARM-related mistakes 2020-11-27 14:03:06 -05:00
e23c10c5e0 ci: Add an aarch64 build 2020-11-27 13:20:12 -05:00
d938d2cf52 meson: override dependency
Will allow us to build the libs as part of gst-build as subprojects.
2020-10-28 16:03:08 +01:00
593986ec5e ci: Add a gitlab-ci.yml 2020-10-26 14:58:04 -04:00
2fabea79e0 gitignore: Drop autotools-related paths 2020-10-23 13:30:23 -04:00
21d78a4267 build: Make packages versioned
Since we cannot rely on the API to be stable upstream, let's start
making the pkg-config, library, and include dir have a version suffix.
This will allow different downstream projects depending on us to
independently switch versions without packagers having to jump through
hoops.
2020-10-23 13:30:23 -04:00
bcec8b0b21 Update to current webrtc library
This is from the upstream library commit id
3326535126e435f1ba647885ce43a8f0f3d317eb, corresponding to Chromium
88.0.4290.1.
2020-10-23 13:30:23 -04:00
b1b02581d3 gitignore: Add install/ for local prefixed installs 2020-10-20 17:22:19 -04:00
a54ffa1220 Add build directory to gitignore
This is what is expected to commonly be used with the meson build
system.
2020-10-12 11:25:23 -04:00
34efc689c2 add webrtc-audio-coding public library
This new lib contains the bare minimum to implement an iSAC encoder and
decoder.

The webrtc files have been copied from the revision as the existing
imported files (c8b569e0a7ad0b369e15f0197b3a558699ec8efa).
2020-03-27 14:52:22 +01:00
f13529b5b8 UPDATING: update with meson instructions 2020-03-24 15:00:53 +01:00
f2003f80d1 meson: fix pkgconfig generation
The bug preventing us to pass the library object to
pkgconfig.generate() has been fixed in meson 0.52.

By doing so the generated pc file has the right -L linker flag, making
it easier to test the lib from non standard location.
We also no longer have to pass libraries_private, it will handle it
automatically.
2020-03-24 15:00:53 +01:00
301110c655 remove autotools
In Meson we trust.
2020-03-24 14:10:59 +01:00
9def8cf10d Add support for non-Linux GNU
GNU/Hurd and GNU/kFreeBSD have basically the same userland as GNU/Linux,
just not the same kernel.
2019-08-31 23:00:29 +02:00
27e93ee86b build/meson: fix compilation on arm64
The assembly files used don't use the right comments for arm64
2018-11-08 20:56:52 +11:00
682857751b build: Factor out common POSIX flag setting in meson build 2018-10-28 14:57:00 +00:00