mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00

OpenSSL's SHA1 struct name is SHA_CTX (which is also used for SHA-0), but function name is SHA1_Transform. http://openssl.org/docs/man0.9.8/crypto/SHA1.html also note that LibreSSL 2.3 remove the SHA-0 support but still support SHA-1. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52755 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
29 lines
912 B
Ruby
29 lines
912 B
Ruby
def digest_conf(name, hdr = name, funcs = nil, types = nil)
|
|
unless with_config("bundled-#{name}")
|
|
cc = with_config("common-digest")
|
|
if cc == true or /\b#{name}\b/ =~ cc
|
|
if File.exist?("#$srcdir/#{name}cc.h") and
|
|
have_header("CommonCrypto/CommonDigest.h")
|
|
$defs << "-D#{name.upcase}_USE_COMMONDIGEST"
|
|
return :commondigest
|
|
end
|
|
end
|
|
|
|
dir_config("openssl")
|
|
pkg_config("openssl")
|
|
require File.expand_path('../../openssl/deprecation', __FILE__)
|
|
if have_library("crypto")
|
|
funcs ||= name.upcase
|
|
funcs = Array(funcs)
|
|
types ||= funcs
|
|
hdr = "openssl/#{hdr}.h"
|
|
if funcs.all? {|func| OpenSSL.check_func("#{func}_Transform", hdr)} &&
|
|
types.all? {|type| have_type("#{type}_CTX", hdr)}
|
|
$defs << "-D#{name.upcase}_USE_OPENSSL"
|
|
return :ossl
|
|
end
|
|
end
|
|
end
|
|
$objs << "#{name}.#{$OBJEXT}"
|
|
return
|
|
end
|