# File lib/mkmf-gnome2.rb, line 328
def check_cairo(options={})
  return false unless PKGConfig.have_package('cairo')

  rcairo_source_dir = options[:rcairo_source_dir]
  if rcairo_source_dir and !File.exist?(rcairo_source_dir)
    rcairo_source_dir = nil
  end
  $CFLAGS += " -I#{rcairo_source_dir}/ext/cairo" if rcairo_source_dir
  have_rb_cairo_h = have_header('rb_cairo.h')
  unless have_rb_cairo_h
    begin
      require 'rubygems'
      rcairo_gem = Gem.cache.find_name("cairo").sort_by do |gem|
        gem.version
      end.last
      if rcairo_gem
        rcairo_source_dir = rcairo_gem.full_gem_path
        rb_cairo_h_dir = File.join(rcairo_source_dir, "ext", "cairo")
        $CFLAGS += " -I#{rb_cairo_h_dir} "
        have_rb_cairo_h = have_header('rb_cairo.h')
      else
        require "cairo"
        rcairo_source_dir = File.dirname($".grep(/cairo\.(?!rb\z)\w+\z/).first)
        rb_cairo_h_dir = rcairo_source_dir
        $CFLAGS += " -I#{rcairo_h_dir} "
        have_rb_cairo_h = have_header('rb_cairo.h')
      end
    rescue LoadError
    end
  end

  if have_rb_cairo_h
    if /mingw|cygwin|mswin32/ =~ RUBY_PLATFORM
      options = {}
      build_dir = "tmp/#{RUBY_PLATFORM}/cairo/#{RUBY_VERSION}"
      if File.exist?(File.join(rcairo_source_dir, build_dir))
        options[:target_build_dir] = build_dir
      end
      add_depend_package("cairo", "ext/cairo", rcairo_source_dir, options)
      $defs << "-DRUBY_CAIRO_PLATFORM_WIN32"
    end
  end
  have_rb_cairo_h
end