Dependencies

Build dependencies

dependency

comment

gcc >= 4.1 or clang >= 3.4

required

python >= 2.6

required

scons

required

ragel

required

gengetopt

required, unless you disable building command-line tools

pkg-config

optional, auto-detected, used for better discovery of system libraries

config.guess

optional, auto-detected, used for better identification of system type
(may be provided by autotools, automake, or libtool)
libtool, intltool, autoconf, automake
make, cmake, meson, ninja
optional, used to build dependencies automatically
when --build-3rdparty option is given

Vendored dependencies

dependency

version

license

comment

dr_wav

0.13.14

MIT-0

single-header library

hedley

15

CC0

single-header library

Runtime dependencies

dependency

version

license

comment

libatomic_ops

>= 7.6.0

MIT

only required on pre-C11 compilers

libunwind

>= 1.2.1

X11

optional, used to print backtraces

libuv

>= 1.5.0 (recommended >= 1.35.0)

MIT

required

OpenFEC

>= 1.4.2 (recommended to use our fork)

CeCCIL-C / CeCCIL

optional, used for FECFRAME support

OpenSSL

>= 1.1.1

Apache

optional, used for SRTP and DTLS support and CSPRNG

PulseAudio

>= 5.0

LGPL

optional, used for PulseAudio I/O

SoX

>= 14.4.0

LGPL

optional, used for audio I/O

libsndfile

>= 1.0.26

LGPL

optional, used for audio I/O

SpeexDSP

>= 1.2beta3

BSD

optional, used for fast resampling

Note

For OpenFEC, it’s highly recommended to use our fork or manually apply patches from it. The fork is automatically used when using --build-3rdparty=openfec option. It contains several critical fixes that are not available in the upstream.

Note

libuv versions before 1.5.0 may have problems on 64-bit ARMs.

Note

SpeexDSP (libspeexdsp) below 1.2rc3 was part of Speex (libspeex) package.

Development dependencies

dependency

comment

CppUTest >= 4.0

needed to build tests

Google Benchmark >= 1.5.5

needed to build benchmarks

clang-format >= 10

needed to format code with scons fmt

doxygen >= 1.6, graphviz

needed to build doxygen and sphinx documentation

sphinx >= 5, breathe

needed to build sphinx documentation

Note

Different versions of clang-format may format the code differently, thus we restrict the range of allowed versions. If you use another version, CI checks may fail.