[前][次][番号順一覧][スレッド一覧]

ruby-changes:74104

From: nagachika <ko1@a...>
Date: Tue, 18 Oct 2022 21:52:02 +0900 (JST)
Subject: [ruby-changes:74104] 8e74bfb641 (ruby_3_1): merge revision(s) 7c67d0fd79a3cffe857587fa3cf576b611023840:

https://git.ruby-lang.org/ruby.git/commit/?id=8e74bfb641

From 8e74bfb641096f39f8eb22961f7aadf89ab741cf Mon Sep 17 00:00:00 2001
From: nagachika <nagachika@r...>
Date: Tue, 18 Oct 2022 21:42:37 +0900
Subject: merge revision(s) 7c67d0fd79a3cffe857587fa3cf576b611023840:

	Make sources by BASERUBY if available instead of miniruby

	---
	 common.mk             | 25 +++++++++++++++----------
	 configure.ac          |  6 +++++-
	 cygwin/GNUmakefile.in |  4 ++--
	 template/Makefile.in  |  2 +-
	 win32/Makefile.sub    | 10 ++++++++--
	 5 files changed, 31 insertions(+), 16 deletions(-)
---
 common.mk             | 25 +++++++++++++++----------
 configure.ac          |  6 +++++-
 cygwin/GNUmakefile.in |  4 ++--
 template/Makefile.in  |  1 +
 version.h             |  2 +-
 win32/Makefile.sub    | 10 ++++++++--
 6 files changed, 32 insertions(+), 16 deletions(-)

diff --git a/common.mk b/common.mk
index ca65dac142..258643bc14 100644
--- a/common.mk
+++ b/common.mk
@@ -80,7 +80,7 @@ EXTSOLIBS     = https://github.com/ruby/ruby/blob/trunk/common.mk#L80
 MINIOBJS      = $(ARCHMINIOBJS) miniinit.$(OBJEXT) dmyext.$(OBJEXT)
 ENC_MK        = enc.mk
 MAKE_ENC      = -f $(ENC_MK) V="$(V)" UNICODE_HDR_DIR="$(UNICODE_HDR_DIR)" \
-		RUBY="$(MINIRUBY)" MINIRUBY="$(MINIRUBY)" $(mflags)
+		RUBY="$(BOOTSTRAPRUBY)" MINIRUBY="$(BOOTSTRAPRUBY)" $(mflags)
 
 COMMONOBJS    = array.$(OBJEXT) \
 		ast.$(OBJEXT) \
@@ -753,9 +753,12 @@ fake: $(CROSS_COMPILING)-fake https://github.com/ruby/ruby/blob/trunk/common.mk#L753
 yes-fake: $(arch)-fake.rb $(RBCONFIG) PHONY
 no-fake -fake: PHONY
 
-# really doesn't depend on .o, just ensure newer than headers which
-# version.o depends on.
-$(arch)-fake.rb: $(srcdir)/template/fake.rb.in $(tooldir)/generic_erb.rb version.$(OBJEXT) miniruby$(EXEEXT)
+$(HAVE_BASERUBY:no=)$(arch)-fake.rb: miniruby$(EXEEXT)
+
+# actually depending on other headers more.
+$(arch)-fake.rb: $(top_srcdir)/revision.h $(top_srcdir)/version.h $(srcdir)/version.c {$(VPATH)}vm_opts.h
+
+$(arch)-fake.rb: $(srcdir)/template/fake.rb.in $(tooldir)/generic_erb.rb
 	$(ECHO) generating $@
 	$(Q) $(CPP) -DRUBY_EXPORT $(INCFLAGS) $(CPPFLAGS) "$(srcdir)/version.c" | \
 	$(BOOTSTRAPRUBY) "$(tooldir)/generic_erb.rb" -o $@ "$(srcdir)/template/fake.rb.in" \
@@ -840,6 +843,7 @@ extconf: $(PREP) https://github.com/ruby/ruby/blob/trunk/common.mk#L843
 	$(Q) $(MAKEDIRS) "$(EXTCONFDIR)"
 	$(RUNRUBY) -C "$(EXTCONFDIR)" $(EXTCONF) $(EXTCONFARGS)
 
