[Rubygems-developers] extensions fall back option

Trans transfire at gmail.com
Sat Nov 10 06:05:51 EST 2007


On Nov 9, 2007 11:12 PM, Luis Lavena <luislavena at gmail.com> wrote:
>
> On Nov 9, 2007 9:14 PM, Trans <transfire at gmail.com> wrote:
> > On Nov 9, 2007 5:04 PM, Eric Hodel <drbrain at segment7.net> wrote:
> > > On Nov 7, 2007, at 08:45 , Trans wrote:
> > >
> > > > Would this suffice for adding a fall back option to Installer? It also
> > > > requires that 'extensions_fallback' be added to the gemspec.
> > >
> > > extconf.rb can be set up to do this already.  Check for all your
> > > dependencies, and if one of them doesn't exist, generate a Makefile
> > > that does nothing.  If you fail to compile for some other reason, I
> > > think it is too dangerous to automatically fall back.
> >
> > That doesn't work if there is no make/nmake on the system. Plus, the
> > fall back is pure ruby. So if it fails for _any reason_ it would be
> > okay --that's the point. It would just give a warning that native
> > extension didn't compile, but the library was still usable in pure
> > ruby "mode".
> >
>
> The only problem is nmake. make can handle empty makefiles, also nmake
> (if present).
>
> If all the steps you test in extconf.rb fails, you should create
> nmake.bat and create the empty makefile.
>
> I guess that will work... but must validate my idea later (with a
> windows machine handy) :)

If you read my prior poists, you would know that's exactly what I did
with the current TMail gem. And in no uncertain terms it is a complete
*hack*. Nor is it a perfect solution. If nmake or make is not present
it still bombs.

I would like to know the RubyGems official policy on supporting a
pure-ruby version of a library that can also have platform extensions.
As far as I can tell,  there is no clear policy for this.

T.


More information about the Rubygems-developers mailing list