summaryrefslogtreecommitdiff
path: root/goruby.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <[email protected]>2024-09-08 21:18:20 +0900
committerNobuyoshi Nakada <[email protected]>2024-09-08 23:40:17 +0900
commitecb58a8d08bb3b53326319fb5b7ba3ed26fcac2b (patch)
treeb47c0dfd0232fda2ebb3111d8598d0085ebe9869 /goruby.c
parent70871fa6e3172d10d615174e9aa909d3e08687f0 (diff)
Fix prelude to use IBF
Since universal-parser and prism support, prelude code used functions inaccessible from outside libruby shared library. ``` linking goruby /usr/bin/ld: goruby.o: in function `prelude_eval': /home/runner/work/ruby/ruby/build/golf_prelude.c:221: undefined reference to `rb_ruby_prism_ptr' /usr/bin/ld: goruby.o: in function `pm_prelude_load': /home/runner/work/ruby/ruby/build/golf_prelude.c:192: undefined reference to `pm_options_line_set' /usr/bin/ld: /home/runner/work/ruby/ruby/build/golf_prelude.c:193: undefined reference to `pm_parse_string' /usr/bin/ld: goruby.o: in function `prelude_eval': /home/runner/work/ruby/ruby/build/golf_prelude.c:224: undefined reference to `pm_iseq_new_with_opt' /usr/bin/ld: /home/runner/work/ruby/ruby/build/golf_prelude.c:226: undefined reference to `pm_parse_result_free' /usr/bin/ld: goruby.o: in function `prelude_ast_value': /home/runner/work/ruby/ruby/build/golf_prelude.c:181: undefined reference to `rb_ruby_ast_data_get' /usr/bin/ld: goruby.o: in function `prelude_eval': /home/runner/work/ruby/ruby/build/golf_prelude.c:231: undefined reference to `rb_ruby_ast_data_get' /usr/bin/ld: goruby.o: in function `pm_prelude_load': /home/runner/work/ruby/ruby/build/golf_prelude.c:196: undefined reference to `pm_parse_result_free' collect2: error: ld returned 1 exit status ```
Diffstat (limited to 'goruby.c')
-rw-r--r--goruby.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/goruby.c b/goruby.c
index 5d45277207..310bac5393 100644
--- a/goruby.c
+++ b/goruby.c
@@ -1,4 +1,4 @@
-static void Init_golf(void);
+static void Init_golf_prelude(void);
static void *goruby_options(int argc, char **argv);
static int goruby_run_node(void *arg);
#define ruby_options goruby_options
@@ -17,14 +17,13 @@ static int goruby_run_node(void *arg);
RUBY_EXTERN void *ruby_options(int argc, char **argv);
RUBY_EXTERN int ruby_run_node(void*);
-RUBY_EXTERN void ruby_init_ext(const char *name, void (*init)(void));
-#include "golf_prelude.c"
+#include "golf_prelude.rbbin"
static VALUE
init_golf(VALUE arg)
{
- Init_golf();
+ Init_golf_prelude();
rb_provide("golf.so");
return arg;
}