summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/rubygems/installer.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
index e9ad4d03d4..657f21296f 100644
--- a/lib/rubygems/installer.rb
+++ b/lib/rubygems/installer.rb
@@ -771,18 +771,19 @@ TEXT
# return the stub script text used to launch the true Ruby script
def windows_stub_script(bindir, bin_file_name)
+ rb_bindir = RbConfig::CONFIG["bindir"]
# All comparisons should be case insensitive
- if bindir.downcase == RbConfig::CONFIG["bindir"].downcase
+ if bindir.downcase == rb_bindir.downcase
# stub & ruby.exe withing same folder. Portable
<<-TEXT
@ECHO OFF
@"%~dp0ruby.exe" "%~dpn0" %*
TEXT
- elsif bindir.downcase.start_with? RbConfig::TOPDIR.downcase
+ elsif bindir.downcase.start_with? (RbConfig::TOPDIR || File.dirname(rb_bindir)).downcase
# stub within ruby folder, but not standard bin. Not portable
require 'pathname'
from = Pathname.new bindir
- to = Pathname.new RbConfig::CONFIG["bindir"]
+ to = Pathname.new rb_bindir
rel = to.relative_path_from from
<<-TEXT
@ECHO OFF