勿体無いので一応公開しておきます。
SpiderMonkeyの取得とビルド
公式の手順にあるビルドシステムのブートストラップを実行します。
wget -O bootstrap.py https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py && python bootstrap.py
下記の返答を 要求されたので「1」を答えました。
その後で依存パッケージ導入のために管理者権限を要求されます。
Please choose the version of Firefox you want to build:
1. Firefox for Desktop
2. Firefox for Android
Your choice:
SpiderMonkeyの環境構築はV8と違って、ブートストラップの最後にgitリポジトリの案内まで表示してくれる親切さです。(公式ダウンロードリポジトリ案内を読むまでもなかった。)
Gitリポジトリ取得は、履歴の長さ故かとても時間がかかります。
git clone https://git.mozilla.org/integration/gecko-dev.git
わたしは一晩放置しました。
最新ソースだけ欲しい場合は、単に最新ソースツリーを指定して取得したほうが良さそうです。
git clone --depth 1 https://github.com/mozilla/gecko-dev.git
ビルドは、思った以上に早く終わりました。8コア指定したからかもしれません。
autoconfは念の為にバージョンを確認しましょう。 ブートストラップが最適バージョンを配置してくれているようですが。
autoconf --version
autoconf
mkdir build_OPT.OBJ
cd build_OPT.OBJ
../configure make -j8
ビルド成功を確認。
dist/bin/js --help
今回は、インストールはしませんでした。
JavaScript v8の取得
V8 JavaScriptエンジンの取得
公式のGit利用案内ページにはいろいろ書いてありますが、結局Githubの公式ミラーからいつものcloneで取得できます。
git clone https://github.com/v8/v8-git-mirror.git
glient <- V8ビルドシステム(makefile生成)
リンクを辿ってChromiumビルドツールのページ http://dev.chromium.org/developers/how-tos/install-depot-tools にて
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=`pwd`/depot_tools:"$PATH"
要はパスを通しておけということのようです。
gclient --help
が通ることを確認。
公式手順には記載されていませんがgclientはconfigが必要。
gclient config https://chromium.googlesource.com/v8/v8
gclient sync
しばらく反応がなかったり、反応があったと思えば時間をカウントするだけだったり、進行しているのか疑ってしまう動作のあとでProgressがちゃんと進行します。
SVNは、checkoutの途中でエラーで止まりました。