summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNobuyoshi Nakada <[email protected]>2024-12-20 16:44:27 +0900
committerNobuyoshi Nakada <[email protected]>2024-12-22 22:10:26 +0900
commit4fb5d746ce02dcaf8702f97f88946c090b65d4a2 (patch)
tree90e5b399bf41b46cd7720e905e6f141b89c57750
parent2f2530b195008209e1d9e4e9734509d5f956fa49 (diff)
Split `modular-gc` into build and installation
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/12428
-rw-r--r--.github/workflows/modgc.yml2
-rw-r--r--common.mk15
-rw-r--r--template/Makefile.in4
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