9
9
$extout_prefix = "$(extout)$(target_prefix)/"
11
11
class TestMkmf < Test::Unit::TestCase
12
MKMFLOG = proc {File.read("mkmf.log") rescue ""}
27
STDOUT.print @filter ? @filter.call(@buffer) : @buffer
53
log = proc {MKMFLOG[] << msg}
61
@rbconfig = rbconfig0 = RbConfig::CONFIG
62
@mkconfig = mkconfig0 = RbConfig::MAKEFILE_CONFIG
69
"hdrdir" => "$(top_srcdir)/include",
70
"srcdir" => "$(top_srcdir)/ext/#{$mdir}",
73
rbconfig0.each_pair {|key, val| rbconfig[key] ||= val.dup}
74
mkconfig0.each_pair {|key, val| mkconfig[key] ||= val.dup}
75
RbConfig.module_eval {
77
const_set(:CONFIG, rbconfig)
78
remove_const(:MAKEFILE_CONFIG)
79
const_set(:MAKEFILE_CONFIG, mkconfig)
83
const_set(:CONFIG, mkconfig)
13
85
@tmpdir = Dir.mktmpdir
15
87
@mkmfobj = Object.new
17
class << (@output = "")
90
@quiet, Logging.quiet = Logging.quiet, true
92
$INCFLAGS[0, 0] = "-I. "
98
RbConfig.module_eval {
100
const_set(:CONFIG, rbconfig0)
101
remove_const(:MAKEFILE_CONFIG)
102
const_set(:MAKEFILE_CONFIG, mkconfig0)
105
remove_const(:CONFIG)
106
const_set(:CONFIG, mkconfig0)
108
Logging.quiet = @quiet
27
110
Dir.chdir(@curdir)
28
111
FileUtils.rm_rf(@tmpdir)
31
114
def mkmf(*args, &block)
116
stdout, $stdout = $stdout, @stdout
32
117
@mkmfobj.instance_eval(*args, &block)
122
def config_value(name)
123
create_tmpsrc("---config-value=#{name}")
124
xpopen(cpp_command('')) do |f|
125
f.grep(/^---config-value=(.*)/) {return $1}