# Copyright 2016 The Chromium 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/freetype/freetype.gni")
import("//build/config/jumbo.gni")
import("//testing/test.gni")
import("pdfium.gni")

group("freetype_common") {
  public_deps = []
  if (pdf_bundle_freetype) {
    public_deps += [ "third_party:fx_freetype" ]
  } else {
    public_deps += [ "//build/config/freetype" ]
  }
}

config("pdfium_common_config") {
  cflags = []
  ldflags = []
  include_dirs = [ "." ]
  defines = [
    "OPJ_STATIC",
    "PNG_PREFIX",
    "PNG_USE_READ_MACROS",
  ]

  if (pdf_enable_v8) {
    defines += [ "PDF_ENABLE_V8" ]
  }

  if (pdf_enable_click_logging) {
    defines += [ "PDF_ENABLE_CLICK_LOGGING" ]
  }

  if (pdf_enable_xfa) {
    defines += [ "PDF_ENABLE_XFA" ]
    if (pdf_enable_xfa_bmp) {
      defines += [ "PDF_ENABLE_XFA_BMP" ]
    }
    if (pdf_enable_xfa_gif) {
      defines += [ "PDF_ENABLE_XFA_GIF" ]
    }
    if (pdf_enable_xfa_png) {
      defines += [ "PDF_ENABLE_XFA_PNG" ]
    }
    if (pdf_enable_xfa_tiff) {
      defines += [ "PDF_ENABLE_XFA_TIFF" ]
    }
  }

  if (pdf_use_skia) {
    defines += [ "_SKIA_SUPPORT_" ]
  }

  if (pdf_use_skia_paths) {
    defines += [ "_SKIA_SUPPORT_PATHS_" ]
  }

  if (pdf_use_win32_gdi) {
    defines += [ "PDFIUM_PRINT_TEXT_WITH_GDI" ]
  }

  if (is_win) {
    # Assume UTF-8 by default to avoid code page dependencies.
    cflags += [ "/utf-8" ]
  }
}

config("pdfium_core_config") {
  cflags = []
  configs = [ ":pdfium_common_config" ]
  defines = [ "V8_DEPRECATION_WARNINGS" ]
  if (is_clang) {
    cflags += [ "-Wshadow" ]
  }
  if (is_linux) {
    if (current_cpu == "x64") {
      defines += [ "_FX_CPU_=_FX_X64_" ]
      cflags += [ "-fPIC" ]
    } else if (current_cpu == "x86") {
      defines += [ "_FX_CPU_=_FX_X86_" ]
    }
  }
  if (is_win) {
    cflags += [
      "/wd4324",
      "/wd4577",
    ]
  }
  configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
}

jumbo_static_library("pdfium") {
  sources = [
    "fpdfsdk/fpdf_annot.cpp",
    "fpdfsdk/fpdf_attachment.cpp",
    "fpdfsdk/fpdf_catalog.cpp",
    "fpdfsdk/fpdf_dataavail.cpp",
    "fpdfsdk/fpdf_doc.cpp",
    "fpdfsdk/fpdf_editimg.cpp",
    "fpdfsdk/fpdf_editpage.cpp",
    "fpdfsdk/fpdf_editpath.cpp",
    "fpdfsdk/fpdf_edittext.cpp",
    "fpdfsdk/fpdf_ext.cpp",
    "fpdfsdk/fpdf_flatten.cpp",
    "fpdfsdk/fpdf_formfill.cpp",
    "fpdfsdk/fpdf_ppo.cpp",
    "fpdfsdk/fpdf_progressive.cpp",
    "fpdfsdk/fpdf_save.cpp",
    "fpdfsdk/fpdf_searchex.cpp",
    "fpdfsdk/fpdf_structtree.cpp",
    "fpdfsdk/fpdf_sysfontinfo.cpp",
    "fpdfsdk/fpdf_text.cpp",
    "fpdfsdk/fpdf_transformpage.cpp",
    "fpdfsdk/fpdf_view.cpp",
    "public/cpp/fpdf_deleters.h",
    "public/cpp/fpdf_scopers.h",
    "public/fpdf_annot.h",
    "public/fpdf_attachment.h",
    "public/fpdf_catalog.h",
    "public/fpdf_dataavail.h",
    "public/fpdf_doc.h",
    "public/fpdf_edit.h",
    "public/fpdf_ext.h",
    "public/fpdf_flatten.h",
    "public/fpdf_formfill.h",
    "public/fpdf_fwlevent.h",
    "public/fpdf_ppo.h",
    "public/fpdf_progressive.h",
    "public/fpdf_save.h",
    "public/fpdf_searchex.h",
    "public/fpdf_structtree.h",
    "public/fpdf_sysfontinfo.h",
    "public/fpdf_text.h",
    "public/fpdf_transformpage.h",
    "public/fpdfview.h",
  ]

  libs = []
  configs += [ ":pdfium_core_config" ]

  deps = [
    ":constants",
    ":fdrm",
    ":fpdfapi",
    ":fpdfdoc",
    ":fpdftext",
    ":fxcodec",
    ":fxcrt",
    ":fxge",
    "fpdfsdk",
    "fpdfsdk/formfiller",
    "fpdfsdk/pwl",
    "fxjs",
    "third_party:pdfium_base",
    "third_party:skia_shared",
  ]

  public_deps = [
    ":fxcrt",
  ]

  if (is_win) {
    libs += [
      "advapi32.lib",
      "gdi32.lib",
      "user32.lib",
    ]
  }

  if (is_mac) {
    libs += [
      "AppKit.framework",
      "CoreFoundation.framework",
    ]
  }

  if (pdf_is_complete_lib) {
    complete_static_lib = true
    configs -= [ "//build/config/compiler:thin_archive" ]
  }
}

jumbo_source_set("test_support") {
  testonly = true
  sources = [
    "testing/fx_string_testhelpers.cpp",
    "testing/fx_string_testhelpers.h",
    "testing/string_write_stream.cpp",
    "testing/string_write_stream.h",
    "testing/test_support.cpp",
    "testing/test_support.h",
    "testing/utils/bitmap_saver.cpp",
    "testing/utils/bitmap_saver.h",
    "testing/utils/path_service.cpp",
    "testing/utils/path_service.h",
  ]
  data = [
    "testing/resources/",
  ]
  deps = [
    ":image_diff",
    ":pdfium",
    "//testing/gmock",
    "//testing/gtest",
  ]
  include_dirs = []
  if (pdf_enable_v8) {
    deps += [
      "//v8",
      "//v8:v8_libplatform",
    ]
    configs += [ "//v8:external_startup_data" ]
  }
  configs += [ ":pdfium_core_config" ]
}

jumbo_source_set("image_diff") {
  testonly = true
  sources = [
    "testing/image_diff/image_diff_png.cpp",
    "testing/image_diff/image_diff_png.h",
  ]
  configs += [ ":pdfium_core_config" ]
  deps = [
    "third_party:png",
  ]
}

# Targets below this are only visible within this file (and to the
# top-level gn_visibility target used to help gn_all build everything).
visibility = [
  ":*",
  "//:gn_visibility",
]

jumbo_source_set("constants") {
  sources = [
    "constants/form_flags.h",
    "constants/page_object.h",
    "constants/stream_dict_common.h",
    "constants/transparency.h",
  ]
}

jumbo_source_set("fdrm") {
  sources = [
    "core/fdrm/crypto/fx_crypt.cpp",
    "core/fdrm/crypto/fx_crypt.h",
    "core/fdrm/crypto/fx_crypt_aes.cpp",
    "core/fdrm/crypto/fx_crypt_sha.cpp",
  ]
  configs += [ ":pdfium_core_config" ]
  deps = [
    ":fxcrt",
  ]
}

