Hey Charlie,
Right now I'm sure mkrf breaks in various situations. If you've got a
setup that you can test on, please feel free to tell me what's broken
or submit patches. That being said, I'll try to duplicate some of
those setups using Parallels and see what can be done.

Kevin

On 6/28/06, Charlie Savage <cfis / interserv.com> wrote:
> Kevin,
>
> This looks like it will be really useful.
>
> One place where the mkmf does not work is trying to build extensions
> with MingW on Windows with a Ruby version compiled by VC++.  The problem
> is that mkmf assumes you are using VC++ to build your extensions
> (because it grabs the library info from rbconfig), but aren't.
>
> Note that using MingW to build extensions works fine if you're willing
> to create your own makefiles  - which is what I've done for the Ruby
> GDAL bindings, Ruby GEOS bindings and for ruby-prof for Windows.  What
> would be a lot better is if I could put together a mkrf rake script,
> integrated with Ruby Gems, that was smart enough to:
>
> * Build on Linux
> * Build on Windows with VC++
> * Build on Windows with MingW (you might also need msys).
>
> I assume you've looked at Python's distutils?  If not, take a look.  It
> has knowledge built into it about MingW on Windows well as VC++.  It
> would be good to end up with something like it.
>
> Thanks,
>
> Charlie
>
>
> Kevin Clark wrote:
> > I'm pleased to announce that tonight marks the first release of mkrf,
> > a library which generates Rakefiles to build C extensions to Ruby and
> > is aimed at a replacement for mkmf. This is a Ruby Summer of Code
> > project (http://code.google.com/soc/ruby/about.html).
> >
> > Though the gem doesn't seem to have propogated yet, it should be
> > availble through rubygems, and until then you can download the gem
> > directly at http://rubyforge.org/frs/download.php/11283/mkrf-0.1.0.gem
> >
> > The code does have RDoc included which I hope explains things well
> > enough. Please do send questions and bug reports my way. I'll have a
> > project setup at advisr.org where you can submit bug reports as soon
> > as I tweak its source to properly scope accounts, but until then email
> > is fine.
> >
> > **Please do try mkrf with your extensions. Please do send feedback.**
> >
> > As for syntax, it can be as simple as:
> >
> >  Mkrf::Generator.new('libtrivial_so.bundle')
> >
> > or more complex:
> >
> >  Mkrf::Generator.new('libxml_so.bundle', '*.c') do |g|
> >    g.include_library('socket','socket')
> >    g.include_header('libxml/xmlversion.h',
> >                     '/opt/include/libxml2',
> >                     '/usr/local/include/libxml2',
> >                     '/usr/include/libxml2')
> >  end
> >
> >
>
>
>


-- 
Kevin Clark
http://glu.ttono.us