From 0d7d8b2989e1738dd902d354cc41186899e6b71e Mon Sep 17 00:00:00 2001 From: Yusuke Endoh Date: Thu, 5 Dec 2019 14:41:38 +0900 Subject: [PATCH] ext/openssl/extconf.rb: do not use -Werror=deprecated-declarations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It fails to build on Solaris: ``` ossl_cipher.c: 関数 ‘ossl_cipher_init’ 内: ossl_cipher.c:228:2: エラー: ‘EVP_md5’ is deprecated [-Werror=deprecated-declarations] 228 | EVP_BytesToKey(EVP_CIPHER_CTX_cipher(ctx), EVP_md5(), iv, | ^~~~~~~~~~~~~~ In file included from /usr/include/openssl/x509.h:73, from /usr/include/openssl/x509v3.h:63, from ossl.h:23, from ossl_cipher.c:10: /usr/include/openssl/evp.h:732:26: 備考: ここで宣言されています 732 | DEPRECATED const EVP_MD *EVP_md5(void); | ^~~~~~~ ``` I agree that `-Werror=` is a good habit, but adding it by default is too aggressive. --- ext/openssl/deprecation.rb | 14 +------------- ext/openssl/extconf.rb | 3 --- 2 files changed, 1 insertion(+), 16 deletions(-) diff --git a/ext/openssl/deprecation.rb b/ext/openssl/deprecation.rb index 1d51d065a9..6f08a206b4 100644 --- a/ext/openssl/deprecation.rb +++ b/ext/openssl/deprecation.rb @@ -1,19 +1,7 @@ # frozen_string_literal: false module OpenSSL - def self.deprecated_warning_flag - unless flag = (@deprecated_warning_flag ||= nil) - if try_compile("", flag = "-Werror=deprecated-declarations") - $warnflags << " #{flag}" - else - flag = "" - end - @deprecated_warning_flag = flag - end - flag - end - def self.check_func(func, header) - have_func(func, header, deprecated_warning_flag) + have_func(func, header) end def self.check_func_or_macro(func, header) diff --git a/ext/openssl/extconf.rb b/ext/openssl/extconf.rb index 4f218562b1..5726007697 100644 --- a/ext/openssl/extconf.rb +++ b/ext/openssl/extconf.rb @@ -19,9 +19,6 @@ dir_config("kerberos") Logging::message "=== OpenSSL for Ruby configurator ===\n" -# Add -Werror=deprecated-declarations to $warnflags if available -OpenSSL.deprecated_warning_flag - ## # Adds -DOSSL_DEBUG for compilation and some more targets when GCC is used # To turn it on, use: --with-debug or --enable-debug