jumbo_source_set("fpdfdoc") {
  sources = [
    "core/fpdfdoc/cline.cpp",
    "core/fpdfdoc/cline.h",
    "core/fpdfdoc/cpdf_aaction.cpp",
    "core/fpdfdoc/cpdf_aaction.h",
    "core/fpdfdoc/cpdf_action.cpp",
    "core/fpdfdoc/cpdf_action.h",
    "core/fpdfdoc/cpdf_actionfields.cpp",
    "core/fpdfdoc/cpdf_actionfields.h",
    "core/fpdfdoc/cpdf_annot.cpp",
    "core/fpdfdoc/cpdf_annot.h",
    "core/fpdfdoc/cpdf_annotlist.cpp",
    "core/fpdfdoc/cpdf_annotlist.h",
    "core/fpdfdoc/cpdf_apsettings.cpp",
    "core/fpdfdoc/cpdf_apsettings.h",
    "core/fpdfdoc/cpdf_bookmark.cpp",
    "core/fpdfdoc/cpdf_bookmark.h",
    "core/fpdfdoc/cpdf_bookmarktree.cpp",
    "core/fpdfdoc/cpdf_bookmarktree.h",
    "core/fpdfdoc/cpdf_defaultappearance.cpp",
    "core/fpdfdoc/cpdf_defaultappearance.h",
    "core/fpdfdoc/cpdf_dest.cpp",
    "core/fpdfdoc/cpdf_dest.h",
    "core/fpdfdoc/cpdf_docjsactions.cpp",
    "core/fpdfdoc/cpdf_docjsactions.h",
    "core/fpdfdoc/cpdf_filespec.cpp",
    "core/fpdfdoc/cpdf_filespec.h",
    "core/fpdfdoc/cpdf_formcontrol.cpp",
    "core/fpdfdoc/cpdf_formcontrol.h",
    "core/fpdfdoc/cpdf_formfield.cpp",
    "core/fpdfdoc/cpdf_formfield.h",
    "core/fpdfdoc/cpdf_iconfit.cpp",
    "core/fpdfdoc/cpdf_iconfit.h",
    "core/fpdfdoc/cpdf_interactiveform.cpp",
    "core/fpdfdoc/cpdf_interactiveform.h",
    "core/fpdfdoc/cpdf_link.cpp",
    "core/fpdfdoc/cpdf_link.h",
    "core/fpdfdoc/cpdf_linklist.cpp",
    "core/fpdfdoc/cpdf_linklist.h",
    "core/fpdfdoc/cpdf_metadata.cpp",
    "core/fpdfdoc/cpdf_metadata.h",
    "core/fpdfdoc/cpdf_nametree.cpp",
    "core/fpdfdoc/cpdf_nametree.h",
    "core/fpdfdoc/cpdf_numbertree.cpp",
    "core/fpdfdoc/cpdf_numbertree.h",
    "core/fpdfdoc/cpdf_occontext.cpp",
    "core/fpdfdoc/cpdf_occontext.h",
    "core/fpdfdoc/cpdf_pagelabel.cpp",
    "core/fpdfdoc/cpdf_pagelabel.h",
    "core/fpdfdoc/cpdf_structelement.cpp",
    "core/fpdfdoc/cpdf_structelement.h",
    "core/fpdfdoc/cpdf_structtree.cpp",
    "core/fpdfdoc/cpdf_structtree.h",
    "core/fpdfdoc/cpdf_variabletext.cpp",
    "core/fpdfdoc/cpdf_variabletext.h",
    "core/fpdfdoc/cpdf_viewerpreferences.cpp",
    "core/fpdfdoc/cpdf_viewerpreferences.h",
    "core/fpdfdoc/cpvt_floatrect.h",
    "core/fpdfdoc/cpvt_fontmap.cpp",
    "core/fpdfdoc/cpvt_fontmap.h",
    "core/fpdfdoc/cpvt_generateap.cpp",
    "core/fpdfdoc/cpvt_generateap.h",
    "core/fpdfdoc/cpvt_line.h",
    "core/fpdfdoc/cpvt_lineinfo.h",
    "core/fpdfdoc/cpvt_word.h",
    "core/fpdfdoc/cpvt_wordinfo.cpp",
    "core/fpdfdoc/cpvt_wordinfo.h",
    "core/fpdfdoc/cpvt_wordplace.h",
    "core/fpdfdoc/cpvt_wordrange.h",
    "core/fpdfdoc/csection.cpp",
    "core/fpdfdoc/csection.h",
    "core/fpdfdoc/ctypeset.cpp",
    "core/fpdfdoc/ctypeset.h",
    "core/fpdfdoc/ipdf_formnotify.h",
    "core/fpdfdoc/ipvt_fontmap.h",
  ]
  configs += [ ":pdfium_core_config" ]
  deps = [
    ":fxcrt",
  ]
}

