이번 포스트에서는 다운 받은 Chromium 소스코드를 빌드하는 방법을 알아보겠습니다.
빌드하기 전에 어제 다운받은 소스코드를 최신버전으로 업데이트하기 위해 "gclient sync"를 이용하여 최신버전으로 업데이트 해보겠습니다.
이런... 리비전 101697에서 101737로 업데이트가 되었습니다...
이런 개발속도를 따라가려면 하루 24시간 따라가도 모자라겠네요 ;;;
Chromium은 많은 다른 오픈소스 라이브러리를 필요로합니다.
따라서 빌드를 위해서는 시스템에 의존성이 있는 라이브러리들을 밀 설치해야하는데, Chromium은 이를 위해 ./build/install-build-deps.sh 를 제공하고 있습니다.
이 스크립트를 실행하면 Chromium이 의존성을 가지고 있는 라이브러리들을 설치할 수 있습니다. (참 편하죠? ^^ - 나중에 ARM 환경에서 Cross-compile도 시도해 보아야겠습니다.)
이제 의존성을 다 해결했으니 Makefile을 생성해야겠죠?
이전 포스트에서 depot tools 에 대해 잠깐 살펴보았는데요, 빌드는 gyp라는 빌드 시스템을 사용하고 있습니다. gyp는 configure 스크립트 처럼 Make를 위해 Makefile을 생성해주는 시스템 입니다.
gclient sync를 하면 자동으로 gyp 을 실행하면서 Makefile을 생성해줍니다.
새로 Makefile을 업데이트 하고 싶다면 "./build/gyp_chromium -Dflag1=value1 -Dflag2=value2" 명령을 이용해서 원하는 플래그도 설정합니다.
(기본적으로 Chromium은 compiler warning이 발생하면 빌드를 멈춥니다. warning 을 만나도 빌드를 계속하게 하려면 -Dwerror= 을 추가해 줍니다)
이제 make 명령을 사용하여 빌드를 시작할 수 있습니다.
저는 make -j4 BUILDTYPE=Debug chrome 으로 빌드를 하였습니다.
BUILDTYPE은 Release 와 Debug를 선택할 수 있습니다. Debug 빌드는 디버그 심볼등이 포함되어 있어서 Release 모드 빌드 보다 chrome 실행 파일 크기가 큽니다.
빌드가 오래 걸리네요... 낼 출근을 위해 빌드를 걸어놓고 잠을 자야겠습니다.
낼 아침 빌드가 잘 되어 있으면 다음 포스트는 Chromium 의 소스트리에 대해 알아보도록 하겠습니다.