>> 2) It allows mingw built binaries to interop with VC ones--binaries
>> are much faster if built by gcc [1 #5].
>
> That's an invalid comparison for a couple of reasons. =A0First you would
> compare VC2008 versus gcc 4.3. =A0Except you can't, because gcc 4.x is no=
t
> officially released for windows so you're stuck with gcc 3.4.5.

Yeah I think the real comparison currently is VC2008 versus gcc 3.4.5
Here's a rough hack I did of it once [not a great comparison, but it
shows gcc 3.4.5 being still faster than VC2008
http://groups.google.com/group/ruby-benchmark-suite/browse_thread/thread/b3=
0155e85bb77bfe/07623f48138fcf64?lnk=3Dgst&q=3Dwindows#07623f48138fcf64
].


> Now, you do bring up an interesting point, which is instead of favoring a
> compiler favor a runtime library (msvcr90 being the obvious choice). =A0I=
n
> other words, VC2008 will always link against that one and you can mingw t=
o
> link against it also. =A0The downside is that you exclude VC2003 or the
> upcoming VC2010.

True it might be worthwhile to "bless" a runtime.  Theoretically this
could work with other compilers, as well, than its default.  I've seen
blog posts of people making VC2005 link against msvcrt.dll [i.e. VC6]
and also, apparently you can link mingw against other versions of
msvcrt.dll [1].


>> Another option would be to release a mingw only OCI linked against
>> msvcr90.dll, then instruct extension developers on how to release
>> binaries that "pretend" to be mingw though they're only "mingw
>> compatible."
>
> There is no pretending here. =A0Those would be mingw binaries linked agai=
nst
> msvcr90.dll. =A0That is supported. =A0I have no idea if it works cross-co=
mpiling
> though.

I was just thinking that if desired, the current naming scheme could
be used and still fit.  Kind of :)

>> Or perhaps rubygems could be patched to recognize compatible binaries.
>
> Not sure what you mean. =A0My goal is that an extension developer only ha=
s =A0to
> release 1 binary for windows per ruby version.

For that one I was meaning rubygems could perhaps note "oh you're on
mingw, well I have a mswin32 binary that you can use even though it's
not your compiler" and install it appropriately.   Some change needs
to happen, not sure though.

Thanks!
-=3Dr
[1] http://www.develer.com/oss/GccWinBinaries at the bottom.