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