rake-compiler 1.1.1 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/History.md +510 -0
- data/lib/rake/extensiontask.rb +30 -18
- data/lib/rake/javaextensiontask.rb +1 -1
- data/tasks/bin/cross-ruby.rake +80 -82
- metadata +8 -8
- data/History.txt +0 -473
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83d5f854b75073d4180da9ece3502bb86995335a52e8b59a83212ec70b08206d
|
4
|
+
data.tar.gz: cd2840623dd94c1377ad5c9304e19fc37907af1e4f5fb3cb8ce3011e80e9729e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 02e09a4a2ee0fb199d54f6f063225be7a731abb7752b2cdd3eb05f409b0bac16c0dc32c5222b4167b3a4b39507093ce5fd6a1e3eb5012c5d77233423ecabbb3b
|
7
|
+
data.tar.gz: ff48af6c3b541170420f5c3351ab328052219fb906052d7813923975c231245c8613f212ce7e6e88ff63ccb8d0f5191a5a03935c382b53885db4e7d858800f8f
|
data/History.md
ADDED
@@ -0,0 +1,510 @@
|
|
1
|
+
### 1.1.2 / 2021-12-07
|
2
|
+
|
3
|
+
* Changes:
|
4
|
+
* Use .tar.gz instead of .tar.bz2 for Ruby archive.
|
5
|
+
[#179](https://github.com/rake-compiler/rake-compiler/pull/179) [Patch by Masaki Hara]
|
6
|
+
* Stop removing `CC`, `CXX`, `CPPFLAGS` and `LDFLAGS` environment variables for cross-build.
|
7
|
+
[#182](https://github.com/rake-compiler/rake-compiler/pull/182) [Patch by Lars Kanis]
|
8
|
+
* Remove IronRuby related message.
|
9
|
+
[#184](https://github.com/rake-compiler/rake-compiler/pull/184) [Patch by Thomas E Enebo]
|
10
|
+
* Suppress a warning.
|
11
|
+
[#185](https://github.com/rake-compiler/rake-compiler/pull/185) [Patch by Olle Jonsson]
|
12
|
+
* Rename `History.txt` to `History.md`.
|
13
|
+
[#174](https://github.com/rake-compiler/rake-compiler/pull/174) [Patch by MSP-Greg]
|
14
|
+
* Use `make install` instead of copying artifacts manually.
|
15
|
+
[#191](https://github.com/rake-compiler/rake-compiler/pull/191) [Patch by Lars Kanis]
|
16
|
+
|
17
|
+
* Enhancements:
|
18
|
+
* Add support for building cross rubies in parallel.
|
19
|
+
[#169](https://github.com/rake-compiler/rake-compiler/pull/169) [Patch by Lars Kanis]
|
20
|
+
* Use `RAKE_EXTENSION_TASK_NO_NATIVE` environment variable as the default `no_native` value.
|
21
|
+
* Add support for `rake native gem` without `cross`.
|
22
|
+
[#166](https://github.com/rake-compiler/rake-compiler/pull/166) [Patch by Lars Kanis]
|
23
|
+
|
24
|
+
### 1.1.1 / 2020-07-10
|
25
|
+
|
26
|
+
* Changes:
|
27
|
+
* Bump the default Java bytecode to 1.7.
|
28
|
+
[#172](https://github.com/rake-compiler/rake-compiler/pull/172) [Patch by Charles Oliver Nutter]
|
29
|
+
|
30
|
+
* Enhancements:
|
31
|
+
* Add support for finding x86_64 MinGW GCC.
|
32
|
+
[#164](https://github.com/rake-compiler/rake-compiler/pull/164) [Patch by Lars Kanis]
|
33
|
+
* Strip cross compiled shared library automatically.
|
34
|
+
[#165](https://github.com/rake-compiler/rake-compiler/pull/165) [Patch by Lars Kanis]
|
35
|
+
|
36
|
+
### 1.1.0 / 2019-12-25
|
37
|
+
|
38
|
+
* Bugfixes:
|
39
|
+
* Fix a bug that JavaExtenstionTask can't build anything.
|
40
|
+
[#163](https://github.com/rake-compiler/rake-compiler/issues/163) [Reported by Kai Kuchenbecker]
|
41
|
+
|
42
|
+
### 1.0.9 / 2019-12-23
|
43
|
+
|
44
|
+
* Changes:
|
45
|
+
* Use "-Xlint" option for JRuby native extension by default.
|
46
|
+
[#158](https://github.com/rake-compiler/rake-compiler/pull/158) [Patch by Stephen George]
|
47
|
+
|
48
|
+
* Enhancements:
|
49
|
+
* Make customizable compiler Xlint option for JRuby native extension.
|
50
|
+
[#118](https://github.com/rake-compiler/rake-compiler/pull/118) [Patch by Hiroshi Hatake]
|
51
|
+
* Add support for Ruby 2.7.
|
52
|
+
[#161](https://github.com/rake-compiler/rake-compiler/pull/161) [Reported by Masaki Hara]
|
53
|
+
|
54
|
+
### 1.0.8 / 2019-09-21
|
55
|
+
|
56
|
+
* Enhancements:
|
57
|
+
* Added Rake::JavaExtensionTask#encoding= to pass the -encoding option to
|
58
|
+
javac.
|
59
|
+
[#157](https://github.com/rake-compiler/rake-compiler/pull/157) [Patch by Tiago Dias]
|
60
|
+
|
61
|
+
* Bugfixes:
|
62
|
+
* Drop EOL'd rubyforge_project directive from .gemspec.
|
63
|
+
[#155](https://github.com/rake-compiler/rake-compiler/pull/155) [Patch by Olle Jonsson]
|
64
|
+
|
65
|
+
### 1.0.7 / 2019-01-04
|
66
|
+
|
67
|
+
* Bugfixes:
|
68
|
+
* Fix a bug that JRuby class path detection is failed on
|
69
|
+
cross-compilation.
|
70
|
+
[#149](https://github.com/rake-compiler/rake-compiler/issues/149) [#151](https://github.com/rake-compiler/rake-compiler/pull/151) [Reported by Chalupa Petr][Patch by Prashant Vithani]
|
71
|
+
|
72
|
+
### 1.0.6 / 2018-12-23
|
73
|
+
|
74
|
+
* Enhancements:
|
75
|
+
* Stop to make unreleased Ruby installable.
|
76
|
+
[#150](https://github.com/rake-compiler/rake-compiler/issues/150) [Reported by MSP-Greg]
|
77
|
+
|
78
|
+
### 1.0.5 / 2018-08-31
|
79
|
+
|
80
|
+
* Enhancements:
|
81
|
+
* Improve JRuby class pass detection.
|
82
|
+
[#147](https://github.com/rake-compiler/rake-compiler/pull/147) [Patch by Prashant Vithani]
|
83
|
+
* Update the default source and target versions to Java 6.
|
84
|
+
[#148](https://github.com/rake-compiler/rake-compiler/pull/148) [Patch by Prashant Vithani]
|
85
|
+
|
86
|
+
### 1.0.4 / 2017-05-27
|
87
|
+
|
88
|
+
* Enhancements:
|
89
|
+
* Migrate to RSpec 3 from RSpec 2.
|
90
|
+
* Add more tests.
|
91
|
+
[#140](https://github.com/rake-compiler/rake-compiler/pull/140) [Patch by Lars Kanis]
|
92
|
+
* Support C++ source files by default.
|
93
|
+
[#141](https://github.com/rake-compiler/rake-compiler/pull/141) [Patch by Takashi Kokubun]
|
94
|
+
* Suppress warnings.
|
95
|
+
[#142](https://github.com/rake-compiler/rake-compiler/pull/142) [Patch by Akira Matsuda]
|
96
|
+
|
97
|
+
### 1.0.3 / 2016-12-02
|
98
|
+
|
99
|
+
* Enhancements:
|
100
|
+
* Support specifying required Ruby versions.
|
101
|
+
[#137](https://github.com/rake-compiler/rake-compiler/pull/137) [Patch by Lars Kanis]
|
102
|
+
|
103
|
+
### 1.0.2 / 2016-11-13
|
104
|
+
|
105
|
+
* Bugfixes:
|
106
|
+
* Fix Ruby version detection example code in README.
|
107
|
+
[#135](https://github.com/rake-compiler/rake-compiler/pull/135) [Patch by Nicolas Noble]
|
108
|
+
* Fix version detection.
|
109
|
+
[#136](https://github.com/rake-compiler/rake-compiler/pull/136) [Patch by Lars Kanis]
|
110
|
+
|
111
|
+
### 1.0.1 / 2016-06-21
|
112
|
+
|
113
|
+
* Bugfixes:
|
114
|
+
* Add missing dependency.
|
115
|
+
|
116
|
+
### 1.0.0 / 2016-06-21
|
117
|
+
|
118
|
+
* Enhancements:
|
119
|
+
* Really support extension in sub directory.
|
120
|
+
|
121
|
+
### 0.9.9 / 2016-05-10
|
122
|
+
|
123
|
+
* Bugfixes:
|
124
|
+
* Support Symbol as extension name again.
|
125
|
+
[#134](https://github.com/rake-compiler/rake-compiler/pull/134) [Patch by Takashi Kokubun]
|
126
|
+
|
127
|
+
### 0.9.8 / 2016-04-29
|
128
|
+
|
129
|
+
* Enhancements:
|
130
|
+
* Support extension in sub directory.
|
131
|
+
[#128](https://github.com/rake-compiler/rake-compiler/pull/128), [#129](https://github.com/rake-compiler/rake-compiler/pull/129) [Patch by Kenta Murata]
|
132
|
+
|
133
|
+
### 0.9.7 / 2016-03-16
|
134
|
+
|
135
|
+
* Bugfixes:
|
136
|
+
* May fix "make" detection on Windows.
|
137
|
+
[#123](https://github.com/rake-compiler/rake-compiler/issues/123) [Reported by Aaron Stone]
|
138
|
+
|
139
|
+
### 0.9.6 / 2016-03-04
|
140
|
+
|
141
|
+
* Enhancements:
|
142
|
+
* Add more descriptions into README.
|
143
|
+
Closes [#105](https://github.com/rake-compiler/rake-compiler/pull/105) [Patch by Aaron Stone]
|
144
|
+
* Remove needless executable bits.
|
145
|
+
Closes [#107](https://github.com/rake-compiler/rake-compiler/pull/107) [Patch by Thibault Jouan]
|
146
|
+
* Update .gitignore.
|
147
|
+
Closes [#108](https://github.com/rake-compiler/rake-compiler/pull/108) [Patch by Thibault Jouan]
|
148
|
+
* Improve "make" detection on some platforms such as FreeBSD.
|
149
|
+
Closes [#109](https://github.com/rake-compiler/rake-compiler/pull/109) [Patch by Thibault Jouan]
|
150
|
+
* Enable cucumber steps for POSIX on *BSD.
|
151
|
+
Closes [#110](https://github.com/rake-compiler/rake-compiler/pull/110) [Patch by Thibault Jouan]
|
152
|
+
* Stop to build bundled extensions.
|
153
|
+
* Add description about CLI option into README.
|
154
|
+
Closes [#115](https://github.com/rake-compiler/rake-compiler/pull/115) [Patch by Richard Michael]
|
155
|
+
* Update description about using rake-compiler on virtual machine in
|
156
|
+
README.
|
157
|
+
Closes [#116](https://github.com/rake-compiler/rake-compiler/pull/116), [#117](https://github.com/rake-compiler/rake-compiler/pull/117) [Patch by Lars Kanis]
|
158
|
+
* Update fake mechanism to be compatible with Bundler.
|
159
|
+
Closes [#121](https://github.com/rake-compiler/rake-compiler/pull/121) [Patch by Lars Kanis]
|
160
|
+
|
161
|
+
* Bugfixes:
|
162
|
+
* Fix typos in README.
|
163
|
+
Closes [#102](https://github.com/rake-compiler/rake-compiler/pull/102), [#103](https://github.com/rake-compiler/rake-compiler/pull/103) [Patch by Robert Fletcher]
|
164
|
+
|
165
|
+
### 0.9.5 / 2015-01-03
|
166
|
+
|
167
|
+
* Enhancements:
|
168
|
+
* Support adding bundled files in cross_compiling block.
|
169
|
+
Closes [#100](https://github.com/rake-compiler/rake-compiler/pull/100) [Patch by Aaron Stone]
|
170
|
+
|
171
|
+
### 0.9.4 / 2014-12-28
|
172
|
+
|
173
|
+
* Notes:
|
174
|
+
* Change maintainer to Kouhei Sutou from Luis Lavena.
|
175
|
+
Thanks Luis Lavena for your great works!
|
176
|
+
* Change repository to https://github.com/rake-compiler/rake-compiler
|
177
|
+
from https://github.com/luislavena/rake-compiler .
|
178
|
+
|
179
|
+
* Bugfixes:
|
180
|
+
* Loose RubyGems dependency a little bit to ease old Debian/Ubuntu.
|
181
|
+
Closes [#93](https://github.com/rake-compiler/rake-compiler/issues/93)
|
182
|
+
|
183
|
+
### 0.9.3 / 2014-08-03
|
184
|
+
|
185
|
+
* Bugfixes:
|
186
|
+
* Fix specs to run (and pass) on Ruby 2.1 and beyond.
|
187
|
+
Pull [#94](https://github.com/rake-compiler/rake-compiler/pull/94) [hggh]
|
188
|
+
|
189
|
+
### 0.9.2 / 2013-11-14
|
190
|
+
|
191
|
+
* Bugfixes:
|
192
|
+
* Pre-load resolver to avoid Bundler blow up during cross-compilation
|
193
|
+
Pull [#83](https://github.com/rake-compiler/rake-compiler/pull/83) [larskanis]
|
194
|
+
|
195
|
+
### 0.9.1 / 2013-08-03
|
196
|
+
|
197
|
+
* Bugfixes:
|
198
|
+
* Restore compatibility with RubyGems platforms for cross-compilation
|
199
|
+
(i386-mingw32 and x86-mingw32 are the same and supported)
|
200
|
+
|
201
|
+
### 0.9.0 / 2013-08-03
|
202
|
+
|
203
|
+
* Enhancements:
|
204
|
+
* Add support for cross-builds and multiple platforms (x86/x64).
|
205
|
+
Pull [#74](https://github.com/rake-compiler/rake-compiler/pull/74) [larskanis]
|
206
|
+
|
207
|
+
```text
|
208
|
+
$ rake-compiler cross-ruby VERSION=1.8.7-p371
|
209
|
+
$ rake-compiler cross-ruby VERSION=1.9.3-p392
|
210
|
+
$ rake-compiler cross-ruby VERSION=2.0.0-p0
|
211
|
+
$ rake-compiler cross-ruby VERSION=2.0.0-p0 HOST=x86_64-w64-mingw32
|
212
|
+
$ rake cross compile RUBY_CC_VERSION=1.8.7:1.9.3:2.0.0
|
213
|
+
|
214
|
+
# Rakefile
|
215
|
+
ext.cross_platform = %w[i386-mingw32 x64-mingw32]
|
216
|
+
```
|
217
|
+
|
218
|
+
* Support for cross-platform specific options. Pull [#74](https://github.com/rake-compiler/rake-compiler/pull/74) [larskanis]
|
219
|
+
|
220
|
+
```ruby
|
221
|
+
# Rakefile
|
222
|
+
ext.cross_config_options << "--with-common-option"
|
223
|
+
ext.cross_config_options << {"x64-mingw32" => "--enable-64bits"}
|
224
|
+
```
|
225
|
+
|
226
|
+
* Bugfixes:
|
227
|
+
* Correct fat-gems support caused by RubyGems issues. Pull [#76](https://github.com/rake-compiler/rake-compiler/pull/76) [knu]
|
228
|
+
|
229
|
+
* Deprecations:
|
230
|
+
* Requires minimum Ruby 1.8.7 and RubyGems 1.8.25
|
231
|
+
* Usage of 'i386-mswin32' needs to be changed to 'i386-mswin32-60'
|
232
|
+
|
233
|
+
### 0.9.0.pre.1 / 2013-05-05
|
234
|
+
|
235
|
+
See 0.9.0 changes.
|
236
|
+
|
237
|
+
### 0.8.3 / 2013-02-16
|
238
|
+
|
239
|
+
* Bugfixes:
|
240
|
+
* Support FreeBSD 'mingw32-gcc' cross compiler. Closes [#72](https://github.com/rake-compiler/rake-compiler/pull/72) [knu]
|
241
|
+
|
242
|
+
### 0.8.2 / 2013-01-11
|
243
|
+
|
244
|
+
* Bugfixes:
|
245
|
+
* Unset CC, LDFLAGS and CPPFLAGS prior cross-compiling. Closes [#55](https://github.com/rake-compiler/rake-compiler/issues/55)
|
246
|
+
|
247
|
+
### 0.8.1 / 2012-04-15
|
248
|
+
|
249
|
+
* Bugfixes:
|
250
|
+
* Raise error when either make or gmake could be found. Closes [#53](https://github.com/rake-compiler/rake-compiler/issues/53), [#54](https://github.com/rake-compiler/rake-compiler/pull/54)
|
251
|
+
|
252
|
+
### 0.8.0 / 2012-01-08
|
253
|
+
|
254
|
+
* Enhancements:
|
255
|
+
* Invocation from command line now support extra options similar to RubyGems.
|
256
|
+
Closes [#4](https://github.com/rake-compiler/rake-compiler/issues/4) from Pull [#47](https://github.com/rake-compiler/rake-compiler/pull/47) [jonforums]
|
257
|
+
|
258
|
+
$ rake compile -- --with-opt-dir=/opt/local
|
259
|
+
|
260
|
+
* Bugfixes:
|
261
|
+
* Only emit cross-compilation warnings for C when `cross` is invoked.
|
262
|
+
Closes [#16](https://github.com/rake-compiler/rake-compiler/issues/16) from Pull [#48](https://github.com/rake-compiler/rake-compiler/pull/48) [mvz]
|
263
|
+
* Only emit warnings when invoking cross-compilation tasks for JRuby.
|
264
|
+
Pull [#45](https://github.com/rake-compiler/rake-compiler/pull/45) [jfirebaugh]
|
265
|
+
* Use x86 MinGW cross-compiler. Pull [#49](https://github.com/rake-compiler/rake-compiler/pull/49) [larskanis]
|
266
|
+
|
267
|
+
### 0.7.9 / 2011-06-08
|
268
|
+
|
269
|
+
* Enhancements:
|
270
|
+
* Consistently use RubyGems features available since version 1.3.2 and avoid
|
271
|
+
deprecation warnings with Rake > 0.8.7.
|
272
|
+
|
273
|
+
* Bugfixes:
|
274
|
+
* Use correct platform in fake.rb. Pull [#39](https://github.com/rake-compiler/rake-compiler/pull/39) [kou]
|
275
|
+
* Workaround Gem::Specification and Gem::PackageTask limitations. Closes [#43](https://github.com/rake-compiler/rake-compiler/issues/43)
|
276
|
+
|
277
|
+
### 0.7.8 / 2011-04-26
|
278
|
+
|
279
|
+
* Enhancements:
|
280
|
+
* Bump default cross-ruby version to 1.8.7-p334.
|
281
|
+
* ExtensionTask now support config_includes to load additional directories.
|
282
|
+
[jfinkhaeuser]
|
283
|
+
|
284
|
+
```ruby
|
285
|
+
Rake::ExtensionTask.new("myext", GEM_SPEC) do |ext|
|
286
|
+
ext.config_includes << File.expand_path("my", "custom", "dir")
|
287
|
+
end
|
288
|
+
```
|
289
|
+
|
290
|
+
* Bugfixes:
|
291
|
+
* Warn if compiled files exists in extension's source directory. Closes [#35](https://github.com/rake-compiler/rake-compiler/issues/35)
|
292
|
+
* Workaround issue with WINE using proper build option. Closes [#37](https://github.com/rake-compiler/rake-compiler/issues/37)
|
293
|
+
* Use FileUtils#install instead of cp. Closes [#33](https://github.com/rake-compiler/rake-compiler/issues/33) [Eric Wong]
|
294
|
+
* Update README instructions for OSX. Closes [#29](https://github.com/rake-compiler/rake-compiler/issues/29) [tmm1]
|
295
|
+
|
296
|
+
### 0.7.7 / 2011-04-04
|
297
|
+
|
298
|
+
* Bugfixes:
|
299
|
+
* Use Winsock2 as default to match Ruby 1.9.2 library linking.
|
300
|
+
|
301
|
+
### 0.7.6 / 2011-02-04
|
302
|
+
|
303
|
+
* Bugfixes:
|
304
|
+
* Prefer Psych over Syck for YAML parsing on Ruby 1.9.2. [tenderlove]
|
305
|
+
|
306
|
+
### 0.7.5 / 2010-11-25
|
307
|
+
|
308
|
+
* Enhancements:
|
309
|
+
* Promoted stable version for cross-compilation to 1.8.6-p398. Closes [#19](https://github.com/rake-compiler/rake-compiler/issues/19)
|
310
|
+
|
311
|
+
* Bugfixes:
|
312
|
+
* Generate a fake.rb compatible with Ruby 1.9.2. Closes [#25](https://github.com/rake-compiler/rake-compiler/issues/25)
|
313
|
+
* fake.rb will not try to mimic Ruby's own fake to the letter. Closes [#28](https://github.com/rake-compiler/rake-compiler/issues/28)
|
314
|
+
* Expand symlinks for tmp_dir. Closes [#24](https://github.com/rake-compiler/rake-compiler/issues/24)
|
315
|
+
* Silence make output during rake-compiler invocation.
|
316
|
+
* Usage of Gem.ruby instead of RbConfig ruby_install_name
|
317
|
+
This solve issues with ruby vs. ruby.exe and jruby.exe
|
318
|
+
|
319
|
+
* Experimental:
|
320
|
+
* Allow setting of HOST during cross-compilation. This enable usage
|
321
|
+
of mingw-w64 compiler and not the first one found in the PATH.
|
322
|
+
|
323
|
+
rake-compiler cross-ruby VERSION=1.9.2-p0 HOST=i686-w64-mingw32
|
324
|
+
rake-compiler cross-ruby HOST=i386-mingw32 (OSX mingw32 port)
|
325
|
+
rake-compiler cross-ruby HOST=i586-pc-mingw32 (Debian/Ubuntu mingw32)
|
326
|
+
|
327
|
+
### 0.7.1 / 2010-08-07
|
328
|
+
|
329
|
+
* Bugfixes:
|
330
|
+
* Update gem files to make "gem install -t" works. Closes [#14](https://github.com/rake-compiler/rake-compiler/issues/14)
|
331
|
+
* Update mocks to work under 1.8.7. Closes [#15](https://github.com/rake-compiler/rake-compiler/issues/15) [luisparravicini]
|
332
|
+
* Do not allow cross-ruby be executed under Windows. Closes [#22](https://github.com/rake-compiler/rake-compiler/issues/22)
|
333
|
+
|
334
|
+
* Experimental:
|
335
|
+
* Allow JRuby to compile C extensions [timfel].
|
336
|
+
It is now possible compile C extensions using latest JRuby. Offered
|
337
|
+
in experimental mode since JRuby cext hasn't been officially released.
|
338
|
+
|
339
|
+
### 0.7.0 / 2009-12-08
|
340
|
+
|
341
|
+
* Enhancements
|
342
|
+
* Allow generation of JRuby extensions. Thanks to Alex Coles (myabc) for the
|
343
|
+
contribution.
|
344
|
+
This will allow, with proper JDK tools, cross compilation of JRuby gems
|
345
|
+
from MRI.
|
346
|
+
|
347
|
+
```ruby
|
348
|
+
Rake::JavaExtensionTask.new('my_java_extension', GEM_SPEC) do |ext|
|
349
|
+
# most of ExtensionTask options can be used
|
350
|
+
# plus, java_compiling:
|
351
|
+
ext.java_compiling do |gem_spec|
|
352
|
+
gem_spec.post_install_message = "This is a native JRuby gem!"
|
353
|
+
end
|
354
|
+
end
|
355
|
+
```
|
356
|
+
|
357
|
+
Please note that cross-compiling JRuby gems requires either JRUBY_HOME or
|
358
|
+
JRUBY_PARENT_CLASSPATH environment variables being properly set.
|
359
|
+
|
360
|
+
* Allow alteration of the Gem Specification when cross compiling. Closes [#3](https://github.com/rake-compiler/rake-compiler/issues/3)
|
361
|
+
This is useful to indicate a custom requirement message, like DLLs
|
362
|
+
installation or similar.
|
363
|
+
|
364
|
+
```ruby
|
365
|
+
Rake::ExtensionTask.new('my_extension', GEM_SPEC) do |ext|
|
366
|
+
ext.cross_compile = true
|
367
|
+
# ...
|
368
|
+
ext.cross_compiling do |gem_spec|
|
369
|
+
gem_spec.post_install_message = "You've installed a binary version of this gem"
|
370
|
+
end
|
371
|
+
end
|
372
|
+
```
|
373
|
+
|
374
|
+
* Bugfixes
|
375
|
+
* Detect GNU make independently of distribution based naming.
|
376
|
+
Thanks to flori for patches.
|
377
|
+
* Usage of #dup to duplicate gemspec instead of YAML dumping.
|
378
|
+
* No longer support Ruby older than 1.8.6
|
379
|
+
* No longer support RubyGems older than 1.3.5
|
380
|
+
* Force definition of binary directory and executables. Closes [#11](https://github.com/rake-compiler/rake-compiler/issues/11)
|
381
|
+
* Workaround path with spaces issues using relative paths. Closes [#6](https://github.com/rake-compiler/rake-compiler/issues/6)
|
382
|
+
* Removed gemspec, GitHub gems no more
|
383
|
+
|
384
|
+
* Known issues
|
385
|
+
* Usage of rake-compiler under projects with Jeweler requires some tweaks
|
386
|
+
Please read issue 73) for Jeweler:
|
387
|
+
http://github.com/technicalpickles/jeweler/issues/73
|
388
|
+
|
389
|
+
For a workaround, look here:
|
390
|
+
http://gist.github.com/251663
|
391
|
+
|
392
|
+
### 0.6.0 / 2009-07-25
|
393
|
+
|
394
|
+
* Enhancements
|
395
|
+
* Implemented 'fat-binaries' generation for cross compiling
|
396
|
+
(for now). Thanks to Aaron Patterson for the suggestion and
|
397
|
+
original idea.
|
398
|
+
|
399
|
+
rake cross native gem RUBY_CC_VERSION=1.8.6:1.9.1
|
400
|
+
|
401
|
+
Will package extensions for 1.8 and 1.9 versions of Ruby.
|
402
|
+
* Can now cross compile extensions for 1.9 using 1.8.x as base.
|
403
|
+
Be warned: works from 1.8 to 1.9, but not if your default ruby is 1.9
|
404
|
+
|
405
|
+
rake cross compile RUBY_CC_VERSION=1.9.1
|
406
|
+
|
407
|
+
* Allow simultaneous versions of Ruby to compile extensions.
|
408
|
+
This change allow 1.8.x compiles co-exist with 1.9.x ones
|
409
|
+
and don't override each other.
|
410
|
+
|
411
|
+
Please perform <tt>rake clobber</tt> prior compiling again.
|
412
|
+
* Allow optional source file URL for cross-compile tasks.
|
413
|
+
(Thanks to deepj for the patches)
|
414
|
+
|
415
|
+
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
|
416
|
+
|
417
|
+
* Bugfixes
|
418
|
+
* Removed strict versioning for gems since it clash with fat binaries.
|
419
|
+
From now on, if your gem only targets a specific version of Ruby, please
|
420
|
+
indicate it in the Gem::Specification (<tt>required_ruby_version</tt>)
|
421
|
+
|
422
|
+
### 0.5.0 / 2009-04-25
|
423
|
+
|
424
|
+
* Enhancements
|
425
|
+
* Allow generation of multiple gems for Windows (EXPERIMENTAL)
|
426
|
+
This allows build gems for both VC6 and MinGW builts of Ruby
|
427
|
+
(Thanks to Jonathan Stott for the suggestion)
|
428
|
+
|
429
|
+
```ruby
|
430
|
+
Rake::ExtensionTask.new('my_extension', GEM_SPEC) do |ext|
|
431
|
+
ext.cross_compile = true
|
432
|
+
ext.cross_platform = ['i386-mswin32', 'i386-mingw32']
|
433
|
+
end
|
434
|
+
```
|
435
|
+
|
436
|
+
### 0.4.1 / 2009-04-09
|
437
|
+
|
438
|
+
* Enhancements
|
439
|
+
* Target specific versions of Ruby when generating binaries.
|
440
|
+
This avoids installing a 1.8.x binary gem in 1.9.x and viceversa.
|
441
|
+
(Thanks to Aaron Patterson for the patches)
|
442
|
+
|
443
|
+
* Bugfixes
|
444
|
+
* No longer raises error if rake-compiler configuration is missing.
|
445
|
+
Not all users of a project would have it installed.
|
446
|
+
(Thanks to Aaron Patterson for the patch)
|
447
|
+
|
448
|
+
### 0.4.0 / 2009-04-03
|
449
|
+
|
450
|
+
* Enhancements
|
451
|
+
* Bended the convention for extension folder.
|
452
|
+
Defining <tt>ext_dir</tt> for custom extension location.
|
453
|
+
|
454
|
+
```ruby
|
455
|
+
Rake::ExtensionTask.new('my_extension') do |ext|
|
456
|
+
ext.ext_dir = 'custom/location' # look into custom/location
|
457
|
+
end # instead of ext/my_extension
|
458
|
+
```
|
459
|
+
|
460
|
+
* Better detection of mingw target across Linux/OSX.
|
461
|
+
Exposed it as Rake::ExtensionCompiler
|
462
|
+
* Display list of available tasks when calling rake-compiler script
|
463
|
+
* Track Ruby full versioning (x.y.z).
|
464
|
+
This will help the compilation of extensions targetting 1.8.6/7 and 1.9.1
|
465
|
+
|
466
|
+
* Bugfixes
|
467
|
+
* Better output of Rake development tasks (Thanks to Luis Parravicini).
|
468
|
+
* Proper usage of Gem::Platform for native gems (Thanks to Dirkjan Bussink).
|
469
|
+
* Don't use autoload for YAML (present problems with Ruby 1.9.1).
|
470
|
+
|
471
|
+
### 0.3.1 / 2009-01-09
|
472
|
+
|
473
|
+
* Enhancements
|
474
|
+
* Download cross-ruby source code using HTTP instead of FTP.
|
475
|
+
* Disabled Tcl/Tk extension building on cross-ruby (helps with 1.9).
|
476
|
+
|
477
|
+
* Bugfixes
|
478
|
+
* Workaround bug introduced by lack of Gem::Specification cloning. Fixes DM LH #757.
|
479
|
+
* Use proper binary extension on OSX (reported by Dirkjan Bussink).
|
480
|
+
* Ensure lib/binary task is defined prior clear of requisites.
|
481
|
+
|
482
|
+
### 0.3.0 / 2008-12-07
|
483
|
+
|
484
|
+
* New features
|
485
|
+
* Let you specify the Ruby version used for cross compilation instead
|
486
|
+
of default one.
|
487
|
+
|
488
|
+
rake cross compile RUBY_CC_VERSION=1.8
|
489
|
+
|
490
|
+
* Enhancements
|
491
|
+
* Properly update rake-compiler configuration when new version is installed.
|
492
|
+
* Automated release process to RubyForge, yay!
|
493
|
+
|
494
|
+
* Bugfixes
|
495
|
+
* Corrected documentation to reflect the available options
|
496
|
+
|
497
|
+
### 0.2.1 / 2008-11-30
|
498
|
+
|
499
|
+
* New features
|
500
|
+
|
501
|
+
* Allow cross compilation (cross compile) using mingw32 on Linux or OSX.
|
502
|
+
* Allow packaging of gems for Windows on Linux or OSX.
|
503
|
+
|
504
|
+
* Enhancements
|
505
|
+
|
506
|
+
* Made generation of extensions safe and target folders per-platform
|
507
|
+
|
508
|
+
* Bugfixes
|
509
|
+
|
510
|
+
* Ensure binaries for the specific platform are copied before packaging.
|
data/lib/rake/extensiontask.rb
CHANGED
@@ -23,9 +23,10 @@ module Rake
|
|
23
23
|
@cross_compile = false
|
24
24
|
@cross_config_options = []
|
25
25
|
@cross_compiling = nil
|
26
|
-
@no_native =
|
26
|
+
@no_native = (ENV["RAKE_EXTENSION_TASK_NO_NATIVE"] == "true")
|
27
27
|
@config_includes = []
|
28
|
-
|
28
|
+
# Default to an empty list of ruby versions for each platform
|
29
|
+
@ruby_versions_per_platform = Hash.new { |h, k| h[k] = [] }
|
29
30
|
@make = nil
|
30
31
|
end
|
31
32
|
|
@@ -46,15 +47,6 @@ module Rake
|
|
46
47
|
end
|
47
48
|
|
48
49
|
def define
|
49
|
-
if (defined?(RUBY_ENGINE) && RUBY_ENGINE == 'ironruby')
|
50
|
-
warn_once <<-EOF
|
51
|
-
WARNING: You're attempting to (cross-)compile C extensions from a platform
|
52
|
-
(#{RUBY_ENGINE}) that does not support native extensions or mkmf.rb.
|
53
|
-
Rerun `rake` under MRI Ruby 1.8.x/1.9.x to cross/native compile.
|
54
|
-
EOF
|
55
|
-
return
|
56
|
-
end
|
57
|
-
|
58
50
|
super
|
59
51
|
|
60
52
|
unless compiled_files.empty?
|
@@ -124,6 +116,7 @@ Rerun `rake` under MRI Ruby 1.8.x/1.9.x to cross/native compile.
|
|
124
116
|
tmp_path = "#{@tmp_dir}/#{platf}/#{@name}/#{ruby_ver}"
|
125
117
|
stage_path = "#{@tmp_dir}/#{platf}/stage"
|
126
118
|
|
119
|
+
siteconf_path = "#{tmp_path}/.rake-compiler-siteconf.rb"
|
127
120
|
tmp_binary_path = "#{tmp_path}/#{binary_path}"
|
128
121
|
tmp_binary_dir_path = File.dirname(tmp_binary_path)
|
129
122
|
stage_binary_path = "#{stage_path}/#{lib_path}/#{binary_path}"
|
@@ -141,10 +134,27 @@ Rerun `rake` under MRI Ruby 1.8.x/1.9.x to cross/native compile.
|
|
141
134
|
directory lib_binary_dir_path
|
142
135
|
directory stage_binary_dir_path
|
143
136
|
|
137
|
+
directory File.dirname(siteconf_path)
|
138
|
+
# Set paths for "make install" destinations
|
139
|
+
file siteconf_path => File.dirname(siteconf_path) do
|
140
|
+
File.open(siteconf_path, "w") do |siteconf|
|
141
|
+
siteconf.puts "require 'rbconfig'"
|
142
|
+
siteconf.puts "require 'mkmf'"
|
143
|
+
siteconf.puts "dest_path = mkintpath(#{File.expand_path(lib_path).dump})"
|
144
|
+
%w[sitearchdir sitelibdir].each do |dir|
|
145
|
+
siteconf.puts "RbConfig::MAKEFILE_CONFIG['#{dir}'] = dest_path"
|
146
|
+
siteconf.puts "RbConfig::CONFIG['#{dir}'] = dest_path"
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
144
151
|
# copy binary from temporary location to final lib
|
145
152
|
# tmp/extension_name/extension_name.{so,bundle} => lib/
|
146
|
-
task "copy:#{@name}:#{platf}:#{ruby_ver}" => [lib_binary_dir_path, tmp_binary_path] do
|
147
|
-
install
|
153
|
+
task "copy:#{@name}:#{platf}:#{ruby_ver}" => [lib_binary_dir_path, tmp_binary_path, "#{tmp_path}/Makefile"] do
|
154
|
+
# install in lib for native platform only
|
155
|
+
unless for_platform
|
156
|
+
sh "#{make} install", chdir: tmp_path
|
157
|
+
end
|
148
158
|
end
|
149
159
|
# copy binary from temporary location to staging directory
|
150
160
|
task "copy:#{@name}:#{platf}:#{ruby_ver}" => [stage_binary_dir_path, tmp_binary_path] do
|
@@ -173,12 +183,12 @@ Java extension should be preferred.
|
|
173
183
|
|
174
184
|
# makefile depends of tmp_dir and config_script
|
175
185
|
# tmp/extension_name/Makefile
|
176
|
-
file "#{tmp_path}/Makefile" => [tmp_path, extconf] do |t|
|
186
|
+
file "#{tmp_path}/Makefile" => [tmp_path, extconf, siteconf_path] do |t|
|
177
187
|
options = @config_options.dup
|
178
188
|
|
179
189
|
# include current directory
|
180
190
|
include_dirs = ['.'].concat(@config_includes).uniq.join(File::PATH_SEPARATOR)
|
181
|
-
cmd = [Gem.ruby, "-I#{include_dirs}"]
|
191
|
+
cmd = [Gem.ruby, "-I#{include_dirs}", "-r#{File.basename(siteconf_path)}"]
|
182
192
|
|
183
193
|
# build a relative path to extconf script
|
184
194
|
abs_tmp_path = (Pathname.new(Dir.pwd) + tmp_path).realpath
|
@@ -243,6 +253,9 @@ Java extension should be preferred.
|
|
243
253
|
# lib_path
|
244
254
|
lib_path = lib_dir
|
245
255
|
|
256
|
+
# Update compiled platform/version combinations
|
257
|
+
@ruby_versions_per_platform[platf] << ruby_ver
|
258
|
+
|
246
259
|
# create 'native:gem_name' and chain it to 'native' task
|
247
260
|
unless Rake::Task.task_defined?("native:#{@gem_spec.name}:#{platf}")
|
248
261
|
task "native:#{@gem_spec.name}:#{platf}" do |t|
|
@@ -255,7 +268,7 @@ Java extension should be preferred.
|
|
255
268
|
spec.platform = Gem::Platform.new(platf)
|
256
269
|
|
257
270
|
# set ruby version constraints
|
258
|
-
ruby_versions = @ruby_versions_per_platform[platf]
|
271
|
+
ruby_versions = @ruby_versions_per_platform[platf]
|
259
272
|
sorted_ruby_versions = ruby_versions.sort_by do |ruby_version|
|
260
273
|
ruby_version.split(".").collect(&:to_i)
|
261
274
|
end
|
@@ -358,8 +371,7 @@ Java extension should be preferred.
|
|
358
371
|
end
|
359
372
|
|
360
373
|
# Update cross compiled platform/version combinations
|
361
|
-
|
362
|
-
ruby_versions << version
|
374
|
+
@ruby_versions_per_platform[for_platform] << version
|
363
375
|
|
364
376
|
define_cross_platform_tasks_with_version(for_platform, version)
|
365
377
|
|
@@ -237,7 +237,7 @@ execute the Rake compilation task using the JRuby interpreter.
|
|
237
237
|
cpath = Java::java.lang.System.getProperty('java.class.path').split(File::PATH_SEPARATOR)
|
238
238
|
cpath += Java::java.lang.System.getProperty('sun.boot.class.path').split(File::PATH_SEPARATOR)
|
239
239
|
jruby_cpath = cpath.compact.join(File::PATH_SEPARATOR)
|
240
|
-
rescue
|
240
|
+
rescue
|
241
241
|
end
|
242
242
|
end
|
243
243
|
|
data/tasks/bin/cross-ruby.rake
CHANGED
@@ -41,106 +41,104 @@ end
|
|
41
41
|
require 'rake/extensioncompiler'
|
42
42
|
|
43
43
|
MAKE = ENV['MAKE'] || %w[gmake make].find { |c| system("#{c} -v > /dev/null 2>&1") }
|
44
|
-
USER_HOME = File.expand_path("~/.rake-compiler")
|
45
|
-
RUBY_CC_VERSION = "ruby-" << ENV.fetch("VERSION", "1.8.7-p371")
|
44
|
+
USER_HOME = File.realpath(File.expand_path("~/.rake-compiler"))
|
46
45
|
RUBY_SOURCE = ENV['SOURCE']
|
47
46
|
RUBY_BUILD = RbConfig::CONFIG["host"]
|
48
47
|
|
49
|
-
# grab the major "1.8" or "1.9" part of the version number
|
50
|
-
MAJOR = RUBY_CC_VERSION.match(/.*-(\d.\d).\d/)[1]
|
51
|
-
|
52
|
-
# Use Rake::ExtensionCompiler helpers to find the proper host
|
53
|
-
MINGW_HOST = ENV['HOST'] || Rake::ExtensionCompiler.mingw_host
|
54
|
-
MINGW_TARGET = MINGW_HOST.gsub('msvc', '')
|
55
|
-
|
56
48
|
# Unset any possible variable that might affect compilation
|
57
|
-
["
|
49
|
+
["RUBYOPT"].each do |var|
|
58
50
|
ENV.delete(var)
|
59
51
|
end
|
60
52
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
#
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
CLOBBER.include("#{USER_HOME}/
|
75
|
-
CLOBBER.include("#{USER_HOME}/
|
76
|
-
CLOBBER.include("#{USER_HOME}/config.yml")
|
53
|
+
RUBY_CC_VERSIONS = ENV.fetch("VERSION", "1.8.7-p371")
|
54
|
+
RUBY_CC_VERSIONS.split(":").each do |ruby_cc_version|
|
55
|
+
ruby_cc_version = "ruby-" + ruby_cc_version
|
56
|
+
# grab the major "1.8" or "1.9" part of the version number
|
57
|
+
major = ruby_cc_version.match(/.*-(\d.\d).\d/)[1]
|
58
|
+
|
59
|
+
# define a location where sources will be stored
|
60
|
+
source_dir = "#{USER_HOME}/sources/#{ruby_cc_version}"
|
61
|
+
directory source_dir
|
62
|
+
# clean intermediate files and folders
|
63
|
+
CLEAN.include(source_dir)
|
64
|
+
|
65
|
+
# remove the final products and sources
|
66
|
+
CLOBBER.include("#{USER_HOME}/sources")
|
67
|
+
CLOBBER.include("#{USER_HOME}/builds")
|
68
|
+
CLOBBER.include("#{USER_HOME}/config.yml")
|
69
|
+
|
70
|
+
# Extract the sources
|
71
|
+
source_file = RUBY_SOURCE ? RUBY_SOURCE.split('/').last : "#{ruby_cc_version}.tar.gz"
|
72
|
+
file source_dir => ["#{USER_HOME}/sources/#{source_file}"] do |t|
|
73
|
+
t.prerequisites.each { |f| sh "tar xf #{File.basename(f)}", chdir: File.dirname(t.name) }
|
74
|
+
end
|
77
75
|
|
78
|
-
# ruby source file should be stored there
|
79
|
-
file "#{USER_HOME}/sources/#{
|
80
|
-
|
81
|
-
chdir File.dirname(t.name) do
|
76
|
+
# ruby source file should be stored there
|
77
|
+
file "#{USER_HOME}/sources/#{ruby_cc_version}.tar.gz" => ["#{USER_HOME}/sources"] do |t|
|
78
|
+
# download the source file using wget or curl
|
82
79
|
if RUBY_SOURCE
|
83
80
|
url = RUBY_SOURCE
|
84
81
|
else
|
85
|
-
url = "http://cache.ruby-lang.org/pub/ruby/#{
|
82
|
+
url = "http://cache.ruby-lang.org/pub/ruby/#{major}/#{File.basename(t.name)}"
|
86
83
|
end
|
87
|
-
sh "wget #{url} || curl -O #{url}"
|
84
|
+
sh "wget #{url} || curl -O #{url}", chdir: File.dirname(t.name)
|
88
85
|
end
|
89
|
-
end
|
90
|
-
|
91
|
-
# Extract the sources
|
92
|
-
source_file = RUBY_SOURCE ? RUBY_SOURCE.split('/').last : "#{RUBY_CC_VERSION}.tar.bz2"
|
93
|
-
file source_dir => ["#{USER_HOME}/sources/#{source_file}"] do |t|
|
94
|
-
chdir File.dirname(t.name) do
|
95
|
-
t.prerequisites.each { |f| sh "tar xf #{File.basename(f)}" }
|
96
|
-
end
|
97
|
-
end
|
98
86
|
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
87
|
+
# Create tasks for each host out of the ":" separated hosts list in the HOST variable.
|
88
|
+
# These tasks are processed in parallel as dependencies to the "install" task.
|
89
|
+
mingw_hosts = ENV['HOST'] || Rake::ExtensionCompiler.mingw_host
|
90
|
+
mingw_hosts.split(":").each do |mingw_host|
|
91
|
+
|
92
|
+
# Use Rake::ExtensionCompiler helpers to find the proper host
|
93
|
+
mingw_target = mingw_host.gsub('msvc', '')
|
94
|
+
|
95
|
+
# define a location where built files for each host will be stored
|
96
|
+
build_dir = "#{USER_HOME}/builds/#{mingw_host}/#{ruby_cc_version}"
|
97
|
+
directory build_dir
|
98
|
+
install_dir = "#{USER_HOME}/ruby/#{mingw_host}/#{ruby_cc_version}"
|
99
|
+
|
100
|
+
# clean intermediate files and folders
|
101
|
+
CLEAN.include(build_dir)
|
102
|
+
CLOBBER.include(install_dir)
|
103
|
+
|
104
|
+
task :mingw32 do
|
105
|
+
unless mingw_host then
|
106
|
+
warn "You need to install mingw32 cross compile functionality to be able to continue."
|
107
|
+
warn "Please refer to your distribution/package manager documentation about installation."
|
108
|
+
fail
|
109
|
+
end
|
110
|
+
end
|
106
111
|
|
107
|
-
# generate the makefile in a clean build location
|
108
|
-
file "#{build_dir}/Makefile" => [build_dir, source_dir] do |t|
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
prefix = File.expand_path("../../../ruby/#{MINGW_HOST}/#{RUBY_CC_VERSION}")
|
125
|
-
options << "--prefix=#{prefix}"
|
126
|
-
sh File.expand_path("../../../sources/#{RUBY_CC_VERSION}/configure"), *options
|
127
|
-
end
|
128
|
-
end
|
112
|
+
# generate the makefile in a clean build location
|
113
|
+
file "#{build_dir}/Makefile" => [build_dir, source_dir] do |t|
|
114
|
+
|
115
|
+
options = [
|
116
|
+
"--host=#{mingw_host}",
|
117
|
+
"--target=#{mingw_target}",
|
118
|
+
"--build=#{RUBY_BUILD}",
|
119
|
+
'--enable-shared',
|
120
|
+
'--disable-install-doc',
|
121
|
+
'--with-ext=',
|
122
|
+
]
|
123
|
+
|
124
|
+
# Force Winsock2 for Ruby 1.8, 1.9 defaults to it
|
125
|
+
options << "--with-winsock2" if major == "1.8"
|
126
|
+
options << "--prefix=#{install_dir}"
|
127
|
+
sh File.expand_path("#{USER_HOME}/sources/#{ruby_cc_version}/configure"), *options, chdir: File.dirname(t.name)
|
128
|
+
end
|
129
129
|
|
130
|
-
# make
|
131
|
-
file "#{build_dir}/ruby.exe" => ["#{build_dir}/Makefile"] do |t|
|
132
|
-
|
133
|
-
|
134
|
-
end
|
135
|
-
end
|
130
|
+
# make
|
131
|
+
file "#{build_dir}/ruby.exe" => ["#{build_dir}/Makefile"] do |t|
|
132
|
+
sh MAKE, chdir: File.dirname(t.prerequisites.first)
|
133
|
+
end
|
136
134
|
|
137
|
-
# make install
|
138
|
-
file "#{USER_HOME}/ruby/#{
|
139
|
-
|
140
|
-
|
135
|
+
# make install
|
136
|
+
file "#{USER_HOME}/ruby/#{mingw_host}/#{ruby_cc_version}/bin/ruby.exe" => ["#{build_dir}/ruby.exe"] do |t|
|
137
|
+
sh "#{MAKE} install", chdir: File.dirname(t.prerequisites.first)
|
138
|
+
end
|
139
|
+
multitask :install => ["#{USER_HOME}/ruby/#{mingw_host}/#{ruby_cc_version}/bin/ruby.exe"]
|
141
140
|
end
|
142
141
|
end
|
143
|
-
task :install => ["#{USER_HOME}/ruby/#{MINGW_HOST}/#{RUBY_CC_VERSION}/bin/ruby.exe"]
|
144
142
|
|
145
143
|
desc "Update rake-compiler list of installed Ruby versions"
|
146
144
|
task 'update-config' do
|
@@ -187,5 +185,5 @@ task :default do
|
|
187
185
|
Rake.application.display_tasks_and_comments
|
188
186
|
end
|
189
187
|
|
190
|
-
desc "Build
|
188
|
+
desc "Build rubies suitable for cross-platform development."
|
191
189
|
task 'cross-ruby' => [:mingw32, :install, 'update-config']
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake-compiler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kouhei Sutou
|
8
8
|
- Luis Lavena
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-12-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
@@ -79,10 +79,10 @@ extensions: []
|
|
79
79
|
extra_rdoc_files:
|
80
80
|
- README.md
|
81
81
|
- LICENSE.txt
|
82
|
-
- History.
|
82
|
+
- History.md
|
83
83
|
files:
|
84
84
|
- Gemfile
|
85
|
-
- History.
|
85
|
+
- History.md
|
86
86
|
- LICENSE.txt
|
87
87
|
- README.md
|
88
88
|
- Rakefile
|
@@ -126,7 +126,7 @@ homepage: https://github.com/rake-compiler/rake-compiler
|
|
126
126
|
licenses:
|
127
127
|
- MIT
|
128
128
|
metadata: {}
|
129
|
-
post_install_message:
|
129
|
+
post_install_message:
|
130
130
|
rdoc_options:
|
131
131
|
- "--main"
|
132
132
|
- README.md
|
@@ -145,8 +145,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
145
145
|
- !ruby/object:Gem::Version
|
146
146
|
version: 1.8.23
|
147
147
|
requirements: []
|
148
|
-
rubygems_version: 3.
|
149
|
-
signing_key:
|
148
|
+
rubygems_version: 3.3.0.dev
|
149
|
+
signing_key:
|
150
150
|
specification_version: 4
|
151
151
|
summary: Rake-based Ruby Extension (C, Java) task generator.
|
152
152
|
test_files: []
|
data/History.txt
DELETED
@@ -1,473 +0,0 @@
|
|
1
|
-
=== 1.1.1 / 2020-07-10
|
2
|
-
|
3
|
-
* Changes:
|
4
|
-
* Bump the default Java bytecode to 1.7.
|
5
|
-
#172 [Patch by Charles Oliver Nutter]
|
6
|
-
|
7
|
-
* Enhancements:
|
8
|
-
* Add support for finding x86_64 MinGW GCC.
|
9
|
-
#164 [Patch by Lars Kanis]
|
10
|
-
* Strip cross compiled shared library automatically.
|
11
|
-
#165 [Patch by Lars Kanis]
|
12
|
-
|
13
|
-
=== 1.1.0 / 2019-12-25
|
14
|
-
|
15
|
-
* Bugfixes:
|
16
|
-
* Fix a bug that JavaExtenstionTask can't build anything.
|
17
|
-
#163 [Reported by Kai Kuchenbecker]
|
18
|
-
|
19
|
-
=== 1.0.9 / 2019-12-23
|
20
|
-
|
21
|
-
* Changes:
|
22
|
-
* Use "-Xlint" option for JRuby native extension by default.
|
23
|
-
#158 [Patch by Stephen George]
|
24
|
-
|
25
|
-
* Enhancements:
|
26
|
-
* Make customizable compiler Xlint option for JRuby native extension.
|
27
|
-
#118 [Patch by Hiroshi Hatake]
|
28
|
-
* Add support for Ruby 2.7.
|
29
|
-
#161 [Reported by Masaki Hara]
|
30
|
-
|
31
|
-
=== 1.0.8 / 2019-09-21
|
32
|
-
|
33
|
-
* Enhancements:
|
34
|
-
* Added Rake::JavaExtensionTask#encoding= to pass the -encoding option to
|
35
|
-
javac.
|
36
|
-
#157 [Patch by Tiago Dias]
|
37
|
-
|
38
|
-
* Bugfixes:
|
39
|
-
* Drop EOL'd rubyforge_project directive from .gemspec.
|
40
|
-
#155 [Patch by Olle Jonsson]
|
41
|
-
|
42
|
-
=== 1.0.7 / 2019-01-04
|
43
|
-
|
44
|
-
* Bugfixes:
|
45
|
-
* Fix a bug that JRuby class path detection is failed on
|
46
|
-
cross-compilation.
|
47
|
-
#149 #151 [Reported by Chalupa Petr][Patch by Prashant Vithani]
|
48
|
-
|
49
|
-
=== 1.0.6 / 2018-12-23
|
50
|
-
|
51
|
-
* Enhancements:
|
52
|
-
* Stop to make unreleased Ruby installable.
|
53
|
-
#150 [Reported by MSP-Greg]
|
54
|
-
|
55
|
-
=== 1.0.5 / 2018-08-31
|
56
|
-
|
57
|
-
* Enhancements:
|
58
|
-
* Improve JRuby class pass detection.
|
59
|
-
#147 [Patch by Prashant Vithani]
|
60
|
-
* Update the default source and target versions to Java 6.
|
61
|
-
#148 [Patch by Prashant Vithani]
|
62
|
-
|
63
|
-
=== 1.0.4 / 2017-05-27
|
64
|
-
|
65
|
-
* Enhancements:
|
66
|
-
* Migrate to RSpec 3 from RSpec 2.
|
67
|
-
* Add more tests.
|
68
|
-
#140 [Patch by Lars Kanis]
|
69
|
-
* Support C++ source files by default.
|
70
|
-
#141 [Patch by Takashi Kokubun]
|
71
|
-
* Suppress warnings.
|
72
|
-
#142 [Patch by Akira Matsuda]
|
73
|
-
|
74
|
-
=== 1.0.3 / 2016-12-02
|
75
|
-
|
76
|
-
* Enhancements:
|
77
|
-
* Support specifying required Ruby versions.
|
78
|
-
#137 [Patch by Lars Kanis]
|
79
|
-
|
80
|
-
=== 1.0.2 / 2016-11-13
|
81
|
-
|
82
|
-
* Bugfixes:
|
83
|
-
* Fix Ruby version detection example code in README.
|
84
|
-
#135 [Patch by Nicolas Noble]
|
85
|
-
* Fix version detection.
|
86
|
-
#136 [Patch by Lars Kanis]
|
87
|
-
|
88
|
-
=== 1.0.1 / 2016-06-21
|
89
|
-
|
90
|
-
* Bugfixes:
|
91
|
-
* Add missing dependency.
|
92
|
-
|
93
|
-
=== 1.0.0 / 2016-06-21
|
94
|
-
|
95
|
-
* Enhancements:
|
96
|
-
* Really support extension in sub directory.
|
97
|
-
|
98
|
-
=== 0.9.9 / 2016-05-10
|
99
|
-
|
100
|
-
* Bugfixes:
|
101
|
-
* Support Symbol as extension name again.
|
102
|
-
#134 [Patch by Takashi Kokubun]
|
103
|
-
|
104
|
-
=== 0.9.8 / 2016-04-29
|
105
|
-
|
106
|
-
* Enhancements:
|
107
|
-
* Support extension in sub directory.
|
108
|
-
#128, #129 [Patch by Kenta Murata]
|
109
|
-
|
110
|
-
=== 0.9.7 / 2016-03-16
|
111
|
-
|
112
|
-
* Bugfixes:
|
113
|
-
* May fix "make" detection on Windows.
|
114
|
-
#123 [Reported by Aaron Stone]
|
115
|
-
|
116
|
-
=== 0.9.6 / 2016-03-04
|
117
|
-
|
118
|
-
* Enhancements:
|
119
|
-
* Add more descriptions into README.
|
120
|
-
Closes #105 [Patch by Aaron Stone]
|
121
|
-
* Remove needless executable bits.
|
122
|
-
Closes #107 [Patch by Thibault Jouan]
|
123
|
-
* Update .gitignore.
|
124
|
-
Closes #108 [Patch by Thibault Jouan]
|
125
|
-
* Improve "make" detection on some platforms such as FreeBSD.
|
126
|
-
Closes #109 [Patch by Thibault Jouan]
|
127
|
-
* Enable cucumber steps for POSIX on *BSD.
|
128
|
-
Closes #110 [Patch by Thibault Jouan]
|
129
|
-
* Stop to build bundled extensions.
|
130
|
-
* Add description about CLI option into README.
|
131
|
-
Closes #115 [Patch by Richard Michael]
|
132
|
-
* Update description about using rake-compiler on virtual machine in
|
133
|
-
README.
|
134
|
-
Closes #116, #117 [Patch by Lars Kanis]
|
135
|
-
* Update fake mechanism to be compatible with Bundler.
|
136
|
-
Closes #121 [Patch by Lars Kanis]
|
137
|
-
|
138
|
-
* Bugfixes:
|
139
|
-
* Fix typos in README.
|
140
|
-
Closes #102, #103 [Patch by Robert Fletcher]
|
141
|
-
|
142
|
-
=== 0.9.5 / 2015-01-03
|
143
|
-
|
144
|
-
* Enhancements:
|
145
|
-
* Support adding bundled files in cross_compiling block.
|
146
|
-
Closes #100 [Patch by Aaron Stone]
|
147
|
-
|
148
|
-
=== 0.9.4 / 2014-12-28
|
149
|
-
|
150
|
-
* Notes:
|
151
|
-
* Change maintainer to Kouhei Sutou from Luis Lavena.
|
152
|
-
Thanks Luis Lavena for your great works!
|
153
|
-
* Change repository to https://github.com/rake-compiler/rake-compiler
|
154
|
-
from https://github.com/luislavena/rake-compiler .
|
155
|
-
|
156
|
-
* Bugfixes:
|
157
|
-
* Loose RubyGems dependency a little bit to ease old Debian/Ubuntu.
|
158
|
-
Closes #93
|
159
|
-
|
160
|
-
=== 0.9.3 / 2014-08-03
|
161
|
-
|
162
|
-
* Bugfixes:
|
163
|
-
* Fix specs to run (and pass) on Ruby 2.1 and beyond.
|
164
|
-
Pull #94 [hggh]
|
165
|
-
|
166
|
-
=== 0.9.2 / 2013-11-14
|
167
|
-
|
168
|
-
* Bugfixes:
|
169
|
-
* Pre-load resolver to avoid Bundler blow up during cross-compilation
|
170
|
-
Pull #83 [larskanis]
|
171
|
-
|
172
|
-
=== 0.9.1 / 2013-08-03
|
173
|
-
|
174
|
-
* Bugfixes:
|
175
|
-
* Restore compatibility with RubyGems platforms for cross-compilation
|
176
|
-
(i386-mingw32 and x86-mingw32 are the same and supported)
|
177
|
-
|
178
|
-
=== 0.9.0 / 2013-08-03
|
179
|
-
|
180
|
-
* Enhancements:
|
181
|
-
* Add support for cross-builds and multiple platforms (x86/x64).
|
182
|
-
Pull #74 [larskanis]
|
183
|
-
|
184
|
-
$ rake-compiler cross-ruby VERSION=1.8.7-p371
|
185
|
-
$ rake-compiler cross-ruby VERSION=1.9.3-p392
|
186
|
-
$ rake-compiler cross-ruby VERSION=2.0.0-p0
|
187
|
-
$ rake-compiler cross-ruby VERSION=2.0.0-p0 HOST=x86_64-w64-mingw32
|
188
|
-
$ rake cross compile RUBY_CC_VERSION=1.8.7:1.9.3:2.0.0
|
189
|
-
|
190
|
-
# Rakefile
|
191
|
-
ext.cross_platform = %w[i386-mingw32 x64-mingw32]
|
192
|
-
|
193
|
-
* Support for cross-platform specific options. Pull #74 [larskanis]
|
194
|
-
|
195
|
-
# Rakefile
|
196
|
-
ext.cross_config_options << "--with-common-option"
|
197
|
-
ext.cross_config_options << {"x64-mingw32" => "--enable-64bits"}
|
198
|
-
|
199
|
-
* Bugfixes:
|
200
|
-
* Correct fat-gems support caused by RubyGems issues. Pull #76 [knu]
|
201
|
-
|
202
|
-
* Deprecations:
|
203
|
-
* Requires minimum Ruby 1.8.7 and RubyGems 1.8.25
|
204
|
-
* Usage of 'i386-mswin32' needs to be changed to 'i386-mswin32-60'
|
205
|
-
|
206
|
-
=== 0.9.0.pre.1 / 2013-05-05
|
207
|
-
|
208
|
-
See 0.9.0 changes.
|
209
|
-
|
210
|
-
=== 0.8.3 / 2013-02-16
|
211
|
-
|
212
|
-
* Bugfixes:
|
213
|
-
* Support FreeBSD 'mingw32-gcc' cross compiler. Closes #72 [knu]
|
214
|
-
|
215
|
-
=== 0.8.2 / 2013-01-11
|
216
|
-
|
217
|
-
* Bugfixes:
|
218
|
-
* Unset CC, LDFLAGS and CPPFLAGS prior cross-compiling. Closes #55
|
219
|
-
|
220
|
-
=== 0.8.1 / 2012-04-15
|
221
|
-
|
222
|
-
* Bugfixes:
|
223
|
-
* Raise error when either make or gmake could be found. Closes #53, #54
|
224
|
-
|
225
|
-
=== 0.8.0 / 2012-01-08
|
226
|
-
|
227
|
-
* Enhancements:
|
228
|
-
* Invocation from command line now support extra options similar to RubyGems.
|
229
|
-
Closes #4 from Pull #47 [jonforums]
|
230
|
-
|
231
|
-
$ rake compile -- --with-opt-dir=/opt/local
|
232
|
-
|
233
|
-
* Bugfixes:
|
234
|
-
* Only emit cross-compilation warnings for C when `cross` is invoked.
|
235
|
-
Closes #16 from Pull #48 [mvz]
|
236
|
-
* Only emit warnings when invoking cross-compilation tasks for JRuby.
|
237
|
-
Pull #45 [jfirebaugh]
|
238
|
-
* Use x86 MinGW cross-compiler. Pull #49 [larskanis]
|
239
|
-
|
240
|
-
=== 0.7.9 / 2011-06-08
|
241
|
-
|
242
|
-
* Enhancements:
|
243
|
-
* Consistently use RubyGems features available since version 1.3.2 and avoid
|
244
|
-
deprecation warnings with Rake > 0.8.7.
|
245
|
-
|
246
|
-
* Bugfixes:
|
247
|
-
* Use correct platform in fake.rb. Pull #39 [kou]
|
248
|
-
* Workaround Gem::Specification and Gem::PackageTask limitations. Closes #43
|
249
|
-
|
250
|
-
=== 0.7.8 / 2011-04-26
|
251
|
-
|
252
|
-
* Enhancements:
|
253
|
-
* Bump default cross-ruby version to 1.8.7-p334.
|
254
|
-
* ExtensionTask now support config_includes to load additional directories.
|
255
|
-
[jfinkhaeuser]
|
256
|
-
|
257
|
-
Rake::ExtensionTask.new("myext", GEM_SPEC) do |ext|
|
258
|
-
ext.config_includes << File.expand_path("my", "custom", "dir")
|
259
|
-
end
|
260
|
-
|
261
|
-
* Bugfixes:
|
262
|
-
* Warn if compiled files exists in extension's source directory. Closes GH-35
|
263
|
-
* Workaround issue with WINE using proper build option. Closes GH-37
|
264
|
-
* Use FileUtils#install instead of cp. Closes GH-33 [Eric Wong]
|
265
|
-
* Update README instructions for OSX. Closes GH-29 [tmm1]
|
266
|
-
|
267
|
-
=== 0.7.7 / 2011-04-04
|
268
|
-
|
269
|
-
* Bugfixes:
|
270
|
-
* Use Winsock2 as default to match Ruby 1.9.2 library linking.
|
271
|
-
|
272
|
-
=== 0.7.6 / 2011-02-04
|
273
|
-
|
274
|
-
* Bugfixes:
|
275
|
-
* Prefer Psych over Syck for YAML parsing on Ruby 1.9.2. [tenderlove]
|
276
|
-
|
277
|
-
=== 0.7.5 / 2010-11-25
|
278
|
-
|
279
|
-
* Enhancements:
|
280
|
-
* Promoted stable version for cross-compilation to 1.8.6-p398. Closes GH-19
|
281
|
-
|
282
|
-
* Bugfixes:
|
283
|
-
* Generate a fake.rb compatible with Ruby 1.9.2. Closes GH-25
|
284
|
-
* fake.rb will not try to mimic Ruby's own fake to the letter. Closes GH-28
|
285
|
-
* Expand symlinks for tmp_dir. Closes GH-24
|
286
|
-
* Silence make output during rake-compiler invocation.
|
287
|
-
* Usage of Gem.ruby instead of RbConfig ruby_install_name
|
288
|
-
This solve issues with ruby vs. ruby.exe and jruby.exe
|
289
|
-
|
290
|
-
* Experimental:
|
291
|
-
* Allow setting of HOST during cross-compilation. This enable usage
|
292
|
-
of mingw-w64 compiler and not the first one found in the PATH.
|
293
|
-
|
294
|
-
rake-compiler cross-ruby VERSION=1.9.2-p0 HOST=i686-w64-mingw32
|
295
|
-
rake-compiler cross-ruby HOST=i386-mingw32 (OSX mingw32 port)
|
296
|
-
rake-compiler cross-ruby HOST=i586-pc-mingw32 (Debian/Ubuntu mingw32)
|
297
|
-
|
298
|
-
=== 0.7.1 / 2010-08-07
|
299
|
-
|
300
|
-
* Bugfixes:
|
301
|
-
* Update gem files to make "gem install -t" works. Closes GH-14
|
302
|
-
* Update mocks to work under 1.8.7. Closes GH-15 [luisparravicini]
|
303
|
-
* Do not allow cross-ruby be executed under Windows. Closes GH-22
|
304
|
-
|
305
|
-
* Experimental:
|
306
|
-
* Allow JRuby to compile C extensions [timfel].
|
307
|
-
It is now possible compile C extensions using latest JRuby. Offered
|
308
|
-
in experimental mode since JRuby cext hasn't been officially released.
|
309
|
-
|
310
|
-
=== 0.7.0 / 2009-12-08
|
311
|
-
|
312
|
-
* Enhancements
|
313
|
-
* Allow generation of JRuby extensions. Thanks to Alex Coles (myabc) for the
|
314
|
-
contribution.
|
315
|
-
This will allow, with proper JDK tools, cross compilation of JRuby gems
|
316
|
-
from MRI.
|
317
|
-
|
318
|
-
Rake::JavaExtensionTask.new('my_java_extension', GEM_SPEC) do |ext|
|
319
|
-
# most of ExtensionTask options can be used
|
320
|
-
# plus, java_compiling:
|
321
|
-
ext.java_compiling do |gem_spec|
|
322
|
-
gem_spec.post_install_message = "This is a native JRuby gem!"
|
323
|
-
end
|
324
|
-
end
|
325
|
-
|
326
|
-
Please note that cross-compiling JRuby gems requires either JRUBY_HOME or
|
327
|
-
JRUBY_PARENT_CLASSPATH environment variables being properly set.
|
328
|
-
|
329
|
-
* Allow alteration of the Gem Specification when cross compiling. Closes GH-3
|
330
|
-
This is useful to indicate a custom requirement message, like DLLs
|
331
|
-
installation or similar.
|
332
|
-
|
333
|
-
Rake::ExtensionTask.new('my_extension', GEM_SPEC) do |ext|
|
334
|
-
ext.cross_compile = true
|
335
|
-
# ...
|
336
|
-
ext.cross_compiling do |gem_spec|
|
337
|
-
gem_spec.post_install_message = "You've installed a binary version of this gem"
|
338
|
-
end
|
339
|
-
end
|
340
|
-
|
341
|
-
* Bugfixes
|
342
|
-
* Detect GNU make independently of distribution based naming.
|
343
|
-
Thanks to flori for patches.
|
344
|
-
* Usage of #dup to duplicate gemspec instead of YAML dumping.
|
345
|
-
* No longer support Ruby older than 1.8.6
|
346
|
-
* No longer support RubyGems older than 1.3.5
|
347
|
-
* Force definition of binary directory and executables. Closes GH-11
|
348
|
-
* Workaround path with spaces issues using relative paths. Closes GH-6
|
349
|
-
* Removed gemspec, GitHub gems no more
|
350
|
-
|
351
|
-
* Known issues
|
352
|
-
* Usage of rake-compiler under projects with Jeweler requires some tweaks
|
353
|
-
Please read issue GH-73 for Jeweler:
|
354
|
-
http://github.com/technicalpickles/jeweler/issues#issue/73
|
355
|
-
|
356
|
-
For a workaround, look here:
|
357
|
-
http://gist.github.com/251663
|
358
|
-
|
359
|
-
=== 0.6.0 / 2009-07-25
|
360
|
-
|
361
|
-
* Enhancements
|
362
|
-
* Implemented 'fat-binaries' generation for cross compiling
|
363
|
-
(for now). Thanks to Aaron Patterson for the suggestion and
|
364
|
-
original idea.
|
365
|
-
|
366
|
-
rake cross native gem RUBY_CC_VERSION=1.8.6:1.9.1
|
367
|
-
|
368
|
-
Will package extensions for 1.8 and 1.9 versions of Ruby.
|
369
|
-
* Can now cross compile extensions for 1.9 using 1.8.x as base.
|
370
|
-
Be warned: works from 1.8 to 1.9, but not if your default ruby is 1.9
|
371
|
-
|
372
|
-
rake cross compile RUBY_CC_VERSION=1.9.1
|
373
|
-
|
374
|
-
* Allow simultaneous versions of Ruby to compile extensions.
|
375
|
-
This change allow 1.8.x compiles co-exist with 1.9.x ones
|
376
|
-
and don't override each other.
|
377
|
-
|
378
|
-
Please perform <tt>rake clobber</tt> prior compiling again.
|
379
|
-
* Allow optional source file URL for cross-compile tasks.
|
380
|
-
(Thanks to deepj for the patches)
|
381
|
-
|
382
|
-
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
|
383
|
-
|
384
|
-
* Bugfixes
|
385
|
-
* Removed strict versioning for gems since it clash with fat binaries.
|
386
|
-
From now on, if your gem only targets a specific version of Ruby, please
|
387
|
-
indicate it in the Gem::Specification (<tt>required_ruby_version</tt>)
|
388
|
-
|
389
|
-
=== 0.5.0 / 2009-04-25
|
390
|
-
|
391
|
-
* Enhancements
|
392
|
-
* Allow generation of multiple gems for Windows (EXPERIMENTAL)
|
393
|
-
This allows build gems for both VC6 and MinGW builts of Ruby
|
394
|
-
(Thanks to Jonathan Stott for the suggestion)
|
395
|
-
|
396
|
-
Rake::ExtensionTask.new('my_extension', GEM_SPEC) do |ext|
|
397
|
-
ext.cross_compile = true
|
398
|
-
ext.cross_platform = ['i386-mswin32', 'i386-mingw32']
|
399
|
-
end
|
400
|
-
|
401
|
-
=== 0.4.1 / 2009-04-09
|
402
|
-
|
403
|
-
* Enhancements
|
404
|
-
* Target specific versions of Ruby when generating binaries.
|
405
|
-
This avoids installing a 1.8.x binary gem in 1.9.x and viceversa.
|
406
|
-
(Thanks to Aaron Patterson for the patches)
|
407
|
-
|
408
|
-
* Bugfixes
|
409
|
-
* No longer raises error if rake-compiler configuration is missing.
|
410
|
-
Not all users of a project would have it installed.
|
411
|
-
(Thanks to Aaron Patterson for the patch)
|
412
|
-
|
413
|
-
=== 0.4.0 / 2009-04-03
|
414
|
-
|
415
|
-
* Enhancements
|
416
|
-
* Bended the convention for extension folder.
|
417
|
-
Defining <tt>ext_dir</tt> for custom extension location.
|
418
|
-
|
419
|
-
Rake::ExtensionTask.new('my_extension') do |ext|
|
420
|
-
ext.ext_dir = 'custom/location' # look into custom/location
|
421
|
-
end # instead of ext/my_extension
|
422
|
-
|
423
|
-
* Better detection of mingw target across Linux/OSX.
|
424
|
-
Exposed it as Rake::ExtensionCompiler
|
425
|
-
* Display list of available tasks when calling rake-compiler script
|
426
|
-
* Track Ruby full versioning (x.y.z).
|
427
|
-
This will help the compilation of extensions targetting 1.8.6/7 and 1.9.1
|
428
|
-
|
429
|
-
* Bugfixes
|
430
|
-
* Better output of Rake development tasks (Thanks to Luis Parravicini).
|
431
|
-
* Proper usage of Gem::Platform for native gems (Thanks to Dirkjan Bussink).
|
432
|
-
* Don't use autoload for YAML (present problems with Ruby 1.9.1).
|
433
|
-
|
434
|
-
=== 0.3.1 / 2009-01-09
|
435
|
-
|
436
|
-
* Enhancements
|
437
|
-
* Download cross-ruby source code using HTTP instead of FTP.
|
438
|
-
* Disabled Tcl/Tk extension building on cross-ruby (helps with 1.9).
|
439
|
-
|
440
|
-
* Bugfixes
|
441
|
-
* Workaround bug introduced by lack of Gem::Specification cloning. Fixes DM LH #757.
|
442
|
-
* Use proper binary extension on OSX (reported by Dirkjan Bussink).
|
443
|
-
* Ensure lib/binary task is defined prior clear of requisites.
|
444
|
-
|
445
|
-
=== 0.3.0 / 2008-12-07
|
446
|
-
|
447
|
-
* New features
|
448
|
-
* Let you specify the Ruby version used for cross compilation instead
|
449
|
-
of default one.
|
450
|
-
|
451
|
-
rake cross compile RUBY_CC_VERSION=1.8
|
452
|
-
|
453
|
-
* Enhancements
|
454
|
-
* Properly update rake-compiler configuration when new version is installed.
|
455
|
-
* Automated release process to RubyForge, yay!
|
456
|
-
|
457
|
-
* Bugfixes
|
458
|
-
* Corrected documentation to reflect the available options
|
459
|
-
|
460
|
-
=== 0.2.1 / 2008-11-30
|
461
|
-
|
462
|
-
* New features
|
463
|
-
|
464
|
-
* Allow cross compilation (cross compile) using mingw32 on Linux or OSX.
|
465
|
-
* Allow packaging of gems for Windows on Linux or OSX.
|
466
|
-
|
467
|
-
* Enhancements
|
468
|
-
|
469
|
-
* Made generation of extensions safe and target folders per-platform
|
470
|
-
|
471
|
-
* Bugfixes
|
472
|
-
|
473
|
-
* Ensure binaries for the specific platform are copied before packaging.
|