Webrtc 系列文章:
WEBRTC系列之基于IOS平台编译(一)
已经编译过的代码地址 :https://github.com/starmier/SMWebRTC
1、下载工具
1.1、下载 depot_tools
hjsddeMacBook-Pro:webrtc starmier$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools
Cloning into 'depot_tools'...
remote: Sending approximately 27.10 MiB ...
remote: Total 35211 (delta 24488), reused 35211 (delta 24488)
Receiving objects: 100% (35211/35211), 27.10 MiB | 461.00 KiB/s, done.
Resolving deltas: 100% (24488/24488), done.
hjsddeMacBook-Pro:webrtc starmier$ pwd
1.2、配置 depot_tools 环境
hjsddeMacBook-Pro:depot_tools starmier$ pwd
/MYPROJECT/webrtc/depot_tools
hjsddeMacBook-Pro:depot_tools starmier$ export PATH=$PATH:/MYPROJECT/webrtc/depot_tools
hjsddeMacBook-Pro:depot_tools starmier$ fetch --help
usage: fetch.py [options] <config> [--property=value [--property2=value2 ...]]
This script can be used to download the Chromium sources. See
http://www.chromium.org/developers/how-tos/get-the-code
for full usage instructions.
Valid options:
-h, --help, help Print this message.
--nohooks Don't run hooks after checkout.
--force (dangerous) Don't look for existing .gclient file.
-n, --dry-run Don't run commands, only print them.
--no-history Perform shallow clones, don't fetch the full git history.
Valid fetch configs:
android
android_internal
breakpad
chromium
config_util
crashpad
dart
depot_tools
goma_client
gyp
infra
infra_internal
inspector_protocol
ios
ios_internal
nacl
naclports
node-ci
pdfium
skia
skia_buildbot
syzygy
v8
webrtc
webrtc_android
webrtc_ios
hjsddeMacBook-Pro:depot_tools starmier$
1.3、下载源码
源码下载成功后的文件在一个自动生成的src目录下面(这个下载特别就,用了4个小时)
hjsddeMacBook-Pro:webrtc starmier$ fetch --nohooks webrtc_ios
Running: gclient root
WARNING: Your metrics.cfg file was invalid or nonexistent. A new one will be created.
Running: gclient config --spec 'solutions = [
{
"url": "https://webrtc.googlesource.com/src.git",
"managed": False,
"name": "src",
"deps_file": "DEPS",
"custom_deps": {},
},
]
target_os = ["ios", "mac"]
'
Running: gclient sync --nohooks --with_branch_heads
1>________ running 'git -c core.deltaBaseCacheLimit=2g clone --no-checkout --progress https://webrtc.googlesource.com/src.git /MYPROJECT/webrtc/_gclient_src_iW0YLg' in '/MYPROJECT/webrtc'
1>Cloning into '/MYPROJECT/webrtc/_gclient_src_iW0YLg'...
1>remote: Sending approximately 252.62 MiB ...
1>Receiving objects: 10% (33799/336896), 14.06 MiB | 456.00 KiB/s
......
[4:13:10] Still working on:
[4:13:10] src/third_party/icu
[4:13:20] Still working on:
[4:13:20] src/third_party/icu
[4:13:30] Still working on:
[4:13:30] src/third_party/icu
[4:13:40] Still working on:
[4:13:40] src/third_party/icu
[4:13:50] Still working on:
[4:13:50] src/third_party/icu
[4:13:53] Still working on:
[4:13:53] src/third_party/icu
Syncing projects: 100% (38/38), done.
Running: git submodule foreach 'git config -f $toplevel/.git/config submodule.$name.ignore all'
Running: git config --add remote.origin.fetch '+refs/tags/*:refs/tags/*'
Running: git config diff.ignoreSubmodules all
2、与远端 repo 进行代码同步
与远端 repo 进行代码同步,在终端执行命令。这条命令执行时,要下载的文件比较多,需要耐心等待命令的执行结果。(我用了大概半个多种)
hjsddeMacBook-Pro:webrtc starmier$ gclient sync
Syncing projects: 100% (38/38), done.
Running hooks: 45% (10/22) mac_toolchain
________ running 'vpython src/build/mac_toolchain.py' in '/MYPROJECT/webrtc'
Skipping Mac toolchain installation for mac
Running hooks: 54% (12/22) clang
________ running 'vpython src/tools/clang/scripts/update.py' in '/MYPROJECT/webrtc'
Downloading https://commondatastorage.googleapis.com/chromium-browser-clang/Mac/clang-373424-64a362e7-1.tgz .......... Done.
Hook 'vpython src/tools/clang/scripts/update.py' took 62.36 secs
Running hooks: 68% (15/22) clang_format_mac
________ running 'download_from_google_storage --no_resume --platform=darwin --no_auth --bucket chromium-clang-format -s src/buildtools/mac/clang-format.sha1' in '/MYPROJECT/webrtc'
0> Downloading src/buildtools/mac/clang-format...
Downloading 1 files took 41.859609 second(s)
Hook 'download_from_google_storage --no_resume --platform=darwin --no_auth --bucket chromium-clang-format -s src/buildtools/mac/clang-format.sha1' took 41.99 secs
Running hooks: 100% (22/22)
________ running 'download_from_google_storage --directory --recursive --num_threads=10 --no_auth --quiet --bucket chromium-webrtc-resources src/resources' in '/MYPROJECT/webrtc'
4> Downloading src/resources/foreman_320x240.yuv...
7> Downloading src/resources/e2e_audio_in.pcm...
0> Downloading src/resources/far44_stereo.pcm...
1> Downloading src/resources/foreman_240x136.yuv...
6> Downloading src/resources/ref03.aecdump...
9> Downloading src/resources/foreman_cif.yuv...
2> Downloading src/resources/far8_stereo.pcm...
8> Downloading src/resources/speech_and_misc_wb.pcm...
5> Downloading src/resources/near44_stereo.pcm...
3> Downloading src/resources/foreman_480x272.yuv...
2> Downloading src/resources/google-wifi-3mbps.rx...
7> Downloading src/resources/web_screenshot_1850_1110.yuv...
0> Downloading src/resources/reference_less_video_test_file.y4m...
5> Downloading src/resources/att-uplink.rx...
2> Downloading src/resources/foreman_cif_short.yuv...
5> Downloading src/resources/near48_stereo.pcm...
8> Downloading src/resources/near32_stereo.pcm...
7> Downloading src/resources/near16_stereo.pcm...
8> Downloading src/resources/paris_qcif.yuv...
5> Downloading src/resources/ConferenceMotion_1280_720_50.yuv...
7> Downloading src/resources/foreman_176x144.yuv...
6> Downloading src/resources/foreman_160x120.yuv...
2> Downloading src/resources/far32_stereo.pcm...
2> Downloading src/resources/far48_stereo.pcm...
6> Downloading src/resources/short_mixed_stereo_48.pcm...
2> Downloading src/resources/short_mixed_stereo_48.dat...
2> Downloading src/resources/near8_stereo.pcm...
6> Downloading src/resources/far16_stereo.pcm...
2> Downloading src/resources/foremanColorEnhanced_cif_short.yuv...
6> Downloading src/resources/FourPeople_1280x720_30.yuv...
1> Downloading src/resources/short_mixed_mono_48_arm.dat...
1> Downloading src/resources/presentation_1850_1110.yuv...
2> Downloading src/resources/pc_quality_smoke_test_alice_source.wav...
7> Downloading src/resources/photo_1850_1110.yuv...
1> Downloading src/resources/pc_quality_smoke_test_bob_source.wav...
2> Downloading src/resources/att-downlink.rx...
1> Downloading src/resources/short_mixed_mono_48.dat...
1> Downloading src/resources/difficult_photo_1850_1110.yuv...
7> Downloading src/resources/short_mixed_mono_48.pcm...
7> Downloading src/resources/foreman_128x96.yuv...