V8

V8をソースコードからビルドしてみるテスト。

V8のビルドにはdepot_toolsが必要なのであらかじめcloneしておく。

1
$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

cloneしたディレクトリをPATHに追加しておく。下記のコマンドが動作すればOK。

1
$ gclient

続いてV8のソースコードをcloneする。

1
$ git clone https://chromium.googlesource.com/v8/v8.git

V8のディレクトリに移動し、

1
$ gclient sync

を実行する。あとはmakeするだけなのだが、コンパイラにclangを使うにはあらかじめ次のように設定しておく。

1
2
3
4
5
6
7
8
9
export CXX=`which clang++`
export CC=`which clang`
export CPP="`which clang` -E"
export LINK=`which clang++`
export CXX_host=`which clang++`
export CC_host=`which clang`
export CPP_host="`which clang` -E"
export LINK_host=`which clang++`
export GYP_DEFINES="clang=1"

以上の準備が整ったところで、あとは

1
$ make native

でビルドが始まる。makeのターゲットにnativeを指定すると、ホストマシンのアーキテクチャをターゲットとしたリリースビルドが指定される。手もとのMacBook Proで大体25分くらいで完了した。結果はoutディレクトリに出力されており、例えばout/native/shellを実行するとV8を組み込んだサンプルシェルが起動する。

1
2
3
$ out/native/shell
V8 version 3.32.0 (candidate) [sample shell]
>

以上の手順含め詳細は下記サイトに説明がある。

BuildingWithGYP