157 Commits

Author SHA1 Message Date
Jan Palus
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
Jan Palus
26f4493405
build: fix -Dneon=runtime 2022-05-21 14:08:15 +02:00
Arun Raghavan
e31340c243 Add builds for distro and vendored versions of abseil 2021-10-20 11:16:19 -04:00
Arun Raghavan
5a5aa66ada Add an abseil subproject and correctly specify fallback deps 2021-10-20 11:16:18 -04:00
Arun Raghavan
0cc2ebeda2 Add missing absl library for bad_optional_access 2021-10-20 11:15:57 -04:00
Arun Raghavan
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
Arun Raghavan
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
Arun Raghavan
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
Ryo Kawaguchi
57ec282d4f Remove rnn_vad_tool.cc that contains main(). 2021-09-08 12:21:50 +00:00
Arun Raghavan
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
Arun Raghavan
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
Zhaofeng Li
e47b68df57 arch.h: Add RISC-V support 2021-06-17 01:48:37 +00:00
Arun Raghavan
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
Arun Raghavan
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
Arun Raghavan
8ac052ad6f doc: Add some build instructions to README 2021-02-12 15:44:49 -05:00
Arun Raghavan
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
Arun Raghavan
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
Arun Raghavan
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
Arun Raghavan
8ce8bebb7d build: Bump project version to 1.1 2020-12-10 18:24:05 -05:00
Arun Raghavan
00ae7eb234 doc: Fix up release process
Missed a trailing '/' while generating the archive with disastrous
results.
2020-11-27 16:47:09 -05:00
Arun Raghavan
d353e92425 doc: Fix up links in markdown 2020-11-27 14:50:02 -05:00
Arun Raghavan
6a4d14d5c0 doc: Some minor README cleanups 2020-11-27 14:46:36 -05:00
Arun Raghavan
6a67b5ba7e doc: Add some documentation about the release process v1.0 2020-11-27 14:30:53 -05:00
Arun Raghavan
e5402cd638 build: Fix up some ARM-related mistakes 2020-11-27 14:03:06 -05:00
Arun Raghavan
e23c10c5e0 ci: Add an aarch64 build 2020-11-27 13:20:12 -05:00
Guillaume Desmottes
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
Arun Raghavan
593986ec5e ci: Add a gitlab-ci.yml 2020-10-26 14:58:04 -04:00
Arun Raghavan
2fabea79e0 gitignore: Drop autotools-related paths 2020-10-23 13:30:23 -04:00
Arun Raghavan
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
Arun Raghavan
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
Arun Raghavan
b1b02581d3 gitignore: Add install/ for local prefixed installs 2020-10-20 17:22:19 -04:00
Arun Raghavan
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
Guillaume Desmottes
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
Guillaume Desmottes
f13529b5b8 UPDATING: update with meson instructions 2020-03-24 15:00:53 +01:00
Guillaume Desmottes
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
Guillaume Desmottes
301110c655 remove autotools
In Meson we trust.
2020-03-24 14:10:59 +01:00
Svante Signell
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
Matthew Waters
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
Arun Raghavan
682857751b build: Factor out common POSIX flag setting in meson build 2018-10-28 14:57:00 +00:00
Arun Raghavan
b47c302cef build: Fix project() invocation in meson build 2018-10-28 14:56:54 +00:00
Matthew Waters
eb398328ab Initial meson build files 2018-10-28 23:25:18 +11:00
Arun Raghavan
e882a5442a build: Update version to 0.3.1 v0.3.1 2018-07-23 18:28:08 +05:30
Mirko Vogt
ee8cfef49b build: Fix configure option '--with-ns-mode'
Make *really* take '--with-ns-mode'-option into account.
Before it was bogus (wrong if-check) and it always resulted
in the float version being used.

Signed-off-by: Mirko Vogt <mirko-dev@nanl.de>
2017-01-06 10:31:17 +05:30
Thomas Petazzoni
0d937fbc71 doc: file invalid reference to pulseaudio mailing list
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-08-10 20:37:31 +05:30
Thomas Petazzoni
ff77a85c28 build: fix architecture detection
The current architecture detection, based on the "host_cpu" part of the
tuple does not work properly for a number of reason:

 - The code assumes that if host_cpu starts with "arm" then ARM
   instructions are available, which is incorrect. Indeed, Cortex-M
   platforms can run Linux, they are ARM platforms (so host_cpu = arm),
   but they don't support ARM instructions: they support only the
   Thumb-2 instruction set.

 - The armv7 case is also not very useful, as it is not standard at all
   to pass armv7 as host_cpu even if the host system is actually ARMv7
   based.

 - For the same reason, the armv8 case is not very useful: ARMv8 is
   AArch64, and there is already a separate case to handle this
   architecture.

So, this commit moves away from a host_cpu based logic, and instead
tests using AC_CHECK_DECLS() the built-in definitions of the compiler:

 - If we have __ARM_ARCH_ISA_ARM defined, then it's an ARM processor
   that supports the ARM instruction set (this allows to exclude Thumb-2
   only processors).

 - If we have __ARM_ARCH_7A__, then we have an ARMv7-A processor, and
   we can enable the corresponding optimizations

 - Same for __aarch64__, __i386__ and __x86_64__.

In addition, we remove the AC_MSG_ERROR() that makes the build fail for
all architectures but the ones that are explicitly supported. Indeed,
webrtc-audio-processing builds just fine for other architectures (tested
on MIPS), it's just that none of the architecture-specific optimizations
will be used.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-08-10 20:37:27 +05:30
Nicolas Dufresne
7d15b10fb0 build: Add ARM 64bit support 2016-07-14 12:57:43 +09:00
Nicolas Dufresne
7a37a8bca3 build: Re-add pthread linking on linux 2016-07-14 12:57:43 +09:00
Nicolas Dufresne
b8be6d1095 build: Use -no-undefined to support both clang and gcc 2016-07-14 12:57:43 +09:00
Nicolas Dufresne
c9cffb9e3d build: Sync defines and libs with build.gn 2016-07-14 12:57:43 +09:00
Nicolas Dufresne
1378babdf0 osx: Fix type OS_FLAGS instead of OS_CFLAGS 2016-07-14 12:57:43 +09:00