summaryrefslogtreecommitdiff
path: root/ext/extmk.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ext/extmk.rb')
-rwxr-xr-xext/extmk.rb19
1 files changed, 6 insertions, 13 deletions
diff --git a/ext/extmk.rb b/ext/extmk.rb
index 4e5f64d4f6..597fc78f60 100755
--- a/ext/extmk.rb
+++ b/ext/extmk.rb
@@ -193,19 +193,11 @@ def extmake(target)
Logging::logfile 'mkmf.log'
rm_f makefile
if conf
- stdout = $stdout.dup
- stderr = $stderr.dup
- unless verbose?
- $stderr.reopen($stdout.reopen(@null))
- end
- begin
+ Logging.open do
+ unless verbose?
+ $stderr.reopen($stdout.reopen(@null))
+ end
load $0 = conf
- ensure
- Logging::log_close
- $stderr.reopen(stderr)
- $stdout.reopen(stdout)
- stdout.close
- stderr.close
end
else
create_makefile(target)
@@ -235,7 +227,7 @@ def extmake(target)
mess = "#{error}\n#{mess}"
end
- Logging::message(mess)
+ Logging::message(mess) if Logging.log_opened?
print(mess)
$stdout.flush
return true
@@ -271,6 +263,7 @@ def extmake(target)
$extpath |= $LIBPATH
end
ensure
+ Logging::log_close
unless $ignore
RbConfig.module_eval {
remove_const(:CONFIG)