# 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_formatstring.cpp",
    "crt/cfgas_formatstring.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/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_formatstring_unittest.cpp",
  ]
  deps = [
    ":fgas",
    "../../core/fpdfapi",
    "../fxfa/parser",
  ]
  pdfium_root_dir = "../../"
}
