1.2.2 / 2023-05-25¶ ↑
-
Enhancements:
-
GH-211: Added
extra_sources
that is for dynamic sources. [Patch by James Tucker] -
GH-213: Stopped using
--release
on Java 8. [Patch by James Pavel Rosický] -
GH-215: Added support for extra options with space. [Reported by Jun Aruga]
-
Fixes:
-
GH-211: Fixed a typo in documentation. [Patch by Jan-Benedikt Jagusch]
-
Thanks:
-
James Tucker
-
Jan-Benedikt Jagusch
-
Pavel Rosický
-
Jun Aruga
1.2.1 / 2022-12-16¶ ↑
-
Enhancements:
-
GH-209: Added support for RubyGems 3.3.21 or later. [Patch by Mike Dalessio]
-
Fixes:
-
GH-208: Fixed a typo in documentation. [Patch by Garen Torikian]
-
Thanks:
-
Garen Torikian
-
Mike Dalessio
1.2.0 / 2022-04-15¶ ↑
-
Enhancements:
-
Defer requiring
yaml
. ruby/stringio#21
1.1.9 / 2022-01-22¶ ↑
-
Enhancements:
-
Add support for
--release
option to build JRuby extension. #200 [Reported by Pavel Rosický] [#201](github.com/rake-compiler/rake-compiler/issues/201) [Patch by Satoshi Tagomori]
1.1.8 / 2022-01-18¶ ↑
-
Fixes:
-
Fix wrong
required_ruby_version
when someRUBY_CC_VERSION
s are missing. #198 [Patch by Lars Kanis]
1.1.7 / 2022-01-04¶ ↑
-
Fixes:
-
Fix binary paths for staging and clobber. #197 [Patch by konsolebox]
1.1.6 / 2021-12-12¶ ↑
-
Fixes:
-
Fix a regression bug that
Symbol
can’t be used forname
ofRake::ExtensionTask.new
.
1.1.5 / 2021-12-12¶ ↑
-
Fixes:
-
Fix a regression bug that wrong install location is used when name that includes
/
is specified toRake::ExtensionTask.new
. #196 [Reported by konsolebox]
1.1.4 / 2021-12-11¶ ↑
-
Fixes:
-
Fix a regression bug that installed gem can’t be found on cross compile. #195 [Reported by Mike Dalessio]
1.1.3 / 2021-12-08¶ ↑
-
Fixes:
-
Fix a regression bug that wrong install location is used. #194 [Reported by Andrew Kane]
1.1.2 / 2021-12-07¶ ↑
-
Changes:
-
Use .tar.gz instead of .tar.bz2 for Ruby archive. #179 [Patch by Masaki Hara]
-
Stop removing
CC
,CXX
,CPPFLAGS
andLDFLAGS
environment variables for cross-build. #182 [Patch by Lars Kanis] -
Remove IronRuby related message. #184 [Patch by Thomas E Enebo]
-
Suppress a warning. #185 [Patch by Olle Jonsson]
-
Rename
History.txt
toHistory.md
. #174 [Patch by MSP-Greg] -
Use
make install
instead of copying artifacts manually. #191 [Patch by Lars Kanis] -
Enhancements:
-
Add support for building cross rubies in parallel. #169 [Patch by Lars Kanis]
-
Use
RAKE_EXTENSION_TASK_NO_NATIVE
environment variable as the defaultno_native
value. -
Add support for
rake native gem
withoutcross
. #166 [Patch by Lars Kanis]
1.1.1 / 2020-07-10¶ ↑
-
Changes:
-
Bump the default Java bytecode to 1.7. #172 [Patch by Charles Oliver Nutter]
-
Enhancements:
-
Add support for finding x86_64 MinGW GCC. #164 [Patch by Lars Kanis]
-
Strip cross compiled shared library automatically. #165 [Patch by Lars Kanis]
1.1.0 / 2019-12-25¶ ↑
-
Bugfixes:
-
Fix a bug that JavaExtenstionTask can’t build anything. #163 [Reported by Kai Kuchenbecker]
1.0.9 / 2019-12-23¶ ↑
-
Changes:
-
Use "-Xlint" option for JRuby native extension by default. #158 [Patch by Stephen George]
-
Enhancements:
-
Make customizable compiler Xlint option for JRuby native extension. #118 [Patch by Hiroshi Hatake]
-
Add support for Ruby 2.7. #161 [Reported by Masaki Hara]
1.0.8 / 2019-09-21¶ ↑
-
Enhancements:
-
Added
Rake::JavaExtensionTask#encoding=
to pass the -encoding option to javac. #157 [Patch by Tiago Dias] -
Bugfixes:
-
Drop EOL'd rubyforge_project directive from .gemspec. #155 [Patch by Olle Jonsson]
1.0.7 / 2019-01-04¶ ↑
-
Bugfixes:
-
Fix a bug that JRuby class path detection is failed on cross-compilation. #149 #151 [Reported by Chalupa Petr][Patch by Prashant Vithani]
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¶ ↑
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 github.com/rake-compiler/rake-compiler from 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¶ ↑
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 #35
-
Workaround issue with WINE using proper build option. Closes #37
-
Use FileUtils#install instead of cp. Closes #33 [Eric Wong]
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 #19
-
Bugfixes:
-
Generate a fake.rb compatible with Ruby 1.9.2. Closes #25
-
fake.rb will not try to mimic Ruby's own fake to the letter. Closes #28
-
Expand symlinks for tmp_dir. Closes #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 #14
-
Update mocks to work under 1.8.7. Closes #15 [luisparravicini]
-
Do not allow cross-ruby be executed under Windows. Closes #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 #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 #11
-
Workaround path with spaces issues using relative paths. Closes #6
-
Removed gemspec, GitHub gems no more
-
Known issues
-
Usage of rake-compiler under projects with Jeweler requires some tweaks Please read issue 73) for Jeweler: github.com/technicalpickles/jeweler/issues/73
For a workaround, look here: 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.