Every repository with this icon (
Every repository with this icon (
| Description: | Provide a standard and simplified way to build and package Ruby C and Java extensions using Rake as glue. edit |
-
0 comments Created 7 months ago by luislavenaAllow parameter passing to extconfFeaturexRight now the only way to feed parameters to
extconfis usingconfig_options. This imposes some hardcoded paths. ideallyrake compileorrake cross compileshould be able to accept parameters after double dashes, likegem installdoes.Comments
-
2 comments Created 2 months ago by banisterBuilding fat gems for macosx and linuxFeaturexit is currently possible to build fat gems for windows, but not yet for macosx or linux. It would nonetheless be a handy feature if we could build fat gems for macosx/linux especially for macosx where not all users have devtools installed (and so do not have a C compiler).
using the rvm gem might be one way to manage this build process.
Comments
visionmedia
Thu Oct 01 11:32:38 -0700 2009
| link
gcc ships with the mac os no?
-
3 comments Created about 1 month ago by lylejohnson"rake cross compile" doesn't choose correct g++ executableFeaturexI'm working with the latest rake-compiler (post-0.6.0) from GitHub and it seems that while the "rake cross compile" task does correct set the C compiler (to "i586-mingw32msvc-cc" on my machine) it doesn't get the C++ compiler right (it chooses plain old "g++" instead of "i586-mingw32msvc-g++"). I'm looking into this and will provide a patch if I figure it out; just wanted to get it recorded somewhere.
Comments
luislavena
Tue Oct 27 14:21:01 -0700 2009
| link
Thank you Lyle
This is actually not a rake-compiler issue, but the lack of rbconfig to setup CXX.
rake-compiler uses rbconfig in combination with mkmf. rbconfig was generated by miniruby during the build process, and lacks that information.
The only place rake-compiler defines the compiler itself is here:
http://github.com/luislavena/rake-compiler/blob/master/lib/rake/extensioncompiler.rb
And the only purpose is to help determine the platform and the executable for manual execution.
But this is not used by mkmf or the cross compile process at all.
I advice you setup an environment variable or a extconf parameter that let you assign the CXX properly.
I advice against using ExtensionCompiler to define that in extconf (since the gem will not be available in that particular version of the cross-compiled ruby).
lylejohnson
Tue Oct 27 14:27:28 -0700 2009
| link
OK, I understand. Trying now with:
rake cross compile CXX=/usr/bin/i586-mingw32msvc-g++and that seems to be working a little better (so far!)
luislavena
Tue Oct 27 14:29:14 -0700 2009
| link
Good news.
Feel free to create a patch then that extend ExtensionCompiler to define the g ++ executable for the mingw host.
-
I'd like to rake-compiler independently of Rake. What do yo think of forking rake-compiler and building a stand-alone tool (one that could still offer a rake-task of course)?
Comments
luislavena
Thu Aug 13 05:44:44 -0700 2009
| link
rake-compiler has been built around Rake and the task dependency chain, porting it to standalone mode would require a lot of work to ensure build process do not get mistakenly fired.
There is Tap also, but until now noone has proven me how to use it for file-based task as replacement of Rake.
I'm not going to stop you explore that way, and if you succeed, would happily integrate it.
okay. then I might fork your project and see how far I can get in doing it. what is Tap? do you know where can I find more info on it? thanks.
luislavena
Thu Aug 13 11:48:12 -0700 2009
| link
-
To reproduce, create a basic project structure.
mkdir ext/my_java_extensionAnd create a blank
.javafile (MyJavaExtensionService.java) in the above directory.Create a Rakefile with the following:
Rake::JavaExtensionTask.new('my_java_extension')javacwill not complain about being passed a blank.javafile, but will not emit a.classfile.jarwill then be passed zero file arguments and output an error/usage message.Comments
- Bug▾
- Documentation▾
- Feature▾
- Patch▾
- Apply to Selection
-
Change Color…
Preview:preview
- Rename…
- Delete











