From 4fb5d746ce02dcaf8702f97f88946c090b65d4a2 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Fri, 20 Dec 2024 16:44:27 +0900 Subject: [PATCH] Split `modular-gc` into build and installation --- .github/workflows/modgc.yml | 2 +- common.mk | 15 +++++++++++++-- template/Makefile.in | 4 ---- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/.github/workflows/modgc.yml b/.github/workflows/modgc.yml index 8b40783648..6aeaa51a4b 100644 --- a/.github/workflows/modgc.yml +++ b/.github/workflows/modgc.yml @@ -132,7 +132,7 @@ jobs: - name: Build Modular GC run: | echo "RUBY_GC_LIBRARY=${{ matrix.gc.name }}" >> $GITHUB_ENV - make modular-gc MODULAR_GC=${{ matrix.gc.name }} MMTK_BUILD=${{ matrix.gc.mmtk_build }} + make install-modular-gc MODULAR_GC=${{ matrix.gc.name }} MMTK_BUILD=${{ matrix.gc.mmtk_build }} make distclean-modular-gc MODULAR_GC=${{ matrix.gc.name }} - run: | diff --git a/common.mk b/common.mk index 92872cb61d..98fc6701a1 100644 --- a/common.mk +++ b/common.mk @@ -1941,9 +1941,18 @@ rewindable: HELP_EXTRA_TASKS = "" +gc/Makefile: + $(MAKEDIRS) $(@D) + $(MESSAGE_BEGIN) \ + "all:" \ + " @echo You must specify MODULAR_GC with the GC to build" \ + " @exit 1" \ + $(MESSAGE_END) > $@ +gc/distclean gc/realclean:: + -$(Q) $(RM) gc/Makefile + modular-gc-precheck: -modular-gc: probes.h modular-gc-precheck - $(Q) $(MAKEDIRS) $(modular_gc_dir) +modular-gc: probes.h gc/Makefile $(Q) $(RUNRUBY) $(srcdir)/ext/extmk.rb \ $(SCRIPT_ARGS) \ --make='$(MAKE)' --make-flags="V=$(V) MINIRUBY='$(MINIRUBY)'" \ @@ -1951,6 +1960,8 @@ modular-gc: probes.h modular-gc-precheck --ext-build-dir=gc --command-output=gc/$(MODULAR_GC)/exts.mk -- \ configure gc/$(MODULAR_GC) $(CHDIR) gc/$(MODULAR_GC) && $(exec) $(MAKE) TARGET_SO_DIR=./ +install-modular-gc: modular-gc modular-gc-precheck + $(Q) $(MAKEDIRS) $(modular_gc_dir) $(CP) gc/$(MODULAR_GC)/librubygc.$(MODULAR_GC).$(DLEXT) $(modular_gc_dir) clean-modular-gc: gc/clean diff --git a/template/Makefile.in b/template/Makefile.in index 25c788f565..05432cd573 100644 --- a/template/Makefile.in +++ b/template/Makefile.in @@ -353,10 +353,6 @@ modular-gc-precheck: echo "You must configure with --with-modular-gc to use modular GC"; \ exit 1; \ fi - $(Q) if test -z $(MODULAR_GC); then \ - echo "You must specify MODULAR_GC with the GC to build"; \ - exit 1; \ - fi pre-install-local:: pkgconfig-data