# 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("fpdfxfa") {
  sources = [
    "cpdfxfa_context.cpp",
    "cpdfxfa_context.h",
    "cpdfxfa_docenvironment.cpp",
    "cpdfxfa_docenvironment.h",
    "cpdfxfa_page.cpp",
    "cpdfxfa_page.h",
    "cpdfxfa_widget.cpp",
    "cpdfxfa_widget.h",
    "cpdfxfa_widgethandler.cpp",
    "cpdfxfa_widgethandler.h",
  ]
  deps = [
    "../../:pdfium_public_headers",
    "../../core/fpdfapi/page",
    "../../core/fpdfapi/parser",
    "../../core/fpdfapi/render",
    "../../core/fxcrt",
    "../../fxjs",
    "../../xfa/fwl",
    "../../xfa/fxfa",
    "../../xfa/fxfa/parser",
    "../../xfa/fxgraphics",
  ]
  configs += [ "../../:pdfium_core_config" ]
  visibility = [ "../../*" ]
}

pdfium_embeddertest_source_set("embeddertests") {
  sources = [
    "cpdfxfa_docenvironment_embeddertest.cpp",
  ]
  configs = [ "//v8:external_startup_data" ]
  deps = [
    "../../fxjs",
  ]
  pdfium_root_dir = "../../"
}
