Notes:
Background
----------
Rubydium is aiming to become an optimising reimplementation
of the Ruby 1.8 interpreter, currently its as good as vapourware
however the key mechanism has been prototyped, thusly before
commencing a major rewrite I thought i'd release the
current state of the art.
Dependancies
------------
As a backend code generator libjit (http://www.southern-storm.com.au/libjit.html)
is being used. The first component of Rubydium is therefore
a small and incomplete binding to the libjit library. The CVS
version of libjit is required for the Rubydium tech preview.
As a Ruby parser Robert Feldt's awesome Ruth library is used.
The AST is used directly during code generation at this point.
Several minor modifications were needed so a custom Ruth library
is required for Rubydium.
Installation instructions
-------------------------
The Libjit CVS snapshot (needs base system - c/c++/bison-1.35/flex)
(more information can be found in the included README)
:
./configure --prefix=/path/to/install/prefix --enable-interpreter
(example prefix: /home/alex/install/libjit)
make
make install
Please note, the "--enable-interpreter" option is required.
Ruth with my local modifications (1.8.x ruby is known to work)
(see included README file for more information)
:
ruby helpers/make.rb
ruby helpers/install.rb
Rubydium
:
export JIT_DIR=/path/to/install/prefix
./build_script
This will configure, then build, and finally execute the test suite.
The test suite will produce an obscene amount of information,
take a look through it on a rainy day sometime if you wish :)
Any failed tests?, first please check that you actually do have an
interpreter build of libjit rather than a x86 backend build. If you're
certain that there are other errors, feel free to email me the failure
reports :)
Changes:
|