jumbo_source_set("fpdfapi") {
  sources = [
    "core/fpdfapi/cmaps/CNS1/Adobe-CNS1-UCS2_5.cpp",
    "core/fpdfapi/cmaps/CNS1/B5pc-H_0.cpp",
    "core/fpdfapi/cmaps/CNS1/B5pc-V_0.cpp",
    "core/fpdfapi/cmaps/CNS1/CNS-EUC-H_0.cpp",
    "core/fpdfapi/cmaps/CNS1/CNS-EUC-V_0.cpp",
    "core/fpdfapi/cmaps/CNS1/ETen-B5-H_0.cpp",
    "core/fpdfapi/cmaps/CNS1/ETen-B5-V_0.cpp",
    "core/fpdfapi/cmaps/CNS1/ETenms-B5-H_0.cpp",
    "core/fpdfapi/cmaps/CNS1/ETenms-B5-V_0.cpp",
    "core/fpdfapi/cmaps/CNS1/HKscs-B5-H_5.cpp",
    "core/fpdfapi/cmaps/CNS1/HKscs-B5-V_5.cpp",
    "core/fpdfapi/cmaps/CNS1/UniCNS-UCS2-H_3.cpp",
    "core/fpdfapi/cmaps/CNS1/UniCNS-UCS2-V_3.cpp",
    "core/fpdfapi/cmaps/CNS1/UniCNS-UTF16-H_0.cpp",
    "core/fpdfapi/cmaps/CNS1/cmaps_cns1.cpp",
    "core/fpdfapi/cmaps/GB1/Adobe-GB1-UCS2_5.cpp",
    "core/fpdfapi/cmaps/GB1/GB-EUC-H_0.cpp",
    "core/fpdfapi/cmaps/GB1/GB-EUC-V_0.cpp",
    "core/fpdfapi/cmaps/GB1/GBK-EUC-H_2.cpp",
    "core/fpdfapi/cmaps/GB1/GBK-EUC-V_2.cpp",
    "core/fpdfapi/cmaps/GB1/GBK2K-H_5.cpp",
    "core/fpdfapi/cmaps/GB1/GBK2K-V_5.cpp",
    "core/fpdfapi/cmaps/GB1/GBKp-EUC-H_2.cpp",
    "core/fpdfapi/cmaps/GB1/GBKp-EUC-V_2.cpp",
    "core/fpdfapi/cmaps/GB1/GBpc-EUC-H_0.cpp",
    "core/fpdfapi/cmaps/GB1/GBpc-EUC-V_0.cpp",
    "core/fpdfapi/cmaps/GB1/UniGB-UCS2-H_4.cpp",
    "core/fpdfapi/cmaps/GB1/UniGB-UCS2-V_4.cpp",
    "core/fpdfapi/cmaps/GB1/cmaps_gb1.cpp",
    "core/fpdfapi/cmaps/Japan1/83pv-RKSJ-H_1.cpp",
    "core/fpdfapi/cmaps/Japan1/90ms-RKSJ-H_2.cpp",
    "core/fpdfapi/cmaps/Japan1/90ms-RKSJ-V_2.cpp",
    "core/fpdfapi/cmaps/Japan1/90msp-RKSJ-H_2.cpp",
    "core/fpdfapi/cmaps/Japan1/90msp-RKSJ-V_2.cpp",
    "core/fpdfapi/cmaps/Japan1/90pv-RKSJ-H_1.cpp",
    "core/fpdfapi/cmaps/Japan1/Add-RKSJ-H_1.cpp",
    "core/fpdfapi/cmaps/Japan1/Add-RKSJ-V_1.cpp",
    "core/fpdfapi/cmaps/Japan1/Adobe-Japan1-UCS2_4.cpp",
    "core/fpdfapi/cmaps/Japan1/EUC-H_1.cpp",
    "core/fpdfapi/cmaps/Japan1/EUC-V_1.cpp",
    "core/fpdfapi/cmaps/Japan1/Ext-RKSJ-H_2.cpp",
    "core/fpdfapi/cmaps/Japan1/Ext-RKSJ-V_2.cpp",
    "core/fpdfapi/cmaps/Japan1/H_1.cpp",
    "core/fpdfapi/cmaps/Japan1/UniJIS-UCS2-HW-H_4.cpp",
    "core/fpdfapi/cmaps/Japan1/UniJIS-UCS2-HW-V_4.cpp",
    "core/fpdfapi/cmaps/Japan1/UniJIS-UCS2-H_4.cpp",
    "core/fpdfapi/cmaps/Japan1/UniJIS-UCS2-V_4.cpp",
    "core/fpdfapi/cmaps/Japan1/V_1.cpp",
    "core/fpdfapi/cmaps/Japan1/cmaps_japan1.cpp",
    "core/fpdfapi/cmaps/Korea1/Adobe-Korea1-UCS2_2.cpp",
    "core/fpdfapi/cmaps/Korea1/KSC-EUC-H_0.cpp",
    "core/fpdfapi/cmaps/Korea1/KSC-EUC-V_0.cpp",
    "core/fpdfapi/cmaps/Korea1/KSCms-UHC-HW-H_1.cpp",
    "core/fpdfapi/cmaps/Korea1/KSCms-UHC-HW-V_1.cpp",
    "core/fpdfapi/cmaps/Korea1/KSCms-UHC-H_1.cpp",
    "core/fpdfapi/cmaps/Korea1/KSCms-UHC-V_1.cpp",
    "core/fpdfapi/cmaps/Korea1/KSCpc-EUC-H_0.cpp",
    "core/fpdfapi/cmaps/Korea1/UniKS-UCS2-H_1.cpp",
    "core/fpdfapi/cmaps/Korea1/UniKS-UCS2-V_1.cpp",
    "core/fpdfapi/cmaps/Korea1/UniKS-UTF16-H_0.cpp",
    "core/fpdfapi/cmaps/Korea1/cmaps_korea1.cpp",
    "core/fpdfapi/cmaps/cmap_int.h",
    "core/fpdfapi/cmaps/fpdf_cmaps.cpp",
    "core/fpdfapi/cpdf_modulemgr.cpp",
    "core/fpdfapi/cpdf_modulemgr.h",
    "core/fpdfapi/cpdf_pagerendercontext.cpp",
    "core/fpdfapi/cpdf_pagerendercontext.h",
    "core/fpdfapi/edit/cpdf_creator.cpp",
    "core/fpdfapi/edit/cpdf_creator.h",
    "core/fpdfapi/edit/cpdf_encryptor.cpp",
    "core/fpdfapi/edit/cpdf_encryptor.h",
    "core/fpdfapi/edit/cpdf_flateencoder.cpp",
    "core/fpdfapi/edit/cpdf_flateencoder.h",
    "core/fpdfapi/edit/cpdf_pagecontentgenerator.cpp",
    "core/fpdfapi/edit/cpdf_pagecontentgenerator.h",
    "core/fpdfapi/edit/cpdf_pagecontentmanager.cpp",
    "core/fpdfapi/edit/cpdf_pagecontentmanager.h",
    "core/fpdfapi/edit/cpdf_stringarchivestream.cpp",
    "core/fpdfapi/edit/cpdf_stringarchivestream.h",
    "core/fpdfapi/font/cfx_cttgsubtable.cpp",
    "core/fpdfapi/font/cfx_cttgsubtable.h",
    "core/fpdfapi/font/cfx_stockfontarray.cpp",
    "core/fpdfapi/font/cfx_stockfontarray.h",
    "core/fpdfapi/font/cpdf_cid2unicodemap.cpp",
    "core/fpdfapi/font/cpdf_cid2unicodemap.h",
    "core/fpdfapi/font/cpdf_cidfont.cpp",
    "core/fpdfapi/font/cpdf_cidfont.h",
    "core/fpdfapi/font/cpdf_cmap.cpp",
    "core/fpdfapi/font/cpdf_cmap.h",
    "core/fpdfapi/font/cpdf_cmapmanager.cpp",
    "core/fpdfapi/font/cpdf_cmapmanager.h",
    "core/fpdfapi/font/cpdf_cmapparser.cpp",
    "core/fpdfapi/font/cpdf_cmapparser.h",
    "core/fpdfapi/font/cpdf_font.cpp",
    "core/fpdfapi/font/cpdf_font.h",
    "core/fpdfapi/font/cpdf_fontencoding.cpp",
    "core/fpdfapi/font/cpdf_fontencoding.h",
    "core/fpdfapi/font/cpdf_fontglobals.cpp",
    "core/fpdfapi/font/cpdf_fontglobals.h",
    "core/fpdfapi/font/cpdf_simplefont.cpp",
    "core/fpdfapi/font/cpdf_simplefont.h",
    "core/fpdfapi/font/cpdf_tounicodemap.cpp",
    "core/fpdfapi/font/cpdf_tounicodemap.h",
    "core/fpdfapi/font/cpdf_truetypefont.cpp",
    "core/fpdfapi/font/cpdf_truetypefont.h",
    "core/fpdfapi/font/cpdf_type1font.cpp",
    "core/fpdfapi/font/cpdf_type1font.h",
    "core/fpdfapi/font/cpdf_type3char.cpp",
    "core/fpdfapi/font/cpdf_type3char.h",
    "core/fpdfapi/font/cpdf_type3font.cpp",
    "core/fpdfapi/font/cpdf_type3font.h",
    "core/fpdfapi/page/cpdf_allstates.cpp",
    "core/fpdfapi/page/cpdf_allstates.h",
    "core/fpdfapi/page/cpdf_clippath.cpp",
    "core/fpdfapi/page/cpdf_clippath.h",
    "core/fpdfapi/page/cpdf_color.cpp",
    "core/fpdfapi/page/cpdf_color.h",
    "core/fpdfapi/page/cpdf_colorspace.cpp",
    "core/fpdfapi/page/cpdf_colorspace.h",
    "core/fpdfapi/page/cpdf_colorstate.cpp",
    "core/fpdfapi/page/cpdf_colorstate.h",
    "core/fpdfapi/page/cpdf_contentmarkitem.cpp",
    "core/fpdfapi/page/cpdf_contentmarkitem.h",
    "core/fpdfapi/page/cpdf_contentmarks.cpp",
    "core/fpdfapi/page/cpdf_contentmarks.h",
    "core/fpdfapi/page/cpdf_contentparser.cpp",
    "core/fpdfapi/page/cpdf_contentparser.h",
    "core/fpdfapi/page/cpdf_countedobject.h",
    "core/fpdfapi/page/cpdf_devicecs.cpp",
    "core/fpdfapi/page/cpdf_devicecs.h",
    "core/fpdfapi/page/cpdf_docpagedata.cpp",
    "core/fpdfapi/page/cpdf_docpagedata.h",
    "core/fpdfapi/page/cpdf_expintfunc.cpp",
    "core/fpdfapi/page/cpdf_expintfunc.h",
    "core/fpdfapi/page/cpdf_form.cpp",
    "core/fpdfapi/page/cpdf_form.h",
    "core/fpdfapi/page/cpdf_formobject.cpp",
    "core/fpdfapi/page/cpdf_formobject.h",
    "core/fpdfapi/page/cpdf_function.cpp",
    "core/fpdfapi/page/cpdf_function.h",
    "core/fpdfapi/page/cpdf_generalstate.cpp",
    "core/fpdfapi/page/cpdf_generalstate.h",
    "core/fpdfapi/page/cpdf_graphicstates.cpp",
    "core/fpdfapi/page/cpdf_graphicstates.h",
    "core/fpdfapi/page/cpdf_iccprofile.cpp",
    "core/fpdfapi/page/cpdf_iccprofile.h",
    "core/fpdfapi/page/cpdf_image.cpp",
    "core/fpdfapi/page/cpdf_image.h",
    "core/fpdfapi/page/cpdf_imageobject.cpp",
    "core/fpdfapi/page/cpdf_imageobject.h",
    "core/fpdfapi/page/cpdf_meshstream.cpp",
    "core/fpdfapi/page/cpdf_meshstream.h",
    "core/fpdfapi/page/cpdf_page.cpp",
    "core/fpdfapi/page/cpdf_page.h",
    "core/fpdfapi/page/cpdf_pagemodule.cpp",
    "core/fpdfapi/page/cpdf_pagemodule.h",
    "core/fpdfapi/page/cpdf_pageobject.cpp",
    "core/fpdfapi/page/cpdf_pageobject.h",
    "core/fpdfapi/page/cpdf_pageobjectholder.cpp",
    "core/fpdfapi/page/cpdf_pageobjectholder.h",
    "core/fpdfapi/page/cpdf_pageobjectlist.cpp",
    "core/fpdfapi/page/cpdf_pageobjectlist.h",
    "core/fpdfapi/page/cpdf_path.cpp",
    "core/fpdfapi/page/cpdf_path.h",
    "core/fpdfapi/page/cpdf_pathobject.cpp",
    "core/fpdfapi/page/cpdf_pathobject.h",
    "core/fpdfapi/page/cpdf_pattern.cpp",
    "core/fpdfapi/page/cpdf_pattern.h",
    "core/fpdfapi/page/cpdf_patterncs.cpp",
    "core/fpdfapi/page/cpdf_patterncs.h",
    "core/fpdfapi/page/cpdf_psengine.cpp",
    "core/fpdfapi/page/cpdf_psengine.h",
    "core/fpdfapi/page/cpdf_psfunc.cpp",
    "core/fpdfapi/page/cpdf_psfunc.h",
    "core/fpdfapi/page/cpdf_sampledfunc.cpp",
    "core/fpdfapi/page/cpdf_sampledfunc.h",
    "core/fpdfapi/page/cpdf_shadingobject.cpp",
    "core/fpdfapi/page/cpdf_shadingobject.h",
    "core/fpdfapi/page/cpdf_shadingpattern.cpp",
    "core/fpdfapi/page/cpdf_shadingpattern.h",
    "core/fpdfapi/page/cpdf_stitchfunc.cpp",
    "core/fpdfapi/page/cpdf_stitchfunc.h",
    "core/fpdfapi/page/cpdf_streamcontentparser.cpp",
    "core/fpdfapi/page/cpdf_streamcontentparser.h",
    "core/fpdfapi/page/cpdf_streamparser.cpp",
    "core/fpdfapi/page/cpdf_streamparser.h",
    "core/fpdfapi/page/cpdf_textobject.cpp",
    "core/fpdfapi/page/cpdf_textobject.h",
    "core/fpdfapi/page/cpdf_textstate.cpp",
    "core/fpdfapi/page/cpdf_textstate.h",
    "core/fpdfapi/page/cpdf_tilingpattern.cpp",
    "core/fpdfapi/page/cpdf_tilingpattern.h",
    "core/fpdfapi/page/ipdf_page.h",
    "core/fpdfapi/parser/cfdf_document.cpp",
    "core/fpdfapi/parser/cfdf_document.h",
    "core/fpdfapi/parser/cpdf_array.cpp",
    "core/fpdfapi/parser/cpdf_array.h",
    "core/fpdfapi/parser/cpdf_boolean.cpp",
    "core/fpdfapi/parser/cpdf_boolean.h",
    "core/fpdfapi/parser/cpdf_cross_ref_avail.cpp",
    "core/fpdfapi/parser/cpdf_cross_ref_avail.h",
    "core/fpdfapi/parser/cpdf_cross_ref_table.cpp",
    "core/fpdfapi/parser/cpdf_cross_ref_table.h",
    "core/fpdfapi/parser/cpdf_crypto_handler.cpp",
    "core/fpdfapi/parser/cpdf_crypto_handler.h",
    "core/fpdfapi/parser/cpdf_data_avail.cpp",
    "core/fpdfapi/parser/cpdf_data_avail.h",
    "core/fpdfapi/parser/cpdf_dictionary.cpp",
    "core/fpdfapi/parser/cpdf_dictionary.h",
    "core/fpdfapi/parser/cpdf_document.cpp",
    "core/fpdfapi/parser/cpdf_document.h",
    "core/fpdfapi/parser/cpdf_hint_tables.cpp",
    "core/fpdfapi/parser/cpdf_hint_tables.h",
    "core/fpdfapi/parser/cpdf_indirect_object_holder.cpp",
    "core/fpdfapi/parser/cpdf_indirect_object_holder.h",
    "core/fpdfapi/parser/cpdf_linearized_header.cpp",
    "core/fpdfapi/parser/cpdf_linearized_header.h",
    "core/fpdfapi/parser/cpdf_name.cpp",
    "core/fpdfapi/parser/cpdf_name.h",
    "core/fpdfapi/parser/cpdf_null.cpp",
    "core/fpdfapi/parser/cpdf_null.h",
    "core/fpdfapi/parser/cpdf_number.cpp",
    "core/fpdfapi/parser/cpdf_number.h",
    "core/fpdfapi/parser/cpdf_object.cpp",
    "core/fpdfapi/parser/cpdf_object.h",
    "core/fpdfapi/parser/cpdf_object_avail.cpp",
    "core/fpdfapi/parser/cpdf_object_avail.h",
    "core/fpdfapi/parser/cpdf_object_stream.cpp",
    "core/fpdfapi/parser/cpdf_object_stream.h",
    "core/fpdfapi/parser/cpdf_object_walker.cpp",
    "core/fpdfapi/parser/cpdf_object_walker.h",
    "core/fpdfapi/parser/cpdf_page_object_avail.cpp",
    "core/fpdfapi/parser/cpdf_page_object_avail.h",
    "core/fpdfapi/parser/cpdf_parser.cpp",
    "core/fpdfapi/parser/cpdf_parser.h",
    "core/fpdfapi/parser/cpdf_read_validator.cpp",
    "core/fpdfapi/parser/cpdf_read_validator.h",
    "core/fpdfapi/parser/cpdf_reference.cpp",
    "core/fpdfapi/parser/cpdf_reference.h",
    "core/fpdfapi/parser/cpdf_security_handler.cpp",
    "core/fpdfapi/parser/cpdf_security_handler.h",
    "core/fpdfapi/parser/cpdf_simple_parser.cpp",
    "core/fpdfapi/parser/cpdf_simple_parser.h",
    "core/fpdfapi/parser/cpdf_stream.cpp",
    "core/fpdfapi/parser/cpdf_stream.h",
    "core/fpdfapi/parser/cpdf_stream_acc.cpp",
    "core/fpdfapi/parser/cpdf_stream_acc.h",
    "core/fpdfapi/parser/cpdf_string.cpp",
    "core/fpdfapi/parser/cpdf_string.h",
    "core/fpdfapi/parser/cpdf_syntax_parser.cpp",
    "core/fpdfapi/parser/cpdf_syntax_parser.h",
    "core/fpdfapi/parser/fpdf_parser_decode.cpp",
    "core/fpdfapi/parser/fpdf_parser_decode.h",
    "core/fpdfapi/parser/fpdf_parser_utility.cpp",
    "core/fpdfapi/parser/fpdf_parser_utility.h",
    "core/fpdfapi/render/cpdf_charposlist.cpp",
    "core/fpdfapi/render/cpdf_charposlist.h",
    "core/fpdfapi/render/cpdf_devicebuffer.cpp",
    "core/fpdfapi/render/cpdf_devicebuffer.h",
    "core/fpdfapi/render/cpdf_dibbase.cpp",
    "core/fpdfapi/render/cpdf_dibbase.h",
    "core/fpdfapi/render/cpdf_dibtransferfunc.cpp",
    "core/fpdfapi/render/cpdf_dibtransferfunc.h",
    "core/fpdfapi/render/cpdf_docrenderdata.cpp",
    "core/fpdfapi/render/cpdf_docrenderdata.h",
    "core/fpdfapi/render/cpdf_imagecacheentry.cpp",
    "core/fpdfapi/render/cpdf_imagecacheentry.h",
    "core/fpdfapi/render/cpdf_imageloader.cpp",
    "core/fpdfapi/render/cpdf_imageloader.h",
    "core/fpdfapi/render/cpdf_imagerenderer.cpp",
    "core/fpdfapi/render/cpdf_imagerenderer.h",
    "core/fpdfapi/render/cpdf_pagerendercache.cpp",
    "core/fpdfapi/render/cpdf_pagerendercache.h",
    "core/fpdfapi/render/cpdf_progressiverenderer.cpp",
    "core/fpdfapi/render/cpdf_progressiverenderer.h",
    "core/fpdfapi/render/cpdf_rendercontext.cpp",
    "core/fpdfapi/render/cpdf_rendercontext.h",
    "core/fpdfapi/render/cpdf_renderoptions.cpp",
    "core/fpdfapi/render/cpdf_renderoptions.h",
    "core/fpdfapi/render/cpdf_renderstatus.cpp",
    "core/fpdfapi/render/cpdf_renderstatus.h",
    "core/fpdfapi/render/cpdf_scaledrenderbuffer.cpp",
    "core/fpdfapi/render/cpdf_scaledrenderbuffer.h",
    "core/fpdfapi/render/cpdf_textrenderer.cpp",
    "core/fpdfapi/render/cpdf_textrenderer.h",
    "core/fpdfapi/render/cpdf_transferfunc.cpp",
    "core/fpdfapi/render/cpdf_transferfunc.h",
    "core/fpdfapi/render/cpdf_transparency.cpp",
    "core/fpdfapi/render/cpdf_transparency.h",
    "core/fpdfapi/render/cpdf_type3cache.cpp",
    "core/fpdfapi/render/cpdf_type3cache.h",
    "core/fpdfapi/render/cpdf_type3glyphs.cpp",
    "core/fpdfapi/render/cpdf_type3glyphs.h",
  ]
  configs += [ ":pdfium_core_config" ]
  deps = [
    ":fxcrt",
    "third_party:lcms2",
  ]
}

