From: Eric Hodel Date: 2007-01-21T11:36:32+09:00 Subject: Re: Building extensions with Hoe On Jan 15, 2007, at 17:53, Alex Gutteridge wrote: > I'm developing a library that includes a C extension, so during > development I need to keep re-compiling the extension before testing. > > I'm using Hoe for packaging, so I've added the following task to my > Rakefile.rb which allows me to rebuild the extension using > extconf.rb/make. My library has a further dependency on an external > C library (libR), at the moment this is semi-hardcoded into the > script by referencing the environment variable R_HOME: > > desc "Uses extconf.rb and make to build the extension" > task :build_extension do > Dir.chdir('ext') > system("ruby extconf.rb --with-R-dir=$R_HOME") > system("make") > Dir.chdir('..') > end > > Two questions (I'm pretty new with Rake/Hoe so forgive me if these > are obvious): > > 1. The 'build_extension' task works fine, but seems a little hacky, > how do other people build extensions with Rake/Hoe? RubyGems looks for both an extconf.rb and an 'extension' rake task. > 2. Can I retrospectively add this task as a dependency of the > 'test' task, so that when I run my tests I can ensure the library > is freshly built? I'm not sure how to do this with rake, but we'd accept a patch to Hoe. -- Eric Hodel - drbrain@segment7.net - http://blog.segment7.net I LIT YOUR GEM ON FIRE!