# File lib/mkmf-gnome2.rb, line 327
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'
      gem 'cairo'
      require 'cairo'
      rcairo_src_gem_path_re =
        /\A#{Regexp.escape(Gem.dir)}\/gems\/cairo-[\d.]+\/ext\/cairo\z/
      $LOAD_PATH.each do |path|
        if rcairo_src_gem_path_re =~ path
          $CFLAGS += " -I#{path} "
          have_rb_cairo_h = have_header('rb_cairo.h')
          break
        end
      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