aboutsummaryrefslogtreecommitdiffstats
path: root/tool/fake.rb
diff options
context:
space:
mode:
Diffstat (limited to 'tool/fake.rb')
-rw-r--r--tool/fake.rb30
1 files changed, 30 insertions, 0 deletions
diff --git a/tool/fake.rb b/tool/fake.rb
new file mode 100644
index 0000000000..7d3a471402
--- /dev/null
+++ b/tool/fake.rb
@@ -0,0 +1,30 @@
+class File
+ sep = ("\\" if RUBY_PLATFORM =~ /mswin|bccwin|mingw/)
+ if sep != ALT_SEPARATOR
+ remove_const :ALT_SEPARATOR
+ ALT_SEPARATOR = sep
+ end
+end
+
+$:.unshift(builddir)
+posthook = proc do
+ mkconfig = RbConfig::MAKEFILE_CONFIG
+ extout = File.expand_path(mkconfig["EXTOUT"], builddir)
+ $arch_hdrdir = "#{extout}/include/$(arch)"
+ $ruby = baseruby
+ untrace_var(:$ruby, posthook)
+end
+prehook = proc do |extmk|
+ unless extmk
+ config = RbConfig::CONFIG
+ mkconfig = RbConfig::MAKEFILE_CONFIG
+ mkconfig["top_srcdir"] = $top_srcdir = top_srcdir
+ mkconfig["rubyhdrdir"] = "$(top_srcdir)/include"
+ mkconfig["builddir"] = config["builddir"] = builddir
+ config["rubyhdrdir"] = File.join(mkconfig["top_srcdir"], "include")
+ mkconfig["libdir"] = config["libdir"] = mkconfig["topdir"]
+ trace_var(:$ruby, posthook)
+ end
+ untrace_var(:$extmk, prehook)
+end
+trace_var(:$extmk, prehook)