+$(HAVE_BASERUBY:no=)$(RBCONFIG): $(PREP)
 $(RBCONFIG): $(tooldir)/mkconfig.rb config.status $(srcdir)/version.h
 	$(Q)$(BOOTSTRAPRUBY) -n \
 	-e 'BEGIN{version=ARGV.shift;mis=ARGV.dup}' \
@@ -886,9 +890,10 @@ libtrans trans: {$(VPATH)}transdb.h https://github.com/ruby/ruby/blob/trunk/common.mk#L890
 ENC_HEADERS = $(srcdir)/enc/jis/props.h
 # Use MINIRUBY which loads fake.rb for cross compiling
 $(ENC_MK): $(srcdir)/enc/make_encmake.rb $(srcdir)/enc/Makefile.in $(srcdir)/enc/depend \
-	   $(srcdir)/enc/encinit.c.erb $(ENC_HEADERS) $(srcdir)/lib/mkmf.rb $(RBCONFIG) fake
+	   $(srcdir)/enc/encinit.c.erb $(ENC_HEADERS) $(srcdir)/lib/mkmf.rb $(RBCONFIG) $(HAVE_BASERUBY)-fake
 	$(ECHO) generating $@
-	$(Q) $(MINIRUBY) $(srcdir)/enc/make_encmake.rb --builtin-encs="$(BUILTIN_ENCOBJS)" --builtin-transes="$(BUILTIN_TRANSOBJS)" --module$(ENCSTATIC) $(ENCS) $@
+	$(Q) $(BOOTSTRAPRUBY) -r./$(arch)-fake $(srcdir)/enc/make_encmake.rb \
+	  --builtin-encs="$(BUILTIN_ENCOBJS)" --builtin-transes="$(BUILTIN_TRANSOBJS)" --module$(ENCSTATIC) $(ENCS) $@
 
 .PRECIOUS: $(MKFILES)
 
@@ -1127,13 +1132,13 @@ node_name.inc: $(tooldir)/node_name.rb $(srcdir)/node.h https://github.com/ruby/ruby/blob/trunk/common.mk#L1132
 	$(ECHO) generating $@
 	$(Q) $(BASERUBY) -n $(tooldir)/node_name.rb < $(srcdir)/node.h > $@
 
-encdb.h: $(PREP) $(tooldir)/generic_erb.rb $(srcdir)/template/encdb.h.tmpl
+encdb.h: $(RBCONFIG) $(tooldir)/generic_erb.rb $(srcdir)/template/encdb.h.tmpl
 	$(ECHO) generating $@
-	$(Q) $(MINIRUBY) $(tooldir)/generic_erb.rb -c -o $@ $(srcdir)/template/encdb.h.tmpl $(srcdir)/enc enc
+	$(Q) $(BOOTSTRAPRUBY) $(tooldir)/generic_erb.rb -c -o $@ $(srcdir)/template/encdb.h.tmpl $(srcdir)/enc enc
 
-transdb.h: $(PREP) srcs-enc $(tooldir)/generic_erb.rb $(srcdir)/template/transdb.h.tmpl
+transdb.h: $(RBCONFIG) srcs-enc $(tooldir)/generic_erb.rb $(srcdir)/template/transdb.h.tmpl
 	$(ECHO) generating $@
-	$(Q) $(MINIRUBY) $(tooldir)/generic_erb.rb -c -o $@ $(srcdir)/template/transdb.h.tmpl $(srcdir)/enc/trans enc/trans
+	$(Q) $(BOOTSTRAPRUBY) $(tooldir)/generic_erb.rb -c -o $@ $(srcdir)/template/transdb.h.tmpl $(srcdir)/enc/trans enc/trans
 
 enc/encinit.c: $(ENC_MK) $(srcdir)/enc/encinit.c.erb
 
diff --git a/configure.ac b/configure.ac
index 3d18776ed7..36691f6f76 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3313,6 +3313,7 @@ done https://github.com/ruby/ruby/blob/trunk/configure.ac#L3313
 
 BTESTRUBY='$(MINIRUBY)'
 BOOTSTRAPRUBY='$(BASERUBY)'
