summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-02-24 00:31:37 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-02-24 00:31:37 +0000
commit5fe5eb264d79e4ffa7c77b1a09d1de69469fffb9 (patch)
treec49e518f0eeae93eaa840396571dc031588d40fb /ext
parentfdb57d043d96821a79d52750a761b43e8676cc61 (diff)
* ext/digest/extconf.rb: use OpenSSL only when all transform
functions are available. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26745 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r--ext/digest/sha2/extconf.rb3
-rw-r--r--ext/digest/sha2/sha2init.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/ext/digest/sha2/extconf.rb b/ext/digest/sha2/extconf.rb
index e546e3ac12..d4af8702aa 100644
--- a/ext/digest/sha2/extconf.rb
+++ b/ext/digest/sha2/extconf.rb
@@ -11,9 +11,10 @@ $objs = [ "sha2init.#{$OBJEXT}" ]
dir_config("openssl")
if !with_config("bundled-sha2") &&
- have_library("crypto") && have_header("openssl/sha.h") &&
+ have_library("crypto") &&
%w[SHA256 SHA512].all? {|d| have_func("#{d}_Transform", "openssl/sha.h")}
$objs << "sha2ossl.#{$OBJEXT}"
+ $defs << "-DSHA2_USE_OPENSSL"
else
have_type("u_int8_t")
$objs << "sha2.#{$OBJEXT}"
diff --git a/ext/digest/sha2/sha2init.c b/ext/digest/sha2/sha2init.c
index 25ef6d2546..13df4bcb78 100644
--- a/ext/digest/sha2/sha2init.c
+++ b/ext/digest/sha2/sha2init.c
@@ -2,7 +2,7 @@
/* $Id$ */
#include "digest.h"
-#if defined(HAVE_OPENSSL_SHA_H) && defined(HAVE_SHA256_TRANSFORM) && defined(HAVE_SHA512_TRANSFORM)
+#if defined(SHA2_USE_OPENSSL)
#include "sha2ossl.h"
#else
#include "sha2.h"