SpiderMonkey をコンパイルする [JavaScript]
O'Reilly の JavaScript 本をぼちぼち読み始めている(同時期に注文して同時期に来るはずだった Practical OCaml はまだこない)のだけど、変数の値の表示にブラウザで(ブラウザで!) document.write() とかやるのはきついので OCaml や Tcl や Lua みたいなインタラクティブシェルが欲しいと思っていたところ、 Mozilla プロジェクトの SpiderMonkey という実装にまさにそれがあることが分かったので早速導入。
最初 MinGW でコンパイルしようと思って [1] を見て DLL を作るところまで行ったのだが目当てのシェルが出来上がっていないのでそこで挫折し、実は MSVC で簡単にできるということが [2] を見て分かったので素直にそうした。
1. 適宜環境変数を設定
2. js.mak中の"/MD"をすべて"/MT"に置換する
3. nmake -f js.mak CFG="jsshell - Win32 Release"
使ったのは MSVC 2005 Express だが「js.mak中の"/MD"をすべて"/MT"に置換する」を実行しないと新しいほうの MSVC ランタイム (MSVCR80.DLL) に依存してしまうので注意。
あと最初 odbc.lib がリンクできないといってリンカに怒られた。探してみたら私の環境では MASM のライブラリフォルダにあったので環境変数 LIB に追加した。これはよくわからない。
メイクすると使っている関数が古いとか知らないオプションを使っているとか警告が出るが最後まで通る。出来上がった jsshell.exe と js32.dll を適当なフォルダに移すと(移さなくてもいいが)ダブルクリックで起動できる。
[1] http://sourceforge.net/docman/display_doc.php?docid=13826&group_id=50913
[2] http://d.hatena.ne.jp/bellbind/20051101/1130871157
コメント 0