Giter Club home page Giter Club logo

webrtc-builds's Introduction

WebRTC Automated Builds

CircleCI

Modified by alexb https://github.com/alexbobryshev/webrtc-builds

These cross platform build scripts automate the hard work of building and packaging WebRTC. Big thanks to @vsimon for laying the foundation for these scripts.

Supported platforms

Usage

To build the latest version of WebRTC just type:

# Build latest WebRTC for current platform:
./build.sh

# To compile a specific branch with both x64 and x86 libraries you would run:
./build.sh -c x64 -b branch-heads/66
./build.sh -c x86 -b branch-heads/66 -x

# To cross compile both x64 and x86 libraries for iOS you would run (on MacOS):
./build.sh -c x64 -t ios
./build.sh -c x86 -t ios -x

Or with options:

Usage:
   $0 [OPTIONS]

WebRTC automated build script.

OPTIONS:
   -a ARTOOL      Custom archive tool (ar by default). For mac/ios llvm-ar should be used
   -o OUTDIR      Output directory. Default is 'out'
   -b BRANCH      Latest revision on git branch. Overrides -r. Common branch names are 'branch-heads/nn', where 'nn' is the release number.
   -r REVISION    Git SHA revision. Default is latest revision.
   -t TARGET OS   The target os for cross-compilation. Default is the host OS such as 'linux', 'mac', 'win'. Other values can be 'android', 'ios'.
   -c TARGET CPU  The target cpu for cross-compilation. Default is 'x64'. Other values can be 'x86', 'arm64', 'arm'.
   -l BLACKLIST   List *.o objects to exclude from the static library.
   -z CUSTOMARGS  Custom arguments used for gn call. Args must be in double quotes
   -q             Use clang. Default clang is NOT used.
   -e             Compile WebRTC with RTII enabled.
   -f             Build only mode. Skip repo sync and dependency checks, just build, compile and package.
   -d             Debug mode. Print all executed commands.
   -h             Show this message
EOF

The output packages will be saved to {OUTDIR}/webrtcbuilds-<rev>-<sha>-<target-os>-<target-cpu>.<ext>, where <rev> is the revision number of the commit, <sha> is the short git SHA of the commit, and <target-os>-<target-cpu> is the OS (linux, mac, win) and CPU (x64, x86) of the target environment.

On Windows 7-Zip is used for compressing packages, which produces vastly superiour output file size. On mac and linux the output file is tar.gz.

Running tests

Once you have compiled the libraries you can run a quick compile test to ensure build integrity:

./test/run_tests.sh out/webrtc-17657-02ba69d-linux-x64

Further reading

The following links point to official WebRTC related documentation:

webrtc-builds's People

Contributors

vsimon avatar auscaster avatar alexbobryshev avatar danieltbrown avatar adopi avatar david74chou avatar fohara avatar matviy avatar 5tan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.