[Rubyinstaller-devel] make.cmd?

Gordon Thiesfeld gthiesfeld at gmail.com
Mon Apr 21 22:03:45 EDT 2008

>  The issue with 'gem' is that rubygems generates to files: gem and
>  gem.bat which is a stub to execute the true gem ruby script.
>  If we move from script+stub to scripts similar of what ruby ships
>  (take a look at irb.bat) can workaround the issues with
>  "cross-compatibility" raised of being using
>  system/exec/backticks/whatever

Ok, I've stubbed make, gcc, and sh, and rubygems tests pass.  I'm
working on a patch for rubygems bin scripts as well, but I can't find
a simple way to do it without breaking a lot of tests.  I'll keep at
it.  I did discover that the exit /b %errorlevel% doesn't do the right
thing when called in Ruby, so I'm just making the cmd files so that
the last line is the one we care about..

This is my rake.cmd.  It seems to be working fine.  Let me know if you
see any problems with it.

goto endofruby
# This file was generated by RubyGems.
# The application 'rake' is installed as part of a gem, and
# this file is here to facilitate running it.

require 'rubygems'

version = ">= 0"

if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then
  version = $1

gem 'rake', version
load 'rake'
"%~d0%~p0ruby" -x "%~f0" %*

>  Please let me congrats you Gordon, you just hit one of the big issues
>  that blocks true cross-platform implementation.
>  Also, these injected stubs/scripts can workaround the pipes issues for
>  scripts using .rb and being tried to executed standalone (this is an
>  old issue of ruby and how cmd creates the process and pass the
>  information to the child process).

Yeah, I've been bitten by this one too :-).  The only problem with
batch files is that it makes ctrl-c cause the extremely annoying
"Terminate batch job (Y/N)?".  I did find a way to modify cmd.exe so
that it doesn't do this, but it would be nice if there was a cleaner

More information about the Rubyinstaller-devel mailing list