| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
GitHub: fix GH-196
It's caused when name that includes "/" is specified to
Rake::ExtensionTask.new and the default lib_dir is used such as
https://github.com/konsolebox/digest-xxhash-ruby . In the case, built
binaries are copied to lib/ not lib/XXX/.
Reported by konsolebox. Thanks!!!
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
GitHub: fix GH-195
It's caused when base Ruby and cross Ruby use different
RbConfig::CONFIG["ENABLE_SHARED"]. Gem's extension directory is depend
on it. So we should use the same RbConfig::CONFIG["ENABLE_SHARED"] for
both base Ruby and cross Ruby.
Reported by Mike Dalessio. Thanks!!!
|
| |
|
| |
|
|
|
|
|
|
| |
GitHub: fix GH-194
Reported by Andrew Kane. Thanks!!!
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"rake native gem" without "cross" didn't set the ruby version constraint.
Instead it failed with NoMethodError like so:
/ffi $ rake native gem
no configuration section for specified version of Ruby (rbconfig-i386-mingw32-2.6.3)
no configuration section for specified version of Ruby (rbconfig-x64-mingw32-2.6.3)
install -c build/x86_64-linux/ffi_c/2.6.3/ffi_c.so lib/ffi_c.so
cp build/x86_64-linux/ffi_c/2.6.3/ffi_c.so build/x86_64-linux/stage/lib/ffi_c.so
rake aborted!
NoMethodError: undefined method `split' for nil:NilClass
/home/lars/.rvm/gems/ruby-2.6.3/gems/rake-compiler-1.0.9/lib/rake/extensiontask.rb:515:in `ruby_api_version'
/home/lars/.rvm/gems/ruby-2.6.3/gems/rake-compiler-1.0.9/lib/rake/extensiontask.rb:262:in `block in define_native_tasks'
/home/lars/.rvm/gems/ruby-2.6.3/gems/rake-12.3.3/exe/rake:27:in `<top (required)>'
/home/lars/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:24:in `eval'
/home/lars/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:24:in `<main>'
Tasks: TOP => native => native:x86_64-linux => native:ffi:x86_64-linux
(See full trace by running task with --trace)
|
|
|
|
|
|
| |
Until now rake-compiler uses "make" to build the extension binary, but doesn't use "make install" to copy it into the lib directory.
This has the downside, that only the extension binary is copied, but no additional files.
In particular files registered per mkmf's $INSTALLFILES mechanism are not respected.
Using "make install" fixes this.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
This was introduced in commit a7c113e580c1565000166f9967da82ff2ecdaeaa to avoid interference with host build.
However it prohibits setting important flags for cross-build.
Also don't force 'LDFLAGS=-pipe -s' in configure, which doesn't work with clang targeting MacOS.
It can now be set externally.
|
| |
|
|
|
|
| |
Thanks Travis CI!
|
| |
|
|
|
|
|
|
|
| |
Rubies can be build like so:
rake-compiler cross-ruby VERSION=2.7.0:2.6.0 HOST=x86_64-w64-mingw32:i686-w64-mingw32
This builds the cross product of all ":" separated ruby and host versions.
To force sequential builds add option "-j1".
|
|
|
|
| |
Starting from 3.0.0-preview2, Ruby stopped shipping tar.bz2 archives.
This changes the archive format to tar.gz for better compatibility.
|
| |
|
| |
|
| |
|
|
|
| |
lib/rake/extensiontask.rb:471: warning: instance variable @make not initialized
|
|
|
|
|
|
| |
The .so files of extensions are often manually stripped after compilation per task in a Rakefile.
This is done to reduce gem size and because debug information in release binaries isn't particular useful.
This manual step can be avoided, if the cross ruby version is built with stripping enabled.
Compatibility is ensured, since stripping files a second time doesn't make a difference.
|
|
|
| |
The previous pattern only recognized 32 bit compiler versions.
|
|
|
|
|
| |
ALT_SEPARATOR doesn't exist in Makefile.in since Ruby 1.9.2:
https://github.com/ruby/ruby/commit/7c7690045870396816624bf57775eb29e6a478fd
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
GitHub: fix #163
TODO: We should add an example for command line.
Reported by Kai Kuchenbecker. Thanks!!!
|
| |
|
| |
|
|
|
|
|
|
| |
GitHub: fix #161
Reported by Masaki Hara. Thanks!!!
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Make customizable compiler Xlint option for JRuby native extension
* [CS] restructure and fix indentation of (defaults) spec
* Add specs for lint_option
* [DOC] CHANGELOG: stub changelog entry for the next release
* [DOC] CHANGELOG: Make customizable compiler Xlint option for JRuby native extension
* Use "-Xlint" option for JRuby native extension by default.
`javac -help -X`
> -Xlint Enable recommended warnings
|
|
|
|
|
|
|
|
|
|
|
|
| |
* [DOC] Convert README.rdoc to README.md for table support
* [DOC] Document all existing configuration options in a table
* [DOC] Use "-Xlint" option for JRuby native extension by default.
`javac -help -X`
> -Xlint Enable recommended warnings
|
| |
|