2006年 10月 25日

js1.7 with Ruby/SpiderMonkey

cd src
cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot login
cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -l mozilla/js/src mozilla/js/src/config mozilla/js/src/editline mozilla/js/src/fdlibm
cd mozilla/js/src
make -f Makefile.ref

cd Linux_All_DBG.OBJ
sudo cp spidermonkey.so /usr/local/lib/site_ruby/1.8/i486-linux  
sudo mv libjs.so /usr/lib 

cd ../ruby-smjs
vim extconf.rb # s/smjs/js/g
ruby extconf.rb --with-js-include=../mozilla/js/src --with-js-lib=../mozilla/js/src/Linux_All_DBG.OBJ 

1.7 の機能を使うには Context#version= をセットしてあげる。

c = SpiderMonkey::Context.new
c.version= "1.7"
c.evaluate("let (a = 1) a;")