[270] | 1 | [![Build Status][build-status-img]][travis-ci]
|
---|
| 2 |
|
---|
| 3 | ## What is mruby
|
---|
| 4 |
|
---|
| 5 | mruby is the lightweight implementation of the Ruby language complying to (part
|
---|
| 6 | of) the [ISO standard][ISO-standard]. Its syntax is Ruby 1.9 compatible.
|
---|
| 7 |
|
---|
| 8 | mruby can be linked and embedded within your application. We provide the
|
---|
| 9 | interpreter program "mruby" and the interactive mruby shell "mirb" as examples.
|
---|
| 10 | You can also compile Ruby programs into compiled byte code using the mruby
|
---|
| 11 | compiler "mrbc". All those tools reside in the "bin" directory. "mrbc" is
|
---|
| 12 | also able to generate compiled byte code in a C source file, see the "mrbtest"
|
---|
| 13 | program under the "test" directory for an example.
|
---|
| 14 |
|
---|
| 15 | This achievement was sponsored by the Regional Innovation Creation R&D Programs
|
---|
| 16 | of the Ministry of Economy, Trade and Industry of Japan.
|
---|
| 17 |
|
---|
| 18 | ## How to get mruby
|
---|
| 19 |
|
---|
[331] | 20 | The stable version 1.3.0 of mruby can be downloaded via the following URL: [https://github.com/mruby/mruby/archive/1.3.0.zip](https://github.com/mruby/mruby/archive/1.3.0.zip)
|
---|
[270] | 21 |
|
---|
| 22 | The latest development version of mruby can be downloaded via the following URL: [https://github.com/mruby/mruby/zipball/master](https://github.com/mruby/mruby/zipball/master)
|
---|
| 23 |
|
---|
| 24 | The trunk of the mruby source tree can be checked out with the
|
---|
| 25 | following command:
|
---|
| 26 |
|
---|
| 27 | $ git clone https://github.com/mruby/mruby.git
|
---|
| 28 |
|
---|
[331] | 29 | You can also install and compile mruby using [ruby-install](https://github.com/postmodern/ruby-install), [ruby-build](https://github.com/rbenv/ruby-build) or [rvm](https://github.com/rvm/rvm).
|
---|
| 30 |
|
---|
[270] | 31 | ## mruby home-page
|
---|
| 32 |
|
---|
| 33 | The URL of the mruby home-page is: [http://www.mruby.org](http://www.mruby.org).
|
---|
| 34 |
|
---|
| 35 | ## Mailing list
|
---|
| 36 |
|
---|
[331] | 37 | We don't have a mailing list, but you can use [GitHub issues](https://github.com/mruby/mruby).
|
---|
[270] | 38 |
|
---|
| 39 | ## How to compile and install (mruby and gems)
|
---|
| 40 |
|
---|
| 41 | See the [doc/guides/compile.md](doc/guides/compile.md) file.
|
---|
| 42 |
|
---|
| 43 | ## Running Tests
|
---|
| 44 |
|
---|
| 45 | To run the tests, execute the following from the project's root directory.
|
---|
| 46 |
|
---|
| 47 | $ make test
|
---|
| 48 |
|
---|
| 49 | Or
|
---|
| 50 |
|
---|
| 51 | $ ruby ./minirake test
|
---|
| 52 |
|
---|
| 53 | ## How to customize mruby (mrbgems)
|
---|
| 54 |
|
---|
| 55 | mruby contains a package manager called *mrbgems*. To create extensions
|
---|
| 56 | in C and/or Ruby you should create a *GEM*. For a documentation of how to
|
---|
[331] | 57 | use mrbgems consult the file [doc/guides/mrbgems.md](doc/guides/mrbgems.md). For example code of
|
---|
[270] | 58 | how to use mrbgems look into the folder *examples/mrbgems/*.
|
---|
| 59 |
|
---|
| 60 | ## License
|
---|
| 61 |
|
---|
| 62 | mruby is released under the [MIT License](MITL).
|
---|
| 63 |
|
---|
| 64 | ## Note for License
|
---|
| 65 |
|
---|
| 66 | mruby has chosen a MIT License due to its permissive license allowing
|
---|
| 67 | developers to target various environments such as embedded systems.
|
---|
| 68 | However, the license requires the display of the copyright notice and license
|
---|
| 69 | information in manuals for instance. Doing so for big projects can be
|
---|
| 70 | complicated or troublesome. This is why mruby has decided to display "mruby
|
---|
| 71 | developers" as the copyright name to make it simple conventionally.
|
---|
| 72 | In the future, mruby might ask you to distribute your new code
|
---|
| 73 | (that you will commit,) under the MIT License as a member of
|
---|
| 74 | "mruby developers" but contributors will keep their copyright.
|
---|
| 75 | (We did not intend for contributors to transfer or waive their copyrights,
|
---|
| 76 | Actual copyright holder name (contributors) will be listed in the AUTHORS
|
---|
| 77 | file.)
|
---|
| 78 |
|
---|
| 79 | Please ask us if you want to distribute your code under another license.
|
---|
| 80 |
|
---|
| 81 | ## How to Contribute
|
---|
| 82 |
|
---|
| 83 | See the [contribution guidelines][contribution-guidelines], and then send a pull
|
---|
| 84 | request to <http://github.com/mruby/mruby>. We consider you have granted
|
---|
| 85 | non-exclusive right to your contributed code under MIT license. If you want to
|
---|
| 86 | be named as one of mruby developers, please include an update to the AUTHORS
|
---|
| 87 | file in your pull request.
|
---|
| 88 |
|
---|
| 89 | [ISO-standard]: http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579
|
---|
| 90 | [build-status-img]: https://travis-ci.org/mruby/mruby.svg?branch=master
|
---|
| 91 | [contribution-guidelines]: CONTRIBUTING.md
|
---|
| 92 | [travis-ci]: https://travis-ci.org/mruby/mruby
|
---|