diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h index 888ce89169..ca794bcaeb 100644 --- a/include/ruby/ruby.h +++ b/include/ruby/ruby.h @@ -434,6 +434,13 @@ __extension__({ \ RUBY__ASAN_DEFAULT_OPTIONS \ /* RUBY_GLOBAL_SETUP end */ +#if defined(__wasm__) && !defined(__EMSCRIPTEN__) +int rb_wasm_rt_start(int (*)(int, char **), int, char **); +# define ruby_start_main rb_wasm_rt_start +#else +# define ruby_start_main(main, argc, argv) main(argc, argv) +#endif + RBIMPL_SYMBOL_EXPORT_END() #endif /* RUBY_RUBY_H */ diff --git a/main.c b/main.c index 35efcde175..525189db85 100644 --- a/main.c +++ b/main.c @@ -42,11 +42,6 @@ rb_main(int argc, char **argv) return ruby_run_node(ruby_options(argc, argv)); } -#if defined(__wasm__) && !defined(__EMSCRIPTEN__) -int rb_wasm_rt_start(int (main)(int argc, char **argv), int argc, char **argv); -#define rb_main(argc, argv) rb_wasm_rt_start(rb_main, argc, argv) -#endif - #ifdef _WIN32 #define main(argc, argv) w32_main(argc, argv) static int main(int argc, char **argv); @@ -64,5 +59,5 @@ main(int argc, char **argv) #endif ruby_sysinit(&argc, &argv); - return rb_main(argc, argv); + return ruby_start_main(rb_main, argc, argv); }