+BOOTSTRAPRUBY_COMMAND='$(BOOTSTRAPRUBY)'
 AS_IF([test x"$cross_compiling" = xyes], [
   test x"$MINIRUBY" = x && MINIRUBY="${RUBY-$BASERUBY} -I`$CHDIR .; pwd` "-r'$(arch)-fake'
   XRUBY_LIBDIR=`${RUBY-$BASERUBY} -rrbconfig -e ['puts RbConfig::CONFIG["libdir"]']`
@@ -3335,7 +3336,9 @@ AS_IF([test x"$cross_compiling" = xyes], [ https://github.com/ruby/ruby/blob/trunk/configure.ac#L3336
   RUNRUBY_COMMAND='$(MINIRUBY) $(tooldir)/runruby.rb --extout=$(EXTOUT) $(RUNRUBYOPT)'
   RUNRUBY='$(RUNRUBY_COMMAND) --'
   XRUBY='$(RUNRUBY)'
-  AS_CASE(["$HAVE_BASERUBY"], [no], [BOOTSTRAPRUBY='$(MINIRUBY)'])
+  AS_CASE(["$HAVE_BASERUBY"],
+  [yes], [BOOTSTRAPRUBY_COMMAND='$(BOOTSTRAPRUBY) -r./$(arch)-fake'],
+  [BOOTSTRAPRUBY='$(MINIRUBY)'])
   TEST_RUNNABLE=yes
   CROSS_COMPILING=no
 ])
@@ -3348,6 +3351,7 @@ AC_SUBST(RUNRUBY_COMMAND) https://github.com/ruby/ruby/blob/trunk/configure.ac#L3351
 AC_SUBST(RUNRUBY)
 AC_SUBST(XRUBY)
 AC_SUBST(BOOTSTRAPRUBY)
+AC_SUBST(BOOTSTRAPRUBY_COMMAND)
 AC_SUBST(EXTOUT, [${EXTOUT=.ext}])
 
 FIRSTMAKEFILE=""
diff --git a/cygwin/GNUmakefile.in b/cygwin/GNUmakefile.in
index b13c3d9c8a..125b2bf7fc 100644
--- a/cygwin/GNUmakefile.in
+++ b/cygwin/GNUmakefile.in
@@ -55,7 +55,7 @@ $(RUBY_EXP) $(LIBRUBY_SO): $(DLL_BASE_NAME).res.@OBJEXT@ https://github.com/ruby/ruby/blob/trunk/cygwin/GNUmakefile.in#L55
 
 %.rc: $(RBCONFIG) $(srcdir)/revision.h $(srcdir)/win32/resource.rb
 	$(ECHO) generating $@
-	$(Q) $(MINIRUBY) $(srcdir)/win32/resource.rb \
+	$(Q) $(BOOTSTRAPRUBY_COMMAND) $(srcdir)/win32/resource.rb \
 	  -ruby_name=$(RUBY_INSTALL_NAME) -rubyw_name=$(RUBYW_INSTALL_NAME) \
 	  -so_name=$(DLL_BASE_NAME) -output=$(*F) \
 	  . $(icondirs) $(srcdir)/win32
@@ -96,7 +96,7 @@ $(LIBRUBY_SO): $(RUBYDEF) https://github.com/ruby/ruby/blob/trunk/cygwin/GNUmakefile.in#L96
 
 $(RUBYDEF): $(LIBRUBY_A) $(PREP) $(RBCONFIG)
 	$(ECHO) generating $@
-	$(Q) $(MINIRUBY) $(srcdir)/win32/mkexports.rb -output=$@ $(LIBRUBY_A)
+	$(Q) $(BOOTSTRAPRUBY_COMMAND) $(srcdir)/win32/mkexports.rb -output=$@ $(LIBRUBY_A)
 
 clean-local::
 	@$(RM) $(RUBYDEF)
diff --git a/template/Makefile.in b/template/Makefile.in
index d4efb32725..f6fa5d9a6c 100644
--- a/template/Makefile.in
+++ b/template/Makefile.in
@@ -157,6 +157,7 @@ XRUBY_LIBDIR = @XRUBY_LIBDIR@ https://github.com/ruby/ruby/blob/trunk/template/Makefile.in#L157
 XRUBY_RUBYLIBDIR = @XRUBY_RUBYLIBDIR@
 XRUBY_RUBYHDRDIR = @XRUBY_RUBYHDRDIR@
 BOOTSTRAPRUBY = @BOOTSTRAPRUBY@
+BOOTSTRAPRUBY_COMMAND = @BOOTSTRAPRUBY_COMMAND@
 
 COROUTINE_H = @X_COROUTINE_H@
 COROUTINE_OBJ = $(COROUTINE_H:.h=.@OBJEXT@)
diff --git a/version.h b/version.h
index 15c552d06e..42362ca5c6 100644
--- a/version.h
+++ b/version.h
@@ -11,7 +11,7 @@ https://github.com/ruby/ruby/blob/trunk/version.h#L11
 # define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR
 #define RUBY_VERSION_TEENY 3
 #define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR
-#define RUBY_PATCHLEVEL 102
+#define RUBY_PATCHLEVEL 103
 
 #define RUBY_RELEASE_YEAR 2022
 #define RUBY_RELEASE_MONTH 10
diff --git a/win32/Makefile.sub b/win32/Makefile.sub
index 7d78c6ad7c..a61c9c553c 100644
--- a/win32/Makefile.sub
+++ b/win32/Makefile.sub
@@ -381,8 +381,10 @@ RUNRUBY = $(RUNRUBY) "$(tooldir)/runruby.rb" --extout="$(EXTOUT)" $(RUNRUBYOPT) https://github.com/ruby/ruby/blob/trunk/win32/Makefile.sub#L381
 !if "$(CROSS_COMPILING)" == "yes"
 XRUBY = $(MINIRUBY)
 BOOTSTRAPRUBY = $(BASERUBY)
+BOOTSTRAPRUBY_COMMAND = $(BOOTSTRAPRUBY) -r./$(arch)-fake
 !else
 BOOTSTRAPRUBY = $(MINIRUBY)
+BOOTSTRAPRUBY_COMMAND = $(BOOTSTRAPRUBY)
 XRUBY = $(RUNRUBY)
 !endif
 BTESTRUBY = $(MINIRUBY)
@@ -1090,6 +1092,10 @@ s,@ruby_pc@,$(ruby_pc),;t t https://github.com/ruby/ruby/blob/trunk/win32/Makefile.sub#L1092
 s,@MJIT_SUPPORT@,$(MJIT_SUPPORT),;t t
 <<KEEP
 
+!if "$(HAVE_BASERUBY)" != "yes" || "$(CROSS_COMPILING)" == "yes"
+$(RBCONFIG): $(PREP)
+!endif
+
 miniruby: miniruby$(EXEEXT)
 
 miniruby$(EXEEXT):
@@ -1169,7 +1175,7 @@ $(LIBRUBY_SO):	$(LIBRUBY_A) $(DLDOBJS) $(RUBYDEF) $(RUBY_SO_NAME).res https://github.com/ruby/ruby/blob/trunk/win32/Makefile.sub#L1175
 
 $(RUBYDEF):	$(LIBRUBY_A) $(RBCONFIG)
 		$(ECHO) generating $(@:\=/)
-		$(Q) $(MINIRUBY) $(srcdir)/win32/mkexports.rb \
+		$(Q) $(BOOTSTRAPRUBY_COMMAND) $(srcdir)/win32/mkexports.rb \
 		  -output=$@ -arch=$(ARCH) $(LIBRUBY_A)
 
 {$(win_srcdir)}.def.lib:
@@ -1216,7 +1222,7 @@ clean-enc distclean-enc realclean-enc: https://github.com/ruby/ruby/blob/trunk/win32/Makefile.sub#L1222
 $(RBCONFIG): $(PREP)
 
 $(RCFILES): $(RBCONFIG) $(srcdir)/revision.h $(srcdir)/win32/resource.rb
-		@$(MINIRUBY) $(srcdir)/win32/resource.rb \
+		@$(BOOTSTRAPRUBY_COMMAND) $(srcdir)/win32/resource.rb \
 			-ruby_name=$(RUBY_INSTALL_NAME) \
 			-rubyw_name=$(RUBYW_INSTALL_NAME) \
 			-so_name=$(RUBY_SO_NAME) \
-- 
cgit v1.2.3


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]