aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-05-18 06:19:25 +0000
committerkosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2012-05-18 06:19:25 +0000
commit899bf4981a17846ac205383e47fa0cf8428dacd0 (patch)
tree1dddb57b3d43037fe67358208ee94483812615e3
parentd17b97ce641ffa055f22ef8badcf4340909f643a (diff)
downloadruby-899bf4981a17846ac205383e47fa0cf8428dacd0.tar.gz
* ext/extmk.rb: Show a message when extconf.rb raised an exception.
* ext/openssl/extconf.rb: Use exception raising instead of message and/or abort. We want to display error message to console _and_ logging into mkmf.log. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35685 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog7
-rwxr-xr-xext/extmk.rb12
-rw-r--r--ext/openssl/extconf.rb5
3 files changed, 20 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 456cbad8df..df674d1552 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Fri May 18 15:14:32 2012 KOSAKI Motohiro <kosaki.motohiro@gmail.com>
+
+ * ext/extmk.rb: Show a message when extconf.rb raised an exception.
+ * ext/openssl/extconf.rb: Use exception raising instead of message
+ and/or abort. We want to display error message to console _and_
+ logging into mkmf.log.
+
Fri May 18 06:14:07 2012 Eric Hodel <drbrain@segment7.net>
* ext/syslog/lib/syslog/logger.rb: Added Syslog::Logger which was
diff --git a/ext/extmk.rb b/ext/extmk.rb
index e7593ac9f6..a498268114 100755
--- a/ext/extmk.rb
+++ b/ext/extmk.rb
@@ -205,6 +205,8 @@ def extmake(target)
end
rescue SystemExit
# ignore
+ rescue => error
+ ok = false
ensure
rm_f "conftest*"
$0 = $PROGRAM_NAME
@@ -217,7 +219,15 @@ def extmake(target)
f.puts "# " + DUMMY_SIGNATURE
f.print(*dummy_makefile(CONFIG["srcdir"]))
end
- print "Failed to configure #{target}. It will not be installed.\n"
+
+ mess = "Failed to configure #{target}. It will not be installed.\n"
+ if error
+ mess.prepend(error.to_s + "\n")
+ end
+
+ Logging::message(mess)
+ print(mess)
+ $stdout.flush
return true
end
args = sysquote($mflags)
diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb
index ff27fad327..6d89fd5f64 100644
--- a/ext/openssl/extconf.rb
+++ b/ext/openssl/extconf.rb
@@ -55,11 +55,10 @@ unless result
end
unless have_header("openssl/conf_api.h")
- message "OpenSSL 0.9.6 or later required.\n"
- exit 1
+ raise "OpenSSL 0.9.6 or later required."
end
unless OpenSSL.check_func("SSL_library_init()", "openssl/ssl.h")
- abort "Ignore OpenSSL broken by Apple"
+ raise "Ignore OpenSSL broken by Apple"
end
message "=== Checking for OpenSSL features... ===\n"