From 52507b1083ba1c562ae506d63a07a51a26815c21 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Thu, 11 Jun 2020 15:37:49 +0900 Subject: Generate C struct from `irep` instead of binary dump. --- lib/mruby/build/command.rb | 2 +- lib/mruby/gem.rb | 17 ++++++++++------- 2 files changed, 11 insertions(+), 8 deletions(-) (limited to 'lib') diff --git a/lib/mruby/build/command.rb b/lib/mruby/build/command.rb index 84ce78cb9..39981cc32 100644 --- a/lib/mruby/build/command.rb +++ b/lib/mruby/build/command.rb @@ -310,7 +310,7 @@ module MRuby def initialize(build) super @command = nil - @compile_options = "-B%{funcname} -o-" + @compile_options = "-S -B%{funcname} -o-" end def run(out, infiles, funcname) diff --git a/lib/mruby/gem.rb b/lib/mruby/gem.rb index 6fcaad9c1..d6b1a6851 100644 --- a/lib/mruby/gem.rb +++ b/lib/mruby/gem.rb @@ -174,7 +174,7 @@ module MRuby def generate_gem_init(fname) open(fname, 'w') do |f| print_gem_init_header f - build.mrbc.run f, rbfiles, "gem_mrblib_irep_#{funcname}" unless rbfiles.empty? + build.mrbc.run f, rbfiles, "gem_mrblib_#{funcname}_proc" unless rbfiles.empty? f.puts %Q[void mrb_#{funcname}_gem_init(mrb_state *mrb);] f.puts %Q[void mrb_#{funcname}_gem_final(mrb_state *mrb);] f.puts %Q[] @@ -183,7 +183,7 @@ module MRuby f.puts %Q[ struct REnv *e;] unless rbfiles.empty? f.puts %Q[ mrb_#{funcname}_gem_init(mrb);] if objs != [objfile("#{build_dir}/gem_init")] unless rbfiles.empty? - f.puts %Q[ mrb_load_irep(mrb, gem_mrblib_irep_#{funcname});] + f.puts %Q[ mrb_load_proc(mrb, gem_mrblib_#{funcname}_proc);] f.puts %Q[ if (mrb->exc) {] f.puts %Q[ mrb_print_error(mrb);] f.puts %Q[ mrb_close(mrb);] @@ -215,10 +215,13 @@ module MRuby def print_gem_init_header(f) print_gem_comment(f) - f.puts %Q[#include ] unless rbfiles.empty? - f.puts %Q[#include ] - f.puts %Q[#include ] unless rbfiles.empty? - f.puts %Q[#include ] unless rbfiles.empty? + unless rbfiles.empty? + f.puts %Q[#include ] + f.puts %Q[#include ] + f.puts %Q[#include ] + else + f.puts %Q[#include ] + end end def print_gem_test_header(f) @@ -226,7 +229,7 @@ module MRuby f.puts %Q[#include ] f.puts %Q[#include ] f.puts %Q[#include ] - f.puts %Q[#include ] + f.puts %Q[#include ] f.puts %Q[#include ] f.puts %Q[#include ] unless test_args.empty? end -- cgit v1.2.3