Skip to content

Commit 4cc85bb

Browse files
committed
Added building/packaging instructions to the README.
1 parent 98fb1e3 commit 4cc85bb

File tree

1 file changed

+34
-2
lines changed

1 file changed

+34
-2
lines changed

README.md

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,14 @@
3535
</tr>
3636
</table>
3737

38-
## Install
38+
## Installing and Building
39+
40+
This gem includes several platform-specific optimizations. To reduce the possibility of
41+
compilation errors, we provide pre-compiled gem packages for several platforms as well
42+
as a pure-Ruby build. Installing the gem should be no different than installing any other
43+
Rubygems-hosted gem.
44+
45+
### Installing
3946

4047
```shell
4148
gem install concurrent-ruby
@@ -49,7 +56,32 @@ gem 'concurrent-ruby'
4956

5057
and run `bundle install` from your shell.
5158

52-
_NOTE: There is an old gem from 2007 called "concurrent" that does not appear to be under active development. That isn't us. Please do not run* `gem install concurrent`*. It is not the droid you are looking for._
59+
### Building
60+
61+
Because we provide pre-compiled gem builds, users should never need to build the gem manually.
62+
The build process for this gem is completely automated using open source tools. All of
63+
the automation components are available in the [ruby-concurrency/rake-compiler-dev-box](https://github.com/ruby-concurrency/rake-compiler-dev-box)
64+
GitHub repository.
65+
66+
This gem will compile native C code under MRI and native Java code under JRuby. It is
67+
also possible to build a pure-Ruby version. All builds have identical functionality.
68+
The only difference is performance. Additionally, pure-Ruby classes are always available,
69+
even when using the native optimizations. Please see the [documentation](http://ruby-concurrency.github.io/concurrent-ruby/)
70+
for more details.
71+
72+
To build and package the gem using MRI or JRuby, install the necessary build dependencies and run:
73+
74+
```shell
75+
bundle exec rake compile
76+
bundle exec rake build
77+
```
78+
79+
To build and package a pure-Ruby gem, on *any* platform and interpreter
80+
(including MRI and JRuby), run:
81+
82+
```shell
83+
BUILD_PURE_RUBY='true' bundle exec rake build
84+
```
5385

5486
## Features & Documentation
5587

0 commit comments

Comments
 (0)