# Copyright 2019 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("layout") {
  sources = [
    "cxfa_contentlayoutitem.cpp",
    "cxfa_contentlayoutitem.h",
    "cxfa_contentlayoutprocessor.cpp",
    "cxfa_contentlayoutprocessor.h",
    "cxfa_layoutitem.cpp",
    "cxfa_layoutitem.h",
    "cxfa_layoutprocessor.cpp",
    "cxfa_layoutprocessor.h",
    "cxfa_traversestrategy_layoutitem.h",
    "cxfa_viewlayoutitem.cpp",
    "cxfa_viewlayoutitem.h",
    "cxfa_viewlayoutprocessor.cpp",
    "cxfa_viewlayoutprocessor.h",
  ]
  deps = [
    "../../../core/fxcrt",
    "../../../fxjs",
    "../parser",
  ]
  allow_circular_includes_from = [ "../../../fxjs" ]
  configs += [
    "../../../:pdfium_core_config",
    "../../:xfa_warnings",
  ]
  visibility = [ "../../../*" ]
}

pdfium_embeddertest_source_set("embeddertests") {
  sources = [
    "cxfa_layoutitem_embeddertest.cpp",
  ]
  pdfium_root_dir = "../../../"
}
