SpiderMonkey は、Mozilla プロジェクトで開発された ECMAScript 処理系。Mozilla のブラウザでは、これを使って JavaScript 環境を実現している。また、自分のアプリケーションに組み込むこともできる。
Visual C++ 6.0 で SpiderMonkey をビルドする時の手順は、こんな感じ。
- FTP サイト ftp://ftp.mozilla.org/pub/mozilla.org/js/ から、最新版 (これを書いてる時点だと js-1.5-rc6a.tar.gz) を持ってきて、展開する。
- js/src の中に、js.mdp というファイルがある。これは、古いバージョンの VC で使われていたプロジェクトファイル。ダブルクリックして開く。
- VC6 が起動し、プロジェクトをコンバートする旨の確認が出るので、コンバートさせる。js.dsw、js.dsp などが生成される。
- プロジェクト "js" のリンカオプションに /OPT:NOICF を追加する (http://www.mozilla.org/js/spidermonkey/release-notes/)。
- ビルド。
これで、スクリプトエンジンが js32.dll として生成される。また、デモ用に、コマンドラインで動作するシェルっぽいのが jsshell.exe としてできるので、これを動かせばとりあえず動作確認ができる。
js32.dll を利用するプログラムを書く場合は、jsshell のソースや、SpiderMonkey のサイトからたどれる各種のドキュメンテーションを参照すればいい。
ちなみに、SpiderMonkey は C ベースだが、Java ベースの ECMAScript エンジンが欲しい場合は、同じ Mozilla プロジェクトのものだと Rhino が、それ以外では FESI が使える。