logging.patch 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. --- trunk/ext/extmk.rb (revision 40079)
  2. +++ trunk/ext/extmk.rb (revision 40080)
  3. @@ -193,19 +193,11 @@
  4. Logging::logfile 'mkmf.log'
  5. rm_f makefile
  6. if conf
  7. - stdout = $stdout.dup
  8. - stderr = $stderr.dup
  9. - unless verbose?
  10. - $stderr.reopen($stdout.reopen(@null))
  11. - end
  12. - begin
  13. + Logging.open do
  14. + unless verbose?
  15. + $stderr.reopen($stdout.reopen(@null))
  16. + end
  17. load $0 = conf
  18. - ensure
  19. - Logging::log_close
  20. - $stderr.reopen(stderr)
  21. - $stdout.reopen(stdout)
  22. - stdout.close
  23. - stderr.close
  24. end
  25. else
  26. create_makefile(target)
  27. @@ -235,11 +227,13 @@
  28. mess = "#{error}\n#{mess}"
  29. end
  30. - Logging::message(mess)
  31. + Logging::message(mess) if Logging.log_opened?
  32. print(mess)
  33. $stdout.flush
  34. + Logging::log_close
  35. return true
  36. end
  37. + Logging::log_close
  38. args = sysquote($mflags)
  39. unless $destdir.to_s.empty? or $mflags.defined?("DESTDIR")
  40. args += [sysquote("DESTDIR=" + relative_from($destdir, "../"+prefix))]
  41. --- trunk/lib/mkmf.rb (revision 40079)
  42. +++ trunk/lib/mkmf.rb (revision 40080)
  43. @@ -310,6 +310,10 @@
  44. @log.sync = true
  45. end
  46. + def self::log_opened?
  47. + @log and not @log.closed?
  48. + end
  49. +
  50. def self::open
  51. log_open
  52. $stderr.reopen(@log)