Been a while since the last list of supported Ruby versions was published. So, time of updates!
| Ruby Version | Works? | Command line |
|---|---|---|
| 1.8.6-p398 | Yes1 | rake-compiler cross-ruby |
| 1.8.7-p330 | Yes | rake-compiler cross-ruby VERSION=1.8.7-p330 |
| 1.9.2-p136 | Yes | rake-compiler cross-ruby VERSION=1.9.2-p136 |
All of the above results were obtained using rake-compiler 0.7.5.
Compilers
All the tests of compilation where performed against the following compilers:
| Platform | Compiler | Installation | rake-compiler flag |
|---|---|---|---|
| OSX | GCC 3.4.5 | sudo port install i386-mingw32-gcc |
HOST=i386-mingw32 |
| Linux/Ubuntu | GCC 3.4.5 | sudo apt-get install mingw32 |
HOST=i586-pc-mingw32 |
| Linux/OSX | MinGW-w64 GCC 4.5.2 | Download2 | HOST=i686-w64-mingw32 |
While there are other cross compilers available out there, I haven’t done any testing against them, so can’t verify it’s correctness in the above results.
I would personally recommend the usage of mingw-w64 compilers since are fresh and updated quite often.
Recommendations
If you’re creating extensions, it is recommend you use both 1.8.7 and 1.9.2 as test-beds for your extensions. That will ensure maximum compatibility with future versions of Ruby.
Next version of rake-compiler will bump the default version to 1.8.7, so is better you start preparing now.
1 1.8.6 compilation fails when used with mingw-w64 compiler (i686-w64-mingw32 host)
2 You can download mingw-w64 compiler from SourceForge Automated Builds