diff options
Diffstat (limited to 'tool/compile_prelude.rb')
-rw-r--r-- | tool/compile_prelude.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/tool/compile_prelude.rb b/tool/compile_prelude.rb new file mode 100644 index 0000000000..13ccb8aced --- /dev/null +++ b/tool/compile_prelude.rb @@ -0,0 +1,25 @@ + +prelude, outfile = *ARGV +lines = [] + +File.readlines(prelude).each{|line| + lines << "#{line.dump}" +} + +open(outfile, 'w'){|f| +f.puts <<EOS__ + +#include "ruby/ruby.h" +static const char *prelude_code = +#{lines.join("\n")} +; +void +Init_prelude(void) +{ + rb_iseq_eval(rb_iseq_compile( + rb_str_new2(prelude_code), + rb_str_new2("prelude.rb"), INT2FIX(1))); +} +EOS__ +} + |