summaryrefslogtreecommitdiffhomepage
path: root/tasks/mrbgems.rake
diff options
context:
space:
mode:
authortake_cheeze <[email protected]>2014-05-08 22:19:14 +0900
committertake_cheeze <[email protected]>2014-05-08 22:19:14 +0900
commit64300b2c43e040ae2cd63bd0ef72a10a54db6631 (patch)
tree5d32debfc93c7a1511d90ca45967c7572ac5be2d /tasks/mrbgems.rake
parentc071ad13a9df20e8e030320eef0a483bf4e64932 (diff)
downloadmruby-64300b2c43e040ae2cd63bd0ef72a10a54db6631.tar.gz
mruby-64300b2c43e040ae2cd63bd0ef72a10a54db6631.zip
Add API `mrb_atexit()`.
`mrb_final_mrbgems` will be called as mrb_state atexit function. Maybe useful in #1844.
Diffstat (limited to 'tasks/mrbgems.rake')
-rw-r--r--tasks/mrbgems.rake11
1 files changed, 6 insertions, 5 deletions
diff --git a/tasks/mrbgems.rake b/tasks/mrbgems.rake
index b57f318e0..95eddc56b 100644
--- a/tasks/mrbgems.rake
+++ b/tasks/mrbgems.rake
@@ -26,14 +26,15 @@ MRuby.each_target do
f.puts %Q[]
f.puts %Q[#{gems.map{|g| "void GENERATED_TMP_mrb_%s_gem_final(mrb_state* mrb);" % g.funcname}.join("\n")}]
f.puts %Q[]
- f.puts %Q[void]
- f.puts %Q[mrb_init_mrbgems(mrb_state *mrb) {]
- f.puts %Q[#{gems.map{|g| "GENERATED_TMP_mrb_%s_gem_init(mrb);" % g.funcname}.join("\n")}]
+ f.puts %Q[static void]
+ f.puts %Q[mrb_final_mrbgems(mrb_state *mrb) {]
+ f.puts %Q[#{gems.map{|g| "GENERATED_TMP_mrb_%s_gem_final(mrb);" % g.funcname}.join("\n")}]
f.puts %Q[}]
f.puts %Q[]
f.puts %Q[void]
- f.puts %Q[mrb_final_mrbgems(mrb_state *mrb) {]
- f.puts %Q[#{gems.map{|g| "GENERATED_TMP_mrb_%s_gem_final(mrb);" % g.funcname}.join("\n")}]
+ f.puts %Q[mrb_init_mrbgems(mrb_state *mrb) {]
+ f.puts %Q[#{gems.map{|g| "GENERATED_TMP_mrb_%s_gem_init(mrb);" % g.funcname}.join("\n")}]
+ f.puts %Q[mrb_atexit(mrb, mrb_final_mrbgems);]
f.puts %Q[}]
end
end