jumbo_source_set("fpdftext") {
  sources = [
    "core/fpdftext/cpdf_linkextract.cpp",
    "core/fpdftext/cpdf_linkextract.h",
    "core/fpdftext/cpdf_textpage.cpp",
    "core/fpdftext/cpdf_textpage.h",
    "core/fpdftext/cpdf_textpagefind.cpp",
    "core/fpdftext/cpdf_textpagefind.h",
    "core/fpdftext/unicodenormalizationdata.cpp",
    "core/fpdftext/unicodenormalizationdata.h",
  ]
  configs += [ ":pdfium_core_config" ]
  deps = [
    ":fxcrt",
  ]
}

jumbo_source_set("fxcodec") {
  sources = [
    "core/fxcodec/JBig2_DocumentContext.h",
    "core/fxcodec/codec/ccodec_basicmodule.h",
    "core/fxcodec/codec/ccodec_faxmodule.cpp",
    "core/fxcodec/codec/ccodec_faxmodule.h",
    "core/fxcodec/codec/ccodec_flatemodule.cpp",
    "core/fxcodec/codec/ccodec_flatemodule.h",
    "core/fxcodec/codec/ccodec_iccmodule.cpp",
    "core/fxcodec/codec/ccodec_iccmodule.h",
    "core/fxcodec/codec/ccodec_jbig2module.cpp",
    "core/fxcodec/codec/ccodec_jbig2module.h",
    "core/fxcodec/codec/ccodec_jpegmodule.cpp",
    "core/fxcodec/codec/ccodec_jpegmodule.h",
    "core/fxcodec/codec/ccodec_jpxmodule.cpp",
    "core/fxcodec/codec/ccodec_jpxmodule.h",
    "core/fxcodec/codec/ccodec_scanlinedecoder.cpp",
    "core/fxcodec/codec/ccodec_scanlinedecoder.h",
    "core/fxcodec/codec/cfx_codec_memory.cpp",
    "core/fxcodec/codec/cfx_codec_memory.h",
    "core/fxcodec/codec/cjpx_decoder.h",
    "core/fxcodec/codec/codec_int.h",
    "core/fxcodec/codec/codec_module_iface.h",
    "core/fxcodec/codec/fx_codec.cpp",
    "core/fxcodec/fx_codec.h",
    "core/fxcodec/fx_codec_def.h",
    "core/fxcodec/jbig2/JBig2_ArithDecoder.cpp",
    "core/fxcodec/jbig2/JBig2_ArithDecoder.h",
    "core/fxcodec/jbig2/JBig2_ArithIntDecoder.cpp",
    "core/fxcodec/jbig2/JBig2_ArithIntDecoder.h",
    "core/fxcodec/jbig2/JBig2_BitStream.cpp",
    "core/fxcodec/jbig2/JBig2_BitStream.h",
    "core/fxcodec/jbig2/JBig2_Context.cpp",
    "core/fxcodec/jbig2/JBig2_Context.h",
    "core/fxcodec/jbig2/JBig2_Define.h",
    "core/fxcodec/jbig2/JBig2_GrdProc.cpp",
    "core/fxcodec/jbig2/JBig2_GrdProc.h",
    "core/fxcodec/jbig2/JBig2_GrrdProc.cpp",
    "core/fxcodec/jbig2/JBig2_GrrdProc.h",
    "core/fxcodec/jbig2/JBig2_HtrdProc.cpp",
    "core/fxcodec/jbig2/JBig2_HtrdProc.h",
    "core/fxcodec/jbig2/JBig2_HuffmanDecoder.cpp",
    "core/fxcodec/jbig2/JBig2_HuffmanDecoder.h",
    "core/fxcodec/jbig2/JBig2_HuffmanTable.cpp",
    "core/fxcodec/jbig2/JBig2_HuffmanTable.h",
    "core/fxcodec/jbig2/JBig2_Image.cpp",
    "core/fxcodec/jbig2/JBig2_Image.h",
    "core/fxcodec/jbig2/JBig2_Page.h",
    "core/fxcodec/jbig2/JBig2_PatternDict.cpp",
    "core/fxcodec/jbig2/JBig2_PatternDict.h",
    "core/fxcodec/jbig2/JBig2_PddProc.cpp",
    "core/fxcodec/jbig2/JBig2_PddProc.h",
    "core/fxcodec/jbig2/JBig2_SddProc.cpp",
    "core/fxcodec/jbig2/JBig2_SddProc.h",
    "core/fxcodec/jbig2/JBig2_Segment.cpp",
    "core/fxcodec/jbig2/JBig2_Segment.h",
    "core/fxcodec/jbig2/JBig2_SymbolDict.cpp",
    "core/fxcodec/jbig2/JBig2_SymbolDict.h",
    "core/fxcodec/jbig2/JBig2_TrdProc.cpp",
    "core/fxcodec/jbig2/JBig2_TrdProc.h",
  ]
  configs += [ ":pdfium_core_config" ]
  include_dirs = []
  deps = [
    ":fxcrt",
    "third_party:fx_libopenjpeg",
    "third_party:lcms2",
    "third_party:zlib",
    "//third_party:jpeg",
  ]

  if (pdf_enable_xfa) {
    sources += [
      "core/fxcodec/codec/ccodec_progressivedecoder.cpp",
      "core/fxcodec/codec/ccodec_progressivedecoder.h",
    ]
    if (pdf_enable_xfa_bmp) {
      sources += [
        "core/fxcodec/bmp/cfx_bmpcontext.cpp",
        "core/fxcodec/bmp/cfx_bmpcontext.h",
        "core/fxcodec/bmp/cfx_bmpdecompressor.cpp",
        "core/fxcodec/bmp/cfx_bmpdecompressor.h",
        "core/fxcodec/bmp/fx_bmp.cpp",
        "core/fxcodec/bmp/fx_bmp.h",
        "core/fxcodec/codec/ccodec_bmpmodule.cpp",
        "core/fxcodec/codec/ccodec_bmpmodule.h",
      ]
    }
    if (pdf_enable_xfa_gif) {
      sources += [
        "core/fxcodec/codec/ccodec_gifmodule.cpp",
        "core/fxcodec/codec/ccodec_gifmodule.h",
        "core/fxcodec/gif/cfx_gif.cpp",
        "core/fxcodec/gif/cfx_gif.h",
        "core/fxcodec/gif/cfx_gifcontext.cpp",
        "core/fxcodec/gif/cfx_gifcontext.h",
        "core/fxcodec/gif/cfx_lzwdecompressor.cpp",
        "core/fxcodec/gif/cfx_lzwdecompressor.h",
      ]
    }
    if (pdf_enable_xfa_png) {
      sources += [
        "core/fxcodec/codec/ccodec_pngmodule.cpp",
        "core/fxcodec/codec/ccodec_pngmodule.h",
      ]
      deps += [ "third_party:png" ]
    }
    if (pdf_enable_xfa_tiff) {
      sources += [
        "core/fxcodec/codec/ccodec_tiffmodule.cpp",
        "core/fxcodec/codec/ccodec_tiffmodule.h",
      ]
      deps += [ "third_party:fx_tiff" ]
    }
  }
}

