[Rubygems-developers] Fwd: How do I tell gem to always get the MSWin32 version, if one is available?

Austin Ziegler halostatue at gmail.com
Mon Oct 9 08:24:46 EDT 2006

On 10/9/06, Anatol Pomozov <anatol.pomozov at gmail.com> wrote:
> I absolutely agree with you that current schema of managing
> platform-specific gem not a perfect and should be redone.
> There are some of my chaotic thoughts:
>   C language widely used as extension language for Ruby Gems. And C
>   ext. require compiler. C compiler is a default option for *nix OS
>   systems like Linux, BSD, MacOSX. But this is not true for Windows
>   platform. What we could do here?

Nothing. Nothing whatsoever. This discussion isn't relevant to RubyGems
except tangentially, and it has been discussed to death. If you want to
see the current state of the discussion, go to my blog
(http://www.halostatue.ca) and read the note that I left for Microsoft.
That isn't a literary convention in the least: I am in email contact
with VS product managers from Microsoft and these are the specific
points that have been raised in a discussion that was restarted when I
posted that blog entry. To keep it from becoming chaotic, it is just
myself, Curt Hibbs, Charlie Savage, and Microsoft folks involved in the
discussion, but that's the line of discussion.

Additionally, a C compiler is not necessarily a default option for all
Linuxes and is not a default option at all for OS X. There's a free
standard compiler, but it's not installed by default (neither is X11).
Some folks don't install compilers on their servers, either, because of
perceived security risks (which are probably real).

>   1) Include C compiler into standard Ruby distribution. And to be
>   honest I think it is the best way. MinGW looks like a good candidate
>   for it (Cause it includes "standard" GCC). In that case we avoid a
>   lot of problems with compiler availability, header compatibility
>   (like MSVC vs GCC)

This is the worst way. The Windows Ruby distribution is pretty large (I
should know; I'm the one doing all of the hosting of it on my own right
now) and you're talking about doubling or tripling the distribution

>   2) Compile and distribute platform specific gems. As I said now we
>   have problems ONLY with Windows platform (is it true?) So for some
>   binary gem we need to have following gems

No, it isn't. It's just the one where it matters most because there's no
standard compiler toolchain that works with everything. Any ABI
compatibility problem would exhibit this behaviour, and that's hard to
deal with anywhere.

We need configurability for setting and using the default platform, but
worrying about compiler issues is not something that needs to bother the
RubyGems folks.

Austin Ziegler * halostatue at gmail.com * http://www.halostatue.ca/
               * austin at halostatue.ca * http://www.halostatue.ca/feed/
               * austin at zieglers.ca

More information about the Rubygems-developers mailing list