#!./miniruby
while arg = ARGV[0]
break ARGV.shift if arg == '--'
/\A--([-\w]+)(?:=(.*))?\z/ =~ arg or break
arg, value = $1, $2
re = Regexp.new('\A'+arg.gsub(/\w+\b/, '\&\\w*')+'\z', "i")
case
when re =~ "srcdir"
srcdir = value
when re =~ "archdir"
archdir = value
when re =~ "extout"
extout = value
else
break
end
ARGV.shift
end
srcdir ||= File.dirname(__FILE__)
archdir ||= '.'
abs_archdir = File.expand_path(archdir)
$:.unshift(abs_archdir)
require 'rbconfig'
config = Config::CONFIG
ruby = File.join(archdir, config["RUBY_INSTALL_NAME"]+config['EXEEXT'])
unless File.exist?(ruby)
abort "#{ruby} is not found.\nTry `make' first, then `make test', please.\n"
end
libs = [abs_archdir]
if extout
abs_extout = File.expand_path(extout)
libs << File.expand_path("common", abs_extout) << File.expand_path(RUBY_PLATFORM, abs_extout)
end
libs << File.expand_path("lib", srcdir)
config["bindir"] = abs_archdir
ENV["RUBY"] = File.expand_path(ruby)
ENV["PATH"] = [abs_archdir, ENV["PATH"]].compact.join(File::PATH_SEPARATOR)
libs << File.expand_path("ext", srcdir) << "-"
ENV["RUBYLIB"] = $:.replace(libs).join(File::PATH_SEPARATOR)
libruby_so = File.join(abs_archdir, config['LIBRUBY_SO'])
if File.file?(libruby_so)
if e = config['LIBPATHENV'] and !e.empty?
ENV[e] = [abs_archdir, ENV[e]].compact.join(File::PATH_SEPARATOR)
end
if /linux/ =~ RUBY_PLATFORM
ENV["LD_PRELOAD"] = [libruby_so, ENV["LD_PRELOAD"]].compact.join(' ')
end
end
cmd = [ruby]
cmd << "-rpurelib.rb"
cmd.concat(ARGV)
exec(*cmd)
uby_3_1'>ruby_3_1
The Ruby Programming Language | |
Age | Commit message (Expand) | Author |
2013-02-06 | vm_method.c: show respond_to location | nobu |
2012-12-17 | * method.h: remove `VM_METHOD_TYPE_CFUNC_FRAMELESS' method type. | ko1 |
2012-12-13 | * method.h (END_OF_ENUMERATION): placeholder to put last comma. | nobu |
2012-12-13 | * method.h: remove "VM_METHOD_TYPE__MAX" from rb_method_type_t. | ko1 |
2012-12-12 | method.h: NOEX_SAFE_SHIFT_OFFSET | nobu |
2012-12-09 | * vm_insnhelper.c (vm_call_opt_send): Kernel#send should not use | shugo |
2012-12-06 | * revised r37993 to avoid SEGV/ILL in tests. In r37993, a method | shugo |
2012-11-30 | * revert r37993 to avoid SEGV in tests. | shugo |
2012-11-29 | * vm_method.c (rb_method_entry_make): add a method entry with | shugo |
2012-11-13 | * vm_insnhelper.c (vm_call_cfunc_with_frame): don't use ci after | ko1 |
2012-10-25 | * include/ruby/ruby.h, class.c: remove (revert) | ko1 |
2012-10-23 | * vm_core.h, vm_insnhelper.c, vm_eval.c (OPT_CALL_CFUNC_WITHOUT_FRAME): | ko1 |
2012-10-19 | * method.h (rb_method_cfunc_t::invoker): add new field (func ptr) | ko1 |
2012-10-18 | * class.c (rb_define_frameless_method): rename from | ko1 |
2012-10-16 | * method.h(rb_method_definition_struct): remove a comma after the last element | nagachika |
2012-10-15 | * method.h: introduce new method type VM_METHOD_TYPE_CFUNC_FAST. | ko1 |
2012-10-08 | * eval.c, gc.c, iseq.c, node.h, vm_insnhelper.c, vm_insnhelper.h, | shugo |
2012-08-02 | * eval.c (rb_mod_using): new method Module#using. [experimental] | shugo |
2012-08-02 | * class.c, insns.def, method.h, proc.c, vm.c, vm_core.h, vm_eval.c, | shugo |
2012-06-25 | Revert r31873 Module#mix | nobu |
2012-02-21 | * proc.c (method_hash, proc_hash): Fix {Unbound}Method#hash | marcandre |