diff --git a/ChangeLog b/ChangeLog index 8abcabd580..3c13b8d29d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat Dec 11 02:23:15 2010 Aaron Patterson + + * ext/openssl/extconf.rb: try pkgconfig first, then fall back to + normal have_library, etc. Thanks Erik Hollensbe. [ruby-core:32406] + Fri Dec 10 22:33:39 2010 Tanaka Akira * dln_find.c: parenthesize macro arguments. diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb index 8102241ca8..b1f2d88dda 100644 --- a/ext/openssl/extconf.rb +++ b/ext/openssl/extconf.rb @@ -43,11 +43,14 @@ if $mingw have_library("wsock32") have_library("gdi32") end -result = have_header("openssl/ssl.h") -result &&= %w[crypto libeay32].any? {|lib| have_library(lib, "OpenSSL_add_all_digests")} -result &&= %w[ssl ssleay32].any? {|lib| have_library(lib, "SSL_library_init")} -if !result - unless pkg_config("openssl") and have_header("openssl/ssl.h") + +result = pkg_config("openssl") && have_header("openssl/ssl.h") + +unless result + result = have_header("openssl/ssl.h") + result &&= %w[crypto libeay32].any? {|lib| have_library(lib, "OpenSSL_add_all_digests")} + result &&= %w[ssl ssleay32].any? {|lib| have_library(lib, "SSL_library_init")} + unless result message "=== Checking for required stuff failed. ===\n" message "Makefile wasn't created. Fix the errors above.\n" exit 1