2005-11-01
SpiderMonkeyのビルド
検索で引っかかるページのビルド方法は、どれも難しく見えるけど、依存環境が少ない(libcレベル)ので正直簡単に作れる。開発環境があれば、以下のコマンドそのままコピーでいけるはず。
CVSからダウンロード
$ cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot login password: anonymous $ cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/js/src $ cd mozilla/js/src
Linuxの場合:
$ make -f Makefile.ref
js/src/Linux_All_DBG.OBJ/にjsができる。
最適化する場合
$ make -f Makefile.ref BUILD_OPT=1
こちらはjs/src/Linux_All_OPT.OBJ/にjsができる。
Cygwinの場合:
$ make -f Makefile.ref OS_ARCH=Linux ...途中で失敗する(.soを作ろうとして失敗かな)... $ make -f Makefile.ref OS_ARCH=Linux js
Linux_All_DBG.OBJにjs.exeの実行ファイルができている。jsやjs.exeは静的リンクされているので単体でコピーしてよい。
VC++Toolkit 2003+Platform SDKでのビルド:
- We are sorry, the page you requested cannot be found.
- Download: Windows® Server 2003 SP1 Platform SDK Web Install - Microsoft Download Center - Download Details
まず、VC++ Toolkit 2003では基本的にmsvcrt.libなどのライブラリファイルが足りない。
このなかでは、LIBCMT.libはToolkit配布中に存在しているので、「js.mak中の"/MD"をすべて"/MT"に置換する」(一応、/MDdも/MTdにする)。さらにデバッグ用のライブラリも無いので、ビルドではRelease版のみ構築できる。
ビルドはcygwin上で以下のとおり(このPlatform SDKはXPSP2時代のものだが、いまは2003SP1に統合されたようだ):
$ export PATH=/cygdrive/c/Program\ Files/Microsoft\ Visual\ C++\ Toolkit\ 2003/bin:"$PATH" $ export INCLUDE=/Program\ Files/Microsoft\ Visual\ C++\ Toolkit\ 2003/include";"/Program\ Files/Microsoft\ Platform\ SDK\ for\ Windows\ XP\ SP2/Include $ export LIB=/Program\ Files/Microsoft\ Visual\ C++\ Toolkit\ 2003/lib/";"/Program\ Files/Microsoft\ Platform\ SDK\ for\ Windows\ XP\ SP2/Lib/ $ nmake -f js.mak CFG="jsshell - Win32 Release"
(nmake含め、.NET1.1 SDKのVCに入ってたかも。その場合はjs.makはそのままで、環境変数LIBにmsvcrt.libのあるディレクトリを追加すればいいはず)
もしこれらをコマンドプロンプトで行うなら、環境変数INCLUDEとLIBをsetで設定すればいい。
mozilla/js/src/Releaseにjsshell.exe(やjs32.dll)があるので、コマンドプロンプト(もしくはダブルクリック起動)で利用可能である(jsshell.exeはcygwin環境では使えない)。
ちなみに、jsshell.exeでの終了はquit()を呼ぶ。
.NET 2.0 SDK+Platform SDKのビルド:
nmakeやmsvcrt.libなどもすべて入ってるので、警告がいっぱい出る(cl.exeのコンパイラオプションの違いと、strcpyなどが危ないからdeprecatedになってるのでコンパイラオプションつけろってやつ)けど問題なくDebug版もRelease版もビルド可能。
今回は、Windows Server 2003 SP1 Platform SDKを入れて作って見ました。
cygwin上(意地)で
$ export PATH=/cygdrive/c/Program\ Files/Microsoft\ Visual\ Studio\ 8/VC/bin:/cygdrive/c/Program\ Files/Microsoft\ Visual\ Studio\ 8/Common7/IDE:"$PATH" $ export INCLUDE=/Program\ Files/Microsoft\ Visual\ Studio\ 8/VC/include/";"/Program\ Files/Microsoft\ Platform\ SDK/Include/ $ export LIB=/Program\ Files/Microsoft\ Visual\ Studio\ 8/VC/lib/";"/Program\ Files/Microsoft\ Platform\ SDK/Lib/ $ nmake -f js.mak CFG="jsshell - Win32 Release"
じつは上記環境変数さえセットされていれば、Linux同様にGNUmakeでもつくれてしまう。
$ make -f Makefile.ref
この場合、WINNT5.1_DBG.OBJにjs.exeとなって作成される(jsshell.exeと同じもの)。
- http://d.hatena.ne.jp/brazil/20060608
- たんたんと Ruby をビルドする日記 - Visual C++ で Ruby/SpiderMok...
- http://d.hatena.ne.jp/rahAloe/20060709
- trotrの日記 - 久しぶりにjavascript(Arrayがメイン)
- gan2 の Ruby 勉強日記 - SpiderMonkey と flymake を使って Meado...
- [cygwin][JavaScript] SpiderMonkey@cygport
- なかむランチ - cygwinにSpider Monkeyインストール
- salmonsnareの日記 - Cygwinで、CouchDBをインストールする際の問題...
- 107 http://d.hatena.ne.jp/nack01/20080307/p1
- 87 http://yowaken.dip.jp/tdiary/20070913.html
- 43 http://wiki.fdiary.net/OS2Wiki/?SpiderMonkey
- 32 http://bookmarks.yahoo.co.jp/my
- 24 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja-JP:official&q=DOMParser+download&btnG=Google+検索&lr=lang_ja
- 15 http://d.hatena.ne.jp/brazil/20060608/1149779210
- 11 http://mayokara.info/note/view/161
- 11 http://rainyday.blog.so-net.ne.jp/2006-09-17
- 11 http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=spider+monkey&num=50
- 10 http://www.google.co.jp/search?q=spidermonkey+ビルド&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox-a