summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Minor corrections to require definitionsLuis Lavena2009-12-063-3/+6
| | | | | 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-064-50/+298
| | | | | 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.
* A huge change in RDoc.Luis Lavena2009-04-091-7/+7
| | | | Started to use latest RDoc package instead of Rake one.
* 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.
* Better detection of MinGW target in Linux/OSX.Luis Lavena2009-02-231-0/+53
|
* 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
|
* Do'h, removed debug output.Luis Lavena2008-11-291-5/+0
|
* Refactored generation of 'native' tasks.Luis Lavena2008-11-291-40/+58
| | | | | * It now only chains for current platform, open the door for cross compilation. * Ensure proper binary gets copied to lib folder prior generation of gem.
* Refactored 'compile' process.Luis Lavena2008-11-291-57/+49
| | | | | | | * Rearrange compile task chain to allow multiple platforms. * Only hooked current platform to compile * Always copy compiled extension to lib directory (avoid packaging of wrong binaries).
* Added ExtensionTask#additional_options functionality.Luis Lavena2008-11-271-1/+5
| | | | | | | | Allow supply additional configure-time parameters to the build script (extconf.rb). This is useful to customize with libraries or conditions not available system wide.
* Adjusted cleanup pattern.Luis Lavena2008-11-261-2/+5
| | | | It was removing other extensions files during cleanup of one.
* Allow forced platforms for native gems.Luis Lavena2008-11-251-3/+8
| | | | This ease the integration path with CrossCompileTask.
* Small changes to extconf task.Luis Lavena2008-11-231-3/+4
| | | | | | * Allow inclusion of current directory when calling extconf script. * Avoid inclusion of GemPackageTask when is no needed.
* Hide internal methods of ExtensionTask from docs.Luis Lavena2008-11-191-2/+1
|
* Allow building of native gems.Luis Lavena2008-11-181-3/+54
| | | | 'rake native gem' will trigger the building of native gems.
* ExtensionTask now generated clean and clobber tasks.Luis Lavena2008-11-071-1/+8
| | | | | These new tasks remove temporary (build files) and binaries already built.
* D'oh, all this time forgot to commit ExtensionTask itself.Luis Lavena2008-11-031-0/+112