# 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("layout") {
  sources = [
    "cfx_break.cpp",
    "cfx_break.h",
    "cfx_breakline.cpp",
    "cfx_breakline.h",
    "cfx_breakpiece.cpp",
    "cfx_breakpiece.h",
    "cfx_rtfbreak.cpp",
    "cfx_rtfbreak.h",
    "cfx_txtbreak.cpp",
    "cfx_txtbreak.h",
  ]
  deps = [
    "../:fgas",
    "../../../core/fxcrt",
    "../../../core/fxge",
    "../../fde",
  ]
  allow_circular_includes_from = [ "../../fde" ]
  configs += [
    "../../../:pdfium_core_config",
    "../../:xfa_warnings",
  ]
  visibility = [ "../../../*" ]
}

pdfium_unittest_source_set("unittests") {
  sources = [
    "cfx_rtfbreak_unittest.cpp",
    "cfx_txtbreak_unittest.cpp",
  ]
  deps = [
    ":layout",
    "../:fgas",
    "../../../core/fxge",
  ]
  pdfium_root_dir = "../../../"
}
