summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/generate_gem_mixlib.rb
diff options
context:
space:
mode:
Diffstat (limited to 'mrbgems/generate_gem_mixlib.rb')
-rw-r--r--mrbgems/generate_gem_mixlib.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/mrbgems/generate_gem_mixlib.rb b/mrbgems/generate_gem_mixlib.rb
new file mode 100644
index 000000000..39bc7b7f7
--- /dev/null
+++ b/mrbgems/generate_gem_mixlib.rb
@@ -0,0 +1,18 @@
+#!/usr/bin/env ruby
+
+gemname = ARGV.shift.gsub('-', '_')
+
+puts <<__EOF__
+void mrb_#{gemname}_gem_init(mrb_state*);
+
+void
+GENERATED_TMP_mrb_#{gemname}_gem_init(mrb_state *mrb)
+{
+ mrb_#{gemname}_gem_init(mrb);
+ mrb_load_irep(mrb, gem_mrblib_irep_#{gemname});
+ if (mrb->exc) {
+ mrb_p(mrb, mrb_obj_value(mrb->exc));
+ exit(0);
+ }
+}
+__EOF__