diff options
author | knu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-11-22 10:31:03 +0000 |
---|---|---|
committer | knu <knu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-11-22 10:31:03 +0000 |
commit | e7b328c68c8e217424a301a5bfbe018c60ac13ad (patch) | |
tree | 7afc15861029c76b7a76630c4ffcb8369093ea71 /instruby.rb | |
parent | 0f547d6bd4295a8412030e61b3c056d8950f546b (diff) |
* instruby.rb: Install batch files on Windows. [Submitted by usa]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@3080 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'instruby.rb')
-rw-r--r-- | instruby.rb | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/instruby.rb b/instruby.rb index a4a445fafc..a883b60e5e 100644 --- a/instruby.rb +++ b/instruby.rb @@ -86,13 +86,30 @@ for src in Dir["bin/*"] File.install src, dest, 0755, true open(dest, "r+") { |f| - shebang = f.gets - body = f.readlines + shebang = f.gets.sub(/ruby/, ruby_install_name) + body = f.read f.rewind - - f.print shebang.sub(/ruby/, ruby_install_name), *body + f.print shebang, body f.truncate(f.pos) + f.close + + if RUBY_PLATFORM =~ /mswin32|mingw|bccwin32/ + open(dest + ".bat", "w") { |b| + b.print <<EOH, shebang, body, <<EOF +@echo off +if "%OS%" == "Windows_NT" goto WinNT +ruby -Sx "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9 +goto endofruby +:WinNT +ruby -Sx "%~nx0" %* +goto endofruby +EOH +__END__ +:endofruby +EOF + } + end } end |