Skip to content

Commit 7cf51b5

Browse files
committed
common.mk: extract bundled gems before configuring extensions
`template/configure-ext.mk.tmpl` discovers bundled-gem C extensions via `Dir.glob(".bundle/gems/**/extconf.rb")` when `ext/configure-ext.mk` is regenerated. Without an explicit dependency, `extract-gems` had no guarantee of running first, so on a clean build the glob returned nothing and `build-ext` never saw `rbs`. As a result, `make html` failed with `Gem::MissingSpecError: Could not find 'rbs' (>= 4.0.0)` once the rbs-integrated `rdoc` SHA landed in `gems/bundled_gems` (ruby#16940): the `rbs` gemspec, extension binary, and `gem.build_complete` marker were all absent from `.bundle/`. Add `extract-gems` as a prereq of `ext/configure-ext.mk`, gated on `HAVE_BASERUBY` to match the rest of the bundled-gems pipeline. The existing per-extension Makefile chain (`all: install` → `install-so install-rb`) then produces the `.so`, build_complete marker, and the spec copy in `.bundle/specifications/`. Fixes the `master` matrix of the ruby/actions "Make HTML for docs.r-l.o/en/" workflow.
1 parent 4c3de1a commit 7cf51b5

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

common.mk

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,8 @@ $(EXTS_MK): ext/configure-ext.mk $(srcdir)/template/exts.mk.tmpl \
346346
$(srcdir)/template/exts.mk.tmpl --gnumake=$(gnumake) --configure-exts=ext/configure-ext.mk
347347

348348
ext/configure-ext.mk: $(PREP) all-incs $(MKFILES) $(RBCONFIG) $(LIBRUBY) \
349-
$(srcdir)/template/configure-ext.mk.tmpl update-default-gemspecs
349+
$(srcdir)/template/configure-ext.mk.tmpl update-default-gemspecs \
350+
$(HAVE_BASERUBY:yes=extract-gems)
350351
$(ECHO) generating makefiles $@
351352
$(Q)$(MAKEDIRS) $(@D)
352353
$(Q)$(MINIRUBY) $(tooldir)/generic_erb.rb -o $@ -c \

0 commit comments

Comments
 (0)