关于编译WebRTC Linux/Android版源码的说明
分享下,Linux/Android版本,默认必须在Ubuntu上编译,Debian和Ubuntu是同类型OS,应该也可以,不过我没试过,其他类型部分支持,没有关于CentOS的说明,所有不要在这个系统上捣腾,虽然理论上可以,但可能会碰到很多问题。
另外说明下,
Android版只能在Linux上编译(编译工具使用NDK,这个工具会被下载到third_party/android_tools下面)
Windows版只能在Windows上编译(编译工具使用VS2013/VS2015)
IOS只能在Mac OS X上编译(编译工具必须使用Xcode 5或者以上版本,建议使用最新版Xcode)
下面是官网关于编译chrome的说明(其实WebRTC编译也要依赖这些):https://chromium.googlesource.com/chromium/src/+/master/docs/linux_build_instructions.md
Ubuntu
Once you have checked out the code, run build/install-build-deps.sh The script only supports current releases as listed on https://wiki.ubuntu.com/Releases. This script is used to set up the canonical builders, and as such is the most up to date reference for the required prerequisites.
Debian
Follow the Ubuntu instructions above. If you want to install the build-deps manually, note that the original packages are for Ubuntu. Here are the Debian equivalents:
•libexpat-dev -> libexpat1-dev
•freetype-dev -> libfreetype6-dev
•libbzip2-dev -> libbz2-dev
•libcupsys2-dev -> libcups2-dev
Additionally, if you‘re building Chromium components for Android, you’ll need to install the package: lib32z1
openSUSE
For openSUSE 11.0 and later, see Linux openSUSE Build Instructions.
Fedora
Recent systems:
su -c 'yum install subversion pkgconfig python perl gcc-c++ bison flex \
gperf nss-devel nspr-devel gtk2-devel glib2-devel freetype-devel atk-devel \
pango-devel cairo-devel fontconfig-devel GConf2-devel dbus-devel \
alsa-lib-devel libX11-devel expat-devel bzip2-devel dbus-glib-devel \
elfutils-libelf-devel libjpeg-devel mesa-libGLU-devel libXScrnSaver-devel \
libgnome-keyring-devel cups-devel libXtst-devel libXt-devel pam-devel httpd \
mod_ssl php php-cli wdiff'
The msttcorefonts packages can be obtained by following the instructions present here. For the optional packages:
•php-cgi is provided by the php-cli package
•wdiff doesn't exist in Fedora repositories, a possible alternative would be dwdiff
•sun-java6-fonts doesn't exist in Fedora repositories, needs investigating
Arch Linux
Most of these packages are probably already installed since they're often used, and the parameter --needed ensures that packages up to date are not reinstalled.
sudo pacman -S --needed python perl gcc gcc-libs bison flex gperf pkgconfig \
nss alsa-lib gconf glib2 gtk2 nspr ttf-ms-fonts freetype2 cairo dbus \
libgnome-keyring
For the optional packages on Arch Linux:
•php-cgi is provided with pacman
•wdiff is not in the main repository but dwdiff is. You can get wdiff in AUR/yaourt
•sun-java6-fonts do not seem to be in main repository or AUR.
Mandriva
urpmi lib64fontconfig-devel lib64alsa2-devel lib64dbus-1-devel \
lib64GConf2-devel lib64freetype6-devel lib64atk1.0-devel lib64gtk+2.0_0-devel \
lib64pango1.0-devel lib64cairo-devel lib64nss-devel lib64nspr-devel g++ python \
perl bison flex subversion gperf
•msttcorefonts are not available, you will need to build your own (see instructions, not hard to do, see mandriva_msttcorefonts.md) or use drakfont to import the fonts from a windows installation
•These packages are for 64 bit, to download the 32 bit packages, substitute lib64 with lib
•Some of these packages might not be explicitly necessary as they come as dependencies, there is no harm in including them however.
Gentoo
emerge www-client/chromium