Windows VistaでV8を使いたかったのでビルドしたときのメモ

準備編

  1. Pythonをインストール(ActivePythonでもいいけど)
  2. SConsをインストール(PythonのMakeみたいなものらしい)
  3. Visual C++ 2010 Expressをインストール(本当はSConsだけでもいいけど、必要なWindows SDKが内蔵されてるので楽)
  4. git か svnがあるとV8のダウンロードが楽

実践編
(X / _ / X <は$みたいなプロンプトです)
バージョンの確認コマンドも打ってますが、How to Download and Build V8 – V8 JavaScript Engine – Google Codeでソフトウェアの必要なバージョンが載っています。

多くの例ではsvnで

svn checkout http://v8.googlecode.com/svn/trunk/ v8

としてv8をダウンロードしているみたいですが、githubに公式ミラーがあるので今回はそれを利用しました。

X / _ / X < git clone git://github.com/v8/v8.git v8
Initialized empty Git repository in D:/Software/v8/.git/
remote: Counting objects: 53075, done.
remote: Compressing objects: 100% (7672/7672), done.
remote: Total 53075 (delta 46205), reused 51859 (delta 45179)
Receiving objects: 100% (53075/53075), 25.18 MiB | 749 KiB/s, done.
Resolving deltas: 100% (46205/46205), done.
Checking out files: 100% (1426/1426), done.
X / _ / X < python -V
Python 2.6.4
X / _ / X < scons --version
SCons by Steven Knight et al.:
 engine: v2.0.1.r5134, 2010/08/16 23:02:40, by bdeegan on cooldog
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 The SCons Foundation

ここまでで準備は終わり、次はビルドとテスト
sconsの引数はよく分からなかったのでBuildを見てscons d8としました。

X / _ / X < cd v8
X / _ / X < scons d8
#ビルド
X / _ / X < toolstest.py
#テスト
[13:26|% 100|+ 4599|-   3]: Done

特に環境パスの引数なしでも通ったのでシンプルにしていますが、手動でパスを通す場合は大変なので”C:Program FilesMicrosoft Visual Studio 10.0VCvcvarsall.bat”などのbatファイルを使うとよいかもしれないです。

最後にベンチマークを取ってみて終了

X / _ / X < cd benchmarks
X / _ / X < ../d8 run.js
Richards: 7311
DeltaBlue: 9098
Crypto: 8762
RayTrace: 6707
EarleyBoyer: 12664
RegExp: 1440
Splay: 2193
----
Score (version 6): 5521

これで、Windows上で使えるV8(d8)のバイナリ作成ができたので終わり
毎回d8.exeまでのパスを入力するのは大変なので、バイナリの場所までRedmond Pathを使ってパスを通しています。