# 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")

assert(pdf_enable_xfa)

jumbo_source_set("fgas") {
  sources = [
    "crt/cfgas_formatstring.cpp",
    "crt/cfgas_formatstring.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",
    "layout/cfx_break.cpp",
    "layout/cfx_break.h",
    "layout/cfx_breakline.cpp",
    "layout/cfx_breakline.h",
    "layout/cfx_breakpiece.cpp",
    "layout/cfx_breakpiece.h",
    "layout/cfx_linebreak.cpp",
    "layout/cfx_linebreak.h",
    "layout/cfx_rtfbreak.cpp",
    "layout/cfx_rtfbreak.h",
    "layout/cfx_txtbreak.cpp",
    "layout/cfx_txtbreak.h",
  ]
  deps = [
    "../../:fxcrt",
  ]
  configs += [
    "../../:pdfium_core_config",
    "../:xfa_warnings",
  ]
  visibility = [ "../../*" ]

  if (!is_win) {
    sources += [
      "font/cfx_fontsourceenum_file.cpp",
      "font/cfx_fontsourceenum_file.h",
    ]
  }
}
