tree 4069cf76123734955b066b4d2340332dae087e41
parent a3c1178ed251f38c1b547734c0f001cd6ea0721e
| name | age | message | |
|---|---|---|---|
| |
.cvsignore | Mon Feb 25 22:40:53 -0800 2008 | |
| |
.document | Mon Feb 25 22:40:53 -0800 2008 | |
| |
.gitignore | ||
| |
COPYING | Wed Mar 11 14:14:13 -0700 2009 | |
| |
GPL | Mon Feb 25 12:18:21 -0800 2008 | |
| |
HACKING.rdoc | Mon Sep 21 22:14:51 -0700 2009 | |
| |
LEGAL | Mon Apr 13 13:25:07 -0700 2009 | |
| |
LGPL | Mon Feb 25 12:18:21 -0800 2008 | |
| |
MacRuby.m | Sun Jul 26 22:48:12 -0700 2009 | |
| |
README.rdoc | ||
| |
Rakefile | ||
| |
TODO | ||
| |
array.c | ||
| |
b.rb | Wed Mar 11 14:14:13 -0700 2009 | |
| |
bench.rb | Tue Apr 07 18:24:23 -0700 2009 | |
| |
benchmark/ | Wed Mar 11 14:14:13 -0700 2009 | |
| |
bignum.c | Fri Aug 14 04:59:46 -0700 2009 | |
| |
bin/ | ||
| |
bridgesupport.cpp | ||
| |
bridgesupport.h | Fri Jun 19 17:57:44 -0700 2009 | |
| |
bs.c | ||
| |
bs.h | Sat Sep 19 00:37:35 -0700 2009 | |
| |
bs_lex.h | Tue Aug 11 04:40:10 -0700 2009 | |
| |
bs_struct_readers.c | Wed Apr 22 17:55:53 -0700 2009 | |
| |
class.c | ||
| |
compar.c | Tue Jul 07 19:52:12 -0700 2009 | |
| |
compiler.cpp | ||
| |
compiler.h | ||
| |
complex.c | Thu Aug 27 22:11:13 -0700 2009 | |
| |
cont.c | Wed Mar 11 14:14:13 -0700 2009 | |
| |
data/ | Wed Mar 11 14:14:13 -0700 2009 | |
| |
dir.c | Wed Aug 05 16:17:55 -0700 2009 | |
| |
distruby.rb | Mon Feb 25 12:18:21 -0800 2008 | |
| |
dln.c | Fri Sep 25 17:14:56 -0700 2009 | |
| |
dln.h | Fri Sep 25 17:14:56 -0700 2009 | |
| |
dmydln.c | Mon Feb 25 12:18:21 -0800 2008 | |
| |
dmyencoding.c | Sun May 18 01:10:19 -0700 2008 | |
| |
dmyext.c | Mon Feb 25 12:18:21 -0800 2008 | |
| |
dmytranscode.c | Sun May 18 01:10:19 -0700 2008 | |
| |
dtrace.d | Sun Oct 05 20:18:10 -0700 2008 | |
| |
encoding.c | ||
| |
enum.c | Fri Sep 04 21:49:21 -0700 2009 | |
| |
enumerator.c | Thu Sep 17 16:47:17 -0700 2009 | |
| |
error.c | Tue Aug 25 18:35:19 -0700 2009 | |
| |
eval.c | ||
| |
eval_error.c | Wed Mar 11 14:14:13 -0700 2009 | |
| |
eval_jump.c | Tue Aug 25 18:35:19 -0700 2009 | |
| |
eval_safe.c | Wed Mar 11 14:14:13 -0700 2009 | |
| |
ext/ | ||
| |
file.c | ||
| |
framework/ | Wed Jun 11 20:04:36 -0700 2008 | |
| |
gc-stub.m | Sat Sep 19 00:37:35 -0700 2009 | |
| |
gc.c | ||
| |
gcd.c | ||
| |
gem_prelude.rb | Wed Mar 11 14:14:13 -0700 2009 | |
| |
gen_bs_struct_readers.rb | Wed Apr 22 17:55:53 -0700 2009 | |
| |
golf_prelude.rb | Sun May 18 01:10:19 -0700 2008 | |
| |
hash.c | ||
| |
id.c | Wed Aug 26 18:51:00 -0700 2009 | |
| |
id.h | Wed Aug 26 18:51:00 -0700 2009 | |
| |
include/ | ||
| |
inits.c | Fri Aug 28 16:29:06 -0700 2009 | |
| |
instruby.rb | ||
| |
io.c | ||
| |
keywords | Thu Jun 05 01:11:58 -0700 2008 | |
| |
lex.c.blt | Thu Jun 05 01:11:58 -0700 2008 | |
| |
lex.c.src | Thu Jun 05 01:11:58 -0700 2008 | |
| |
lgamma_r.c | Wed Mar 11 14:14:13 -0700 2009 | |
| |
lib/ | ||
| |
llvm.h | Mon Aug 10 23:19:45 -0700 2009 | |
| |
load.c | ||
| |
main.cpp | Sat Sep 19 00:37:35 -0700 2009 | |
| |
markgc.c | Sat Sep 19 00:37:35 -0700 2009 | |
| |
marshal.c | Wed Sep 09 18:10:17 -0700 2009 | |
| |
math.c | Tue Aug 25 18:35:19 -0700 2009 | |
| |
misc/ | ||
| |
mspec/ | Tue Sep 08 19:26:23 -0700 2009 | |
| |
numeric.c | Thu Aug 27 22:11:13 -0700 2009 | |
| |
objc.h | Wed Aug 05 16:17:55 -0700 2009 | |
| |
objc.m | ||
| |
object.c | ||
| |
onig/ | Mon Aug 10 23:19:45 -0700 2009 | |
| |
pack.c | Wed Aug 05 16:17:55 -0700 2009 | |
| |
parse.y | ||
| |
prec.c | Wed Mar 11 14:14:13 -0700 2009 | |
| |
prelude.rb | Sun May 18 01:10:19 -0700 2008 | |
| |
proc.c | ||
| |
process.c | Tue Aug 25 18:35:19 -0700 2009 | |
| |
rakelib/ | ||
| |
random.c | Tue Aug 25 18:35:19 -0700 2009 | |
| |
range.c | Thu Sep 24 23:31:03 -0700 2009 | |
| |
rational.c | Sat Aug 01 19:00:15 -0700 2009 | |
| |
re.c | Wed Sep 09 00:09:55 -0700 2009 | |
| |
ruby.1 | Sun May 18 01:10:19 -0700 2008 | |
| |
ruby.c | Fri Sep 25 18:59:38 -0700 2009 | |
| |
rubytest.rb | Mon Feb 25 12:18:21 -0800 2008 | |
| |
runruby.rb | Mon Feb 25 12:18:21 -0800 2008 | |
| |
sample-macruby/ | Wed Aug 05 16:17:55 -0700 2009 | |
| |
sample/ | Wed Mar 11 14:14:13 -0700 2009 | |
| |
set.c | ||
| |
signal.c | Tue Aug 25 18:35:19 -0700 2009 | |
| |
spec/ | ||
| |
sprintf.cpp | ||
| |
st.c | Wed Sep 09 18:10:17 -0700 2009 | |
| |
string.c | ||
| |
struct.c | Wed Aug 05 16:17:55 -0700 2009 | |
| |
test-macruby/ | Mon Mar 16 14:30:13 -0700 2009 | |
| |
test/ | Mon Sep 14 10:15:13 -0700 2009 | |
| |
test_vm.rb | Thu Jun 25 11:09:46 -0700 2009 | |
| |
test_vm/ | ||
| |
thread.c | Sun Sep 06 18:38:32 -0700 2009 | |
| |
thread_pthread.h | Mon Feb 25 12:18:21 -0800 2008 | |
| |
time.c | Tue Sep 08 19:25:45 -0700 2009 | |
| |
tool/ | Fri May 22 17:38:22 -0700 2009 | |
| |
transcode.c | Mon Mar 30 16:42:49 -0700 2009 | |
| |
transcode_data.h | Mon Feb 25 12:18:21 -0800 2008 | |
| |
util.c | Thu Jul 30 23:46:57 -0700 2009 | |
| |
variable.c | ||
| |
version.c | Wed Dec 03 14:30:51 -0800 2008 | |
| |
version.h | Wed Aug 05 16:17:55 -0700 2009 | |
| |
vm.cpp | ||
| |
vm.h | ||
| |
vm_eval.c | Fri Aug 28 04:35:48 -0700 2009 | |
| |
vm_method.c | Tue Aug 25 14:08:43 -0700 2009 |
MacRuby
MacRuby is a Ruby implementation based on Mac OS X technologies, such as the Objective-C runtime and garbage collector, the CoreFoundation framework and the LLVM compiler infrastructure.
It is the goal of MacRuby to enable the creation of full-fledged Mac OS X applications which do not sacrifice performance in order to enjoy the benefits of using Ruby.
MacRuby is copyrighted free software by Apple Inc and covered by the terms of the Ruby license. Please refer to the COPYING file for more information.
The project website contains more documentation, such as tutorials and guides: macruby.org
Requirements
- An Intel machine. PowerPC machines are not supported anymore, but may still work. An Intel 64-bit machine (Intel Core Duo 2) is recommended.
- Mac OS X 10.5.6 or later.
- LLVM ToT, compiled for both i386 and x86_64.
LLVM is a moving target and breaks periodically. We recommend to install revision 82747.
$ svn co -r 82747 https://llvm.org/svn/llvm-project/llvm/trunk llvm-trunk $ cd llvm-trunk $ ./configure $ UNIVERSAL=1 UNIVERSAL_ARCH="i386 x86_64" ENABLE_OPTIMIZED=1 make $ sudo env UNIVERSAL=1 UNIVERSAL_ARCH="i386 x86_64" ENABLE_OPTIMIZED=1 make install
Note that compiling LLVM can take quite a while. If you have a machine with multiple cores, which is quite likely, you might want to speed up the process by using all/more cores. However, doing this can make your machine unresponsive during compilation. To use multiple cores pass the `-j N’ option, where `N’ stands for the number of cores you’d like to use. So for a Core Duo the command would look like:
$ UNIVERSAL=1 UNIVERSAL_ARCH="i386 x86_64" ENABLE_OPTIMIZED=1 make -j2
Build Instructions
You can build MacRuby by doing the following command:
$ rake
Once done, you can run the RubySpec-based regression tests as well as the performance suite:
$ rake spec:ci $ rake bench:ci
To install MacRuby on your machine:
$ sudo rake install
Then you should be all set! Please report us any problem you will find (the macruby.org website has pointers). Thanks!

