# Copyright (c) 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

# Define an "os_include" variable that points at the OS-specific generated
# headers.  These were generated by running the configure script offline.
if (is_starboard) {
  os_include = "starboard"
} else if (is_linux || is_android || is_nacl || is_fuchsia) {
  os_include = "linux"
} else if (is_mac || is_ios) {
  os_include = "mac"
} else if (is_win) {
  os_include = "win32"
}

import("//third_party/libxml/libxml_visibility.gni")

config("libxml_config") {
  # Define LIBXML_STATIC as nothing to match how libxml.h (an internal header)
  # defines LIBXML_STATIC, otherwise we get the macro redefined warning from
  # GCC. ("defines" does "-DFOO" which defines the macro FOO as 1.)
  cflags = [ "-DLIBXML_STATIC=" ]

  include_dirs = [
    "src/include",
    "$os_include/include",
  ]
}

config("libxml_warnings") {
  if (is_win) {
    cflags_c = [
      "/wd4018",  # Signed/unsigned mismatch in comparison.
      "/wd4267",  # TODO(brucedawson): http://crbug.com/554200 fix C4267
      "/wd4311",  # and C4311 warnings.
    ]
  }
  if (is_clang) {
    cflags = [
      # libxml passes `const unsigned char*` through `const char*`.
      "-Wno-pointer-sign",

      # pattern.c and uri.c both have an intentional `for (...);` /
      # `while(...);` loop. I submitted a patch to move the `'` to its own
      # line, but until that's landed suppress the warning:
      "-Wno-empty-body",

      # debugXML.c compares array 'arg' to NULL.
      "-Wno-tautological-pointer-compare",

      # threads.c attempts to forward declare a pthread_equal which doesn't
      # match the prototype in pthreads.h
      "-Wno-ignored-attributes",

      # libxml casts from int to long to void*.
      "-Wno-int-to-void-pointer-cast",

      # libxml passes a volatile LPCRITICAL_SECTION* to a function expecting
      # a void* volatile*.
      "-Wno-incompatible-pointer-types",

      # trio_is_special_quantity and trio_is_negative are only
      # used with certain preprocessor defines set.
      "-Wno-unused-function",

      # Comparison between xmlElementType and xmlXPathTypeVal.
      # TODO(hans): See if we can fix upstream (http://crbug.com/763944).
      "-Wno-enum-compare",
    ]
  } else if (is_linux) {
    cflags = [
      # gcc spits out a bunch of warnings about passing too many arguments to
      # __xmlSimpleError.
      "-Wno-format-extra-args",
    ]
  }
}

if (!is_starboard) {
  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:*",
      "//tools/traffic_annotation/auditor:auditor_sources",
    ]
    if (is_win) {
      visibility += [ "//components/wifi" ]
    }
    sources = [
      "chromium/xml_reader.cc",
      "chromium/xml_reader.h",
    ]
    deps = [
      ":libxml",
      ":libxml_utils",
    ]
    configs += [ ":libxml_config" ]
  }

  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",
      ":libxml_utils",
    ]
    configs += [ ":libxml_config" ]
  }
}

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:xml_parser_fuzzer",
  ]
  sources = [
    "chromium/libxml_utils.cc",
    "chromium/libxml_utils.h",
  ]
  deps = [ ":libxml" ]
  public_deps = [ "//third_party/icu:icuuc" ]
  public_configs = [ ":libxml_config" ]
}

