rake-compiler 0.7.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +15 -3
- data/lib/rake/extensiontask.rb +20 -2
- data/spec/lib/rake/extensiontask_spec.rb +1 -0
- data/spec/spec.opts +3 -0
- data/tasks/bin/cross-ruby.rake +6 -1
- data/tasks/gem.rake +3 -3
- metadata +56 -17
data/History.txt
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
=== 0.7.1 / 2010-08-07
|
2
|
+
|
3
|
+
* Bugfixes:
|
4
|
+
* Update gem files to make "gem install -t" works. Closes GH-14
|
5
|
+
* Update mocks to work under 1.8.7. Closes GH-15 [luisparravicini]
|
6
|
+
* Do not allow cross-ruby be executed under Windows. Closes GH-22
|
7
|
+
|
8
|
+
* Experimental:
|
9
|
+
* Allow JRuby to compile C extensions [timfel].
|
10
|
+
It is now possible compile C extensions using latest JRuby. Offered
|
11
|
+
in experimental mode since JRuby cext hasn't been officially released.
|
12
|
+
|
1
13
|
=== 0.7.0 / 2009-12-08
|
2
14
|
|
3
15
|
* Enhancements
|
@@ -65,12 +77,12 @@
|
|
65
77
|
* Allow simultaneous versions of Ruby to compile extensions.
|
66
78
|
This change allow 1.8.x compiles co-exist with 1.9.x ones
|
67
79
|
and don't override each other.
|
68
|
-
|
80
|
+
|
69
81
|
Please perform <tt>rake clobber</tt> prior compiling again.
|
70
82
|
* Allow optional source file URL for cross-compile tasks.
|
71
83
|
(Thanks to deepj for the patches)
|
72
84
|
|
73
|
-
rake-compiler cross-ruby VERSION=1.9.1-p0 SOURCE=http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p0.tar.bz2
|
85
|
+
rake-compiler cross-ruby VERSION=1.9.1-p0 SOURCE=http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p0.tar.bz2
|
74
86
|
|
75
87
|
* Bugfixes
|
76
88
|
* Removed strict versioning for gems since it clash with fat binaries.
|
@@ -136,7 +148,7 @@
|
|
136
148
|
=== 0.3.0 / 2008-12-07
|
137
149
|
|
138
150
|
* New features
|
139
|
-
* Let you specify the Ruby version used for cross compilation instead
|
151
|
+
* Let you specify the Ruby version used for cross compilation instead
|
140
152
|
of default one.
|
141
153
|
|
142
154
|
rake cross compile RUBY_CC_VERSION=1.8
|
data/lib/rake/extensiontask.rb
CHANGED
@@ -32,8 +32,20 @@ module Rake
|
|
32
32
|
@cross_compiling = block if block_given?
|
33
33
|
end
|
34
34
|
|
35
|
+
def binary(platform = nil)
|
36
|
+
if platform == "java"
|
37
|
+
warn_once <<-EOF
|
38
|
+
Compiling a native C extension on JRuby. This is discouraged and a
|
39
|
+
Java extension should be preferred.
|
40
|
+
EOF
|
41
|
+
"#{name}.#{RbConfig::MAKEFILE_CONFIG['DLEXT']}"
|
42
|
+
else
|
43
|
+
super
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
35
47
|
def define
|
36
|
-
if
|
48
|
+
if (defined?(RUBY_ENGINE) && RUBY_ENGINE == 'ironruby')
|
37
49
|
warn_once <<-EOF
|
38
50
|
WARNING: You're attempting to (cross-)compile C extensions from a platform
|
39
51
|
(#{RUBY_ENGINE}) that does not support native extensions or mkmf.rb.
|
@@ -337,12 +349,18 @@ Rerun `rake` under MRI Ruby 1.8.x/1.9.x to cross/native compile.
|
|
337
349
|
if RUBY_PLATFORM =~ /mswin/ then
|
338
350
|
'nmake'
|
339
351
|
else
|
340
|
-
ENV['MAKE'] || %w[gmake make].find { |c|
|
352
|
+
ENV['MAKE'] || %w[gmake make].find { |c|
|
353
|
+
system("#{c} -v >> #{dev_null} 2>&1")
|
354
|
+
}
|
341
355
|
end
|
342
356
|
end
|
343
357
|
@make
|
344
358
|
end
|
345
359
|
|
360
|
+
def dev_null
|
361
|
+
windows? ? 'NUL' : '/dev/null'
|
362
|
+
end
|
363
|
+
|
346
364
|
def source_files
|
347
365
|
@source_files ||= FileList["#{@ext_dir}/#{@source_pattern}"]
|
348
366
|
end
|
@@ -439,6 +439,7 @@ describe Rake::ExtensionTask do
|
|
439
439
|
def mock_config_yml
|
440
440
|
{
|
441
441
|
'rbconfig-1.8.6' => '/some/path/version/1.8/to/rbconfig.rb',
|
442
|
+
'rbconfig-1.8.7' => '/some/path/version/1.8/to/rbconfig.rb',
|
442
443
|
'rbconfig-1.9.1' => '/some/path/version/1.9.1/to/rbconfig.rb',
|
443
444
|
'rbconfig-3.0.0' => '/some/fake/version/3.0.0/to/rbconfig.rb'
|
444
445
|
}
|
data/spec/spec.opts
ADDED
data/tasks/bin/cross-ruby.rake
CHANGED
@@ -26,6 +26,11 @@ require 'yaml'
|
|
26
26
|
libdir = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'lib'))
|
27
27
|
$LOAD_PATH.unshift(libdir) unless $LOAD_PATH.include?(libdir)
|
28
28
|
|
29
|
+
if RUBY_PLATFORM =~ /mingw|mswin/ then
|
30
|
+
puts "This command is meant to be executed under Linux or OSX, not Windows (is for cross-compilation)"
|
31
|
+
exit(1)
|
32
|
+
end
|
33
|
+
|
29
34
|
require 'rake/extensioncompiler'
|
30
35
|
|
31
36
|
MAKE = ENV['MAKE'] || %w[gmake make].find { |c| system(c, '-v') }
|
@@ -161,7 +166,7 @@ task 'update-config' do
|
|
161
166
|
config = {}
|
162
167
|
end
|
163
168
|
|
164
|
-
files = Dir.glob("#{USER_HOME}/ruby
|
169
|
+
files = Dir.glob("#{USER_HOME}/ruby/*/**/rbconfig.rb").sort
|
165
170
|
|
166
171
|
files.each do |rbconfig|
|
167
172
|
version = rbconfig.match(/.*-(\d.\d.\d)/)[1]
|
data/tasks/gem.rake
CHANGED
@@ -3,7 +3,7 @@ require 'rubygems/package_task'
|
|
3
3
|
GEM_SPEC = Gem::Specification.new do |s|
|
4
4
|
# basic information
|
5
5
|
s.name = "rake-compiler"
|
6
|
-
s.version = "0.7.
|
6
|
+
s.version = "0.7.1"
|
7
7
|
s.platform = Gem::Platform::RUBY
|
8
8
|
|
9
9
|
# description and details
|
@@ -24,8 +24,8 @@ GEM_SPEC = Gem::Specification.new do |s|
|
|
24
24
|
|
25
25
|
# components, files and paths
|
26
26
|
s.files = FileList["features/**/*.{feature,rb}", "bin/rake-compiler",
|
27
|
-
"lib/**/*.rb", "spec
|
28
|
-
"Rakefile", "*.{rdoc,txt,yml}"]
|
27
|
+
"lib/**/*.rb", "spec/spec.opts", "spec/**/*.rb",
|
28
|
+
"tasks/**/*.rake", "Rakefile", "*.{rdoc,txt,yml}"]
|
29
29
|
|
30
30
|
s.bindir = 'bin'
|
31
31
|
s.executables = ['rake-compiler']
|
metadata
CHANGED
@@ -1,7 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake-compiler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
|
4
|
+
hash: 1
|
5
|
+
prerelease: false
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 7
|
9
|
+
- 1
|
10
|
+
version: 0.7.1
|
5
11
|
platform: ruby
|
6
12
|
authors:
|
7
13
|
- Luis Lavena
|
@@ -9,42 +15,64 @@ autorequire:
|
|
9
15
|
bindir: bin
|
10
16
|
cert_chain: []
|
11
17
|
|
12
|
-
date:
|
18
|
+
date: 2010-08-07 00:00:00 -03:00
|
13
19
|
default_executable:
|
14
20
|
dependencies:
|
15
21
|
- !ruby/object:Gem::Dependency
|
16
22
|
name: rake
|
17
|
-
|
18
|
-
|
19
|
-
|
23
|
+
prerelease: false
|
24
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
20
26
|
requirements:
|
21
27
|
- - ">="
|
22
28
|
- !ruby/object:Gem::Version
|
29
|
+
hash: 57
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
- 8
|
33
|
+
- 3
|
23
34
|
version: 0.8.3
|
24
35
|
- - <
|
25
36
|
- !ruby/object:Gem::Version
|
37
|
+
hash: 25
|
38
|
+
segments:
|
39
|
+
- 0
|
40
|
+
- 9
|
26
41
|
version: "0.9"
|
27
|
-
|
42
|
+
type: :runtime
|
43
|
+
version_requirements: *id001
|
28
44
|
- !ruby/object:Gem::Dependency
|
29
45
|
name: rspec
|
30
|
-
|
31
|
-
|
32
|
-
|
46
|
+
prerelease: false
|
47
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
48
|
+
none: false
|
33
49
|
requirements:
|
34
50
|
- - ~>
|
35
51
|
- !ruby/object:Gem::Version
|
52
|
+
hash: 13
|
53
|
+
segments:
|
54
|
+
- 1
|
55
|
+
- 2
|
56
|
+
- 9
|
36
57
|
version: 1.2.9
|
37
|
-
|
58
|
+
type: :development
|
59
|
+
version_requirements: *id002
|
38
60
|
- !ruby/object:Gem::Dependency
|
39
61
|
name: cucumber
|
40
|
-
|
41
|
-
|
42
|
-
|
62
|
+
prerelease: false
|
63
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
64
|
+
none: false
|
43
65
|
requirements:
|
44
66
|
- - ~>
|
45
67
|
- !ruby/object:Gem::Version
|
68
|
+
hash: 7
|
69
|
+
segments:
|
70
|
+
- 0
|
71
|
+
- 4
|
72
|
+
- 4
|
46
73
|
version: 0.4.4
|
47
|
-
|
74
|
+
type: :development
|
75
|
+
version_requirements: *id003
|
48
76
|
description: |-
|
49
77
|
Provide a standard and simplified way to build and package
|
50
78
|
Ruby extensions (C, Java) using Rake as glue.
|
@@ -81,6 +109,7 @@ files:
|
|
81
109
|
- lib/rake/extensioncompiler.rb
|
82
110
|
- lib/rake/extensiontask.rb
|
83
111
|
- lib/rake/javaextensiontask.rb
|
112
|
+
- spec/spec.opts
|
84
113
|
- spec/lib/rake/extensiontask_spec.rb
|
85
114
|
- spec/lib/rake/javaextensiontask_spec.rb
|
86
115
|
- spec/spec_helper.rb
|
@@ -112,21 +141,31 @@ rdoc_options:
|
|
112
141
|
require_paths:
|
113
142
|
- lib
|
114
143
|
required_ruby_version: !ruby/object:Gem::Requirement
|
144
|
+
none: false
|
115
145
|
requirements:
|
116
146
|
- - ">="
|
117
147
|
- !ruby/object:Gem::Version
|
148
|
+
hash: 59
|
149
|
+
segments:
|
150
|
+
- 1
|
151
|
+
- 8
|
152
|
+
- 6
|
118
153
|
version: 1.8.6
|
119
|
-
version:
|
120
154
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
155
|
+
none: false
|
121
156
|
requirements:
|
122
157
|
- - ">="
|
123
158
|
- !ruby/object:Gem::Version
|
159
|
+
hash: 17
|
160
|
+
segments:
|
161
|
+
- 1
|
162
|
+
- 3
|
163
|
+
- 5
|
124
164
|
version: 1.3.5
|
125
|
-
version:
|
126
165
|
requirements: []
|
127
166
|
|
128
167
|
rubyforge_project: rake-compiler
|
129
|
-
rubygems_version: 1.3.
|
168
|
+
rubygems_version: 1.3.7
|
130
169
|
signing_key:
|
131
170
|
specification_version: 3
|
132
171
|
summary: Rake-based Ruby Extension (C, Java) task generator.
|