class FFI::Compiler::CompileTask

def try_header(header, paths)

def try_header(header, paths)
  main = <<-C_FILE
    #include <#{header}>
    int main(int argc, char **argv) { return 0; }
  C_FILE
  if paths.empty? && try_compile(main)
    @headers << header
    return true
  end
  paths.each do |path|
    if try_compile(main, "-I#{path}")
      @include_paths << path
      @headers << header
      return true
    end
  end
  false
end