diff options
Diffstat (limited to 'tool')
-rwxr-xr-x | tool/rbinstall.rb | 37 |
1 files changed, 23 insertions, 14 deletions
diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb index 6bfc73e0d1..8055f45a03 100755 --- a/tool/rbinstall.rb +++ b/tool/rbinstall.rb @@ -270,6 +270,7 @@ def with_destdir(dir) end def prepare(mesg, basedir, subdirs=nil) + return unless basedir case when !subdirs dirs = basedir @@ -286,31 +287,39 @@ def prepare(mesg, basedir, subdirs=nil) makedirs(dirs) end +def CONFIG.[](name, mandatory = false) + value = super(name) + if mandatory + raise "CONFIG['#{name}'] must be set" if !value or value.empty? + end + value +end + exeext = CONFIG["EXEEXT"] -ruby_install_name = CONFIG["ruby_install_name"] +ruby_install_name = CONFIG["ruby_install_name", true] rubyw_install_name = CONFIG["rubyw_install_name"] goruby_install_name = "go" + ruby_install_name -bindir = CONFIG["bindir"] -libdir = CONFIG["libdir"] -archhdrdir = rubyhdrdir = CONFIG["rubyhdrdir"] -archhdrdir += "/" + CONFIG["arch"] -rubylibdir = CONFIG["rubylibdir"] -archlibdir = CONFIG["archdir"] +bindir = CONFIG["bindir", true] +libdir = CONFIG["libdir", true] +archhdrdir = rubyhdrdir = CONFIG["rubyhdrdir", true] +archhdrdir += "/" + CONFIG["arch", true] +rubylibdir = CONFIG["rubylibdir", true] +archlibdir = CONFIG["archdir", true] sitelibdir = CONFIG["sitelibdir"] sitearchlibdir = CONFIG["sitearchdir"] vendorlibdir = CONFIG["vendorlibdir"] vendorarchlibdir = CONFIG["vendorarchdir"] -mandir = CONFIG["mandir"] -capidir = CONFIG["docdir"] +mandir = CONFIG["mandir", true] +capidir = CONFIG["docdir", true] configure_args = Shellwords.shellwords(CONFIG["configure_args"]) enable_shared = CONFIG["ENABLE_SHARED"] == 'yes' -dll = CONFIG["LIBRUBY_SO"] -lib = CONFIG["LIBRUBY"] -arc = CONFIG["LIBRUBY_A"] -major = CONFIG["MAJOR"] -minor = CONFIG["MINOR"] +dll = CONFIG["LIBRUBY_SO", enable_shared] +lib = CONFIG["LIBRUBY", true] +arc = CONFIG["LIBRUBY_A", true] +major = CONFIG["MAJOR", true] +minor = CONFIG["MINOR", true] load_relative = configure_args.include?("--enable-load-relative") install?(:local, :arch, :bin, :'bin-arch') do |