92 Commits

Author SHA1 Message Date
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
Nicolas Dufresne
75ef0de241 build: Protect against unsupported CPU types 2016-07-14 12:57:43 +09:00
Nicolas Dufresne
6ad2f51e9e Add missing windows conditions variable
Those are used by generic RW lock implementation.

https://bugs.freedesktop.org/show_bug.cgi?id=96754
2016-07-14 12:57:43 +09:00
Nicolas Dufresne
db2f422578 build: Define MSVC _WIN32 so we can build on mingw
https://bugs.freedesktop.org/show_bug.cgi?id=96754
2016-07-14 12:57:43 +09:00
Nicolas Dufresne
bf6b9de143 build: Properly select the right system wrappers
This is needed for windows build to be usable.

https://bugs.freedesktop.org/show_bug.cgi?id=96754
2016-07-14 12:57:43 +09:00
Nicolas Dufresne
12ac8441f7 build: Add required define for Windows
This will also add it to the .pc file as WEBRTC_WIN leaks into the
public interface and undefined __STRICT_ANSI__ so M_PI is available.

https://bugs.freedesktop.org/show_bug.cgi?id=96754
2016-07-14 12:57:43 +09:00
Nicolas Dufresne
44cf7726ca build: Don't blindly link to pthread
This otherwise breaks the build on Android and Windows. The flag is
required on some Linux builds, and is readded in a subsequent commit.

https://bugs.freedesktop.org/show_bug.cgi?id=96754
2016-07-14 12:57:28 +09:00
Nicolas Dufresne
560f300a3d build: Add cerbero gnustl support for Android 2016-07-14 12:49:29 +09:00
Nicolas Dufresne
bf25c45e54 Add missing windows specific headers
https://bugs.freedesktop.org/show_bug.cgi?id=96754
2016-07-14 12:38:42 +09:00
Arun Raghavan
fc0e761394 build: Bump version to 0.3 v0.3 2016-06-22 12:16:50 +05:30
Arun Raghavan
df47d74bc3 doc: Update NEWS for release 2016-06-22 12:12:10 +05:30
Rex Dieter
066cf53da7 build: Make sure files with SSE2 code are compiled with -msse2
Signed-off-by: Arun Raghavan <arun@arunraghavan.net>
2016-06-21 16:46:48 +05:30
Rex Dieter
d58164e4d8 build: enforce linking with --no-undefined, add explicit -lpthread
In investigating x86/sse2 issues in recent webrtc-audio-processing-0.2
release, I found that it was possible for libwebrtc_audio_processing to
contain undefined symbols.

Attached is a patch that addresses this:
* adds -Wl,--no-undefined to libwebrtc_audio_processing_la_LDFLAGS
* adds explicit -lpthread linkage (else, there are undefined references
  to pthread-related symbols)

Signed-off-by: Arun Raghavan <arun@arunraghavan.net>
2016-06-01 10:09:45 +05:30
Arun Raghavan
9a0e28cab0 build: Update library version info v0.2 2015-11-04 13:20:05 +05:30
Arun Raghavan
f7c9b269a0 doc: Add release notes about changes and API breakage 2015-11-04 13:15:21 +05:30
Arun Raghavan
34abadd258 Update code to current Chromium master
This corresponds to:

Chromium: 6555f9456074c0c0e5f7713564b978588ac04a5d
webrtc: c8b569e0a7ad0b369e15f0197b3a558699ec8efa
2015-11-04 13:11:30 +05:30