[Rubygems-developers] How to bundle up MS Windows version separately

Trans transfire at gmail.com
Mon Nov 5 12:05:22 EST 2007


On Nov 5, 2007 10:07 AM, Austin Ziegler <halostatue at gmail.com> wrote:
> On 11/5/07, Luis Lavena <luislavena at gmail.com> wrote:
> > The problem will that will be how identify extensions compiled for
> > windows, linux or darwin, all in the same package.
>
> > Kernel#require is not clever as rubygems require version to find the
> > matching -mswin32 or -darwin or -bsd version of the specific
> > extension.
>
> Hmmm. It'd be nice if we did put the platform-arch stuff in the built
> files in RubyGems, though. It'd solve some problems with LSB/FHS
> compliance for those who care about that (e.g.,
> i386-mswin32/http11.so). You could install the same gem for multiple
> platforms without collision and have the ruby for that platform Do The
> Right Thing.

Do you mean what I was basically thinking?

  lib/
    whatever.rb
    i386-mswin32/
      http11.so
    i386-linux/
      http11.so
    ...

RubyGems could figure the proper load path for the platform, it could
also remove the unneccessary paths in install since they are just
wasting space. But we'd only need a single gem. Yes, it would bigger
file, but I would think it worth the convenience.

BTW why is the Windows an .so and not a .dll? Cygwin?

T.


More information about the Rubygems-developers mailing list