Chromium 빌드

Joonas' Note

Chromium 빌드 본문

개발/C++

Chromium 빌드

2019. 5. 7. 17:19 joonas 읽는데 2분
  • 요구사항
  • 환경 설정
  • depot_tools 설치
  • fetch
  • 빌드
  • 컴파일
  • 실행

요구사항

  • 최소 8GB RAM, 권장 16GB RAM
  • 100GB 디스크 공간
  • Visual Studio 2017 이상
  • Windows 7 이상

환경 설정

Visual Studio

  • Desktop development with C++ (C++를 사용한 데스크탑 개발)
  • MFC/ATL support (x86 및 x64용 Visual C++ MFC)
  • 워크로드에서 위 항목들을 설치해야 합니다. VS 2017 이상부터는 Visual Studio Installer에서 설치할 수 있습니다.

Windows 10 SDK

  • https://developer.microsoft.com/ko-kr/windows/downloads/sdk-archive
    • 버전 10.0.17134 이상
  • (선택) SDK Debugging Tools
    • Window 10 SDK가 이미 설치되어 있다면, 제어판 -> 프로그램 -> 프로그램 및 기능 -> Windows Software Development Kit - WIndows 10.0.17134.0 -> 우클릭 후 변경 -> "Change" -> Debugging Tools For Windows 선택 -> Change 클릭

depot_tools 설치

git, gn, python, ninja 등 chromium 빌드 등에 필요한 도구들의 집합

다운로드: https://storage.googleapis.com/chrome-infra/depot_tools.zip

압축 해제한 디렉토리를 환경 변수에 추가해준다. 단, 기존에 설치된 python보다 위에 추가해야 한다. (빌드 과정에서 이 곳의 파이썬 버전을 사용하기 때문)

환경 변수에 DEPOT_TOOLS_WIN_TOOLCHAIN을 추가해주고 그 값을 0으로 설정한다.

이후 cmd창에서 gclient를 입력하면, 불러오기가 실행된다. 하지만 다음과 같이 간혹 안되는 경우가 있다.

C:\src\depot_tools> gclient sync
Error: client not configured; see 'gclient config' 

이는 .gclient 파일이 없어서 그렇다. 아래처럼 커맨드를 입력하거나,

C:\src\depot_tools> gclient config https://chromium.googlesource.com/chromium/src.git 
C:\src\depot_tools> gclient runhooks 
C:\src\depot_tools> gclient sync

.gclient 파일을 아래처럼 직접 작성한 후 다시 실행하면 된다.

solutions = [
{
"name" : "src",
"url" : "https://chromium.googlesource.com/chromium/src.git",
"deps_file" : "DEPS",
"managed" : True,
"custom_deps" : {},
"custom_vars" : {},
},
]
view raw .gclient hosted with ❤ by GitHub

이 과정은 약 1시간 정도 소요된다. (네트워크 속도를 감안해야 한다.)

fetch

먼저 git을 설정한다.

git config --global user.name "My Name"
git config --global user.email "my-name@chromium.org"
git config --global core.autocrlf false
git config --global core.filemode false
git config --global branch.autosetuprebase always

디렉토리 위치는 상관없고, 프로젝트 디렉토리를 따로 만든 후 이동한다.

$ mkdir chromium && cd chromium

소스코드를 가져온다.

$ fetch chromium

빌드

빌드를 위해 프로젝트 디렉토리 아래에 있는 src로 이동한다.

$ cd src

소스코드를 생성한다.

$ gn args out/Default

기본 에디터(메모장, 서브라임 등)이 뜨면서 설정을 입력하라고 할 것인데, 아래와 같이 덮어씌우고 에디터를 종료한다.

is_debug = true
is_component_build = true
blink_symbol_level = 0

파일 생성이 완료되었다는 문구가 나왔다면 성공.

컴파일

컴파일은 아래와 같이 입력한다. (DOS CMD 기준)

> ninja -C out\Default ui\views\examples:views_examples_exe

git bash 등의 쉘이라면 경로의 \ 들을 /로 적절히 바꿔준다.

위 과정은 약 1시간 정도 걸린다. (실행 환경: i7-8550U CPU @ 1.80GHz (1시간), i7-7700K CPU @ 4.20GHz (40분 정도))

Chrome 브라우저를 빌드하고 싶다면 아래의 명령을 실행한다.

> ninja -C out\Default chrome

크롬 빌드는 거의 4시간정도 걸렸다.

실행

위에서 컴파일한 views_examples_exe 실행은:

> .\out\Default\views_examples_exe

버튼 클릭, 슬라이더 등 브라우저에서 요소들이 어떻게 보이는 지 예시들이 보이는 게 끝이다.

빌드된 chrome은 아래의 명령어로 실행한다.

> .\out\Default\chrome.exe 

위 파일들 모두 바이너리(exe) 파일이기 때문에, 프로젝트 디렉토리에서 찾아서 더블 클릭해도 실행된다.

Comments