Building WebKit on Ubuntu 15.04

Ubuntu GNOME 15.04 64bitでWebKit GTK portをビルドしてみる。

手順は公式サイトやWikiに書いてあるが、まとまっていない印象があるのでここでまとめておく。

The WebKit Open Source Project

BuildingGtk – WebKit

WebKitのリビジョンは186705となる。

環境

UbuntuVirtualBox上にインストールされている。

ホストマシンはi7-2600K、メモリ16GBで、 Ubuntuゲストには4コア、メモリ8GBを割り当ててある。

gccのバージョンは4.9.2となっている。

gcc --version
gcc (Ubuntu 4.9.2-10ubuntu13) 4.9.2

最新のWebKitではgcc 4.9.0以上がビルドに必要となっているため古いUbuntuでビルドする場合は注意が必要である。

手順

ビルド準備

ソースコードSubversionを使って取得する。

svn checkout https://svn.webkit.org/repository/webkit/trunk WebKit
cd WebKit

ビルドに必要なパッケージをaptを使ってインストールするスクリプトを実行する。

./Tools/gtk/install-dependencies

ビルドに必要なライブラリをインストールする。

./Tools/Scripts/update-webkitgtk-libs

このスクリプトはjhbuildを使っているらしい。

jhbuildが何をしているのか詳細は不明だが、Tools/gtk/jhbuild.modulesに記述されているソースコードをダウンロードし、ビルドを行っているようだ。

WebKitBuild/DependenciesGTK以下のSourceディレクトリにWebKit依存ライブラリのソース、Rootディレクトリ以下にビルド済みライブラリが作られる。

WebKitのビルド

GTK portをビルドする。

./Tools/Scripts/build-webkit --gtk

環境にもよるが、それなりに時間がかかるのでゆっくり待とう。

私の場合はmakeの並列ビルドオプションを使っている。

./Tools/Scripts/build-webkit --gtk --makeargs="-j4"

2015/07/22追記: 何も指定しなくても4コアで並列ビルドを行っていたのでmakeオプションは無指定にした。

実行

ビルドが終わると

 To run MiniBrowser with this newly-built code, use the
 "Tools/Scripts/run-minibrowser" script.

なんてメッセージが表示されるので、そのまま実行すると、

Unsupported platform. at ./Tools/Scripts/run-minibrowser line 58.

とエラーがでる。

GTKオプションをつけて実行すればよい。

Tools/Scripts/run-minibrowser --gtk

このMiniBrowserというのはサンプルブラウザである。

MiniBrowserの実体及びビルド成果物はWebKitBuild/Release以下に作られる。

cd WebKitBuild/Release/bin
./MiniBrowser http://www.google.com

ソースの更新

./Tools/Scripts/update-webkit

デバッグモードでのビルド

./Tools/Scripts/build-webkit --gtk --debug