Coder Social home page Coder Social logo

sourcey / webrtc-builds Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vsimon/webrtcbuilds

154.0 16.0 76.0 119.33 MB

Automated WebRTC build scripts for Linux, Windows, Mac, Android and iOS.

Home Page: https://sourcey.com/precompiled-webrtc-libraries/

License: BSD 3-Clause "New" or "Revised" License

Shell 91.33% C++ 8.67%

webrtc-builds's Introduction

WebRTC Automated Builds

CircleCI

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

  • OSX: Homebrew recommend. Build for 'mac' and 'ios'.
  • Windows: Visual Studio Community 2015 Update 3 or newer with a bash shell such as Git for Windows or MSYS installed.
  • Linux: Debian or Ubuntu flavour with apt-get available. Build for 'linux' and 'android'.

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:
   -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.
   -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

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

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.