Module Logging
In: lib/mkmf.rb

Methods

logfile   message   open   postpone  

Public Class methods

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Source]

     # 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

[Validate]