aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common.mk6
-rw-r--r--inits.c4
-rw-r--r--template/prelude.c.tmpl2
3 files changed, 9 insertions, 3 deletions
diff --git a/common.mk b/common.mk
index e382b22a66..b117008561 100644
--- a/common.mk
+++ b/common.mk
@@ -163,7 +163,7 @@ ALLOBJS = $(NORMALMAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(INITOBJS)
GOLFOBJS = goruby.$(OBJEXT) golf_prelude.$(OBJEXT)
DEFAULT_PRELUDES = $(GEM_PRELUDE)
-PRELUDE_SCRIPTS = $(srcdir)/prelude.rb $(DEFAULT_PRELUDES)
+PRELUDE_SCRIPTS = $(DEFAULT_PRELUDES)
GEM_PRELUDE = $(srcdir)/gem_prelude.rb
PRELUDES = {$(srcdir)}prelude.c {$(srcdir)}miniprelude.c
GOLFPRELUDES = {$(srcdir)}golf_prelude.c
@@ -1000,6 +1000,7 @@ BUILTIN_RB_SRCS = \
$(srcdir)/io.rb \
$(srcdir)/pack.rb \
$(srcdir)/trace_point.rb \
+ $(srcdir)/prelude.rb \
$(empty)
BUILTIN_RB_INCS = $(BUILTIN_RB_SRCS:.rb=.rbinc)
@@ -2231,6 +2232,8 @@ inits.$(OBJEXT): {$(VPATH)}onigmo.h
inits.$(OBJEXT): {$(VPATH)}oniguruma.h
inits.$(OBJEXT): {$(VPATH)}st.h
inits.$(OBJEXT): {$(VPATH)}subst.h
+inits.$(OBJEXT): {$(VPATH)}builtin.h
+inits.$(OBJEXT): {$(VPATH)}prelude.rbinc
io.$(OBJEXT): $(CCAN_DIR)/check_type/check_type.h
io.$(OBJEXT): $(CCAN_DIR)/container_of/container_of.h
io.$(OBJEXT): $(CCAN_DIR)/list/list.h
@@ -2689,7 +2692,6 @@ prelude.$(OBJEXT): {$(VPATH)}node.h
prelude.$(OBJEXT): {$(VPATH)}onigmo.h
prelude.$(OBJEXT): {$(VPATH)}oniguruma.h
prelude.$(OBJEXT): {$(VPATH)}prelude.c
-prelude.$(OBJEXT): {$(VPATH)}prelude.rb
prelude.$(OBJEXT): {$(VPATH)}ruby_assert.h
prelude.$(OBJEXT): {$(VPATH)}ruby_atomic.h
prelude.$(OBJEXT): {$(VPATH)}st.h
diff --git a/inits.c b/inits.c
index 9ced248618..490506e3bf 100644
--- a/inits.c
+++ b/inits.c
@@ -10,6 +10,8 @@
**********************************************************************/
#include "internal.h"
+#include "builtin.h"
+#include "prelude.rbinc"
#define CALL(n) {void Init_##n(void); Init_##n();}
@@ -66,6 +68,7 @@ rb_call_inits(void)
CALL(vm_stack_canary);
CALL(gc_stress);
+ // enable builtin loading
CALL(builtin);
CALL(GC);
@@ -73,5 +76,6 @@ rb_call_inits(void)
CALL(ast);
CALL(vm_trace);
CALL(pack);
+ load_prelude();
}
#undef CALL
diff --git a/template/prelude.c.tmpl b/template/prelude.c.tmpl
index 33f6a68be0..e3cbbaab58 100644
--- a/template/prelude.c.tmpl
+++ b/template/prelude.c.tmpl
@@ -38,7 +38,7 @@ class Prelude
@builtin_count = 0
@preludes = {}
@mains = preludes.map do |filename|
- if prelude = filename.end_with?("prelude.rb")
+ if prelude = filename.end_with?("_prelude.rb")
@prelude_count += 1
else
@builtin_count += 1