rake-compiler 0.7.5 → 0.7.6
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 +5 -0
- data/Isolate +0 -2
- data/LICENSE.txt +1 -1
- data/README.rdoc +143 -99
- data/lib/rake/baseextensiontask.rb +6 -0
- data/tasks/bin/cross-ruby.rake +6 -0
- data/tasks/gem.rake +4 -4
- metadata +13 -13
data/History.txt
CHANGED
data/Isolate
CHANGED
data/LICENSE.txt
CHANGED
data/README.rdoc
CHANGED
@@ -1,18 +1,24 @@
|
|
1
|
-
= rake-compiler
|
1
|
+
= What is rake-compiler?
|
2
2
|
|
3
|
-
rake-compiler
|
4
|
-
|
3
|
+
rake-compiler is first and foremost a productivity tool for Ruby developers.
|
4
|
+
It's goal is to make the busy developer's life easier by simplifying the building
|
5
|
+
and packaging of Ruby extensions by simplifying code and reducing duplication.
|
5
6
|
|
6
|
-
It
|
7
|
-
|
7
|
+
It follows *convention over configuration* by advocating a standardized build and
|
8
|
+
package structure for both C and Java based RubyGems.
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
10
|
+
rake-compiler is the result of many hard-won experiences dealing with several
|
11
|
+
diverse RubyGems that provided native extensions for different platforms and
|
12
|
+
different user configurations in different ways. Details such as differences in
|
13
|
+
code portability, differences in code clarity, and differences in project directory
|
14
|
+
structure often made it very difficult for newcomers to those RubyGems.
|
12
15
|
|
13
|
-
|
16
|
+
From these challenges, rake-compiler was born with the single-minded goal of
|
17
|
+
making the busy RubyGem developer's life much less difficult.
|
14
18
|
|
15
|
-
|
19
|
+
== Feature Overview
|
20
|
+
|
21
|
+
Some of the benefits rake-compiler provides include:
|
16
22
|
|
17
23
|
* No custom rake tasks required. Less code duplication and errors.
|
18
24
|
|
@@ -21,28 +27,30 @@ Let's summarize what rake-compiler provides:
|
|
21
27
|
* Painlessly build extensions for different Ruby implementations (JRuby,
|
22
28
|
Rubinius and MRI).
|
23
29
|
|
24
|
-
* Allow multiple extensions be compiled inside the same gem.
|
30
|
+
* Allow multiple extensions to be compiled inside the same gem.
|
25
31
|
|
26
|
-
*
|
32
|
+
* Painlessly build "fat" native gems for Windows users (from Linux or OSX).
|
27
33
|
|
28
|
-
*
|
34
|
+
* Mimics RubyGems standard installation process, helping as a test environment.
|
29
35
|
|
30
|
-
|
36
|
+
* Simplifies cross platform extension compilation (targeting Windows from Linux).
|
31
37
|
|
32
|
-
|
38
|
+
== OK, I'm sold! Show me how to install it!
|
33
39
|
|
34
|
-
|
40
|
+
Simple:
|
35
41
|
|
36
42
|
$ gem install rake-compiler
|
37
43
|
|
38
|
-
==
|
44
|
+
== That's easy. How do I use it?
|
39
45
|
|
40
|
-
Now that you have
|
46
|
+
Now that you have installed rake-compiler, it's time to give your project a
|
47
|
+
standardized structure.
|
41
48
|
|
42
|
-
===
|
49
|
+
=== Using a standardized project structure
|
43
50
|
|
44
|
-
Let's say
|
45
|
-
|
51
|
+
Let's say you want to compile an extension called 'hello_world'. Organizing
|
52
|
+
your project's code tree in the following way will help rake-compiler do
|
53
|
+
its job:
|
46
54
|
|
47
55
|
|-- ext
|
48
56
|
| `-- hello_world
|
@@ -52,12 +60,14 @@ organize the code and folders that will help rake-compiler do its job:
|
|
52
60
|
|-- lib
|
53
61
|
`-- Rakefile
|
54
62
|
|
55
|
-
TIP: Having a consistent
|
56
|
-
|
63
|
+
TIP: Having a consistent project directory structure will help developers and
|
64
|
+
newcomers find and understand your code, making it easier for them to
|
65
|
+
contribute back to your project.
|
57
66
|
|
58
|
-
=== Adding the code
|
67
|
+
=== Adding the code to enable rake-compiler
|
59
68
|
|
60
|
-
|
69
|
+
Now the fun part. It's time to introduce the code to your projects Rakefile
|
70
|
+
to tell it to use rake-compiler to build your extension:
|
61
71
|
|
62
72
|
# File: Rakefile
|
63
73
|
|
@@ -65,9 +75,11 @@ So now it's time to introduce the code to compile our extension:
|
|
65
75
|
|
66
76
|
Rake::ExtensionTask.new('hello_world')
|
67
77
|
|
68
|
-
|
78
|
+
That's it? Yes, that's it! No other lines of code are needed for
|
79
|
+
rake-compiler to work its magic.
|
69
80
|
|
70
|
-
If
|
81
|
+
If you want to do the same for a JRuby extension written in Java, it's just
|
82
|
+
as easy:
|
71
83
|
|
72
84
|
# File: Rakefile
|
73
85
|
|
@@ -75,37 +87,41 @@ If we wanted to do the same for a JRuby extension (written in Java):
|
|
75
87
|
|
76
88
|
Rake::JavaExtensionTask.new('hello_world')
|
77
89
|
|
78
|
-
===
|
90
|
+
=== The simple process
|
79
91
|
|
80
|
-
Those *two* lines of code automatically added the
|
81
|
-
|
92
|
+
Those *two* simple lines of code automatically added the Rake tasks needed to
|
93
|
+
build your 'hello_world' extension. For example, checking the Rake tasks on
|
94
|
+
MRI Ruby 1.8.x/1.9 returns something similar to:
|
82
95
|
|
83
96
|
$ rake -T
|
84
97
|
(in /home/user/my_extension)
|
85
98
|
rake compile # Compile the extension(s)
|
86
99
|
rake compile:hello_world # Compile just the hello_world extension
|
87
100
|
|
88
|
-
Simply calling <tt>compile</tt
|
101
|
+
Simply calling <tt>compile</tt> like
|
89
102
|
|
90
103
|
$ rake compile
|
91
104
|
|
92
|
-
|
93
|
-
<tt>lib</tt> directory.
|
105
|
+
performs the entire compile and build process for you and places the resulting
|
106
|
+
extension inside the <tt>lib</tt> directory of your project.
|
94
107
|
|
95
108
|
NOTE: Please be aware that building C extensions requires the proper
|
96
|
-
development environment for your Platform,
|
97
|
-
and build tools. Check your distro / vendor documentation on how to install
|
109
|
+
development environment for your Platform, including libraries, headers
|
110
|
+
and build tools. Check your distro / vendor documentation on how to install
|
111
|
+
these development resources.
|
98
112
|
|
99
113
|
NOTE: Building Java extensions requires the <tt>javac</tt>, part of the Java
|
100
114
|
Development Kit (JDK). This should be included by default on Mac OS X, and
|
101
115
|
downloadable from http://java.sun.com for other operating systems.
|
102
116
|
|
103
|
-
===
|
117
|
+
=== Generating native RubyGems
|
104
118
|
|
105
|
-
A common usage scenario
|
106
|
-
your extensions.
|
119
|
+
A common usage scenario for rake-compiler is generating native gems that
|
120
|
+
bundle your extensions. As mentioned above, if you have your development
|
121
|
+
environment configured correctly, the following examples work even when
|
122
|
+
building native gems on Windows systems.
|
107
123
|
|
108
|
-
|
124
|
+
Creating native gems is really easy with rake-compiler's <tt>Rake::ExtensionTask</tt>:
|
109
125
|
|
110
126
|
# somewhere in your Rakefile, define your gem spec
|
111
127
|
spec = Gem::Specification.new do |s|
|
@@ -115,13 +131,14 @@ This got over-simplified with <tt>Rake::ExtensionTask</tt>:
|
|
115
131
|
end
|
116
132
|
|
117
133
|
# add your default gem packing task
|
118
|
-
|
134
|
+
Gem::PackageTask.new(spec) do |pkg|
|
119
135
|
end
|
120
136
|
|
121
|
-
# feed
|
137
|
+
# feed the ExtensionTask with your spec
|
122
138
|
Rake::ExtensionTask.new('hello_world', spec)
|
123
139
|
|
124
|
-
|
140
|
+
As expected, you can still build your pure-ruby gem in the usual way
|
141
|
+
(standard output) by running:
|
125
142
|
|
126
143
|
$ rake gem
|
127
144
|
(in /projects/oss/my_gem.git)
|
@@ -132,7 +149,8 @@ Now, as usual, you can build your pure-ruby gem (standard output):
|
|
132
149
|
File: my_gem-0.1.0.gem
|
133
150
|
mv my_gem-0.1.0.gem pkg/my_gem-0.1.0.gem
|
134
151
|
|
135
|
-
Plus, you
|
152
|
+
Plus, rake-compiler tasks give you the extra functionality needed to build
|
153
|
+
native gems by running:
|
136
154
|
|
137
155
|
# rake native gem
|
138
156
|
(... compilation output ...)
|
@@ -148,9 +166,10 @@ Plus, you have the functionality to build native versions of the gem:
|
|
148
166
|
File: my_gem-0.1.0-x86-mingw32.gem
|
149
167
|
mv my_gem-0.1.0-x86-mingw32.gem pkg/my_gem-0.1.0-x86-mingw32.gem
|
150
168
|
|
151
|
-
|
169
|
+
Did you notice that you get two gems for the price of one? How's that for a
|
170
|
+
time saver?
|
152
171
|
|
153
|
-
|
172
|
+
Similarly, it's just as easy to do the same thing for JRuby extensions:
|
154
173
|
|
155
174
|
# rake java gem
|
156
175
|
(... compilation output ...)
|
@@ -167,72 +186,85 @@ And the same for JRuby extensions:
|
|
167
186
|
mv my_gem-0.1.0-java.gem pkg/my_gem-0.1.0-java.gem
|
168
187
|
|
169
188
|
|
170
|
-
===
|
189
|
+
=== Great, but can I use a non-standard project structure?
|
171
190
|
|
172
|
-
|
173
|
-
|
191
|
+
Yes you can! While the conventional project structure is recommended, you may
|
192
|
+
want, or need, to tweak those conventions. Rake-compiler allows you to customize
|
193
|
+
several settings for <tt>Rake::ExtensionTask</tt>:
|
174
194
|
|
175
195
|
Rake::ExtensionTask.new do |ext|
|
176
196
|
ext.name = 'hello_world' # indicate the name of the extension.
|
177
197
|
ext.ext_dir = 'ext/weird_world' # search for 'hello_world' inside it.
|
178
198
|
ext.lib_dir = 'lib/my_lib' # put binaries into this folder.
|
179
|
-
ext.config_script = 'custom_extconf.rb' # use instead of 'extconf.rb'
|
199
|
+
ext.config_script = 'custom_extconf.rb' # use instead of the default 'extconf.rb'.
|
180
200
|
ext.tmp_dir = 'tmp' # temporary folder used during compilation.
|
181
201
|
ext.source_pattern = "*.{c,cpp}" # monitor file changes to allow simple rebuild.
|
182
|
-
ext.config_options << '--with-foo' # supply additional
|
183
|
-
ext.gem_spec = spec #
|
184
|
-
# will be used
|
202
|
+
ext.config_options << '--with-foo' # supply additional options to configure script.
|
203
|
+
ext.gem_spec = spec # optionally indicate which gem specification
|
204
|
+
# will be used.
|
185
205
|
end
|
186
206
|
|
187
|
-
==
|
207
|
+
== Cross compilation - the future is now.
|
208
|
+
|
209
|
+
Rake-compiler also provides a standardized way to generate, from either Linux
|
210
|
+
or OSX, extensions and gem binaries for your Windows users!
|
188
211
|
|
189
|
-
|
190
|
-
|
212
|
+
How can this be you say? Simple, rake-compiler's cross compilation features
|
213
|
+
take advantage of GCC's host/target capabilities to build 'target' binaries on
|
214
|
+
different 'host' OS's.
|
191
215
|
|
192
|
-
|
193
|
-
different OS (hosts).
|
216
|
+
=== How I do this from Linux or OSX?
|
194
217
|
|
195
|
-
|
218
|
+
In addition to having the development tool chain installed (GCC), you also need to
|
219
|
+
install your platform's <tt>mingw32</tt> cross compilation package.
|
196
220
|
|
197
|
-
|
198
|
-
|
221
|
+
Installation depends upon your operating system/distribution. On Ubuntu and Debian
|
222
|
+
host machines, a simple <tt>apt-get install mingw32</tt> will be enough.
|
199
223
|
|
200
|
-
|
201
|
-
Ubuntu and Debian machines, a simple <tt>apt-get install mingw32</tt> will be
|
202
|
-
enough.
|
224
|
+
On Arch, <tt>mingw32</tt> is installed by running <tt>pacman -S mingw32-gcc</tt>
|
203
225
|
|
204
|
-
On OSX, mingw32 is available via MacPorts
|
205
|
-
(ensure
|
206
|
-
been broken).
|
226
|
+
On OSX, <tt>mingw32</tt> is available via MacPorts via <tt>port install i386-mingw32-gcc</tt>
|
227
|
+
(ensure your ports tree is updated as <tt>mingw32</tt> has been broken in the past).
|
207
228
|
|
208
|
-
=== I
|
229
|
+
=== I've got my tool-chain installed, now what?
|
209
230
|
|
210
|
-
|
231
|
+
First, you need to build Ruby for Windows on your Linux or OSX system.
|
211
232
|
|
212
|
-
Relax, no need to freak out! Let rake-compiler do
|
233
|
+
Relax, no need to freak out! Let rake-compiler do all the heavy lifting for you:
|
213
234
|
|
214
235
|
rake-compiler cross-ruby
|
215
236
|
|
216
|
-
And you're done. It will automatically download, configure and compile latest
|
217
|
-
stable version of Ruby for Windows, and place it into <tt>~/.rake-compiler</tt>
|
237
|
+
And you're done. It will automatically download, configure and compile the latest
|
238
|
+
stable version of Ruby for Windows, and place it into your <tt>~/.rake-compiler</tt>
|
239
|
+
directory.
|
240
|
+
|
241
|
+
This will create <tt>~/.rake-compiler/config.yml</tt> file so that rake-compiler
|
242
|
+
knows where to find the <tt>rbconfig.rb</tt> file that matches the Ruby version
|
243
|
+
on the Windows host system you're cross-compiling for. An example:
|
244
|
+
|
245
|
+
# File: ~/.rake-compiler/config.yml
|
218
246
|
|
219
|
-
|
247
|
+
rbconfig-1.8.6: /path/to/ruby-1.8.6/rbconfig.rb
|
248
|
+
rbconfig-1.8.7: /path/to/ruby-1.8.7/rbconfig.rb
|
249
|
+
rbconfig-1.9.2: /path/to/ruby-1.9.2/rbconfig.rb
|
250
|
+
|
251
|
+
If, instead, you want to build a different Ruby version than the default one, please
|
220
252
|
supply a <tt>VERSION</tt>:
|
221
253
|
|
222
254
|
rake-compiler cross-ruby VERSION=1.8.6-p114
|
223
255
|
|
224
|
-
If you, like me, have multiple versions of MinGW packages, you can
|
225
|
-
HOST that will be used to cross compile
|
256
|
+
If you, like me, have multiple versions of MinGW packages installed, you can
|
257
|
+
specify the HOST that will be used to cross compile Ruby:
|
226
258
|
|
227
259
|
rake-compiler cross-ruby HOST=i386-mingw32 # (OSX mingw32 port)
|
228
260
|
|
229
261
|
The host will vary depending on provider (mingw32 versus mingw-w64 projects).
|
230
|
-
|
231
|
-
reporting any
|
262
|
+
Please consult the documentation and website of the MinGW package provider before
|
263
|
+
reporting any issues.
|
232
264
|
|
233
|
-
===
|
265
|
+
=== OK, let's cross compile some gems!
|
234
266
|
|
235
|
-
Now, you only need
|
267
|
+
Now, you only need specify a few additional options in your extension definition:
|
236
268
|
|
237
269
|
Rake::ExtensionTask.new('my_extension', gem_spec) do |ext|
|
238
270
|
ext.cross_compile = true # enable cross compilation (requires cross compile toolchain)
|
@@ -246,61 +278,73 @@ Now, you only need to use additional options in your extension definition:
|
|
246
278
|
end
|
247
279
|
end
|
248
280
|
|
249
|
-
By default, cross compilation targets 'i386-mingw32' which is default GCC
|
250
|
-
for Ruby.
|
281
|
+
By default, cross compilation targets 'i386-mingw32' which is the default GCC
|
282
|
+
platform for Ruby.
|
251
283
|
|
252
|
-
To target gems for
|
253
|
-
to the one shown
|
284
|
+
To target gems for MRI Ruby's current official distribution, please force the
|
285
|
+
platform to the one (i386-mswin32) previously shown.
|
254
286
|
|
255
|
-
===
|
287
|
+
=== Warning, magician about to do some tricks, don't blink!
|
256
288
|
|
257
|
-
|
289
|
+
Cross compiling is still very simple:
|
258
290
|
|
259
291
|
rake cross compile
|
260
292
|
|
261
|
-
And now,
|
293
|
+
And now, building gems for your Windows users is just 5 more letters:
|
262
294
|
|
263
295
|
rake cross native gem
|
264
296
|
|
265
297
|
And you're done, yeah.
|
266
298
|
|
267
|
-
===
|
299
|
+
=== But wait, there's more
|
268
300
|
|
269
|
-
You can specify
|
301
|
+
You can specify which version of Ruby to build the extension against:
|
270
302
|
|
271
303
|
rake cross compile RUBY_CC_VERSION=1.8.6
|
272
304
|
|
273
|
-
|
305
|
+
For example, if you installed <tt>1.9.2</tt>, you can do:
|
274
306
|
|
275
|
-
rake cross compile RUBY_CC_VERSION=1.9.
|
307
|
+
rake cross compile RUBY_CC_VERSION=1.9.2
|
276
308
|
|
277
|
-
Even
|
309
|
+
Even better, you can target multiple versions (ie. 1.8.6 and 1.9.2) in
|
310
|
+
the same gem via:
|
278
311
|
|
279
|
-
rake cross compile RUBY_CC_VERSION=1.8.6:1.9.
|
312
|
+
rake cross compile RUBY_CC_VERSION=1.8.6:1.9.2
|
280
313
|
|
281
|
-
And
|
314
|
+
And better yet, you can bundle both binary extensions into one so-called "fat"
|
315
|
+
gem via:
|
282
316
|
|
283
|
-
rake cross native gem RUBY_CC_VERSION=1.8.6:1.9.
|
317
|
+
rake cross native gem RUBY_CC_VERSION=1.8.6:1.9.2
|
284
318
|
|
285
|
-
That will place binaries for 1.8 and 1.9 versions of
|
319
|
+
That will place binaries for both the 1.8 and 1.9 versions of your Ruby
|
320
|
+
extensions inside your project's <tt>lib_dir</tt> directory:
|
286
321
|
|
287
322
|
lib/1.8/my_extension.so
|
288
323
|
lib/1.9/my_extension.so
|
289
324
|
|
290
|
-
|
325
|
+
NOTE: building "fat" gems is currently only supported by rake-compiler when
|
326
|
+
cross compiling from a Linux or OSX host. Patches are welcome if building
|
327
|
+
"fat" gems from Windows hosts is desired, or natively for your platform :-)
|
328
|
+
|
329
|
+
Now is up to you to make your gem load the proper binary at runtime. Here's a hint ;-)
|
330
|
+
|
331
|
+
RUBY_VERSION =~ /(\d+.\d+)/
|
332
|
+
require "#{$1}/my_extension"
|
291
333
|
|
292
334
|
=== What are you talking about? (Give me examples)
|
293
335
|
|
294
|
-
I know all the above sounds like a complete foreign language (it does even for me!).
|
336
|
+
I know all the above sounds like a complete foreign language (it does even for me!).
|
337
|
+
So, what if I show you some examples?
|
295
338
|
|
296
|
-
Check our wiki with links to the proper rake files used by many developers and
|
339
|
+
Check our wiki with links to the proper rake files used by many developers and
|
340
|
+
projects and how they use rake-compiler.
|
297
341
|
|
298
342
|
http://github.com/luislavena/rake-compiler/wiki/projects-using-rake-compiler
|
299
343
|
|
300
344
|
== Future
|
301
345
|
|
302
|
-
rake-compiler is a work in progress and we
|
303
|
-
development of it! (and contributions too!)
|
346
|
+
rake-compiler is a work in progress and we appreciate any and all feedback
|
347
|
+
during the development of it! (and contributions too!)
|
304
348
|
|
305
349
|
You can find more information about rake-compiler:
|
306
350
|
|
data/tasks/bin/cross-ruby.rake
CHANGED
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.6"
|
7
7
|
s.platform = Gem::Platform::RUBY
|
8
8
|
|
9
9
|
# description and details
|
@@ -18,9 +18,9 @@ GEM_SPEC = Gem::Specification.new do |s|
|
|
18
18
|
s.add_dependency 'rake'
|
19
19
|
|
20
20
|
# development dependencies
|
21
|
-
s.add_development_dependency 'rspec', '~> 1.
|
22
|
-
s.add_development_dependency 'cucumber', '~> 0.
|
23
|
-
#s.add_development_dependency 'rcov', '~> 0.9.
|
21
|
+
s.add_development_dependency 'rspec', '~> 1.3.1'
|
22
|
+
s.add_development_dependency 'cucumber', '~> 0.9.4'
|
23
|
+
#s.add_development_dependency 'rcov', '~> 0.9.9'
|
24
24
|
|
25
25
|
# components, files and paths
|
26
26
|
s.files = FileList["features/**/*.{feature,rb}", "bin/rake-compiler",
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake-compiler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
5
|
-
prerelease:
|
4
|
+
hash: 15
|
5
|
+
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 7
|
9
|
-
-
|
10
|
-
version: 0.7.
|
9
|
+
- 6
|
10
|
+
version: 0.7.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Luis Lavena
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2011-02-04 00:00:00 -03:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -40,12 +40,12 @@ dependencies:
|
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
hash:
|
43
|
+
hash: 25
|
44
44
|
segments:
|
45
45
|
- 1
|
46
|
-
-
|
47
|
-
-
|
48
|
-
version: 1.
|
46
|
+
- 3
|
47
|
+
- 1
|
48
|
+
version: 1.3.1
|
49
49
|
type: :development
|
50
50
|
version_requirements: *id002
|
51
51
|
- !ruby/object:Gem::Dependency
|
@@ -56,12 +56,12 @@ dependencies:
|
|
56
56
|
requirements:
|
57
57
|
- - ~>
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
hash:
|
59
|
+
hash: 51
|
60
60
|
segments:
|
61
61
|
- 0
|
62
|
+
- 9
|
62
63
|
- 4
|
63
|
-
|
64
|
-
version: 0.4.4
|
64
|
+
version: 0.9.4
|
65
65
|
type: :development
|
66
66
|
version_requirements: *id003
|
67
67
|
description: |-
|
@@ -156,7 +156,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
156
156
|
requirements: []
|
157
157
|
|
158
158
|
rubyforge_project: rake-compiler
|
159
|
-
rubygems_version: 1.
|
159
|
+
rubygems_version: 1.5.0
|
160
160
|
signing_key:
|
161
161
|
specification_version: 3
|
162
162
|
summary: Rake-based Ruby Extension (C, Java) task generator.
|