| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|/
|
|
|
|
| |
Example usage:
rake compile -- --with-libyaml-dir=C:/devlibs/libyaml
|
|
|
|
|
|
|
|
|
| |
Since Rake::ExtensionTask reuses the gem specification, we fall into
the memoization issue described in RubyGems bug:
http://github.com/rubygems/rubygems/issues/78
Applied a workaround until that issue is sorted out.
|
|
|
|
|
|
|
|
|
| |
Rake::GemPackageTask is deprecated and will be removed.
Gem::PackageTask has been present since RubyGems 1.3.2 and should be
used instead.
rake-compiler already depends on rubygems >= 1.3.5 so no damage done here.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
I tried to outsmart Ruby, but he is smarter than me. mkmf.rb gets
confused by CROSS_COMPILING definition.
Thanks goes to Aman Gupta for the debug.
Closes GH-28
|
|
|
|
|
| |
Using fullpath works to workaround invocation issues with .exe in
old versions of Ruby.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Reduce to only one the display of warnings about usage
of ExtensionTask or JavaExtensionTask in mixed environments.
|
|
|
|
|
| |
File.expand_path is not recommended on 1.9, stick to plain require
should work.
|
|
|
|
|
| |
JRuby support created by Alex Coles.
Merge done manually to avoid excesive cherry-picking
|
|
|
|
|
| |
Usage of PATH_SEPARATOR is not portable. ';' on Windows.
(what was I thinking?)
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
- Use of #dup from RubyGems for it.
- Bumped the RubyGems minimum version due this.
- Defined require Ruby version too (no support for 1.8.5 folks, sorry).
|
| |
|
| |
|
| |
|
|
|
|
| |
(It doesn't play nice with fat binaries installation).
|
|
|
|
| |
Please read History entry about usage of RUBY_CC_VERSION.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change automatically append MAJOR.MINOR Ruby version
of the compiled extension in the target directory.
A better picture:
rake cross compile RUBY_CC_VERSION=1.8.6:1.9.1
Will generate the following files:
lib/1.8/extension_name.so
lib/1.9/extension_name.so
|
|
|
|
|
| |
This is to ensure rake tasks take the proper values when
called the respective blocks.
|
|
|
|
|
|
|
|
| |
This is in preparation for fat-binaries work.
rake cross compile RUBY_CC_VERSION=1.8.6:1.9.1
Will generate binaries for both 1.8.6 and 1.9.1 compilers.
|
| |
|
|
|
|
|
|
| |
Be warned: works from 1.8 to 1.9, but not if your default ruby is 1.9.
There are some issues inside mkmf.rb that limits this, needs further
investigation.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- This allows build gems for both VC6 and MinGW builts of Ruby.
Rake::ExtensionTask.new('my_extension', GEM_SPEC) do |ext|
ext.cross_compile = true
ext.cross_platform = ['i386-mswin32', 'i386-mingw32']
end
This is highly experimental and exposed the need to refactor
ExtensionTask internals. Right now it fires the compilation
process twice, which is suboptimal.
|
|
|
| |
Signed-off-by: Luis Lavena <luislavena@gmail.com>
|
|
|
|
|
| |
to the ruby version we used for cross compiling
Signed-off-by: Luis Lavena <luislavena@gmail.com>
|
|
|
| |
Signed-off-by: Luis Lavena <luislavena@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
During cross compilation, rake-compiler will create a fake.rb
file to mimic a different version than the one used to execute
the build process.
Yet still, there are some changes between 1.9 and 1.8 not yet
ironed.
|
|
|
|
|
| |
This is part of the work required for getting you
compile a extension from one version of ruby targetting another.
|
|
|
|
|
|
|
|
| |
It stored inside the gem metadata the incorrect platform format,
which lead to mismatched gem names during indexing by RubyForge.
This change fixes the issue DataMapper and other gem authors
faced.
|
|
|
|
| |
This allow define ext_dir for custom extension location.
|
|
|
| |
Signed-off-by: Luis Lavena <luislavena@gmail.com>
|
|
|
|
|
|
|
|
| |
RubyGems Specification class lack a mechanism to clone the instances.
I've assumed that worked properly but my assumption was wrong.
This solves the issues exposed in DataMapper LH Ticket #757 when building
native gems using 'rake native gem'
|
|
|
|
| |
OSX .bundle vs Linux/Windows .so is not funny.
|
|
|
|
| |
This fixes issues with Rake task definitions under OSX.
|
|
|
|
|
| |
This makes 'rake cross compile' more flexible when multiple Ruby versions
exists into rake-compiler directory.
|
| |
|
|
|
|
| |
Use rbconfig.rb as reference to determine if we are cross compiling or not.
|
|
|
|
|
| |
This broke execution on Windows.
Yet still 'cross' should only be defined certain platforms.
|
|
|
|
|
|
|
|
|
|
| |
Now is possible to rely on rake-compiler to cross compile extensions.
rake compile #=> builds binaries for current platform
rake cross compile #=> builds binaries using cross-ruby
rake native gem #=> generates ruby and native gems.
rake cross native gem #=> generates ruby and cross platform native gems.
|
| |
|