config("fxge_warnings") {
  if (is_clang) {
    cflags = [
      # http://code.google.com/p/pdfium/issues/detail?id=188
      "-Wno-switch",
    ]
  }
}

jumbo_source_set("fxcrt") {
  sources = [
    "core/fxcrt/autorestorer.h",
    "core/fxcrt/bytestring.cpp",
    "core/fxcrt/bytestring.h",
    "core/fxcrt/cfx_binarybuf.cpp",
    "core/fxcrt/cfx_binarybuf.h",
    "core/fxcrt/cfx_bitstream.cpp",
    "core/fxcrt/cfx_bitstream.h",
    "core/fxcrt/cfx_datetime.cpp",
    "core/fxcrt/cfx_datetime.h",
    "core/fxcrt/cfx_fixedbufgrow.h",
    "core/fxcrt/cfx_memorystream.cpp",
    "core/fxcrt/cfx_memorystream.h",
    "core/fxcrt/cfx_readonlymemorystream.cpp",
    "core/fxcrt/cfx_readonlymemorystream.h",
    "core/fxcrt/cfx_seekablemultistream.cpp",
    "core/fxcrt/cfx_seekablemultistream.h",
    "core/fxcrt/cfx_seekablestreamproxy.cpp",
    "core/fxcrt/cfx_seekablestreamproxy.h",
    "core/fxcrt/cfx_utf8decoder.cpp",
    "core/fxcrt/cfx_utf8decoder.h",
    "core/fxcrt/cfx_utf8encoder.cpp",
    "core/fxcrt/cfx_utf8encoder.h",
    "core/fxcrt/cfx_widetextbuf.cpp",
    "core/fxcrt/cfx_widetextbuf.h",
    "core/fxcrt/fileaccess_iface.h",
    "core/fxcrt/fx_bidi.cpp",
    "core/fxcrt/fx_bidi.h",
    "core/fxcrt/fx_codepage.cpp",
    "core/fxcrt/fx_codepage.h",
    "core/fxcrt/fx_coordinates.cpp",
    "core/fxcrt/fx_coordinates.h",
    "core/fxcrt/fx_extension.cpp",
    "core/fxcrt/fx_extension.h",
    "core/fxcrt/fx_memory.cpp",
    "core/fxcrt/fx_memory.h",
    "core/fxcrt/fx_number.cpp",
    "core/fxcrt/fx_number.h",
    "core/fxcrt/fx_random.cpp",
    "core/fxcrt/fx_random.h",
    "core/fxcrt/fx_safe_types.h",
    "core/fxcrt/fx_stream.cpp",
    "core/fxcrt/fx_stream.h",
    "core/fxcrt/fx_string.cpp",
    "core/fxcrt/fx_string.h",
    "core/fxcrt/fx_system.cpp",
    "core/fxcrt/fx_system.h",
    "core/fxcrt/fx_ucddata.cpp",
    "core/fxcrt/fx_ucddata.h",
    "core/fxcrt/fx_unicode.cpp",
    "core/fxcrt/fx_unicode.h",
    "core/fxcrt/maybe_owned.h",
    "core/fxcrt/observable.h",
    "core/fxcrt/pauseindicator_iface.h",
    "core/fxcrt/retain_ptr.h",
    "core/fxcrt/shared_copy_on_write.h",
    "core/fxcrt/string_data_template.h",
    "core/fxcrt/string_pool_template.h",
    "core/fxcrt/string_view_template.h",
    "core/fxcrt/unowned_ptr.h",
    "core/fxcrt/weak_ptr.h",
    "core/fxcrt/widestring.cpp",
    "core/fxcrt/widestring.h",
    "core/fxcrt/xml/cfx_xmlchardata.cpp",
    "core/fxcrt/xml/cfx_xmlchardata.h",
    "core/fxcrt/xml/cfx_xmldocument.cpp",
    "core/fxcrt/xml/cfx_xmldocument.h",
    "core/fxcrt/xml/cfx_xmlelement.cpp",
    "core/fxcrt/xml/cfx_xmlelement.h",
    "core/fxcrt/xml/cfx_xmlinstruction.cpp",
    "core/fxcrt/xml/cfx_xmlinstruction.h",
    "core/fxcrt/xml/cfx_xmlnode.cpp",
    "core/fxcrt/xml/cfx_xmlnode.h",
    "core/fxcrt/xml/cfx_xmlparser.cpp",
    "core/fxcrt/xml/cfx_xmlparser.h",
    "core/fxcrt/xml/cfx_xmltext.cpp",
    "core/fxcrt/xml/cfx_xmltext.h",
  ]
  configs += [ ":pdfium_core_config" ]
  visibility += [
    "fxbarcode:*",
    "fpdfsdk/*",
    "fxjs:*",
    "xfa/*",
    "third_party:*",
  ]
  deps = [
    "third_party:pdfium_base",
  ]
  public_deps = [
    ":freetype_common",
    "third_party:pdfium_base",
    "//third_party/icu:icuuc",
  ]
  if (is_posix || is_fuchsia) {
    sources += [
      "core/fxcrt/cfx_fileaccess_posix.cpp",
      "core/fxcrt/cfx_fileaccess_posix.h",
    ]
  }
  if (is_win) {
    sources += [
      "core/fxcrt/cfx_fileaccess_windows.cpp",
      "core/fxcrt/cfx_fileaccess_windows.h",
    ]
  }
  if (pdf_enable_xfa) {
    sources += [
      "core/fxcrt/cfx_char.cpp",
      "core/fxcrt/cfx_char.h",
      "core/fxcrt/cfx_decimal.cpp",
      "core/fxcrt/cfx_decimal.h",
      "core/fxcrt/css/cfx_css.h",
      "core/fxcrt/css/cfx_csscolorvalue.cpp",
      "core/fxcrt/css/cfx_csscolorvalue.h",
      "core/fxcrt/css/cfx_csscomputedstyle.cpp",
      "core/fxcrt/css/cfx_csscomputedstyle.h",
      "core/fxcrt/css/cfx_csscustomproperty.cpp",
      "core/fxcrt/css/cfx_csscustomproperty.h",
      "core/fxcrt/css/cfx_cssdata.cpp",
      "core/fxcrt/css/cfx_cssdata.h",
      "core/fxcrt/css/cfx_cssdeclaration.cpp",
      "core/fxcrt/css/cfx_cssdeclaration.h",
      "core/fxcrt/css/cfx_cssenumvalue.cpp",
      "core/fxcrt/css/cfx_cssenumvalue.h",
      "core/fxcrt/css/cfx_cssexttextbuf.cpp",
      "core/fxcrt/css/cfx_cssexttextbuf.h",
      "core/fxcrt/css/cfx_cssnumbervalue.cpp",
      "core/fxcrt/css/cfx_cssnumbervalue.h",
      "core/fxcrt/css/cfx_csspropertyholder.cpp",
      "core/fxcrt/css/cfx_csspropertyholder.h",
      "core/fxcrt/css/cfx_cssrulecollection.cpp",
      "core/fxcrt/css/cfx_cssrulecollection.h",
      "core/fxcrt/css/cfx_cssselector.cpp",
      "core/fxcrt/css/cfx_cssselector.h",
      "core/fxcrt/css/cfx_cssstringvalue.cpp",
      "core/fxcrt/css/cfx_cssstringvalue.h",
      "core/fxcrt/css/cfx_cssstylerule.cpp",
      "core/fxcrt/css/cfx_cssstylerule.h",
      "core/fxcrt/css/cfx_cssstyleselector.cpp",
      "core/fxcrt/css/cfx_cssstyleselector.h",
      "core/fxcrt/css/cfx_cssstylesheet.cpp",
      "core/fxcrt/css/cfx_cssstylesheet.h",
      "core/fxcrt/css/cfx_csssyntaxparser.cpp",
      "core/fxcrt/css/cfx_csssyntaxparser.h",
      "core/fxcrt/css/cfx_csstextbuf.cpp",
      "core/fxcrt/css/cfx_csstextbuf.h",
      "core/fxcrt/css/cfx_cssvalue.cpp",
      "core/fxcrt/css/cfx_cssvalue.h",
      "core/fxcrt/css/cfx_cssvaluelist.cpp",
      "core/fxcrt/css/cfx_cssvaluelist.h",
      "core/fxcrt/css/cfx_cssvaluelistparser.cpp",
      "core/fxcrt/css/cfx_cssvaluelistparser.h",
      "core/fxcrt/fx_arabic.cpp",
      "core/fxcrt/fx_arabic.h",
      "core/fxcrt/locale_iface.h",
    ]
  }
}

