Skip to content

Latest commit

 

History

History

libwebrtc-build

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

LibWebRTC standalone build tools

Usage

./bin/fetch
./bin/build
./bin/extract

This will produce a static library, headers and related assets for linking in libwebrtc/dist/

Motivation

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

Architecture

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.

Directory structures

- /bin build scripts
- /libwebrtc - Output folder
- /libwebrtc/out - compilation output folder
- /libwebrtc/src - source of libwebrtc
- /libwebrtc/dist - distribution folder