[Rubyinstaller-devel] [ANN] rake-compiler 0.4.0 Released

Luis Lavena luislavena at gmail.com
Sat Apr 4 12:23:38 EDT 2009

rake-compiler version 0.4.0 has been released!

* <http://github.com/luislavena/rake-compiler>
* <http://rubyforge.org/projects/rake-compiler>

= rake-compiler

rake-compiler aims to help Gem developers while dealing with Ruby C
extensions, simplifiying the code and reducing the duplication.

It follows *convention over configuration* and set an standarized
structure to build and package C extensions in your gems.

This is the result of expriences dealing with several Gems that required
native extensions across platforms and different user configurations
where details like portability and clarity of code were lacking.

== An Overview

Let's summarize what rake-compiler provides:

* No custom rake tasks required. Less code duplication and errors.

* Painlessly build extensions on different platforms (Linux, OSX and Windows).

* Allow multiple extensions be compiled inside the same gem.

* Mimics RubyGems installation process, so helps as test environment.

* Simplify cross platform compilation of extensions (target Windows from Linux).


== 0.4.0  2009-04-03

=== Enhancements

  * Bended the convention for extension folder.
    Defining <tt>ext_dir</tt> for custom extension location.

    Rake::ExtensionTask.new('my_extension') do |ext|
      ext.ext_dir = 'custom/location'         # look into custom/location
    end                                       # instead of ext/my_extension

  * Better detection of mingw target across Linux/OSX.
    Exposed it as Rake::ExtensionCompiler

  * Display list of available tasks when calling rake-compiler script

  * Track Ruby full versioning (x.y.z).
    This will help the compilation of extensions targetting 1.8.6/7 and 1.9.1

=== Bugfixes

  * Better output of Rake development tasks (Thanks to Luis Parravicini).
  * Proper usage of Gem::Platform for native gems (Thanks to Dirkjan Bussink).
  * Don't use autoload for YAML (present problems with Ruby 1.9.1).

Luis Lavena
Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exupéry

More information about the Rubyinstaller-devel mailing list