jumbo_source_set("fxge") {
  sources = [
    "core/fxge/android/cfpf_skiadevicemodule.cpp",
    "core/fxge/android/cfpf_skiadevicemodule.h",
    "core/fxge/android/cfpf_skiafont.cpp",
    "core/fxge/android/cfpf_skiafont.h",
    "core/fxge/android/cfpf_skiafontmgr.cpp",
    "core/fxge/android/cfpf_skiafontmgr.h",
    "core/fxge/android/cfpf_skiapathfont.cpp",
    "core/fxge/android/cfpf_skiapathfont.h",
    "core/fxge/android/cfx_androidfontinfo.cpp",
    "core/fxge/android/cfx_androidfontinfo.h",
    "core/fxge/android/fx_android_imp.cpp",
    "core/fxge/cfx_cliprgn.cpp",
    "core/fxge/cfx_cliprgn.h",
    "core/fxge/cfx_color.cpp",
    "core/fxge/cfx_color.h",
    "core/fxge/cfx_defaultrenderdevice.h",
    "core/fxge/cfx_facecache.cpp",
    "core/fxge/cfx_facecache.h",
    "core/fxge/cfx_folderfontinfo.cpp",
    "core/fxge/cfx_folderfontinfo.h",
    "core/fxge/cfx_font.cpp",
    "core/fxge/cfx_fontcache.cpp",
    "core/fxge/cfx_fontcache.h",
    "core/fxge/cfx_fontmapper.cpp",
    "core/fxge/cfx_fontmapper.h",
    "core/fxge/cfx_fontmgr.cpp",
    "core/fxge/cfx_fontmgr.h",
    "core/fxge/cfx_gemodule.cpp",
    "core/fxge/cfx_gemodule.h",
    "core/fxge/cfx_graphstate.cpp",
    "core/fxge/cfx_graphstate.h",
    "core/fxge/cfx_graphstatedata.cpp",
    "core/fxge/cfx_graphstatedata.h",
    "core/fxge/cfx_pathdata.cpp",
    "core/fxge/cfx_pathdata.h",
    "core/fxge/cfx_renderdevice.cpp",
    "core/fxge/cfx_renderdevice.h",
    "core/fxge/cfx_substfont.cpp",
    "core/fxge/cfx_substfont.h",
    "core/fxge/cfx_unicodeencoding.cpp",
    "core/fxge/cfx_unicodeencoding.h",
    "core/fxge/cttfontdesc.cpp",
    "core/fxge/cttfontdesc.h",
    "core/fxge/dib/cfx_bitmapcomposer.cpp",
    "core/fxge/dib/cfx_bitmapcomposer.h",
    "core/fxge/dib/cfx_bitmapstorer.cpp",
    "core/fxge/dib/cfx_bitmapstorer.h",
    "core/fxge/dib/cfx_dibbase.cpp",
    "core/fxge/dib/cfx_dibbase.h",
    "core/fxge/dib/cfx_dibextractor.cpp",
    "core/fxge/dib/cfx_dibextractor.h",
    "core/fxge/dib/cfx_dibitmap.cpp",
    "core/fxge/dib/cfx_dibitmap.h",
    "core/fxge/dib/cfx_filtereddib.cpp",
    "core/fxge/dib/cfx_filtereddib.h",
    "core/fxge/dib/cfx_imagerenderer.cpp",
    "core/fxge/dib/cfx_imagerenderer.h",
    "core/fxge/dib/cfx_imagestretcher.cpp",
    "core/fxge/dib/cfx_imagestretcher.h",
    "core/fxge/dib/cfx_imagetransformer.cpp",
    "core/fxge/dib/cfx_imagetransformer.h",
    "core/fxge/dib/cfx_scanlinecompositor.cpp",
    "core/fxge/dib/cfx_scanlinecompositor.h",
    "core/fxge/dib/cstretchengine.cpp",
    "core/fxge/dib/cstretchengine.h",
    "core/fxge/dib/fx_dib_main.cpp",
    "core/fxge/dib/scanlinecomposer_iface.h",
    "core/fxge/fontdata/chromefontdata/FoxitDingbats.cpp",
    "core/fxge/fontdata/chromefontdata/FoxitFixed.cpp",
    "core/fxge/fontdata/chromefontdata/FoxitFixedBold.cpp",
    "core/fxge/fontdata/chromefontdata/FoxitFixedBoldItalic.cpp",
    "core/fxge/fontdata/chromefontdata/FoxitFixedItalic.cpp",
    "core/fxge/fontdata/chromefontdata/FoxitSans.cpp",
    "core/fxge/fontdata/chromefontdata/FoxitSansBold.cpp",
    "core/fxge/fontdata/chromefontdata/FoxitSansBoldItalic.cpp",
    "core/fxge/fontdata/chromefontdata/FoxitSansItalic.cpp",
    "core/fxge/fontdata/chromefontdata/FoxitSansMM.cpp",
    "core/fxge/fontdata/chromefontdata/FoxitSerif.cpp",
    "core/fxge/fontdata/chromefontdata/FoxitSerifBold.cpp",
    "core/fxge/fontdata/chromefontdata/FoxitSerifBoldItalic.cpp",
    "core/fxge/fontdata/chromefontdata/FoxitSerifItalic.cpp",
    "core/fxge/fontdata/chromefontdata/FoxitSerifMM.cpp",
    "core/fxge/fontdata/chromefontdata/FoxitSymbol.cpp",
    "core/fxge/fontdata/chromefontdata/chromefontdata.h",
    "core/fxge/freetype/fx_freetype.cpp",
    "core/fxge/fx_dib.h",
    "core/fxge/fx_font.h",
    "core/fxge/fx_freetype.h",
    "core/fxge/fx_ge_fontmap.cpp",
    "core/fxge/fx_ge_linux.cpp",
    "core/fxge/fx_ge_text.cpp",
    "core/fxge/renderdevicedriver_iface.cpp",
    "core/fxge/renderdevicedriver_iface.h",
    "core/fxge/systemfontinfo_iface.h",
    "core/fxge/win32/cfx_windowsdib.h",
  ]

  configs += [
    ":fxge_warnings",
    ":pdfium_core_config",
  ]

  deps = [
    ":fxcrt",
  ]

  if (is_component_build || use_system_freetype) {
    # ft_adobe_glyph_list is not exported from the Freetype shared library so we
    # need it defined in component builds and builds using system freetype.
    defines = [ "DEFINE_PS_TABLES_DATA" ]
  }

  if (pdf_enable_xfa) {
    sources += [
      "core/fxge/cfx_unicodeencodingex.cpp",
      "core/fxge/cfx_unicodeencodingex.h",
    ]
  }

  if (pdf_use_skia || pdf_use_skia_paths) {
    sources += [ "core/fxge/skia/fx_skia_device.cpp" ]
    deps += [ "//skia" ]
  } else {
    sources += [
      "core/fxge/agg/fx_agg_driver.cpp",
      "core/fxge/agg/fx_agg_driver.h",
    ]
    deps += [ "third_party:fx_agg" ]
  }

  if (is_mac) {
    sources += [ "core/fxge/apple/fx_apple_platform.cpp" ]
  }

  if (is_win) {
    sources += [
      "core/fxge/cfx_windowsrenderdevice.h",
      "core/fxge/win32/cfx_psrenderer.cpp",
      "core/fxge/win32/cfx_psrenderer.h",
      "core/fxge/win32/cpsoutput.cpp",
      "core/fxge/win32/cpsoutput.h",
      "core/fxge/win32/fx_win32_device.cpp",
      "core/fxge/win32/fx_win32_dib.cpp",
      "core/fxge/win32/fx_win32_gdipext.cpp",
      "core/fxge/win32/fx_win32_print.cpp",
      "core/fxge/win32/win32_int.h",
    ]
    configs -= [ "//build/config/win:lean_and_mean" ]
  }

  if (is_mac) {
    sources += [
      "core/fxge/apple/apple_int.h",
      "core/fxge/apple/fx_mac_imp.cpp",
      "core/fxge/apple/fx_quartz_device.cpp",
    ]
  }
}

