summaryrefslogtreecommitdiff
path: root/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* Accept symbol name in extension taskTakashi Kokubun2016-05-091-0/+1
|
* SimplifyKouhei Sutou2016-04-241-7/+3
|
* SimplifyKouhei Sutou2016-04-241-2/+1
|
* Add missing parenthesesKouhei Sutou2016-04-241-1/+1
|
* Always use instance variableKouhei Sutou2016-04-241-1/+1
|
* Fix install destination with directory prefixesKenta Murata2016-04-241-1/+9
|
* Use basename of ext name as target filenameKenta Murata2016-04-241-1/+1
|
* May fix make detection on WindowsKouhei Sutou2016-03-161-1/+4
| | | | | | GitHub: #123 Reported by Aaron Stone. Thanks!!!
* Change the fake mechanism to be compatible with bundler.Lars Kanis2016-01-301-21/+14
| | | | | | | | | | | | | | | | | | | | The previous fake mechanism worked by hooking onto the "require 'rbconfig'" call. This is problematic because bundler internally requires rbconfig, but doesn't work corretly in a faked environment. It then fails to load gems that are also part of the standard library, like json and rdoc. This results in issues like https://github.com/rake-compiler/rake-compiler-dock/issues/8 The fake mechanism is now changed to hook onto the "require 'mkrb'" call, which is typically part of the extconf file, and it is where the faked platform values are actually needed. That way it is loaded after bundler/setup, so that the library paths are set according to the Gemfile.lock, to the native Linux libraries, before the fake environment is active. Please note, that the build directory of a given gem needs to be cleared, in order to get updated fake files. So do a "rm tmp pkg -rf".
* Find make program from PATHKouhei Sutou2015-03-251-11/+13
|
* Change make program detection with `make' fallbackThibault Jouan2015-03-161-3/+8
| | | | | | | | | | | | | | | | | | | Some platforms provide a working `make' program out of the box, but some versions of this program won't return a successful exit status code when given `-v' as argument. One such platform is FreeBSD, providing the `make' program in the base system which is based on `pmake'. This version won't accept `-v': $ make -v usage: make [-BeikNnqrstWwX] [-C directory] [-D variable] [-d flags] [-f makefile] [-I directory] [-J private] [-j max_jobs] [-m directory] [-T file] [-V variable] [variable=value] [target ...] zsh: exit 2 make -v This change ensures detection with `gmake -v` or `make -v` will continue to work as expected, but adds a fallback on plain `make' when tested successfully with the `command' shell builtin.
* Remove needless shebangsKouhei Sutou2015-03-164-8/+0
|
* Remove executable bits from lib source filesThibault Jouan2015-03-152-0/+0
|
* Add rake tasks for files added to spec.files by a cross_compile blockAaron Stone2014-12-311-21/+25
| | | | Resolves #98
* Pre-load resolver library before faking, in order to avoid errorLars Kanis2013-10-231-0/+5
| | | | | | "cannot load such file -- win32/resolv" when it is required later on. This solves issue https://github.com/tjschuck/rake-compiler-dev-box/issues/5
* Patch Ruby 1.8.7's mkmf.rb so it works with newer Ruby.Akinori MUSHA2013-08-121-0/+11
|
* Merge pull request #74 from larskanis/masterLuis Lavena2013-05-051-8/+76
|\ | | | | Add support for cross builds for multiple target platforms.
| * Use platform specific directories for packaging gem files.Lars Kanis2013-03-271-4/+59
| | | | | | | | | | | | | | | | | | | | | | Building gems for distinct platforms within one rake run conflicted in the lib/ directory, because all binary extensions were stored there and were copied from there to become packaged. This resulted in storing a binary extension of a wrong platform in a gem. To avoid this, the files to package are now stored in a platform specific stage directory and are used to package the specific gem.
| * Add possibility to set per-platform cross_config_options.Lars Kanis2013-03-131-2/+15
| | | | | | | | | | This is especially useful to set distinct library paths for different target platforms.
| * Store cross compiled Ruby into seperate directories depending on HOST platform.Lars Kanis2013-03-131-2/+2
| | | | | | | | | | | | | | | | | | Also prefix the selection of rbconfig in config.yml with the corresponding Ruby platform. This allowes to use cross compiled Ruby-builds for multiple target architectures on the same machine. This is especially usefull to compile for Ruby-2.0 i386-mingw32 and x64-mingw32 platforms.
* | Re-support fat gemKouhei Sutou2013-03-211-6/+4
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ruby 1.9 bundles RubyGems and it is required automatically before command line "-r" option. It breaks fake.rb trick. We cannot build fat gem without fake.rb trick because building fat gem requires two or more Rubies and fake.rb fakes Rubies. /tmp/rbconfig.rb: p :rbconfig puts caller module RbConfig Config = {} end /tmp/fake.rb: p :fake Command: % cd /tmp % ruby -v -I . -r fake -e '' ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] :rbconfig /usr/lib/ruby/1.9.1/rubygems.rb:31:in `require' /usr/lib/ruby/1.9.1/rubygems.rb:31:in `<top (required)>' <internal:gem_prelude>:1:in `require' <internal:gem_prelude>:1:in `<compiled>' :fake The command output shows fake.rb that is used to change RUBY_PLATFORM, RUBY_VERSION and so on in rake-compiler is required after rbconfig.rb. And rbconfig.rb is required from RubyGems. fake.rb should be required before rbconfig.rb because rbconfig.rb uses RUBY_VERSION. So this change puts 'require "fake.rb"' into rbconfig.rb. It ensures that fake.rb is evaluated before rbconfig.rb body is evaluated.
* Qualify mingw32-gcc as a valid MinGW compiler.Akinori MUSHA2013-02-141-1/+1
|
* Do not cache the list of source_filesScott Gonyea2012-08-011-1/+1
| | | | This allows me to run a task which generates java source files, prior to having rake-compiler compile them.
* Raise error when no make tool was found. Closes #53Luis Lavena2012-04-151-0/+5
|
* Merge pull request #49 from larskanis/masterLuis Lavena2011-11-011-1/+1
|\ | | | | Detect 32bit mingw-gcc executable for cross compile
| * Narrow the pattern for mingw-gcc down, to only use the 32-bit oneLars Kanis2011-10-311-1/+1
| |
* | Generate dummy cross-compile target when no configuration exists.Matijs van Zuijlen2011-10-301-1/+10
|/ | | | This fixes issue #16.
* Merge pull request #45 from jfirebaugh/jruby_warningLuis Lavena2011-10-052-13/+15
|\ | | | | Only emit warnings when doing cross-compilation tasks
| * Emit JRuby cross-compile warnings only when actually doing cross-compiles.John Firebaugh2011-08-062-13/+15
| |
* | Add some test harness to latest changesLuis Lavena2011-10-051-1/+1
| | | | | | | | And also update History to reflect the new change in codebase
* | Pass extra Rake cmd line args to extconf.rbJon2011-10-042-1/+7
|/ | | | | | Example usage: rake compile -- --with-libyaml-dir=C:/devlibs/libyaml
* Use Gem::PackageTask consistently also on JavaExtensionTaskv0.7.9Luis Lavena2011-06-081-3/+4
|
* 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-082-3/+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-222-2/+2
|
* 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
|
* prefer psych on 1.9.2 if possibleAaron Patterson2011-02-051-0/+6
|
* 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
|
* Fix handling of jar command line argumentsAlex Coles2009-12-072-1/+16
| | | | | | | | | | | | | * Pass explicit list of .class files, not wildcard. * Because jar output directory is same as directory containing .class files, it appeared that the jar command line tool was trying to recursively jar itself. * Handle case where $ in .class file names (seen with use of inner classes, etc.) was being expanded out on *NIX systems. * Change feature to test for the above. * Thanks to Luis for helping work through this and ensuring compatibility with both *NIX and Windows systems. Signed-off-by: Alex Coles <alex@alexcolesportfolio.com>
* Allow source and target versions to be specifiedAlex Coles2009-12-071-1/+9
| | | | | | | * Many additional options can be specified for javac, but this won't be implemented for this version of rake-compiler. Signed-off-by: Alex Coles <alex@alexcolesportfolio.com>
* Code cleanup, provide accessor for debugAlex Coles2009-12-071-11/+5
| | | | Signed-off-by: Alex Coles <alex@alexcolesportfolio.com>
* Make Java class path work on non-JRuby.Luis Lavena2009-12-071-1/+3
|
* Warn only once.Luis Lavena2009-12-063-2/+9
| | | | | Reduce to only one the display of warnings about usage of ExtensionTask or JavaExtensionTask in mixed environments.