Rake-compiler 0.9.0 Released

rake-compiler version 0.9.0 has been released!

= What is rake-compiler?

rake-compiler is first and foremost a productivity tool for Ruby
developers.
It’s goal is to make the busy developer’s life easier by simplifying the
building
and packaging of Ruby extensions by simplifying code and reducing
duplication.

It follows convention over configuration by advocating a standardized
build and
package structure for both C and Java based RubyGems.

rake-compiler is the result of many hard-won experiences dealing with
several
diverse RubyGems that provided native extensions for different platforms
and
different user configurations in different ways. Details such as
differences in
code portability, differences in code clarity, and differences in
project
directory
structure often made it very difficult for newcomers to those RubyGems.

From these challenges, rake-compiler was born with the single-minded
goal of
making the busy RubyGem developer’s life much less difficult.

== Feature Overview

Some of the benefits rake-compiler provides include:

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

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

  • Painlessly build extensions for different Ruby implementations (JRuby,
    Rubinius and MRI).

  • Allow multiple extensions to be compiled inside the same gem.

  • Painlessly build “fat” native gems for Windows users (from Linux or
    OSX).

  • Mimics RubyGems standard installation process, helping as a test
    environment.

  • Simplifies cross platform extension compilation (targeting Windows
    from
    Linux).

Changes:

=== 0.9.0 / 2013-08-03

  • Enhancements:

    • Add support for cross-builds and multiple platforms (x86/x64).
      Pull #74 [larskanis]

      $ rake-compiler cross-ruby VERSION=1.8.7-p371
      $ rake-compiler cross-ruby VERSION=1.9.3-p392
      $ rake-compiler cross-ruby VERSION=2.0.0-p0
      $ rake-compiler cross-ruby VERSION=2.0.0-p0
      HOST=x86_64-w64-mingw32
      $ rake cross compile RUBY_CC_VERSION=1.8.7:1.9.3:2.0.0

      Rakefile

      ext.cross_platform = %w[i386-mingw32 x64-mingw32]

    • Support for cross-platform specific options. Pull #74 [larskanis]

      Rakefile

      ext.cross_config_options << “–with-common-option”
      ext.cross_config_options << {“x64-mingw32” => “–enable-64bits”}

  • Bugfixes:

    • Correct fat-gems support caused by RubyGems issues. Pull #76 [knu]
  • Deprecations:

    • Requires minimum Ruby 1.8.7 and RubyGems 1.8.25
    • Usage of ‘i386-mswin32’ needs to be changed to ‘i386-mswin32-60’