projects
/
ruby-vorbistagger.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Separated vcedit_state_new() and vcedit_open() again.
[ruby-vorbistagger.git]
/
rake
/
configuretask.rb
diff --git
a/rake/configuretask.rb
b/rake/configuretask.rb
index 2078da41a1eada92eb991b0237d91293732750c4..b673c84a8b45fa770a75b23fc999443a76b1d24a 100644
(file)
--- a/
rake/configuretask.rb
+++ b/
rake/configuretask.rb
@@
-23,7
+23,6
@@
require "rake/tasklib"
require "rake/clean"
require "yaml"
require "rake/tasklib"
require "rake/clean"
require "yaml"
-require "tempfile"
require "fileutils"
module Rake
require "fileutils"
module Rake
@@
-140,16
+139,13
@@
module Rake
protected
def can_exec_binary?(bin)
fork do
protected
def can_exec_binary?(bin)
fork do
- tf = Tempfile.open("configuretask")
- STDOUT.reopen(tf)
- STDERR.reopen(tf)
+ STDOUT.reopen("/dev/null")
+ STDERR.reopen("/dev/null")
begin
exec(bin)
rescue SystemCallError
exit 255
begin
exec(bin)
rescue SystemCallError
exit 255
- ensure
- tf.close
end
end
end
end
@@
-182,17
+178,23
@@
module Rake
def invoke
return false unless can_exec_command?
def invoke
return false unless can_exec_command?
- [:version, :cflags, :libs].each do |f|
- @result[f] = lookup_flags(f)
+ begin
+ [:version, :cflags, :libs].each do |f|
+ @result[f] = lookup_flags(f)
+ end
+ rescue Exception
+ @result.clear
end
end
- true
+ !@result.empty?
end
protected
def lookup_flags(f)
tmp = `#{@command} --#{f}`.strip
end
protected
def lookup_flags(f)
tmp = `#{@command} --#{f}`.strip
- $?.exitstatus.zero? ? tmp : nil
+
+ raise unless $?.exitstatus.zero?
+ tmp
end
private
end
private
@@
-214,7
+216,9
@@
module Rake
tmp = `#{@command} --silence-errors --#{f} #{@name}`.
strip.tr("\n", "/")
tmp = `#{@command} --silence-errors --#{f} #{@name}`.
strip.tr("\n", "/")
- $?.exitstatus.zero? ? tmp : nil
+
+ raise unless $?.exitstatus.zero?
+ tmp
end
end
end
end