Coder Social home page Coder Social logo

cqr / macruby Goto Github PK

View Code? Open in Web Editor NEW

This project forked from macruby/macruby

1.0 1.0 0.0 46.99 MB

MacRuby is an implementation of Ruby 1.9 directly on top of Mac OS X core technologies such as the Objective-C runtime and garbage collector, the LLVM compiler infrastructure and the Foundation and ICU frameworks.

Home Page: http://www.macruby.org

License: Other

Scheme 0.01% Python 0.01% Perl 0.01% Shell 0.01% D 0.01% JavaScript 0.05% Emacs Lisp 0.33% Objective-C 0.52% C++ 1.77% C 32.80% Ruby 64.51%

macruby's Introduction

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 64-bit machine. PowerPC and Intel 32-bit machines are not supported anymore, but may still work.

  • Mac OS X 10.6 or later.

  • LLVM ToT, compiled for x86_64.

    LLVM is a moving target and breaks periodically. We recommend to install revision 127367 of branch 2.9, being sure to specify the correct C and C++ compilers through environment variables.

    $ svn co https://llvm.org/svn/llvm-project/llvm/branches/release_29@127367 llvm-2.9
    $ cd llvm-2.9
    $ env CC=/usr/bin/gcc CXX=/usr/bin/g++ ./configure --enable-bindings=none --enable-optimized --with-llvmgccdir=/tmp
    $ env CC=/usr/bin/gcc CXX=/usr/bin/g++ make
    $ sudo env CC=/usr/bin/gcc CXX=/usr/bin/g++ 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:

    $ env CC=/usr/bin/gcc CXX=/usr/bin/g++ make -j2

    If you would prefer to update an existing LLVM Subversion working copy you need to be careful to remove any previous build files before you compile:

    $ svn status --no-ignore | awk '{print $2}' | xargs rm -rf
    $ svn revert -R .
    $ svn switch <repository-URL>

Build Instructions

You can build MacRuby by doing the following command:

$ rake

Or, as with LLVM, you can specify the amount of jobs to run simultaneously:

$ rake jobs=2

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!

Contribute

Once you’ve made your great commits:

  1. Fork MacRuby

  2. Create a topic branch - git checkout -b my_branch

  3. Push to your branch - git push origin my_branch

  4. Create a pull request: github.com/USERNAME/MacRuby/pull/new/master

  5. That’s it!

macruby's People

Contributors

lrz avatar alloy avatar drernie avatar watson1978 avatar vincentisambart avatar richkilmer avatar mattetti avatar psychs avatar benstiglitz avatar jballanc avatar ferrous26 avatar emoy avatar

Stargazers

Chris Quamme Rhoden avatar

Watchers

Chris Quamme Rhoden avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.