./bin/fetch
./bin/build
./bin/extract
This will produce a static library, headers and related assets for linking in libwebrtc/dist/
We want to be able to use libwebrtc without integrating our code directly into the gn/ninja build system used by libwebrtc. This poses a number of limitations including requiring devs to download 5gb+ files and run special compiler tools.
The goal is to provide an dist
folder which contains everything needed to link to libwebrtc.a
The bin/
folder contains multiple scripts the simplest which is run
which will run all processes.
The scripts will run all the libwebrtc specific logic and will download system wide dependencies.
Steps:
- Fetch libwebrtc
- Checkout specific REVISION (see
REVISION
file) - Patch BUILD.gn
- Build the webrtc target (which creates libwebrtc.a)
- Copy libwebrtc.a, c++ compiler, headers and all c++ system libraries into a folder mimicing the structure of the libwebrtc repository
NOTE: The default static libary produced does not contain the appropriate stdlibc++ symbols. Our modifications to the BUILD.gn fix that.
- /bin build scripts
- /libwebrtc - Output folder
- /libwebrtc/out - compilation output folder
- /libwebrtc/src - source of libwebrtc
- /libwebrtc/dist - distribution folder