module PKGConfig

def have_package(pkg, major = nil, minor = 0, micro = 0)

def have_package(pkg, major = nil, minor = 0, micro = 0)
  message = "#{pkg}"
  unless major.nil?
    message << " version (>= #{major}.#{minor}.#{micro})"
  end
  major ||= 0
  enough_version = checking_for(checking_message(message)) do
    check_version?(pkg, major, minor, micro)
  end
  if enough_version
    libraries = libs_only_l(pkg)
    dldflags = libs(pkg)
    dldflags = (Shellwords.shellwords(dldflags) -
                Shellwords.shellwords(libraries))
    dldflags = dldflags.map {|s| /\s/ =~ s ? "\"#{s}\"" : s }.join(' ')
    $libs   += ' ' + libraries
    if /mswin32/ =~ RUBY_PLATFORM
      $DLDFLAGS += ' ' + dldflags
    else
      $LDFLAGS += ' ' + dldflags
    end
    $CFLAGS += ' ' + cflags(pkg)
  end
  enough_version
end