summaryrefslogtreecommitdiffhomepage
path: root/tasks/mrbgem_spec.rake
diff options
context:
space:
mode:
authorYuichiro MASUI <[email protected]>2013-01-24 11:21:39 +0900
committerYuichiro MASUI <[email protected]>2013-01-24 11:21:39 +0900
commitb1623b9e58544996b02a8a0050546521d7f738eb (patch)
treebf6859ec1006dd2108efa0c2d285509cd0ec06c7 /tasks/mrbgem_spec.rake
parenta1c4992905e6e3df1e6841085c552b33cf525b0f (diff)
parent65623d7d66c2ef4e3136ab90077ece988c451750 (diff)
downloadmruby-b1623b9e58544996b02a8a0050546521d7f738eb.tar.gz
mruby-b1623b9e58544996b02a8a0050546521d7f738eb.zip
merge master
Diffstat (limited to 'tasks/mrbgem_spec.rake')
-rw-r--r--tasks/mrbgem_spec.rake6
1 files changed, 6 insertions, 0 deletions
diff --git a/tasks/mrbgem_spec.rake b/tasks/mrbgem_spec.rake
index 612ff242a..3e37f454d 100644
--- a/tasks/mrbgem_spec.rake
+++ b/tasks/mrbgem_spec.rake
@@ -105,6 +105,8 @@ module MRuby
print_gem_init_header f
build.mrbc.run f, rbfiles, "gem_mrblib_irep_#{funcname}" 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[]
f.puts %Q[void GENERATED_TMP_mrb_#{funcname}_gem_init(mrb_state *mrb) {]
f.puts %Q[ int ai = mrb_gc_arena_save(mrb);]
f.puts %Q[ mrb_#{funcname}_gem_init(mrb);] if objs != [objfile("#{build_dir}/gem_init")]
@@ -117,6 +119,10 @@ module MRuby
end
f.puts %Q[ mrb_gc_arena_restore(mrb, ai);]
f.puts %Q[}]
+ f.puts %Q[]
+ f.puts %Q[void GENERATED_TMP_mrb_#{funcname}_gem_final(mrb_state *mrb) {]
+ f.puts %Q[ mrb_#{funcname}_gem_final(mrb);] if objs != [objfile("#{build_dir}/gem_init")]
+ f.puts %Q[}]
end
end # generate_gem_init