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 2.x 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 |
|
---|
20 | The stable version 2.1.1 of mruby can be downloaded via the following URL: [https://github.com/mruby/mruby/archive/2.1.1.zip](https://github.com/mruby/mruby/archive/2.1.1.zip)
|
---|
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 |
|
---|
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 |
|
---|
31 | ## mruby home-page
|
---|
32 |
|
---|
33 | The URL of the mruby home-page is: https://mruby.org.
|
---|
34 |
|
---|
35 | ## Mailing list
|
---|
36 |
|
---|
37 | We don't have a mailing list, but you can use [GitHub issues](https://github.com/mruby/mruby/issues).
|
---|
38 |
|
---|
39 | ## How to compile and install (mruby and gems)
|
---|
40 |
|
---|
41 | See the [compile.md](https://github.com/mruby/mruby/blob/master/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 | $ rake test
|
---|
48 |
|
---|
49 | ## Building documentation
|
---|
50 |
|
---|
51 | There are two sets of documentation in mruby: the mruby API (generated by yard) and C API (Doxygen)
|
---|
52 |
|
---|
53 | To build both of them, simply go
|
---|
54 |
|
---|
55 | rake doc
|
---|
56 |
|
---|
57 | You can also view them in your browser
|
---|
58 |
|
---|
59 | rake view_api
|
---|
60 | rake view_capi
|
---|
61 |
|
---|
62 | ## How to customize mruby (mrbgems)
|
---|
63 |
|
---|
64 | mruby contains a package manager called *mrbgems*. To create extensions
|
---|
65 | in C and/or Ruby you should create a *GEM*. For a documentation of how to
|
---|
66 | use mrbgems consult the file [mrbgems.md](https://github.com/mruby/mruby/blob/master/doc/guides/mrbgems.md).
|
---|
67 | For example code of how to use mrbgems look into the folder *examples/mrbgems/*.
|
---|
68 |
|
---|
69 | ## License
|
---|
70 |
|
---|
71 | mruby is released under the [MIT License](https://github.com/mruby/mruby/blob/master/LICENSE).
|
---|
72 |
|
---|
73 | ## Note for License
|
---|
74 |
|
---|
75 | mruby has chosen a MIT License due to its permissive license allowing
|
---|
76 | developers to target various environments such as embedded systems.
|
---|
77 | However, the license requires the display of the copyright notice and license
|
---|
78 | information in manuals for instance. Doing so for big projects can be
|
---|
79 | complicated or troublesome. This is why mruby has decided to display "mruby
|
---|
80 | developers" as the copyright name to make it simple conventionally.
|
---|
81 | In the future, mruby might ask you to distribute your new code
|
---|
82 | (that you will commit,) under the MIT License as a member of
|
---|
83 | "mruby developers" but contributors will keep their copyright.
|
---|
84 | (We did not intend for contributors to transfer or waive their copyrights,
|
---|
85 | Actual copyright holder name (contributors) will be listed in the AUTHORS
|
---|
86 | file.)
|
---|
87 |
|
---|
88 | Please ask us if you want to distribute your code under another license.
|
---|
89 |
|
---|
90 | ## How to Contribute
|
---|
91 |
|
---|
92 | See the [contribution guidelines][contribution-guidelines], and then send a pull
|
---|
93 | request to <http://github.com/mruby/mruby>. We consider you have granted
|
---|
94 | non-exclusive right to your contributed code under MIT license. If you want to
|
---|
95 | be named as one of mruby developers, please include an update to the AUTHORS
|
---|
96 | file in your pull request.
|
---|
97 |
|
---|
98 | [ISO-standard]: http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579
|
---|
99 | [build-status-img]: https://travis-ci.org/mruby/mruby.svg?branch=master
|
---|
100 | [contribution-guidelines]: https://github.com/mruby/mruby/blob/master/CONTRIBUTING.md
|
---|
101 | [travis-ci]: https://travis-ci.org/mruby/mruby
|
---|