# 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("fxfa") {
  sources = [
    "cxfa_eventparam.cpp",
    "cxfa_eventparam.h",
    "cxfa_ffapp.cpp",
    "cxfa_ffapp.h",
    "cxfa_ffarc.cpp",
    "cxfa_ffarc.h",
    "cxfa_ffbarcode.cpp",
    "cxfa_ffbarcode.h",
    "cxfa_ffcheckbutton.cpp",
    "cxfa_ffcheckbutton.h",
    "cxfa_ffcombobox.cpp",
    "cxfa_ffcombobox.h",
    "cxfa_ffdatetimeedit.cpp",
    "cxfa_ffdatetimeedit.h",
    "cxfa_ffdoc.cpp",
    "cxfa_ffdoc.h",
    "cxfa_ffdocview.cpp",
    "cxfa_ffdocview.h",
    "cxfa_ffdropdown.cpp",
    "cxfa_ffdropdown.h",
    "cxfa_ffexclgroup.cpp",
    "cxfa_ffexclgroup.h",
    "cxfa_fffield.cpp",
    "cxfa_fffield.h",
    "cxfa_ffimage.cpp",
    "cxfa_ffimage.h",
    "cxfa_ffimageedit.cpp",
    "cxfa_ffimageedit.h",
    "cxfa_ffline.cpp",
    "cxfa_ffline.h",
    "cxfa_fflistbox.cpp",
    "cxfa_fflistbox.h",
    "cxfa_ffnotify.cpp",
    "cxfa_ffnotify.h",
    "cxfa_ffnumericedit.cpp",
    "cxfa_ffnumericedit.h",
    "cxfa_ffpageview.cpp",
    "cxfa_ffpageview.h",
    "cxfa_ffpasswordedit.cpp",
    "cxfa_ffpasswordedit.h",
    "cxfa_ffpushbutton.cpp",
    "cxfa_ffpushbutton.h",
    "cxfa_ffrectangle.cpp",
    "cxfa_ffrectangle.h",
    "cxfa_ffsignature.cpp",
    "cxfa_ffsignature.h",
    "cxfa_fftext.cpp",
    "cxfa_fftext.h",
    "cxfa_fftextedit.cpp",
    "cxfa_fftextedit.h",
    "cxfa_ffwidget.cpp",
    "cxfa_ffwidget.h",
    "cxfa_ffwidgethandler.cpp",
    "cxfa_ffwidgethandler.h",
    "cxfa_fontmgr.cpp",
    "cxfa_fontmgr.h",
    "cxfa_fwladapterwidgetmgr.cpp",
    "cxfa_fwladapterwidgetmgr.h",
    "cxfa_fwltheme.cpp",
    "cxfa_fwltheme.h",
    "cxfa_imagerenderer.cpp",
    "cxfa_imagerenderer.h",
    "cxfa_linkuserdata.cpp",
    "cxfa_linkuserdata.h",
    "cxfa_loadercontext.cpp",
    "cxfa_loadercontext.h",
    "cxfa_pieceline.cpp",
    "cxfa_pieceline.h",
    "cxfa_readynodeiterator.cpp",
    "cxfa_readynodeiterator.h",
    "cxfa_rendercontext.cpp",
    "cxfa_rendercontext.h",
    "cxfa_textlayout.cpp",
    "cxfa_textlayout.h",
    "cxfa_textparsecontext.cpp",
    "cxfa_textparsecontext.h",
    "cxfa_textparser.cpp",
    "cxfa_textparser.h",
    "cxfa_textpiece.cpp",
    "cxfa_textpiece.h",
    "cxfa_textprovider.cpp",
    "cxfa_textprovider.h",
    "cxfa_texttabstopscontext.cpp",
    "cxfa_texttabstopscontext.h",
    "cxfa_textuserdata.cpp",
    "cxfa_textuserdata.h",
    "fxfa.h",
    "fxfa_basic.h",
  ]
  deps = [
    "../../core/fpdfapi",
    "../../core/fpdfapi/font",
    "../../core/fpdfapi/parser",
    "../../core/fpdfdoc",
    "../../core/fxcodec",
    "../../core/fxcrt",
    "../../core/fxcrt:seekablemultistream",
    "../../core/fxcrt/css",
    "../../core/fxge",
    "../../fxbarcode",
    "../../fxjs",
    "../fde",
    "../fgas",
    "../fwl",
    "../fxgraphics",
    "parser",
  ]
  allow_circular_includes_from = [
    "../../fxjs",
    "../fgas",
    "../fwl",
    "parser",
  ]
  configs += [
    "../../:pdfium_core_config",
    "../:xfa_warnings",
  ]
  visibility = [ "../../*" ]
}

pdfium_unittest_source_set("unittests") {
  sources = [
    "cxfa_ffbarcode_unittest.cpp",
    "cxfa_textparser_unittest.cpp",
  ]
  deps = [
    ":fxfa",
  ]
  pdfium_root_dir = "../../"
}
