On 7/18/06, Bill Kelly <billk / cts.com> wrote:
> It's not uncommon, at a minimum, to have to tweak the
> extconf.rb, though.  Often an extconf.rb specifies
> gcc-specific compiler flags, or looks for the presence
> of libraries that are named differently, etc.

Then this is a bug with that extension. Anyone who assumes GCC only on
their extensions is being a platform chauvinist and possibly making
unreasonable assumptions for you. File a bug.

> I recently compiled the RMagick extension on Windows,
> and it was a complete hack job to get it to compile
> with microsoft's tools.
>
> First of all, RMagick uses ./configure to actually
> build the extconf.rb from extconf.rb.in.
> So there's no extconf.rb to even work with initially.

IMO, RMagick should not be using a sh-based configure script. We
should be using a Ruby-based configure script. Perl has done this; so
should we.

> So, yeah... If we could build ruby extensions AND the
> libraries they rely on with ./configure && make, on
> Windows...  That sounds far nicer than the current hassles
> I've had trying to build complex extensions and their
> associated libraries with microsoft's tools.

I understand that this would make your life easier, but it's not the
right answer. There *are* better answers than this, and we should take
advantage of them. The "parent" libraries may be more difficult, but
we should bitch to the upstream authors, too.

MinGW is ... not the best choice. It's not as nearly as bad a choice
as cygwin, but it is definitely an inferior choice to VC2005. Here's a
question: what if we tried to convince Microsoft to build a
gcc-wrapper? That is, something for VC2005 that can convert gcc
command-lines to VC2005 command-lines automatically? IIRC, the Mars
compiler had something similar (cl-to-mars converter).

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