[Rubygems-developers] pure-ruby vs. compile-on-intsall

Luis Lavena luislavena at gmail.com
Tue Nov 6 00:33:39 EST 2007

On 11/5/07, Trans <transfire at gmail.com> wrote:
> I'm a bit confused. If I have a pure-ruby version of my lib, but also
> have some extensions that can speed things up, should the pure-ruby
> gem be named plainly? Eg. 'foo-1.0.0.gem'.  But then what platform is
> the compile-on-install gem? Am I going about this wrong? I'm starting
> to think it would be easier to create two packages, one for the
> pure-ruby gem and another for the optional extensions.

The confusion is based on your design. The general understanding is
that RUBY platform (the pure-ruby you mention) is aimed to gems that
provide functionality and optionally can include native extensions (as
source code) that will trigger the build-on-install procedure of

So: the pure ruby is a pure-ruby, no extensions source code inside.

On he contrary, the pre build gems ships the extension binaries for
the platforms I commented on previous post.

If your gem can "optionally" get enhancements based on C extensions,
you should package those as other gems, and make your gem do not
depend on them, but that take advantage of it if present.

So is a bit flexible and depends on your strategy.

Luis Lavena
Multimedia systems
Leaders are made, they are not born. They are made by hard effort,
which is the price which all of us must pay to achieve any goal that
is worthwhile.
Vince Lombardi

More information about the Rubygems-developers mailing list