提交 26e258c8 编写于 作者: N nobu

* ext/digest/*/extconf.rb: use pkg_config to use same library with

  openssl.  [ruby-core:44755][Bug #6379]
* ext/openssl/deprecation.rb: extract check for broken Apple OpenSSL.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35504 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
上级 0f1181a5
Tue May 1 06:03:34 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/digest/*/extconf.rb: use pkg_config to use same library with
openssl. [ruby-core:44755][Bug #6379]
* ext/openssl/deprecation.rb: extract check for broken Apple OpenSSL.
Tue May 1 05:02:30 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (optflags): disable unsafe optimizations.
......
......@@ -9,9 +9,11 @@
$objs = [ "md5init.#{$OBJEXT}" ]
dir_config("openssl")
pkg_config("openssl")
require_relative '../../openssl/deprecation'
if !with_config("bundled-md5") &&
have_library("crypto") && have_header("openssl/md5.h")
have_library("crypto") && OpenSSL.check_func("MD5_Transform", "openssl/md5.h")
$objs << "md5ossl.#{$OBJEXT}"
else
......@@ -22,7 +24,4 @@
$preload = %w[digest]
if try_compile("", flag = " -Wno-deprecated-declarations")
$warnflags << flag
end
create_makefile("digest/md5")
......@@ -9,9 +9,11 @@
$objs = [ "rmd160init.#{$OBJEXT}" ]
dir_config("openssl")
pkg_config("openssl")
require_relative '../../openssl/deprecation'
if !with_config("bundled-rmd160") &&
have_library("crypto") && have_header("openssl/ripemd.h")
have_library("crypto") && OpenSSL.check_func("RMD160_Transform", "openssl/ripemd.h")
$objs << "rmd160ossl.#{$OBJEXT}"
else
$objs << "rmd160.#{$OBJEXT}"
......@@ -21,7 +23,4 @@
$preload = %w[digest]
if try_compile("", flag = " -Wno-deprecated-declarations")
$warnflags << flag
end
create_makefile("digest/rmd160")
......@@ -9,9 +9,11 @@
$objs = [ "sha1init.#{$OBJEXT}" ]
dir_config("openssl")
pkg_config("openssl")
require_relative '../../openssl/deprecation'
if !with_config("bundled-sha1") &&
have_library("crypto") && have_header("openssl/sha.h")
have_library("crypto") && OpenSSL.check_func("SHA1_Transform", "openssl/sha.h")
$objs << "sha1ossl.#{$OBJEXT}"
else
$objs << "sha1.#{$OBJEXT}"
......@@ -21,7 +23,4 @@
$preload = %w[digest]
if try_compile("", flag = " -Wno-deprecated-declarations")
$warnflags << flag
end
create_makefile("digest/sha1")
......@@ -9,10 +9,12 @@
$objs = [ "sha2init.#{$OBJEXT}" ]
dir_config("openssl")
pkg_config("openssl")
require_relative '../../openssl/deprecation'
if !with_config("bundled-sha2") &&
have_library("crypto") &&
%w[SHA256 SHA512].all? {|d| have_func("#{d}_Transform", "openssl/sha.h")} &&
%w[SHA256 SHA512].all? {|d| OpenSSL.check_func("#{d}_Transform", "openssl/sha.h")} &&
%w[SHA256 SHA512].all? {|d| have_type("#{d}_CTX", "openssl/sha.h")}
$objs << "sha2ossl.#{$OBJEXT}"
$defs << "-DSHA2_USE_OPENSSL"
......@@ -26,8 +28,5 @@
$preload = %w[digest]
if have_type("uint64_t", "defs.h", $defs.join(' '))
if try_compile("", flag = " -Wno-deprecated-declarations")
$warnflags << flag
end
create_makefile("digest/sha2")
end
module OpenSSL
def self.check_func(func, header)
unless flag = (@deprecated_warning_flag ||= nil)
if try_compile("", flag = "-Werror=deprecated-declarations")
if with_config("broken-apple-openssl")
flag = "-Wno-deprecated-declarations"
end
$warnflags << " #{flag}"
else
flag = ""
end
@deprecated_warning_flag = flag
end
have_func(func, header, flag)
end
end
......@@ -15,6 +15,7 @@
=end
require "mkmf"
require_relative 'deprecation'
dir_config("openssl")
dir_config("kerberos")
......@@ -57,12 +58,8 @@
message "OpenSSL 0.9.6 or later required.\n"
exit 1
end
if try_compile("", flag = "-Werror=deprecated-declarations")
unless have_func("SSL_library_init()", "openssl/ssl.h", flag)
with_config("broken-apple-openssl") or
abort "Ignore OpenSSL broken by Apple"
$warnflags << " -Wno-deprecated-declarations"
end
unless OpenSSL.check_func("SSL_library_init()", "openssl/ssl.h")
abort "Ignore OpenSSL broken by Apple"
end
message "=== Checking for OpenSSL features... ===\n"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册