summaryrefslogtreecommitdiff
path: root/tool
diff options
context:
space:
mode:
Diffstat (limited to 'tool')
-rwxr-xr-xtool/mkrunnable.rb12
1 files changed, 7 insertions, 5 deletions
diff --git a/tool/mkrunnable.rb b/tool/mkrunnable.rb
index 35b75ec934..c0222b87ac 100755
--- a/tool/mkrunnable.rb
+++ b/tool/mkrunnable.rb
@@ -42,7 +42,9 @@ config = RbConfig::CONFIG
extout = ARGV[0] || config["EXTOUT"]
version = config["ruby_version"]
arch = config["arch"]
-["bin", "lib"].each do |dir|
+bindir = File.basename(config["bindir"])
+libdir = File.basename(config["libdir"])
+[bindir, libdir].each do |dir|
File.directory?(dir) or mkdir_p(dir)
end
@@ -53,16 +55,16 @@ goruby_install_name = "go" + ruby_install_name
[ruby_install_name, rubyw_install_name, goruby_install_name].map do |ruby|
ruby += exeext
if ruby and !ruby.empty?
- ln_safe("../#{ruby}", "bin/#{ruby}")
+ ln_safe("../#{ruby}", "#{bindir}/#{ruby}")
end
end
libruby = config.values_at("LIBRUBY_A", "LIBRUBY_SO")
libruby.concat(config["LIBRUBY_ALIASES"].split)
-libruby.each {|lib|ln_safe("../#{lib}", "lib/#{lib}")}
+libruby.each {|lib|ln_safe("../#{lib}", "#{libdir}/#{lib}")}
if File.expand_path(extout) == extout
- ln_dir_safe(extout, "lib/ruby")
+ ln_dir_safe(extout, "#{libdir}/ruby")
else
- ln_dir_safe(File.join("..", extout), "lib/ruby")
+ ln_dir_safe(File.join("..", extout), "#{libdir}/ruby")
cur = "#{extout}/".gsub(/(\A|\/)(?:\.\/)+/, '\1').tr_s('/', '/')
nil while cur.sub!(/[^\/]+\/\.\.\//, '')
if /(\A|\/)\.\.\// =~ cur