||2003-10-17 19:51:21 GMT
||2004-12-18 17:10:03 GMT
(Projects of this owner)
RubyScript2Exe transforms your Ruby script into a standalone
Windows executable. You can look at it as a "compiler". Not in
the sense of a source-code-to-byte-code compiler, but as a
"collector", for it collects all necessary files to run your
script on an other machine: the Ruby script, the Ruby
interpreter and the Ruby runtime library (stripped down for
this script). Anyway, the result is the same: a standalone
exe-file (Windows) or bin-file (Linux). And that's what we
Because of the gathering of files from your own Ruby
installation, RubyScript2Exe creates an executable for the
platform it's being run on. No cross compile.
And when I say Windows, I mean both Windows (RubyInstaller,
MinGW and MSWin32) and Cygwin. But the generated exe under
Cygwin is very, very big, because its exe's are very big
(static?) and it includes cygwin1.dll, so it can run on
machines without Cygwin.
There is one more advantage: Because there might be some
incompatibilities between the different Ruby versions, you have
to test your script with every single version. Unless you
distribute your version of Ruby with your script...
The combination of Tar2RubyScript and RubyScript2Exe is of
special interest: A complete Ruby application can be
distributed as one executable (for Windows):
* Tar2RubyScript creates a standalone Ruby script (or RBA, Ruby
Archive) of the application and its directory. This RBA can
run on "the Ruby platform". This means that Ruby itself must
be installed on the targeted system.
* RubyScript2Exe avoids this dependency by compiling a
rubyscript (in casu the RBA), the Ruby interpreter and the
Ruby runtime environment into one executable.
This combination isn't necessary. Each application can be used
without the other.
What's the difference between RubyScript2Exe and AllInOneRuby?
Well, RubyScript2Exe includes an application (your script) and
only parts of the rubylib tree (it's stripped specifically for
that application). AllInOneRuby contains a complete Ruby
installation: it includes no application, but it does include
the complete rubylib tree. You can use allinoneruby.exe like
ruby.exe that's already installed on your system. In other
words: the executable, generated with RubyScript2Exe, is an
application; the one generated with AllInOneRuby "is" Ruby.