test("pdfium_unittests") {
  testonly = true
  sources = [
    "core/fdrm/crypto/fx_crypt_unittest.cpp",
    "core/fpdfapi/edit/cpdf_pagecontentgenerator_unittest.cpp",
    "core/fpdfapi/font/cpdf_cmapparser_unittest.cpp",
    "core/fpdfapi/font/cpdf_tounicodemap_unittest.cpp",
    "core/fpdfapi/page/cpdf_devicecs_unittest.cpp",
    "core/fpdfapi/page/cpdf_pageobjectholder_unittest.cpp",
    "core/fpdfapi/page/cpdf_psengine_unittest.cpp",
    "core/fpdfapi/page/cpdf_streamcontentparser_unittest.cpp",
    "core/fpdfapi/page/cpdf_streamparser_unittest.cpp",
    "core/fpdfapi/parser/cpdf_array_unittest.cpp",
    "core/fpdfapi/parser/cpdf_cross_ref_avail_unittest.cpp",
    "core/fpdfapi/parser/cpdf_document_unittest.cpp",
    "core/fpdfapi/parser/cpdf_hint_tables_unittest.cpp",
    "core/fpdfapi/parser/cpdf_indirect_object_holder_unittest.cpp",
    "core/fpdfapi/parser/cpdf_object_avail_unittest.cpp",
    "core/fpdfapi/parser/cpdf_object_unittest.cpp",
    "core/fpdfapi/parser/cpdf_object_walker_unittest.cpp",
    "core/fpdfapi/parser/cpdf_page_object_avail_unittest.cpp",
    "core/fpdfapi/parser/cpdf_parser_unittest.cpp",
    "core/fpdfapi/parser/cpdf_read_validator_unittest.cpp",
    "core/fpdfapi/parser/cpdf_simple_parser_unittest.cpp",
    "core/fpdfapi/parser/cpdf_stream_acc_unittest.cpp",
    "core/fpdfapi/parser/cpdf_syntax_parser_unittest.cpp",
    "core/fpdfapi/parser/fpdf_parser_decode_unittest.cpp",
    "core/fpdfapi/parser/fpdf_parser_utility_unittest.cpp",
    "core/fpdfdoc/cpdf_defaultappearance_unittest.cpp",
    "core/fpdfdoc/cpdf_dest_unittest.cpp",
    "core/fpdfdoc/cpdf_filespec_unittest.cpp",
    "core/fpdfdoc/cpdf_formfield_unittest.cpp",
    "core/fpdfdoc/cpdf_metadata_unittest.cpp",
    "core/fpdfdoc/cpdf_nametree_unittest.cpp",
    "core/fpdftext/cpdf_linkextract_unittest.cpp",
    "core/fxcodec/codec/fx_codec_a85_unittest.cpp",
    "core/fxcodec/codec/fx_codec_jpx_unittest.cpp",
    "core/fxcodec/codec/fx_codec_rle_unittest.cpp",
    "core/fxcodec/jbig2/JBig2_BitStream_unittest.cpp",
    "core/fxcodec/jbig2/JBig2_Image_unittest.cpp",
    "core/fxcrt/autorestorer_unittest.cpp",
    "core/fxcrt/bytestring_unittest.cpp",
    "core/fxcrt/cfx_bitstream_unittest.cpp",
    "core/fxcrt/cfx_seekablemultistream_unittest.cpp",
    "core/fxcrt/fx_bidi_unittest.cpp",
    "core/fxcrt/fx_coordinates_unittest.cpp",
    "core/fxcrt/fx_extension_unittest.cpp",
    "core/fxcrt/fx_memory_unittest.cpp",
    "core/fxcrt/fx_number_unittest.cpp",
    "core/fxcrt/fx_random_unittest.cpp",
    "core/fxcrt/fx_string_unittest.cpp",
    "core/fxcrt/fx_system_unittest.cpp",
    "core/fxcrt/maybe_owned_unittest.cpp",
    "core/fxcrt/observable_unittest.cpp",
    "core/fxcrt/pdfium_span_unittest.cpp",
    "core/fxcrt/retain_ptr_unittest.cpp",
    "core/fxcrt/shared_copy_on_write_unittest.cpp",
    "core/fxcrt/string_pool_template_unittest.cpp",
    "core/fxcrt/unowned_ptr_unittest.cpp",
    "core/fxcrt/weak_ptr_unittest.cpp",
    "core/fxcrt/widestring_unittest.cpp",
    "core/fxcrt/xml/cfx_xmlchardata_unittest.cpp",
    "core/fxcrt/xml/cfx_xmldocument_unittest.cpp",
    "core/fxcrt/xml/cfx_xmlelement_unittest.cpp",
    "core/fxcrt/xml/cfx_xmlinstruction_unittest.cpp",
    "core/fxcrt/xml/cfx_xmlnode_unittest.cpp",
    "core/fxcrt/xml/cfx_xmlparser_unittest.cpp",
    "core/fxcrt/xml/cfx_xmltext_unittest.cpp",
    "core/fxge/dib/cfx_dibitmap_unittest.cpp",
    "core/fxge/dib/cstretchengine_unittest.cpp",
    "fpdfsdk/fpdf_catalog_unittest.cpp",
    "fpdfsdk/fpdf_doc_unittest.cpp",
    "fpdfsdk/fpdf_editimg_unittest.cpp",
    "testing/pseudo_retainable.h",
    "testing/unit_test_main.cpp",
  ]
  deps = [
    ":pdfium",
    ":test_support",
    "//testing/gmock",
    "//testing/gtest",
  ]
  include_dirs = []
  if (pdf_enable_xfa) {
    sources += [
      "core/fxcrt/css/cfx_cssdeclaration_unittest.cpp",
      "core/fxcrt/css/cfx_cssstylesheet_unittest.cpp",
      "core/fxcrt/css/cfx_cssvaluelistparser_unittest.cpp",
      "fxbarcode/oned/BC_OnedCodaBarWriter_unittest.cpp",
      "fxbarcode/oned/BC_OnedCode128Writer_unittest.cpp",
      "fxbarcode/oned/BC_OnedCode39Writer_unittest.cpp",
      "fxbarcode/oned/BC_OnedEAN13Writer_unittest.cpp",
      "fxbarcode/oned/BC_OnedEAN8Writer_unittest.cpp",
      "fxbarcode/oned/BC_OnedUPCAWriter_unittest.cpp",
      "fxbarcode/pdf417/BC_PDF417HighLevelEncoder_unittest.cpp",
      "xfa/fde/cfde_texteditengine_unittest.cpp",
      "xfa/fgas/crt/cfgas_formatstring_unittest.cpp",
      "xfa/fgas/layout/cfx_rtfbreak_unittest.cpp",
      "xfa/fgas/layout/cfx_txtbreak_unittest.cpp",
      "xfa/fwl/cfx_barcode_unittest.cpp",
      "xfa/fxfa/cxfa_ffbarcode_unittest.cpp",
      "xfa/fxfa/cxfa_textparser_unittest.cpp",
      "xfa/fxfa/fm2js/cxfa_fmexpression_unittest.cpp",
      "xfa/fxfa/fm2js/cxfa_fmlexer_unittest.cpp",
      "xfa/fxfa/fm2js/cxfa_fmparser_unittest.cpp",
      "xfa/fxfa/fm2js/cxfa_fmsimpleexpression_unittest.cpp",
      "xfa/fxfa/parser/cxfa_document_parser_unittest.cpp",
      "xfa/fxfa/parser/cxfa_localevalue_unittest.cpp",
      "xfa/fxfa/parser/cxfa_node_unittest.cpp",
      "xfa/fxfa/parser/cxfa_nodeiteratortemplate_unittest.cpp",
      "xfa/fxfa/parser/cxfa_xmllocale_unittest.cpp",
      "xfa/fxfa/parser/xfa_utils_unittest.cpp",
    ]
    if (pdf_enable_xfa_gif) {
      sources += [
        "core/fxcodec/gif/cfx_gifcontext_unittest.cpp",
        "core/fxcodec/gif/cfx_lzwdecompressor_unittest.cpp",
      ]
    }
  }
  if (pdf_use_skia || pdf_use_skia_paths) {
    sources += [ "core/fxge/skia/fx_skia_device_unittest.cpp" ]
    deps += [ "//skia" ]
  }
  if (pdf_enable_v8) {
    sources += [
      "fxjs/cfx_v8_unittest.cpp",
      "fxjs/cfx_v8_unittest.h",
      "fxjs/cfxjs_engine_unittest.cpp",
      "fxjs/cjs_publicmethods_unittest.cpp",
      "fxjs/cjs_util_unittest.cpp",
    ]
    deps += [ "fxjs" ]
    configs += [ "//v8:external_startup_data" ]
  }
  configs += [ ":pdfium_core_config" ]
  if (is_android) {
    use_raw_android_executable = true
  }
  if (is_clang) {
    # Suppress no override warning for overridden functions.
    cflags = [ "-Wno-inconsistent-missing-override" ]
  }
}

