forked from rubinius/rubinius
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add license info and tweaks to README.
- Loading branch information
Brian Ford
committed
Dec 10, 2008
1 parent
b08b45f
commit 7f8477c
Showing
2 changed files
with
24 additions
and
124 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,103 +1 @@ | ||
= Installation guide for Rubinius as of 10/2008 | ||
|
||
If you are having trouble with installation, the #rubinius IRC channel on | ||
irc://irc.freenode.net will help. | ||
|
||
|
||
== Getting the software and required libraries | ||
|
||
There are a few things that you need in order to be able to build and run | ||
Rubinius. Once you have installed the general requirements, install the Gems | ||
needed and then any platform-specific requirements. | ||
|
||
|
||
=== General requirements | ||
|
||
* "GCC 4.x (both g++ and gcc)":http://gcc.gnu.org/ | ||
* "GNU Bison":http://www.gnu.org/software/bison/ | ||
* "Ruby version >= 1.8.4 (the Ruby language)":http://www.ruby-lang.org/ | ||
* "RubyGems (Ruby package manager)":http://www.rubygems.org/ | ||
* "Git (source control used by rubinius)":http://git.or.cz/ | ||
* "zlib compression library":http://www.zlib.net/ | ||
|
||
Most systems already use GNU Make as their default, but for | ||
those using a BSD Make: | ||
|
||
* "gmake (GNU Make)":http://savannah.gnu.org/projects/make/ | ||
|
||
Each package may have requirements of its own, of course. | ||
|
||
If you want to avoid overriding your existing environment, you may want to | ||
install everything under its own prefix (such as /usr/local) and to name | ||
programs so they don't collide with your existing installation (such as naming | ||
gmake 'gmake'). You can then adjust your PATH environment variable as needed | ||
for rubinius development. | ||
|
||
|
||
=== Requirements through RubyGems | ||
|
||
* rake | ||
* ParseTree | ||
|
||
Rake may be obtained with the `gem install` command. See `gem help` and | ||
http://www.rubygems.org for more information. | ||
|
||
|
||
=== System-dependent requirements | ||
|
||
|
||
==== FreeBSD, OpenBSD | ||
|
||
* "libexecinfo (backtrace utilities)":http://www.freshports.org/devel/libexecinfo | ||
|
||
|
||
==== Debian/Ubuntu family systems | ||
|
||
For the build to succeed you will need these packages: | ||
|
||
* ruby-dev | ||
* libreadline5-dev | ||
* zlib1g-dev | ||
|
||
|
||
== Rubinius itself | ||
|
||
You need to check Rubinius out through Git (which we just installed). The | ||
invocation looks like this: | ||
|
||
git clone git://github.com/evanphx/rubinius.git | ||
|
||
For more information on Rubinius' best practices for git, see "using | ||
git":http://rubinius.lighthouseapp.com/projects/5089/using-git | ||
|
||
|
||
== Compiling Rubinius | ||
|
||
The C++ VM is compiled using Rake. Typically, it will be as simple as: | ||
|
||
rake build | ||
|
||
|
||
== Installing Rubinius | ||
|
||
The C++ should not currently be installed separately. | ||
|
||
|
||
== Running Rubinius | ||
|
||
Once compiled, you can verify the VM works: | ||
|
||
bin/rbx -v | ||
|
||
Rubinius generally works like Ruby from the command-line. For example: | ||
|
||
bin/rbx -e 'puts "Hello!"' | ||
|
||
|
||
== Troubleshooting and platform-specific notes | ||
|
||
Right now, the very best thing to do is to join the #rubinius IRC channel on | ||
irc://irc.freenode.net. The forums here are an alternative method though the | ||
response is probably not going to be as swift. We will try to collect tips | ||
here, too. | ||
|
||
See doc/getting_started.txt |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,50 +1,52 @@ | ||
1. What is Rubinius | ||
|
||
Rubinius is an execution environment for the Ruby programming language. | ||
It is comprised of three major pieces: a compiler, a 'kernel' (otherwise | ||
known as the Ruby Core Library), and a virtual machine. | ||
The project's goal is to create a top-of-the-line Ruby implementation. | ||
Rubinius is an execution environment for the Ruby programming language. It is | ||
comprised of three major pieces: a compiler, a 'kernel' (otherwise known as | ||
the Ruby Core Library), and a virtual machine. The project's goal is to create | ||
a top-of-the-line Ruby implementation. | ||
|
||
2. Running Rubinius | ||
2. License | ||
|
||
Refer to the INSTALL file for instructions on getting and building Rubinius. | ||
Rubinius uses the BSD license. See LICENSE for details. | ||
|
||
3. Status | ||
3. Running Rubinius | ||
|
||
See doc/getting_started.txt. | ||
|
||
4. Status | ||
|
||
Rubinius is under heavy development and currently supports the core Ruby | ||
classes and kernel methods. The majority of the existing Ruby libraries | ||
should run without modification. If your MRI 1.8.6-compatible code does not | ||
run under Rubinius, please open a bug ticket. | ||
classes and kernel methods. The majority of the existing Ruby libraries should | ||
run without modification. If your MRI 1.8.6-compatible code does not run | ||
under Rubinius, please open a bug ticket. See doc/howto/write_a_ticket.txt. | ||
|
||
As Rubinius becomes more and more compatible with Ruby 1.8, the development | ||
effort is shifting toward performance, rather than completeness. | ||
|
||
4. Goals | ||
5. Goals | ||
|
||
* Thread safety. Rubinius intends to be thread-safe so you could embed more | ||
than one interpreter in a single application. It does not currently meet | ||
this goal due to some components borrowed from the mainline Ruby interpreter. | ||
|
||
* Clean, readable code that is easy for users to understand and extend. | ||
|
||
* Reliable, rock-solid code. Valgrind is used to help verify correctness. | ||
* Reliable, rock-solid code. Valgrind is used to help verify correctness. | ||
|
||
* Bring modern techniques to the Ruby runtime. Pluggable garbage collectors and | ||
code optimizers are possible examples. | ||
|
||
5. Volunteering to Help | ||
6. Contributing | ||
|
||
The Rubinius team welcomes contributions, bug reports, test cases, and monetary | ||
support. One possible way to help is implement Ruby library classes. Visit | ||
http://rubinius.lighthouseapp.com for documentation on how to begin hacking | ||
Rubinius. | ||
The Rubinius team welcomes contributions, bug reports, test cases, and | ||
monetary support. One possible way to help is implement Ruby library classes. | ||
See doc/contributing.txt to get started. | ||
|
||
6. Architecture | ||
7. Architecture | ||
|
||
While most of the Rubinius features are implemented in Ruby, the VM itself | ||
is written in C++. This is likely to continue to be the case in the coming | ||
While most of the Rubinius features are implemented in Ruby, the VM itself is | ||
written in C++. This is likely to continue to be the case in the coming | ||
months, partly to ease the integration of LLVM into the Rubinius system. | ||
|
||
The compiler, assembler, and bytecode generators are all written in Ruby, and | ||
can be found under the ./lib/compiler directory. | ||
|