# 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 = [ ":fdrm", ":fpdfapi", ":fpdfdoc", ":fpdftext", ":fxcodec", ":fxcrt", ":fxge", "constants", "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" ] } } # 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("fdrm") { sources = [ "core/fdrm/fx_crypt.cpp", "core/fdrm/fx_crypt.h", "core/fdrm/fx_crypt_aes.cpp", "core/fdrm/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/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", "testing/: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 = [ ":pdfium", "testing/:test_support", "testing/image_diff", "//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 = [ ":pdfium", "testing/image_diff", "//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", ] } }