summaryrefslogtreecommitdiff
path: root/lib/rake/extensiontask.rb
Commit message (Collapse)AuthorAgeFilesLines
...
* | Pass extra Rake cmd line args to extconf.rbJon2011-10-041-1/+5
|/ | | | | | Example usage: rake compile -- --with-libyaml-dir=C:/devlibs/libyaml
* Workaround Gem::Specification limitation. Closes #43Luis Lavena2011-06-081-2/+3
| | | | | | | | | 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.
* Use Gem::PackageTask instead of Rake oneLuis Lavena2011-06-081-1/+2
| | | | | | | | | 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.
* use the correct RUBY_PLATFORM in fake.rb.Kouhei Sutou2011-05-041-3/+3
|
* Use FileUtils#install instead of cp. Closes GH-33Luis Lavena2011-04-221-1/+1
|
* Warn if compiled files exists in extension's source directory. Closes GH-35Luis Lavena2011-04-221-2/+7
|
* Add the possibility to pass include flags to ruby in an ExtensionTask.Jens Finkhaeuser2011-04-221-1/+4
|
* Expand symlinks for tmp_dir. Closes GH-24Luis Lavena2010-11-241-2/+2
|
* fake.rb will not try to mimic Ruby's own fake to the letterLuis Lavena2010-11-241-1/+0
| | | | | | | | | 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
* Use Gem.ruby instead of ruby_install_nameLuis Lavena2010-09-211-7/+3
| | | | | Using fullpath works to workaround invocation issues with .exe in old versions of Ruby.
* Generate a fake.rb compatible with Ruby 1.9.2. Closes GH-25Luis Lavena2010-09-211-0/+18
|
* allow compilation with JRuby, since it has cext, nowTim Felgentreff2010-08-031-1/+13
|
* Silence make program lookupLuis Lavena2009-12-131-1/+7
|
* Warn only once.Luis Lavena2009-12-061-1/+1
| | | | | Reduce to only one the display of warnings about usage of ExtensionTask or JavaExtensionTask in mixed environments.
* Minor corrections to require definitionsLuis Lavena2009-12-061-1/+2
| | | | | File.expand_path is not recommended on 1.9, stick to plain require should work.
* Manual integration of JRuby support, by Alex ColesAlex Coles2009-12-061-49/+16
| | | | | JRuby support created by Alex Coles. Merge done manually to avoid excesive cherry-picking
* Made RUBY_CC_VERSION stick to ':' insteadLuis Lavena2009-11-241-1/+1
| | | | | Usage of PATH_SEPARATOR is not portable. ';' on Windows. (what was I thinking?)
* Allow alteration of the Gem Specification when cross compiling. Closes GH-3Luis Lavena2009-10-211-2/+14
| | | | | | | | | | | | 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
* Workaround path with spaces issues using relative paths. Closes GH-6Luis Lavena2009-10-211-1/+6
|
* Better duplication of Gem specificationLuis Lavena2009-10-211-1/+1
| | | | | | - 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).
* cache make executable name in make methodFlorian Frank2009-08-231-2/+9
|
* make sure to find gnu makeFlorian Frank2009-08-231-1/+3
|
* fixed typoFlorian Frank2009-08-231-2/+2
|
* Fixed strict ruby_version requirement.Luis Lavena2009-05-301-5/+0
| | | | (It doesn't play nice with fat binaries installation).
* Implemented fat-binaries packaging when cross compiling.Luis Lavena2009-05-301-12/+12
| | | | Please read History entry about usage of RUBY_CC_VERSION.
* Allow targeting multiple versions for cross compiling.Luis Lavena2009-05-301-0/+14
| | | | | | | | | | | | | | 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
* Use local variable instead of instance one.Luis Lavena2009-05-301-7/+16
| | | | | This is to ensure rake tasks take the proper values when called the respective blocks.
* Naive support for multiple versions with RUBY_CC_VERSIONLuis Lavena2009-05-301-1/+12
| | | | | | | | 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.
* Ensure only version specific of binaries get copied.Luis Lavena2009-05-301-6/+6
|
* Can now cross compile extensions for 1.9 using 1.8.x as base.Luis Lavena2009-05-301-2/+12
| | | | | | 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.
* Allow simultaneous versions of Ruby to compile extensions.Luis Lavena2009-04-271-7/+7
|
* Allow generation of multiple gems for WindowsLuis Lavena2009-04-251-13/+30
| | | | | | | | | | | | | - 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.
* yay! awesome version hackAaron Patterson2009-04-101-1/+2
| | | Signed-off-by: Luis Lavena <luislavena@gmail.com>
* when packaging binary gems, make sure that the required ruby version is set ↵Aaron Patterson2009-04-101-0/+4
| | | | | to the ruby version we used for cross compiling Signed-off-by: Luis Lavena <luislavena@gmail.com>
* only warning when there is no rbconfigAaron Patterson2009-04-101-1/+2
| | | Signed-off-by: Luis Lavena <luislavena@gmail.com>
* Got rid of improper usage of autoload for YAML.Luis Lavena2009-04-031-1/+1
|
* Implement Ruby version faker.Luis Lavena2009-03-211-4/+35
| | | | | | | | | 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.
* Allow X.Y.Z version of Ruby be specified.Luis Lavena2009-03-211-3/+3
| | | | | This is part of the work required for getting you compile a extension from one version of ruby targetting another.
* Use Gem::Platform to construct native gem.Luis Lavena2009-02-221-1/+1
| | | | | | | | 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.
* Bended the convention for extension folder.Luis Lavena2009-02-221-3/+3
| | | | This allow define ext_dir for custom extension location.
* Typo corrected: platfrom => platformLuis Parravicini2009-01-111-1/+1
| | | Signed-off-by: Luis Lavena <luislavena@gmail.com>
* Fixed issue when cloning Gem::Specification. Resolves DM LH #757.Luis Lavena2009-01-091-2/+4
| | | | | | | | 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'
* Ensure lib/binary is defined prior clearing the requisites for it.Luis Lavena2009-01-041-1/+4
| | | | OSX .bundle vs Linux/Windows .so is not funny.
* Feed the task platform into the binary name definition.Luis Lavena2009-01-041-10/+18
| | | | This fixes issues with Rake task definitions under OSX.
* Allow RUBY_CC_VERSION to specify target Ruby version.Luis Lavena2008-12-071-1/+1
| | | | | This makes 'rake cross compile' more flexible when multiple Ruby versions exists into rake-compiler directory.
* Ensure binaries extensions get copied during gem generation.Luis Lavena2008-11-291-0/+9
|
* Pass options to configure script when cross compiling.Luis Lavena2008-11-291-2/+9
| | | | Use rbconfig.rb as reference to determine if we are cross compiling or not.
* Do not raise error if no configuration is found.Luis Lavena2008-11-291-2/+7
| | | | | This broke execution on Windows. Yet still 'cross' should only be defined certain platforms.
* Added cross compilation tasks and options.Luis Lavena2008-11-291-0/+62
| | | | | | | | | | 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.
* Renamed configure options to better suit purpose.Luis Lavena2008-11-291-3/+3
|