[Rubyinstaller-devel] [ANN] rake-compiler 0.6.0 Released
luislavena at gmail.com
Sat Jul 25 06:48:06 EDT 2009
rake-compiler version 0.6.0 has been released!
rake-compiler aims to help Gem developers while dealing with Ruby C
extensions, simplifying the code and reducing the duplication.
It follows *convention over configuration* and set an standardized
structure to build and package C extensions in your gems.
This is the result of experiences 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.6.0 / 2009-07-25
* Implemented 'fat-binaries' generation for cross compiling
(for now). Thanks to Aaron Patterson for the suggestion and
rake cross native gem RUBY_CC_VERSION=1.8.6:1.9.1
Will package extensions for 1.8 and 1.9 versions of Ruby.
* Can now cross compile extensions for 1.9 using 1.8.x as base.
Be warned: works from 1.8 to 1.9, but not if your default ruby is 1.9
rake cross compile RUBY_CC_VERSION=1.9.1
* Allow simultaneous versions of Ruby to compile extensions.
This change allow 1.8.x compiles co-exist with 1.9.x ones
and don't override each other.
Please perform <tt>rake clobber</tt> prior compiling again.
* Allow optional source file URL for cross-compile tasks.
(Thanks to deepj for the patches)
rake-compiler cross-ruby VERSION=1.9.1-p0
* Removed strict versioning for gems since it clash with fat binaries.
From now on, if your gem only targets a specific version of Ruby, please
indicate it in the Gem::Specification (<tt>required_ruby_version</tt>)
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