summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--common.mk4
-rw-r--r--template/fake.rb.in2
-rw-r--r--tool/fake.rb2
3 files changed, 6 insertions, 2 deletions
diff --git a/common.mk b/common.mk
index 824a5636bc..745921d923 100644
--- a/common.mk
+++ b/common.mk
@@ -597,8 +597,8 @@ $(RBCONFIG): $(srcdir)/tool/mkconfig.rb config.status $(srcdir)/version.h $(PREP
test-rubyspec-precheck:
-test-rubyspec: test-rubyspec-precheck
- $(RUNRUBY) $(srcdir)/spec/mspec/bin/mspec run -B $(srcdir)/spec/default.mspec $(MSPECOPT)
+test-rubyspec: test-rubyspec-precheck $(arch)-fake.rb
+ $(RUNRUBY) -r./$(arch)-fake $(srcdir)/spec/mspec/bin/mspec run -B $(srcdir)/spec/default.mspec $(MSPECOPT)
RUNNABLE = $(LIBRUBY_RELATIVE:no=un)-runnable
runnable: $(RUNNABLE) prog $(srcdir)/tool/mkrunnable.rb PHONY
diff --git a/template/fake.rb.in b/template/fake.rb.in
index 6f5de5092f..8e461c57a4 100644
--- a/template/fake.rb.in
+++ b/template/fake.rb.in
@@ -1,5 +1,6 @@
baseruby="@BASERUBY@"
ruby="${RUBY-$baseruby}"
+baseruby=
"eval" "{" \
"`expr \"$ruby\" : echo > /dev/null || echo exec`" \
"$ruby" '-r"`expr \"$0\" : / > /dev/null || pwd`/${0#/}" "$@";' \
@@ -26,3 +27,4 @@ end
$:.unshift(File.expand_path(builddir))
fake = File.join(top_srcdir, "tool/fake.rb")
eval(File.read(fake), nil, fake)
+ENV["RUBYOPT"] = ["-r#{__FILE__}", ENV["RUBYOPT"]].compact.join(" ")
diff --git a/tool/fake.rb b/tool/fake.rb
index 7d3a471402..0a8e25036a 100644
--- a/tool/fake.rb
+++ b/tool/fake.rb
@@ -20,8 +20,10 @@ prehook = proc do |extmk|
mkconfig = RbConfig::MAKEFILE_CONFIG
mkconfig["top_srcdir"] = $top_srcdir = top_srcdir
mkconfig["rubyhdrdir"] = "$(top_srcdir)/include"
+ mkconfig["rubyarchhdrdir"] = "$(builddir)/$(EXTOUT)/include/$(arch)"
mkconfig["builddir"] = config["builddir"] = builddir
config["rubyhdrdir"] = File.join(mkconfig["top_srcdir"], "include")
+ config["rubyarchhdrdir"] = File.join(builddir, config["EXTOUT"], "include", config["arch"])
mkconfig["libdir"] = config["libdir"] = mkconfig["topdir"]
trace_var(:$ruby, posthook)
end