summaryrefslogtreecommitdiff
path: root/ext/openssl/deprecation.rb
blob: 6af7d562fbd0da3252e51de385a21d9c5f4d12c2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# frozen_string_literal: true
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)
  end

  def self.check_func_or_macro(func, header)
    check_func(func, header) or
      have_macro(func, header) && $defs.push("-DHAVE_#{func.upcase}")
  end
end