Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 92 lines (61 sloc) 3.133 kB
9c1d230 committing experimental branch content
Laurent Sansonetti authored
1 == MacRuby
2
3 MacRuby is a Ruby implementation based on Mac OS X technologies, such as the
4 Objective-C runtime and garbage collector, the CoreFoundation framework and the
5 LLVM compiler infrastructure.
6
7 It is the goal of MacRuby to enable the creation of full-fledged Mac OS X
8 applications which do not sacrifice performance in order to enjoy the benefits
9 of using Ruby.
10
1f8a4ca update to new ruby license
Laurent Sansonetti authored
11 MacRuby is copyrighted free software by the MacRuby team and covered by the
12 terms of the Ruby license. Please refer to the COPYING file for more
13 information.
9c1d230 committing experimental branch content
Laurent Sansonetti authored
14
15 The project website contains more documentation, such as tutorials and guides:
d7b0462 @alloy Another formatting fix.
alloy authored
16 http://macruby.org
9c1d230 committing experimental branch content
Laurent Sansonetti authored
17
18 === Requirements
19
9be9a37 now depend on revision 127367 of branch LLVM 2.9
Laurent Sansonetti authored
20 * An Intel 64-bit machine. PowerPC and Intel 32-bit machines are not supported
21 anymore, but may still work.
9c1d230 committing experimental branch content
Laurent Sansonetti authored
22
97080bb Leopard is no longer supported
Laurent Sansonetti authored
23 * Mac OS X 10.6 or later.
9c1d230 committing experimental branch content
Laurent Sansonetti authored
24
9be9a37 now depend on revision 127367 of branch LLVM 2.9
Laurent Sansonetti authored
25 * LLVM ToT, compiled for x86_64.
9c1d230 committing experimental branch content
Laurent Sansonetti authored
26
bb0b28c moving to LLVM r82747
Laurent Sansonetti authored
27 LLVM is a moving target and breaks periodically. We recommend to install
9be9a37 now depend on revision 127367 of branch LLVM 2.9
Laurent Sansonetti authored
28 revision 127367 of branch 2.9, being sure to specify the correct C and
29 C++ compilers through environment variables.
9c1d230 committing experimental branch content
Laurent Sansonetti authored
30
9be9a37 now depend on revision 127367 of branch LLVM 2.9
Laurent Sansonetti authored
31 $ svn co https://llvm.org/svn/llvm-project/llvm/branches/release_29@127367 llvm-2.9
32 $ cd llvm-2.9
33 $ env CC=/usr/bin/gcc CXX=/usr/bin/g++ ./configure --enable-bindings=none --enable-optimized --with-llvmgccdir=/tmp
34 $ env CC=/usr/bin/gcc CXX=/usr/bin/g++ make
35 $ sudo env CC=/usr/bin/gcc CXX=/usr/bin/g++ make install
9c1d230 committing experimental branch content
Laurent Sansonetti authored
36
265ddad @alloy Added extra note about compiling LLVM with make -jN.
alloy authored
37 Note that compiling LLVM can take quite a while. If you have a machine with
38 multiple cores, which is quite likely, you might want to speed up the process
39 by using all/more cores. However, doing this can make your machine
40 unresponsive during compilation. To use multiple cores pass the `-j N'
41 option, where `N' stands for the number of cores you'd like to use. So for a
73f0fb5 fixing a typo (thanks mike at michaelakers.net)
Laurent Sansonetti authored
42 Core Duo the command would look like:
295d267 @alloy Instructions for updating LLVM Subversion checkout (Patch by Isaac Ke…
alloy authored
43
9be9a37 now depend on revision 127367 of branch LLVM 2.9
Laurent Sansonetti authored
44 $ env CC=/usr/bin/gcc CXX=/usr/bin/g++ make -j2
295d267 @alloy Instructions for updating LLVM Subversion checkout (Patch by Isaac Ke…
alloy authored
45
46 If you would prefer to update an existing LLVM Subversion working copy you
47 need to be careful to remove any previous build files before you compile:
48
49 $ svn status --no-ignore | awk '{print $2}' | xargs rm -rf
50 $ svn revert -R .
9be9a37 now depend on revision 127367 of branch LLVM 2.9
Laurent Sansonetti authored
51 $ svn switch <repository-URL>
295d267 @alloy Instructions for updating LLVM Subversion checkout (Patch by Isaac Ke…
alloy authored
52
28f7615 @Watson1978 add the note for Xcode 4.3 users into README
Watson1978 authored
53 === Note for using Xcode 4.3 (or later)
54
55 If you use the Xcode 4.3 (or later), you might need to configure Xcode path
56 before installing MacRuby:
57
58 $ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer/
59
6be705d rewrote the README to insist that this is an experimental version of …
Laurent Sansonetti authored
60 === Build Instructions
61
62 You can build MacRuby by doing the following command:
9c1d230 committing experimental branch content
Laurent Sansonetti authored
63
64 $ rake
6be705d rewrote the README to insist that this is an experimental version of …
Laurent Sansonetti authored
65
75a45de @alloy Add note to README.rdoc about the rake `jobs' variable.
alloy authored
66 Or, as with LLVM, you can specify the amount of jobs to run simultaneously:
67
68 $ rake jobs=2
69
6be705d rewrote the README to insist that this is an experimental version of …
Laurent Sansonetti authored
70 Once done, you can run the RubySpec-based regression tests as well as the
71 performance suite:
72
73 $ rake spec:ci
74 $ rake bench:ci
75
76 To install MacRuby on your machine:
77
3f49d74 @ferrous26 Note in the README that you can make installation less noisy
ferrous26 authored
78 $ sudo rake install # --quiet
9c1d230 committing experimental branch content
Laurent Sansonetti authored
79
80 Then you should be all set! Please report us any problem you will find (the
81 http://macruby.org website has pointers). Thanks!
aebaed8 @alloy Add contribute section to README.
alloy authored
82
83 === Contribute
84
85 Once you've made your great commits:
86
87 1. Fork[http://help.github.com/fork-a-repo] MacRuby
88 2. Create a topic branch - git checkout -b my_branch
89 3. Push to your branch - git push origin my_branch
90 4. Create a pull request: https://github.com/USERNAME/MacRuby/pull/new/master
91 5. That's it!
Something went wrong with that request. Please try again.