2011-05-19 :-(
_ 午後
1300 もぐ
_ [SpiderMonkey][JavaScript]SpiderMonkey
入った。ような
環境
- Microsoft Windows 7
- cygwin ( devel カテゴリは全部入れておけ )
手順
$ 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 $ make -f Makefile.ref OS_ARCH=Linux $ make -f Makefile.ref OS_ARCH=Linux js
↓エラーが出まくるけど
: /usr/lib/libm.a(t-d000976.o):(.text+0x2): undefined reference to `_imp__floor' /usr/lib/libm.a(t-d000985.o):(.text+0x2): undefined reference to `_imp__fmod' /usr/lib/libm.a(t-d000688.o):(.text+0x2): undefined reference to `_imp__acos' /usr/lib/libm.a(t-d000708.o):(.text+0x2): undefined reference to `_imp__asin' /usr/lib/libm.a(t-d000715.o):(.text+0x2): undefined reference to `_imp__atan' /usr/lib/libm.a(t-d000716.o):(.text+0x2): undefined reference to `_imp__atan2' /usr/lib/libm.a(t-d000760.o):(.text+0x2): undefined reference to `_imp__ceil' /usr/lib/libm.a(t-d000792.o):(.text+0x2): undefined reference to `_imp__cos' /usr/lib/libm.a(t-d000913.o):(.text+0x2): undefined reference to `_imp__exp' /usr/lib/libm.a(t-d001249.o):(.text+0x2): undefined reference to `_imp__log' /usr/lib/libm.a(t-d001381.o):(.text+0x2): undefined reference to `_imp__pow' /usr/lib/libm.a(t-d001655.o):(.text+0x2): undefined reference to `_imp__sin' /usr/lib/libm.a(t-d001675.o):(.text+0x2): undefined reference to `_imp__sqrt' /usr/lib/libm.a(t-d001744.o):(.text+0x2): undefined reference to `_imp__tan' /usr/lib/libm.a(t-d001250.o):(.text+0x2): undefined reference to `_imp__log10' make[1]: *** [Linux_All_DBG.OBJ/libjs.so] エラー 1 make[1]: ディレクトリ `/cygdrive/c/home/rin/usr/local/mozilla/js/src' から出ま make: *** [all] エラー 2
無視して make すりゃいいらしい。えー
% make -f Makefile.ref OS_ARCH=Linux js cat: ../../dist/Linux_All_DBG.OBJ/nspr/Version: No such file or directory make: 循環 jscpucfg.h <- Linux_All_DBG.OBJ/jsautocfg.h 依存関係が破棄されました. make: 循環 Linux_All_DBG.OBJ/jsautocfg.h <- Linux_All_DBG.OBJ/jsautocfg.h 依存関係が破棄されました. gcc -o Linux_All_DBG.OBJ/js.o -c -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX -DDEBUG -DDEBUG_rin -DEDITLINE -ILinux_All_DBG.OBJ js.c gcc -o Linux_All_DBG.OBJ/js -Wall -Wno-format -MMD -g3 -DXP_UNIX -DSVR4 -DSYSV -D_BSD_SOURCE -DPOSIX_SOURCE -DHAVE_LOCALTIME_R -DX86_LINUX -DDEBUG -DDEBUG_rin -DEDITLINE -ILinux_All_DBG.OBJ Linux_Al l_DBG.OBJ/js.o Linux_All_DBG.OBJ/libjs.a -lm \ editline/Linux_All_DBG.OBJ/libedit.a
ファイルが出来てることは出来ている
% ls Linux_All_DBG.OBJ/js.exe Linux_All_DBG.OBJ/js.exe*
実行
とりあえず実行してみる ( SpiderMonkey で JavaScript のインタラクティブシェル - bkブログ )
% ./Linux_All_DBG.OBJ/js.exe js> a = [1,2,3] 1,2,3 js> a.push(4) 4 js> a.unshift(0) 5 js> a 0,1,2,3,4 js> a.concat([5,6,7]) 0,1,2,3,4,5,6,7 js> a 0,1,2,3,4 js> a = a.concat([5,6,7]) 0,1,2,3,4,5,6,7 js> a 0,1,2,3,4,5,6,7 js> quit function quit() { [native code] } js> exit typein:10: ReferenceError: exit is not defined js>
[ツッコミを入れる]