diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rwxr-xr-x | tool/rbinstall.rb | 37 |
2 files changed, 31 insertions, 14 deletions
@@ -1,3 +1,11 @@ +Tue Mar 13 10:59:48 2012 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * tool/rbinstall.rb (prepare): skip if basedir is not defined. + [ruby-core:39135][Bug #5238] + + * tool/rbinstall.rb (CONFIG.[]): check for mandatory + configurations. + Tue Mar 13 00:09:18 2012 Shugo Maeda <shugo@ruby-lang.org> * enumerator.c (enumerable_lazy): added documentation. 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 |