[Bug #21792] Build rubyspec-capiext only when excuting test-spec

rubyspec-capiext is only needed for running specs, not for building or
installing Ruby.
This commit is contained in:
Mike Dalessio 2025-12-17 17:28:47 -05:00 committed by Nobuyoshi Nakada
parent e4bcb64be1
commit e6520de344
Notes: git 2025-12-20 13:25:21 +00:00
3 changed files with 3 additions and 8 deletions

View File

@ -804,6 +804,7 @@ clean-platform distclean-platform realclean-platform:
RUBYSPEC_CAPIEXT = spec/ruby/optional/capi/ext
RUBYSPEC_CAPIEXT_SRCDIR = $(srcdir)/$(RUBYSPEC_CAPIEXT)
RUBYSPEC_CAPIEXT_DEPS = $(RUBYSPEC_CAPIEXT_SRCDIR)/rubyspec.h $(RUBY_H_INCLUDES) $(LIBRUBY)
RUBYSPEC_CAPIEXT_BUILD = $(enable_shared:yes=rubyspec-capiext)
rubyspec-capiext: build-ext $(DOT_WAIT)
# make-dependent rules should be included after this and built after build-ext.
@ -905,7 +906,7 @@ test: test-short
# Separate to skip updating encs and exts by `make -o test-precheck`
# for GNU make.
test-precheck: $(ENCSTATIC:static=lib)encs exts PHONY $(DOT_WAIT)
test-precheck: $(ENCSTATIC:static=lib)encs $(RUBYSPEC_CAPIEXT_BUILD) exts PHONY $(DOT_WAIT)
yes-test-all-precheck: programs $(DOT_WAIT) test-precheck
PRECHECK_TEST_ALL = yes-test-all-precheck

View File

@ -529,11 +529,7 @@ RUBYSPEC_CAPIEXT_SO := $(patsubst %.c,$(RUBYSPEC_CAPIEXT)/%.$(DLEXT),$(notdir $(
rubyspec-capiext: $(RUBYSPEC_CAPIEXT_SO)
@ $(NULLCMD)
ifeq ($(ENABLE_SHARED),yes)
exts: rubyspec-capiext
endif
spec/%/ spec/%_spec.rb: programs exts PHONY
spec/%/ spec/%_spec.rb: programs exts $(RUBYSPEC_CAPIEXT_BUILD) PHONY
+$(RUNRUBY) -r./$(arch)-fake $(srcdir)/spec/mspec/bin/mspec-run -B $(srcdir)/spec/default.mspec $(SPECOPTS) $(patsubst %,$(srcdir)/%,$@)
ruby.pc: $(filter-out ruby.pc,$(ruby_pc))

View File

@ -1425,8 +1425,6 @@ rubyspec-capiext: $(RUBYSPEC_CAPIEXT_EXTS)
$(Q)$(LDSHARED) -Fe$(@) -Fo$(*).obj $(INCFLAGS) $(CFLAGS) $(CPPFLAGS) $< $(LIBRUBYARG) -link $(DLDFLAGS) $(XLDFLAGS) $(LIBS) $(LOCAL_LIBS) -implib:$*.lib -pdb:$*.pdb -def:$*.def
$(Q)$(RM) $*.def $*.exp $*.lib $*.obj $*.pdb
exts: rubyspec-capiext
yesterday:
(set TZ=UTC-9) && \
for /f "usebackq" %H in \