| Module | Logging |
| In: |
mkmf.rb
|
Public Class methods
# File mkmf.rb, line 190
190: def self::logfile file
191: @logfile = file
192: if @log and not @log.closed?
193: @log.flush
194: @log.close
195: @log = nil
196: end
197: end
# File mkmf.rb, line 184
184: def self::message(*s)
185: @log ||= File::open(@logfile, 'w')
186: @log.sync = true
187: @log.printf(*s)
188: end
# File mkmf.rb, line 173
173: def self::open
174: @log ||= File::open(@logfile, 'w')
175: @log.sync = true
176: $stderr.reopen(@log)
177: $stdout.reopen(@log)
178: yield
179: ensure
180: $stderr.reopen(@orgerr)
181: $stdout.reopen(@orgout)
182: end
# File mkmf.rb, line 199
199: def self::postpone
200: tmplog = "mkmftmp#{@postpone += 1}.log"
201: open do
202: log, *save = @log, @logfile, @orgout, @orgerr
203: @log, @logfile, @orgout, @orgerr = nil, tmplog, log, log
204: begin
205: log.print(open {yield})
206: @log.close
207: File::open(tmplog) {|t| FileUtils.copy_stream(t, log)}
208: ensure
209: @log, @logfile, @orgout, @orgerr = log, *save
210: @postpone -= 1
211: rm_f tmplog
212: end
213: end
214: end