diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-12-04 10:40:15 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2021-12-04 10:40:15 +0900 |
commit | a4964174e26303524cee8c2d8523048b87137993 (patch) | |
tree | eccc69b06263948f72057c38db9f502656ff51f3 /defs | |
parent | d118e7c025adf0221fe16ad3a0d57ba9605fd2a7 (diff) |
Fix circular dependencies specific to in-place build [Bug #18374]
* Move the rubyspec running recipe after the rule for rubyspec
C-API extension library, so that separate dummy recipe is not
needed.
* Add a dummy recipe for rubyspec.h before the rubyspec running
recipe, so that the dependency of extensions do not fire the
latter.
Diffstat (limited to 'defs')
-rw-r--r-- | defs/gmake.mk | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/defs/gmake.mk b/defs/gmake.mk index 1a6c8620ed..0b17bfb16f 100644 --- a/defs/gmake.mk +++ b/defs/gmake.mk @@ -367,11 +367,10 @@ spec/bundler: test-bundler-parallel $(Q)$(NULLCMD) # workaround to avoid matching non ruby files with "spec/%/" under GNU make 3.81 -spec/%_spec.c spec/%_spec.$(DLEXT): +spec/%_spec.c: + $(empty) +$(srcdir)/$(RUBYSPEC_CAPIEXT)/rubyspec.h: $(empty) - -spec/%/ spec/%_spec.rb: programs exts PHONY - +$(RUNRUBY) -r./$(arch)-fake $(srcdir)/spec/mspec/bin/mspec-run -B $(srcdir)/spec/default.mspec $(SPECOPTS) $(patsubst %,$(srcdir)/%,$@) benchmark/%: miniruby$(EXEEXT) update-benchmark-driver PHONY $(Q)$(BASERUBY) -rrubygems -I$(srcdir)/benchmark/lib $(srcdir)/benchmark/benchmark-driver/exe/benchmark-driver \ @@ -422,3 +421,6 @@ rubyspec-capiext: $(patsubst %.c,$(RUBYSPEC_CAPIEXT)/%.$(DLEXT),$(notdir $(wildc ifeq ($(ENABLE_SHARED),yes) exts: rubyspec-capiext endif + +spec/%/ spec/%_spec.rb: programs exts PHONY + +$(RUNRUBY) -r./$(arch)-fake $(srcdir)/spec/mspec/bin/mspec-run -B $(srcdir)/spec/default.mspec $(SPECOPTS) $(patsubst %,$(srcdir)/%,$@) |