# Copyright 2016 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/linux/pkg_config.gni")

pkg_config("system_libxml") {
  packages = [ "libxml-2.0" ]
}

source_set("libxml") {
  public_configs = [ ":system_libxml" ]
}

# Please keep in sync with //third_party/libxml/BUILD.gn.
static_library("libxml_utils") {
  # Do not expand this visibility list without first consulting with the
  # Security Team.
  visibility = [
    ":xml_reader",
    ":xml_writer",
    "//base/test:test_support",
    "//services/data_decoder:lib",
    "//services/data_decoder:xml_parser_fuzzer_deps",
  ]
  sources = [
    "chromium/libxml_utils.cc",
    "chromium/libxml_utils.h",
  ]
  public_configs = [ ":system_libxml" ]
}

# Please keep in sync with //third_party/libxml/BUILD.gn.
static_library("xml_reader") {
  # Do not expand this visibility list without first consulting with the
  # Security Team.
  visibility = [
    "//base/test:test_support",
    "//components/policy/core/common:unit_tests",
    "//services/data_decoder:*",
  ]
  sources = [
    "chromium/xml_reader.cc",
    "chromium/xml_reader.h",
  ]
  deps = [ ":libxml_utils" ]
}

# Please keep in sync with //third_party/libxml/BUILD.gn.
static_library("xml_writer") {
  # The XmlWriter is considered safe to use from any target.
  visibility = [ "*" ]
  sources = [
    "chromium/xml_writer.cc",
    "chromium/xml_writer.h",
  ]
  deps = [ ":libxml_utils" ]
}
