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

import("//build/config/jumbo.gni")
import("../../pdfium.gni")
import("../../testing/test.gni")

assert(pdf_enable_xfa)

jumbo_source_set("fgas") {
  sources = [
    "crt/cfgas_decimal.cpp",
    "crt/cfgas_decimal.h",
    "crt/cfgas_stringformatter.cpp",
    "crt/cfgas_stringformatter.h",
    "crt/locale_iface.h",
    "crt/locale_mgr_iface.h",
    "font/cfgas_defaultfontmanager.cpp",
    "font/cfgas_defaultfontmanager.h",
    "font/cfgas_fontmgr.cpp",
    "font/cfgas_fontmgr.h",
    "font/cfgas_gefont.cpp",
    "font/cfgas_gefont.h",
    "font/cfgas_pdffontmgr.cpp",
    "font/cfgas_pdffontmgr.h",
    "font/fgas_fontutils.cpp",
    "font/fgas_fontutils.h",
  ]
  deps = [
    "../../core/fpdfapi/font",
    "../../core/fpdfapi/page",
    "../../core/fpdfapi/parser",
    "../../core/fxcrt",
    "../../core/fxge",
  ]
  configs += [
    "../../:pdfium_core_config",
    "../:xfa_warnings",
  ]
  visibility = [ "../../*" ]

  if (!is_win) {
    sources += [
      "font/cfx_fontsourceenum_file.cpp",
      "font/cfx_fontsourceenum_file.h",
    ]
  }
}

pdfium_unittest_source_set("unittests") {
  sources = [
    "crt/cfgas_decimal_unittest.cpp",
    "crt/cfgas_stringformatter_unittest.cpp",
  ]
  deps = [
    ":fgas",
    "../../core/fpdfapi",
    "../fxfa/parser",
  ]
  pdfium_root_dir = "../../"
}