test("pdfium_embeddertests") {
  testonly = true
  sources = [
    "core/fpdfapi/edit/cpdf_creator_embeddertest.cpp",
    "core/fpdfapi/page/cpdf_docpagedata_embeddertest.cpp",
    "core/fpdfapi/page/cpdf_function_embeddertest.cpp",
    "core/fpdfapi/page/cpdf_stitchfunc_embeddertest.cpp",
    "core/fpdfapi/parser/cpdf_parser_embeddertest.cpp",
    "core/fpdfapi/parser/cpdf_security_handler_embeddertest.cpp",
    "core/fpdfapi/parser/fpdf_parser_decode_embeddertest.cpp",
    "core/fpdfapi/render/fpdf_render_loadimage_embeddertest.cpp",
    "core/fpdfapi/render/fpdf_render_pattern_embeddertest.cpp",
    "core/fxcodec/codec/fx_codec_embeddertest.cpp",
    "core/fxge/fx_ge_text_embeddertest.cpp",
    "fpdfsdk/cpdfsdk_annotiterator_embeddertest.cpp",
    "fpdfsdk/fpdf_annot_embeddertest.cpp",
    "fpdfsdk/fpdf_attachment_embeddertest.cpp",
    "fpdfsdk/fpdf_dataavail_embeddertest.cpp",
    "fpdfsdk/fpdf_doc_embeddertest.cpp",
    "fpdfsdk/fpdf_edit_embeddertest.cpp",
    "fpdfsdk/fpdf_editpath_embeddertest.cpp",
    "fpdfsdk/fpdf_ext_embeddertest.cpp",
    "fpdfsdk/fpdf_flatten_embeddertest.cpp",
    "fpdfsdk/fpdf_formfill_embeddertest.cpp",
    "fpdfsdk/fpdf_ppo_embeddertest.cpp",
    "fpdfsdk/fpdf_save_embeddertest.cpp",
    "fpdfsdk/fpdf_structtree_embeddertest.cpp",
    "fpdfsdk/fpdf_text_embeddertest.cpp",
    "fpdfsdk/fpdf_transformpage_embeddertest.cpp",
    "fpdfsdk/fpdf_view_c_api_test.c",
    "fpdfsdk/fpdf_view_c_api_test.h",
    "fpdfsdk/fpdf_view_embeddertest.cpp",
    "fpdfsdk/pwl/cpwl_combo_box_embeddertest.cpp",
    "fpdfsdk/pwl/cpwl_edit_embeddertest.cpp",
    "testing/embedder_test.cpp",
    "testing/embedder_test.h",
    "testing/embedder_test_main.cpp",
    "testing/embedder_test_mock_delegate.h",
    "testing/embedder_test_timer_handling_delegate.h",
    "testing/fake_file_access.cpp",
    "testing/fake_file_access.h",
    "testing/range_set.cpp",
    "testing/range_set.h",
  ]
  deps = [
    ":image_diff",
    ":pdfium",
    ":test_support",
    "//testing/gmock",
    "//testing/gtest",
  ]
  include_dirs = [ "testing/gmock/include" ]
  configs += [ ":pdfium_core_config" ]

  if (pdf_enable_v8) {
    sources += [
      "fxjs/cfxjs_engine_embeddertest.cpp",
      "fxjs/cjs_publicmethods_embeddertest.cpp",
      "testing/js_embedder_test.cpp",
      "testing/js_embedder_test.h",
    ]
    deps += [ "fxjs" ]
    configs += [ "//v8:external_startup_data" ]
  }
  if (pdf_enable_xfa) {
    sources += [
      "fxjs/cfxjse_formcalc_context_embeddertest.cpp",
      "testing/xfa_js_embedder_test.cpp",
      "testing/xfa_js_embedder_test.h",
      "xfa/fwl/cfwl_edit_embeddertest.cpp",
      "xfa/fxfa/parser/cxfa_document_parser_embeddertest.cpp",
    ]
  }
  if (is_android) {
    ignore_all_data_deps = true
    use_raw_android_executable = true
  }
}

if (pdf_is_standalone) {
  jumbo_source_set("samples") {
    testonly = true
    deps = [
      "//samples",
    ]
  }

  executable("pdfium_diff") {
    testonly = true
    sources = [
      "testing/image_diff/image_diff.cpp",
    ]
    deps = [
      ":image_diff",
      ":pdfium",
      "//build/win:default_exe_manifest",
    ]
    configs -= [ "//build/config/compiler:chromium_code" ]
    configs += [ "//build/config/compiler:no_chromium_code" ]
    configs += [ ":pdfium_core_config" ]
  }

  group("fuzzers") {
    testonly = true
    deps = [
      "//testing/fuzzers",
    ]
  }
}

group("pdfium_all") {
  testonly = true
  deps = [
    ":pdfium_embeddertests",
    ":pdfium_unittests",
  ]
  if (pdf_is_standalone) {
    deps += [
      ":fuzzers",
      ":pdfium_diff",
      ":samples",
    ]
  }
}
