/jruby-launcher

JRuby's native launcher executable

Primary LanguageC++OtherNOASSERTION

JRuby Native Launcher

Motivation

Maintaning JRuby.BAT was, well, to put it mildly, unpleasant. We had tens of bugs due to BAT limitations, we had weird behaviors depending on the version of Windows, we had a bunch of regressions.

See http://jira.codehaus.org/browse/JRUBY-4100 for more details.

On UNIX platforms, we had problems because a shell-script can't be put as a path in the shebang and couldn't take arguments. (#!/usr/bin/env jruby -w)

We also wanted to DRY up argument handling, even if it meant ditching shell script and writing in lowest-common-denominator C++ (!).

Compile

On UNIX, you should be able to just type make and a jruby binary will be created in the project directory. Copy this to $JRUBY_HOME/bin (or wherever your jruby executable is installed). On Windows, you should also be able to type make if you have the MinGW compiler toolkit installed.

Or, open the project in Netbeans 6.8 (with C/C++ plugin installed). If Netbeans warns that no compilers found, follow the instructions and install the required compilers. Currenty, we support MinGW. More info here:

http://netbeans.org/community/releases/68/cpp-setup-instructions.html

Then, just build it, and you're ready to go. jruby.exe, jrubyw.exe and jruby.dll will be created, they need to be copied into $JRUBY_HOME/bin directory.

Both, 32-bit and 64-bit compilers are supported. Great version of 64-bit mingw can be found here: http://www.cadforte.com/system64.html

To build 64-bit version of the launcher, use the following from the command line:

make CONF=mingw64

Run

The launcher provides a great logger, use it like this:

jruby -Xtrace LOG_FILE.log ....

TODO

See TODO.txt file for things that need to be done before this launcher could replace jruby.bat.

Thanks

The original code is by Netbeans project.

License

Read the COPYING file.