=== 1.0.6 / 2018-12-23
* Enhancements:
* Stop to make unreleased Ruby installable.
#150 [Reported by MSP-Greg]
=== 1.0.5 / 2018-08-31
* Enhancements:
* Improve JRuby class pass detection.
#147 [Patch by Prashant Vithani]
* Update the default source and target versions to Java 6.
#148 [Patch by Prashant Vithani]
=== 1.0.4 / 2017-05-27
* Enhancements:
* Migrate to RSpec 3 from RSpec 2.
* Add more tests.
#140 [Patch by Lars Kanis]
* Support C++ source files by default.
#141 [Patch by Takashi Kokubun]
* Suppress warnings.
#142 [Patch by Akira Matsuda]
=== 1.0.3 / 2016-12-02
* Enhancements:
* Support specifying required Ruby versions.
#137 [Patch by Lars Kanis]
=== 1.0.2 / 2016-11-13
* Bugfixes:
* Fix Ruby version detection example code in README.
#135 [Patch by Nicolas Noble]
* Fix version detection.
#136 [Patch by Lars Kanis]
=== 1.0.1 / 2016-06-21
* Bugfixes:
* Add missing dependency.
=== 1.0.0 / 2016-06-21
* Enhancements:
* Really support extension in sub directory.
=== 0.9.9 / 2016-05-10
* Bugfixes:
* Support Symbol as extension name again.
#134 [Patch by Takashi Kokubun]
=== 0.9.8 / 2016-04-29
* Enhancements:
* Support extension in sub directory.
#128, #129 [Patch by Kenta Murata]
=== 0.9.7 / 2016-03-16
* Bugfixes:
* May fix "make" detection on Windows.
#123 [Reported by Aaron Stone]
=== 0.9.6 / 2016-03-04
* Enhancements:
* Add more descriptions into README.
Closes #105 [Patch by Aaron Stone]
* Remove needless executable bits.
Closes #107 [Patch by Thibault Jouan]
* Update .gitignore.
Closes #108 [Patch by Thibault Jouan]
* Improve "make" detection on some platforms such as FreeBSD.
Closes #109 [Patch by Thibault Jouan]
* Enable cucumber steps for POSIX on *BSD.
Closes #110 [Patch by Thibault Jouan]
* Stop to build bundled extensions.
* Add description about CLI option into README.
Closes #115 [Patch by Richard Michael]
* Update description about using rake-compiler on virtual machine in
README.
Closes #116, #117 [Patch by Lars Kanis]
* Update fake mechanism to be compatible with Bundler.
Closes #121 [Patch by Lars Kanis]
* Bugfixes:
* Fix typos in README.
Closes #102, #103 [Patch by Robert Fletcher]
=== 0.9.5 / 2015-01-03
* Enhancements:
* Support adding bundled files in cross_compiling block.
Closes #100 [Patch by Aaron Stone]
=== 0.9.4 / 2014-12-28
* Notes:
* Change maintainer to Kouhei Sutou from Luis Lavena.
Thanks Luis Lavena for your great works!
* Change repository to https://github.com/rake-compiler/rake-compiler
from https://github.com/luislavena/rake-compiler .
* Bugfixes:
* Loose RubyGems dependency a little bit to ease old Debian/Ubuntu.
Closes #93
=== 0.9.3 / 2014-08-03
* Bugfixes:
* Fix specs to run (and pass) on Ruby 2.1 and beyond.
Pull #94 [hggh]
=== 0.9.2 / 2013-11-14
* Bugfixes:
* Pre-load resolver to avoid Bundler blow up during cross-compilation
Pull #83 [larskanis]
=== 0.9.1 / 2013-08-03
* Bugfixes:
* Restore compatibility with RubyGems platforms for cross-compilation
(i386-mingw32 and x86-mingw32 are the same and supported)
=== 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'
=== 0.9.0.pre.1 / 2013-05-05
See 0.9.0 changes.
=== 0.8.3 / 2013-02-16
* Bugfixes:
* Support FreeBSD 'mingw32-gcc' cross compiler. Closes #72 [knu]
=== 0.8.2 / 2013-01-11
* Bugfixes:
* Unset CC, LDFLAGS and CPPFLAGS prior cross-compiling. Closes #55
=== 0.8.1 / 2012-04-15
* Bugfixes:
* Raise error when either make or gmake could be found. Closes #53, #54
=== 0.8.0 / 2012-01-08
* Enhancements:
* Invocation from command line now support extra options similar to RubyGems.
Closes #4 from Pull #47 [jonforums]
$ rake compile -- --with-opt-dir=/opt/local
* Bugfixes:
* Only emit cross-compilation warnings for C when `cross` is invoked.
Closes #16 from Pull #48 [mvz]
* Only emit warnings when invoking cross-compilation tasks for JRuby.
Pull #45 [jfirebaugh]
* Use x86 MinGW cross-compiler. Pull #49 [larskanis]
=== 0.7.9 / 2011-06-08
* Enhancements:
* Consistently use RubyGems features available since version 1.3.2 and avoid
deprecation warnings with Rake > 0.8.7.
* Bugfixes:
* Use correct platform in fake.rb. Pull #39 [kou]
* Workaround Gem::Specification and Gem::PackageTask limitations. Closes #43
=== 0.7.8 / 2011-04-26
* Enhancements:
* Bump default cross-ruby version to 1.8.7-p334.
* ExtensionTask now support config_includes to load additional directories.
[jfinkhaeuser]
Rake::ExtensionTask.new("myext", GEM_SPEC) do |ext|
ext.config_includes << File.expand_path("my", "custom", "dir")
end
* Bugfixes:
* Warn if compiled files exists in extension's source directory. Closes GH-35
* Workaround issue with WINE using proper build option. Closes GH-37
* Use FileUtils#install instead of cp. Closes GH-33 [Eric Wong]
* Update README instructions for OSX. Closes GH-29 [tmm1]
=== 0.7.7 / 2011-04-04
* Bugfixes:
* Use Winsock2 as default to match Ruby 1.9.2 library linking.
=== 0.7.6 / 2011-02-04
* Bugfixes:
* Prefer Psych over Syck for YAML parsing on Ruby 1.9.2. [tenderlove]
=== 0.7.5 / 2010-11-25
* Enhancements:
* Promoted stable version for cross-compilation to 1.8.6-p398. Closes GH-19
* Bugfixes:
* Generate a fake.rb compatible with Ruby 1.9.2. Closes GH-25
* fake.rb will not try to mimic Ruby's own fake to the letter. Closes GH-28
* Expand symlinks for tmp_dir. Closes GH-24
* Silence make output during rake-compiler invocation.
* Usage of Gem.ruby instead of RbConfig ruby_install_name
This solve issues with ruby vs. ruby.exe and jruby.exe
* Experimental:
* Allow setting of HOST during cross-compilation. This enable usage
of mingw-w64 compiler and not the first one found in the PATH.
rake-compiler cross-ruby VERSION=1.9.2-p0 HOST=i686-w64-mingw32
rake-compiler cross-ruby HOST=i386-mingw32 (OSX mingw32 port)
rake-compiler cross-ruby HOST=i586-pc-mingw32 (Debian/Ubuntu mingw32)
=== 0.7.1 / 2010-08-07
* Bugfixes:
* Update gem files to make "gem install -t" works. Closes GH-14
* Update mocks to work under 1.8.7. Closes GH-15 [luisparravicini]
* Do not allow cross-ruby be executed under Windows. Closes GH-22
* Experimental:
* Allow JRuby to compile C extensions [timfel].
It is now possible compile C extensions using latest JRuby. Offered
in experimental mode since JRuby cext hasn't been officially released.
=== 0.7.0 / 2009-12-08
* Enhancements
* Allow generation of JRuby extensions. Thanks to Alex Coles (myabc) for the
contribution.
This will allow, with proper JDK tools, cross compilation of JRuby gems
from MRI.
Rake::JavaExtensionTask.new('my_java_extension', GEM_SPEC) do |ext|
# most of ExtensionTask options can be used
# plus, java_compiling:
ext.java_compiling do |gem_spec|
gem_spec.post_install_message = "This is a native JRuby gem!"
end
end
Please note that cross-compiling JRuby gems requires either JRUBY_HOME or
JRUBY_PARENT_CLASSPATH environment variables being properly set.
* Allow alteration of the Gem Specification when cross compiling. Closes GH-3
This is useful to indicate a custom requirement message, like DLLs
installation or similar.
Rake::ExtensionTask.new('my_extension', GEM_SPEC) do |ext|
ext.cross_compile = true
# ...
ext.cross_compiling do |gem_spec|
gem_spec.post_install_message = "You've installed a binary version of this gem"
end
end
* Bugfixes
* Detect GNU make independently of distribution based naming.
Thanks to flori for patches.
* Usage of #dup to duplicate gemspec instead of YAML dumping.
* No longer support Ruby older than 1.8.6
* No longer support RubyGems older than 1.3.5
* Force definition of binary directory and executables. Closes GH-11
* Workaround path with spaces issues using relative paths. Closes GH-6
* Removed gemspec, GitHub gems no more
* Known issues
* Usage of rake-compiler under projects with Jeweler requires some tweaks
Please read issue GH-73 for Jeweler:
http://github.com/technicalpickles/jeweler/issues#issue/73
For a workaround, look here:
http://gist.github.com/251663
=== 0.6.0 / 2009-07-25
* Enhancements
* Implemented 'fat-binaries' generation for cross compiling
(for now). Thanks to Aaron Patterson for the suggestion and
original idea.
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 rake clobber 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 SOURCE=http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p0.tar.bz2
* Bugfixes
* 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 (required_ruby_version)
=== 0.5.0 / 2009-04-25
* Enhancements
* Allow generation of multiple gems for Windows (EXPERIMENTAL)
This allows build gems for both VC6 and MinGW builts of Ruby
(Thanks to Jonathan Stott for the suggestion)
Rake::ExtensionTask.new('my_extension', GEM_SPEC) do |ext|
ext.cross_compile = true
ext.cross_platform = ['i386-mswin32', 'i386-mingw32']
end
=== 0.4.1 / 2009-04-09
* Enhancements
* Target specific versions of Ruby when generating binaries.
This avoids installing a 1.8.x binary gem in 1.9.x and viceversa.
(Thanks to Aaron Patterson for the patches)
* Bugfixes
* No longer raises error if rake-compiler configuration is missing.
Not all users of a project would have it installed.
(Thanks to Aaron Patterson for the patch)
=== 0.4.0 / 2009-04-03
* Enhancements
* Bended the convention for extension folder.
Defining ext_dir 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).
=== 0.3.1 / 2009-01-09
* Enhancements
* Download cross-ruby source code using HTTP instead of FTP.
* Disabled Tcl/Tk extension building on cross-ruby (helps with 1.9).
* Bugfixes
* Workaround bug introduced by lack of Gem::Specification cloning. Fixes DM LH #757.
* Use proper binary extension on OSX (reported by Dirkjan Bussink).
* Ensure lib/binary task is defined prior clear of requisites.
=== 0.3.0 / 2008-12-07
* New features
* Let you specify the Ruby version used for cross compilation instead
of default one.
rake cross compile RUBY_CC_VERSION=1.8
* Enhancements
* Properly update rake-compiler configuration when new version is installed.
* Automated release process to RubyForge, yay!
* Bugfixes
* Corrected documentation to reflect the available options
=== 0.2.1 / 2008-11-30
* New features
* Allow cross compilation (cross compile) using mingw32 on Linux or OSX.
* Allow packaging of gems for Windows on Linux or OSX.
* Enhancements
* Made generation of extensions safe and target folders per-platform
* Bugfixes
* Ensure binaries for the specific platform are copied before packaging.