Module: Tebako::Packager::PatchMain
- Defined in:
- lib/tebako/packager/patch_main.rb
Overview
Ruby patching literals (main.c)
Constant Summary collapse
- MAIN_C_SUBST_RB_MAIN =
"/* -- Start of tebako patch -- */\n#include <tebako/tebako-main.h>\n/* -- End of tebako patch -- */\n\nstatic int\nrb_main(int argc, char **argv)\n"- MAIN_C_SUBST_MAIN =
"/* -- Start of tebako patch -- */\n#include <tebako/tebako-main.h>\n/* -- End of tebako patch -- */\n\nint\nmain(int argc, char **argv)\n"- MAIN_C_SUBST_RB_MAIN_INNER =
"ruby_init();\n/* -- Start of tebako patch -- */\n if (!tebako_is_running_miniruby())\n {\n VALUE cwd = rb_str_new_cstr(tebako_original_pwd());\n rb_gv_set(\"$tebako_original_pwd\", cwd);\n }\n/* -- End of tebako patch -- */\n"- MAIN_C_SUBST_MAIN_INNER =
" ruby_sysinit(&argc, &argv);\n/* -- Start of tebako patch -- */\n if (tebako_main(&argc, &argv) != 0) {\n printf(\"Tebako intialization failed.\");\n return -1;\n }\n/* -- End of tebako patch -- */\n"
Class Method Summary collapse
Class Method Details
.get_main_c_patch(ruby_ver) ⇒ Object
73 74 75 76 77 78 79 |
# File 'lib/tebako/packager/patch_main.rb', line 73 def get_main_c_patch(ruby_ver) { get_main_c_main_pattern(ruby_ver) => get_main_c_main_subst(ruby_ver), "ruby_init();" => MAIN_C_SUBST_RB_MAIN_INNER, " ruby_sysinit(&argc, &argv);" => MAIN_C_SUBST_MAIN_INNER } end |