만약 직접 빌드하기 귀찮다면?
위 코드를 그냥 사용해도 무방함.
사전사항
python 2.7.x 버전설치
설치 후 path에 환경변수 선언 잊지말기(위 그림처럼 하면 됨.)
# pywin32 설치(업데이트)
$ python -m pip install pywin32
Windows10 SDK 설치
VS Installer에서 설치되는거 보다 홈페이지에서 다운 받는걸 추천 경로의 차이가 있다.
depot_tools 설치
$ mkdir depot_tools
$ cd depot_tools
$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
$ cd depot_tools
# 예제에서는 WebRTC 70 버전을 사용할 예정이고 depot_tools도 버전을 맞춰야한다.
$ git checkout c68a1753c53a02b1bd292035e4a72a18e55814f3
$ gclient # webrtc 버전관리도구 설치
depot_tools 환경변수 선언
PATH = ~webrtc\depot_tools\depot_tools
gclient가 있는 폴더를 PATH에 넣으면 된다.
DEPOT_TOOLS_WIN_TOOLCHAIN = 0
WebRTC 다운
$ mkdir webrtc-checkout
$ cd webrtc-checkout
# fetch --nohooks: git의 history는 복사하지 말아달라
# gclient는 checkout도구이고 fetch는 일종의 wrapper라 생각하자
# (오래걸리니 참고)
$ fetch --nohooks webrtc
$ cd src
# branch -r : 원격 저장소의 브랜치를 보여달라
# 꼭 안해도 됨.
$ git branch -r
# 예제에선 70을 쓰기에 70으로함.
# 자신에 버전에 맞게 선택
$ git checkout branch-heads/70
$ gclient sync --force # 이거 꼭 해야함.
빌드
여기서 진행안될 수 있음.
webrtc src 폴더내에서 진행
:: 환경변수 선언
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_MSVS_VERSION=2017
set GYP_GENERATORS=ninja,msvs-ninja
set GYP_DEFINES=component=shared_library target_arch=x64
:: mkdir
mkdir out
cd out
mkdir vs2017-x64-debug
mkdir vs2017-x64-release
cd ..
:: x64 Debug
call gn clean out/vs2017-x64-debug
call gn gen out/vs2017-x64-debug --winsdk="10.0.18362" "--args=is_debug=true is_clang=false symbol_level=2 rtc_use_h264=true target_cpu=\"x64\""
call ninja -C out/vs2017-x64-debug webrtc
:: x64 Release
call gn clean out/vs2017-x64-release
call gn gen out/vs2017-x64-release --winsdk="10.0.18362" "--args=is_debug=false is_clang=false rtc_use_h264=true target_cpu=\"x64\""
call ninja -C out/vs2017-x64-release webrtc