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

declare_args() {
  skia_use_system_expat = is_official_build
}

import("../third_party.gni")

if (skia_use_system_expat) {
  system("expat") {
    libs = [ "expat" ]
  }
} else {
  third_party("expat") {
    public_defines = [ "XML_STATIC" ]
    public_include_dirs = [ "../externals/expat/expat/lib" ]

    defines = [
      "HAVE_MEMMOVE",
      "XML_DEV_URANDOM",
    ]

    sources = [
      "../externals/expat/expat/lib/expat.h",
      "../externals/expat/expat/lib/xmlparse.c",
      "../externals/expat/expat/lib/xmlrole.c",
      "../externals/expat/expat/lib/xmltok.c",
    ]
  }
}
