diff options
Diffstat (limited to 'tool/fake.rb')
-rw-r--r-- | tool/fake.rb | 30 |
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) |