Permalink
Browse files

Update INSTALL to latest information.

Clean up some wording.

Fit everything in 80 columns.
  • Loading branch information...
drbrain committed Oct 18, 2007
1 parent ad146fc commit 90c05c1f6c8165eadc96e61dc479a6898d4ae897
Showing with 83 additions and 59 deletions.
  1. +54 −36 INSTALL
  2. +1 −0 Makefile
  3. +26 −23 README
  4. +2 −0 Rakefile
View
90 INSTALL
@@ -1,14 +1,14 @@
-= Installation guide for Rubinius as of 05/2007
+= Installation guide for Rubinius as of 10/2007
-Please visit http://rubini.us to view the most current installation
-information. Additionally, the #rubinius IRC channel on Freenode will help.
+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.
+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
@@ -25,79 +25,97 @@ any platform-specific requirements.
Each package may have requirements of its own, of course.
-You may want to make sure not to override your normal environment so if necessary,
-make sure to install everything in the correct prefix (often /usr/local) and to name
-the programs accordingly (you probably want to ensure gmake is called gmake in order
-not to override the default make.) You can then adjust the environment with often a
-simple PATH revision as needed.
+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
-Rake may be obtained with the gem install command. See http://www.rubygems.org for more information.
+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
== Rubinius itself
-You need to check Rubinius out through Git (which we just installed). The invocation looks like this:
+You need to check Rubinius out through Git (which we just installed). The
+invocation looks like this:
git clone http://git.rubini.us/code rubinius
-== Compiling etc.
+For more information on rubinius' best practices for git, see "using
+git":http://rubinius.lighthouseapp.com/projects/5089/using-git
+
+
+== Compiling Rubinius
-In the simplest case and assuming that you have all the prerequisites, actually
-getting a working Rubinius binary should be as simple as this:
+Once you have all the prerequisites installed, building rubinius is as simple
+as:
cd /path/to/rubinius
- ./configure
- make
+ rake build
+
+This will give you a binary, @./shotgun/rubinius@ which can then be invoked to
+run scripts. If your system compiler is not GCC 4.x, you can set the CC environment variable:
+
+ CC=/path/to/gcc rake build
+
+If you want a development version (no optimisations, extra debug info), set the DEV environment variable:
-This will give you a binary, @./shotgun/rubinius@ which can then be invoked to
-run scripts. If your system compiler is not GCC 4.x, you can use the CC env
-to the *configure* script. If you want a development version (no optimisations,
-extra debug info), use DEV=1 again at the configuration phase, not to make.
+ DEV=1 rake build
-If you want, you can also do a @make install@. This will install @rbx@ as a
-shortcut for @./shotgun/rubinius@.
+
+== Installing Rubinius
+
+To install @rbx@ as a shortcut for @./shotgun/rubinius@:
+
+ make install
== Troubleshooting and platform-specific notes
-Right now, the very best thing to do is to join the #rubinius IRC channel on Freenode.
-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.
+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.
+
=== 64-bit platforms
-Currently mostly works on amd64 and Opteron. Other 64-bit platforms have not been tested.
+Currently mostly works on amd64 and Opteron. Other 64-bit platforms have not
+been tested.
-This is a guide to building Rubinius on various platforms.
-=== Mac OS X
+=== Mac OS X with Fink
See http://42squared.com/posts/how_to_install_rubinius_on_mac_os_x
If you are getting an error like this one:
glibtool: link: cannot build libtool library `librubinius.la' from non-libtool objects: ...
-This is probably because you are using an old glibtool (1.3.5 or similar) that came
-with Fink. This is the case when 'which glibtool' produces /sw/bin/glibtool. You want
-to use the one at /usr/bin/glibtool (1.5) instead. If you are radical you can just
-'sudo rm /sw/bin/glibtool' to fix this mess.
+This is probably because you are using an old glibtool (1.3.5 or similar) that
+came with Fink. This is the case when `which glibtool` returns
+/sw/bin/glibtool. You want to use /usr/bin/glibtool (1.5) instead. If you are
+radical you can just `sudo rm /sw/bin/glibtool` to fix this mess.
+
=== Ubuntu
For the build to succeed you will need these packages:
-
+
* libglib2.0-dev
* zlib1g-dev
+
View
@@ -1,3 +1,4 @@
+# NOTE! When updating this file, also update INSTALL, if necessary.
include shotgun/config.mk
View
49 README
@@ -1,24 +1,24 @@
1. What is Rubinius
-Rubinius is a next-generation virtual machine and compiler for Ruby.
-Based loosely on the Smalltalk-80 'Blue Book' design, Rubinius will provide
-a rich, high-performance environment for running Ruby code.
+Rubinius is a next-generation virtual machine and compiler for Ruby. Based
+loosely on the Smalltalk-80 'Blue Book' design, Rubinius will provide a rich,
+high-performance environment for running Ruby code.
2. Running Rubinius
Refer to the INSTALL file for instructions on getting and building Rubinius.
3. Status
-Rubinius is under heavy development, and currently supports the basic Ruby
-classes and kernel methods. The code base is written in a mixture of
-ANSI C and Ruby; with more Ruby and less C as the project proceeds.
-You should not run your mission-critical Rails apps under Rubinius yet.
+Rubinius is under heavy development, and currently supports the basic Ruby
+classes and kernel methods. The code base is written in a mixture of ANSI C and
+Ruby; with more Ruby and less C as the project proceeds. You should not run
+your mission-critical Rails apps under Rubinius yet.
4. 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
+ 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.
@@ -30,23 +30,26 @@ You should not run your mission-critical Rails apps under Rubinius yet.
5. Volunteering to Help
-The Rubinius team welcomes contributions, bug reports, test cases, and monetary
+The Rubinius team welcomes contributions, bug reports, test cases, and monetary
support. One possible way to help is implement Ruby library classes. Visit
-http://rubini.us for documentation on how to begin hacking Rubinius.
+http://rubinius.lighthouseapp.com for documentation on how to begin hacking
+Rubinius.
6. Architecture
-Rubinius currently uses C to bootstrap the system. In the future, a limited dialect of
-Ruby called cuby/garnet will be used to generate C. This is a time-honored technique,
-used by systems such as Squeak, Smalltalk, and Algol on the Burroughs systems (as seen
-in the movie 'Tron').
-
-For now, this code is hand-written, and can be found in the ./shotgun/lib directory.
-This code was ported from a Ruby implementation found in the ./lib directory.
-For example, shotgun/lib/object_memory.c is the C translation of lib/object_memory.rb.
-
-The compiler, assembler, and bytecode generators are all written in Ruby, and can
-be found under the ./lib directory. Other systems use the word 'translator' for what
-is here referred to as 'compiler'. The ./bin/rcc script can be used to display the
-symbolic output of the compiler, for debugging or learning purposes.
+Rubinius currently uses C to bootstrap the system. In the future, a limited
+dialect of Ruby called cuby/garnet will be used to generate C. This is a
+time-honored technique, used by systems such as Squeak, Smalltalk, and Algol on
+the Burroughs systems (as seen in the movie 'Tron').
+
+For now, this code is hand-written, and can be found in the ./shotgun/lib
+directory. This code was ported from a Ruby implementation found in the ./lib
+directory. For example, shotgun/lib/object_memory.c is the C translation of
+lib/object_memory.rb.
+
+The compiler, assembler, and bytecode generators are all written in Ruby, and
+can be found under the ./lib directory. Other systems use the word
+'translator' for what is here referred to as 'compiler'. The ./bin/rcc script
+can be used to display the symbolic output of the compiler, for debugging or
+learning purposes.
View
@@ -1,3 +1,5 @@
+# NOTE! When updating this file, also update INSTALL, if necessary.
+
require 'tsort'
task :default => :tasks

0 comments on commit 90c05c1

Please sign in to comment.