diff options
author | Nobuyoshi Nakada <[email protected]> | 2024-09-08 21:18:20 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <[email protected]> | 2024-09-08 23:40:17 +0900 |
commit | ecb58a8d08bb3b53326319fb5b7ba3ed26fcac2b (patch) | |
tree | b47c0dfd0232fda2ebb3111d8598d0085ebe9869 /goruby.c | |
parent | 70871fa6e3172d10d615174e9aa909d3e08687f0 (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.c | 7 |
1 files changed, 3 insertions, 4 deletions
@@ -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; } |