It is a building program of WebRTC native library from Chromium. This building program configured for only enable DataChannel without multimedia features. The purpose of this repository is making easy to use WebRTC native library by sharing pre-compiled libraries.
Build sequence of program is based on below documents.
http://webrtc.github.io/webrtc-org/native-code/development/
This program automatically uses the latest stable version of WebRTC's source code.
- golang 1.19 or later
- Other requirement environments are depend on
Chromium project
At amd64 linux environment.
sudo dpkg --add-architecture i386
go run . build
go run . test
There is an archive file in opt/linux_amd64
.
At amd64 linux environment.
sudo apt install qemu-user-static g++-i686-linux-gnu
go run . build --arch=i386
go run . test --arch=i386
There is an archive file in opt/linux_i386
.
At amd64 linux environment.
sudo apt install qemu-user-static g++-arm-linux-gnueabihf
sudo ln -s /usr/arm-linux-gnueabihf/lib/ld-2.*.so /lib/ld-linux-armhf.so.3
go run . build --arch=armhf
LD_LIBRARY_PATH=/usr/arm-linux-gnueabihf/lib go run . test --arch=armhf
There is an archive file in opt/linux_armhf
.
At amd64 linux environment.
sudo apt install qemu-user-static g++-aarch64-linux-gnu
sudo ln -s /usr/aarch64-linux-gnu/lib/ld-2.*.so /lib/ld-linux-aarch64.so.1
go run . build --arch=arm64
LD_LIBRARY_PATH=/usr/aarch64-linux-gnu/lib go run . test --arch=arm64
There is an archive file in opt/linux_arm64
.
At macos environment.
go run . build
go run . test
There is an archive file in opt/macos_amd64
.
There are configuration files in configs/
.
You can customize the build option by editing files in configs/
.
A string used to match the operating system of the following sites. This option is ignored without linux.
https://omahaproxy.appspot.com/
Options for install-build-deps.sh
.
Options for GN build configuration tool. You can find help on the following pages
https://www.chromium.org/developers/gn-build-configuration
If you want more configuration, you can run the following command to get a list of options after executing the build once.
cd opt/linux_amd64/src
../../depot_tools/gn args out/Default/ --list
Source list of header files to be archived. The official list can be found on the following pages, but that's not enough.
https://webrtc.googlesource.com/src/+/master/native-api.md
License follows original sources of it. See below documents.