Chrome のビルド
depot_tools のインストール
depot_tools をダウンロードする。
$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
depot_tools にパスを通す。
$ vi ~/.bashrc
- ~/.bashrc
export PATH="$PATH:/path/to/depot_tools"
PATHを反映させる。
$ source ~/.bashrc
ソースコードの取得
chromium ディレクトリを作成する。
$ mkdir chromium && cd chromium
depot_tools から fetch ツールを実行して、コードとその依存関係をチェックアウトする。
$ fetch --nohooks chromium
ビルド依存関係のインストール
追加のビルド依存関係をインストールする。
$ cd src $ sudo dnf 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
Chromium固有のフックを実行して追加のバイナリやその他必要なものをダウンロードする。
$ gclient runhooks
ビルドの設定
Chromium は主要なビルドツールとしてNinjaを使用する。以下のコマンドでビルドディレクトリを作成する。ビルドディレクトリは何個でも作る事ができる。例えば、out/Debug、out/Release など。
$ gn gen out/Default
ビルド設定ファイルの編集を行う。(エディタが起動する)
$ gn args out/Default
- out/Default/args.gn
is_debug = false dcheck_always_on = true is_component_build = true enable_nacl = false
設定可能な args の一覧は以下のコマンドで得られる。
$ gn args out/Default --list
ビルド
chrome のビルドを開始する。
$ autoninja -C out/Default chrome
/home/tomoyan/my_projects/depot_tools/ninja -C out/Default chrome
ninja: Entering directory `out/Default'
[36275/36275] LINK ./chrome