static_library("libxml") {
  # Do not expand this visibility list without first consulting with the
  # Security Team.
  visibility = [
    ":xml_reader",
    ":xml_writer",
    ":libxml_utils",
    "//testing/libfuzzer/*",
    "//third_party/blink/renderer/*",
    "//third_party/fontconfig",
    "//third_party/libxslt",
  ]
  if (is_starboard) {
    visibility += [
      "//base/test:test_support",
      "//cobalt/base",
      "//cobalt/renderer/rasterizer/skia/skia",
    ]
  }
  if (is_ios) {
    foreach(tgt, ios_libxml_visibility_additions) {
      visibility += [ "//ios_internal/$tgt" ]
    }
  }

  output_name = "libxml2"

  # Commented out sources are libxml2 files we do not want to include. They are
  # here to make it easy to identify files which are new.
  sources = [
    "linux/config.h",
    "linux/include/libxml/xmlversion.h",
    "mac/config.h",
    "mac/include/libxml/xmlversion.h",

    #"src/DOCBparser.c",
    "src/HTMLparser.c",
    "src/HTMLtree.c",

    #"src/SAX.c",
    "src/SAX2.c",
    "src/buf.c",
    "src/buf.h",

    #"src/c14n.c",
    #"src/catalog.c",
    "src/chvalid.c",

    #"src/debugXML.c",
    "src/dict.c",
    "src/elfgcchack.h",
    "src/enc.h",
    "src/encoding.c",
    "src/entities.c",
    "src/error.c",
    "src/globals.c",
    "src/hash.c",
    "src/include/libxml/DOCBparser.h",
    "src/include/libxml/HTMLparser.h",
    "src/include/libxml/HTMLtree.h",
    "src/include/libxml/SAX.h",
    "src/include/libxml/SAX2.h",
    "src/include/libxml/c14n.h",
    "src/include/libxml/catalog.h",
    "src/include/libxml/chvalid.h",
    "src/include/libxml/debugXML.h",
    "src/include/libxml/dict.h",
    "src/include/libxml/encoding.h",
    "src/include/libxml/entities.h",
    "src/include/libxml/globals.h",
    "src/include/libxml/hash.h",
    "src/include/libxml/list.h",
    "src/include/libxml/nanoftp.h",
    "src/include/libxml/nanohttp.h",
    "src/include/libxml/parser.h",
    "src/include/libxml/parserInternals.h",
    "src/include/libxml/pattern.h",
    "src/include/libxml/relaxng.h",
    "src/include/libxml/schemasInternals.h",
    "src/include/libxml/schematron.h",
    "src/include/libxml/threads.h",
    "src/include/libxml/tree.h",
    "src/include/libxml/uri.h",
    "src/include/libxml/valid.h",
    "src/include/libxml/xinclude.h",
    "src/include/libxml/xlink.h",
    "src/include/libxml/xmlIO.h",
    "src/include/libxml/xmlautomata.h",
    "src/include/libxml/xmlerror.h",
    "src/include/libxml/xmlexports.h",
    "src/include/libxml/xmlmemory.h",
    "src/include/libxml/xmlmodule.h",
    "src/include/libxml/xmlreader.h",
    "src/include/libxml/xmlregexp.h",
    "src/include/libxml/xmlsave.h",
    "src/include/libxml/xmlschemas.h",
    "src/include/libxml/xmlschemastypes.h",
    "src/include/libxml/xmlstring.h",
    "src/include/libxml/xmlunicode.h",
    "src/include/libxml/xmlwriter.h",
    "src/include/libxml/xpath.h",
    "src/include/libxml/xpathInternals.h",
    "src/include/libxml/xpointer.h",
    "src/include/win32config.h",
    "src/include/wsockcompat.h",

    #"src/legacy.c",
    "src/libxml.h",
    "src/list.c",
    "src/parser.c",
    "src/parserInternals.c",
    "src/pattern.c",

    #"src/relaxng.c",
    "src/save.h",

    #"src/schematron.c",
    "src/threads.c",
    "src/timsort.h",
    "src/tree.c",
    "src/triodef.h",
    "src/trionan.h",

    #"src/trio.c",
    #"src/trio.h",
    #"src/triodef.h",
    # Note: xpath.c #includes trionan.c
    #"src/trionan.c",
    #"src/triop.h",
    #"src/triostr.c",
    #"src/triostr.h",
    "src/uri.c",
    "src/valid.c",

    #"src/xinclude.c",
    #"src/xlink.c",
    "src/xmlIO.c",
    "src/xmlmemory.c",

    #"src/xmlmodule.c",
    "src/xmlreader.c",

    #"src/xmlregexp.c",
    "src/xmlsave.c",

    #"src/xmlschemas.c",
    #"src/xmlschemastypes.c",
    "src/xmlstring.c",
    "src/xmlunicode.c",
    "src/xmlwriter.c",
    "src/xpath.c",

    #"src/xpointer.c",
    #"src/xzlib.c",
    "src/xzlib.h",
    "win32/config.h",
    "win32/include/libxml/xmlversion.h",
  ]

  if (!is_starboard) {
    configs -= [ "//build/config/compiler:chromium_code" ]
  }
  configs += [
    "//build/config/compiler:no_chromium_code",

    # Must be after no_chromium_code for warning flags to be ordered correctly.
    ":libxml_warnings",
  ]

  if (is_win) {
    # libxml2 already defines WIN32_LEAN_AND_MEAN.
    configs -= [ "//build/config/win:lean_and_mean" ]
  }

  public_configs = [ ":libxml_config" ]
  public_deps = [ "//third_party/icu:icuuc" ]
  deps = [ "//third_party/zlib" ]

  if (is_mac || is_ios || is_android || is_fuchsia) {
    # http://www.xmlsoft.org/threads.html says that this is required when using
    # libxml from several threads, which can possibly happen in chrome. On
    # linux, this is picked up by transitivity from pkg-config output from
    # build/linux/system.gyp.
    defines = [ "_REENTRANT" ]
  }

  include_dirs = [ "$os_include" ]
}
