From 8460088891f98a9138718fc9c89bf309eb88580f Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Fri, 12 Oct 2018 18:58:21 +0000 Subject: Split most core build rules into various BUILD.gn files in core. Change-Id: I773eec2bbf104f073eba7a64ed19f6fba0131d21 Reviewed-on: https://pdfium-review.googlesource.com/c/43946 Commit-Queue: Lei Zhang Reviewed-by: Henrique Nakashima --- core/fdrm/BUILD.gn | 20 ++++ core/fpdfapi/BUILD.gn | 310 +++++++++++++++++++++++++++++++++++++++++++++++++ core/fpdfdoc/BUILD.gn | 90 ++++++++++++++ core/fpdftext/BUILD.gn | 24 ++++ core/fxcodec/BUILD.gn | 124 ++++++++++++++++++++ core/fxge/BUILD.gn | 177 ++++++++++++++++++++++++++++ 6 files changed, 745 insertions(+) create mode 100644 core/fdrm/BUILD.gn create mode 100644 core/fpdfapi/BUILD.gn create mode 100644 core/fpdfdoc/BUILD.gn create mode 100644 core/fpdftext/BUILD.gn create mode 100644 core/fxcodec/BUILD.gn create mode 100644 core/fxge/BUILD.gn (limited to 'core') diff --git a/core/fdrm/BUILD.gn b/core/fdrm/BUILD.gn new file mode 100644 index 0000000000..d030f01d2d --- /dev/null +++ b/core/fdrm/BUILD.gn @@ -0,0 +1,20 @@ +# 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") + +jumbo_source_set("fdrm") { + sources = [ + "fx_crypt.cpp", + "fx_crypt.h", + "fx_crypt_aes.cpp", + "fx_crypt_sha.cpp", + ] + configs += [ "../../:pdfium_core_config" ] + deps = [ + "../../:fxcrt", + ] + visibility = [ "../../*" ] +} diff --git a/core/fpdfapi/BUILD.gn b/core/fpdfapi/BUILD.gn new file mode 100644 index 0000000000..489df0b11e --- /dev/null +++ b/core/fpdfapi/BUILD.gn @@ -0,0 +1,310 @@ +# 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") + +jumbo_source_set("fpdfapi") { + sources = [ + "cmaps/CNS1/Adobe-CNS1-UCS2_5.cpp", + "cmaps/CNS1/B5pc-H_0.cpp", + "cmaps/CNS1/B5pc-V_0.cpp", + "cmaps/CNS1/CNS-EUC-H_0.cpp", + "cmaps/CNS1/CNS-EUC-V_0.cpp", + "cmaps/CNS1/ETen-B5-H_0.cpp", + "cmaps/CNS1/ETen-B5-V_0.cpp", + "cmaps/CNS1/ETenms-B5-H_0.cpp", + "cmaps/CNS1/ETenms-B5-V_0.cpp", + "cmaps/CNS1/HKscs-B5-H_5.cpp", + "cmaps/CNS1/HKscs-B5-V_5.cpp", + "cmaps/CNS1/UniCNS-UCS2-H_3.cpp", + "cmaps/CNS1/UniCNS-UCS2-V_3.cpp", + "cmaps/CNS1/UniCNS-UTF16-H_0.cpp", + "cmaps/CNS1/cmaps_cns1.cpp", + "cmaps/GB1/Adobe-GB1-UCS2_5.cpp", + "cmaps/GB1/GB-EUC-H_0.cpp", + "cmaps/GB1/GB-EUC-V_0.cpp", + "cmaps/GB1/GBK-EUC-H_2.cpp", + "cmaps/GB1/GBK-EUC-V_2.cpp", + "cmaps/GB1/GBK2K-H_5.cpp", + "cmaps/GB1/GBK2K-V_5.cpp", + "cmaps/GB1/GBKp-EUC-H_2.cpp", + "cmaps/GB1/GBKp-EUC-V_2.cpp", + "cmaps/GB1/GBpc-EUC-H_0.cpp", + "cmaps/GB1/GBpc-EUC-V_0.cpp", + "cmaps/GB1/UniGB-UCS2-H_4.cpp", + "cmaps/GB1/UniGB-UCS2-V_4.cpp", + "cmaps/GB1/cmaps_gb1.cpp", + "cmaps/Japan1/83pv-RKSJ-H_1.cpp", + "cmaps/Japan1/90ms-RKSJ-H_2.cpp", + "cmaps/Japan1/90ms-RKSJ-V_2.cpp", + "cmaps/Japan1/90msp-RKSJ-H_2.cpp", + "cmaps/Japan1/90msp-RKSJ-V_2.cpp", + "cmaps/Japan1/90pv-RKSJ-H_1.cpp", + "cmaps/Japan1/Add-RKSJ-H_1.cpp", + "cmaps/Japan1/Add-RKSJ-V_1.cpp", + "cmaps/Japan1/Adobe-Japan1-UCS2_4.cpp", + "cmaps/Japan1/EUC-H_1.cpp", + "cmaps/Japan1/EUC-V_1.cpp", + "cmaps/Japan1/Ext-RKSJ-H_2.cpp", + "cmaps/Japan1/Ext-RKSJ-V_2.cpp", + "cmaps/Japan1/H_1.cpp", + "cmaps/Japan1/UniJIS-UCS2-HW-H_4.cpp", + "cmaps/Japan1/UniJIS-UCS2-HW-V_4.cpp", + "cmaps/Japan1/UniJIS-UCS2-H_4.cpp", + "cmaps/Japan1/UniJIS-UCS2-V_4.cpp", + "cmaps/Japan1/V_1.cpp", + "cmaps/Japan1/cmaps_japan1.cpp", + "cmaps/Korea1/Adobe-Korea1-UCS2_2.cpp", + "cmaps/Korea1/KSC-EUC-H_0.cpp", + "cmaps/Korea1/KSC-EUC-V_0.cpp", + "cmaps/Korea1/KSCms-UHC-HW-H_1.cpp", + "cmaps/Korea1/KSCms-UHC-HW-V_1.cpp", + "cmaps/Korea1/KSCms-UHC-H_1.cpp", + "cmaps/Korea1/KSCms-UHC-V_1.cpp", + "cmaps/Korea1/KSCpc-EUC-H_0.cpp", + "cmaps/Korea1/UniKS-UCS2-H_1.cpp", + "cmaps/Korea1/UniKS-UCS2-V_1.cpp", + "cmaps/Korea1/UniKS-UTF16-H_0.cpp", + "cmaps/Korea1/cmaps_korea1.cpp", + "cmaps/cmap_int.h", + "cmaps/fpdf_cmaps.cpp", + "cpdf_modulemgr.cpp", + "cpdf_modulemgr.h", + "cpdf_pagerendercontext.cpp", + "cpdf_pagerendercontext.h", + "edit/cpdf_creator.cpp", + "edit/cpdf_creator.h", + "edit/cpdf_encryptor.cpp", + "edit/cpdf_encryptor.h", + "edit/cpdf_flateencoder.cpp", + "edit/cpdf_flateencoder.h", + "edit/cpdf_pagecontentgenerator.cpp", + "edit/cpdf_pagecontentgenerator.h", + "edit/cpdf_pagecontentmanager.cpp", + "edit/cpdf_pagecontentmanager.h", + "edit/cpdf_stringarchivestream.cpp", + "edit/cpdf_stringarchivestream.h", + "font/cfx_cttgsubtable.cpp", + "font/cfx_cttgsubtable.h", + "font/cfx_stockfontarray.cpp", + "font/cfx_stockfontarray.h", + "font/cpdf_cid2unicodemap.cpp", + "font/cpdf_cid2unicodemap.h", + "font/cpdf_cidfont.cpp", + "font/cpdf_cidfont.h", + "font/cpdf_cmap.cpp", + "font/cpdf_cmap.h", + "font/cpdf_cmapmanager.cpp", + "font/cpdf_cmapmanager.h", + "font/cpdf_cmapparser.cpp", + "font/cpdf_cmapparser.h", + "font/cpdf_font.cpp", + "font/cpdf_font.h", + "font/cpdf_fontencoding.cpp", + "font/cpdf_fontencoding.h", + "font/cpdf_fontglobals.cpp", + "font/cpdf_fontglobals.h", + "font/cpdf_simplefont.cpp", + "font/cpdf_simplefont.h", + "font/cpdf_tounicodemap.cpp", + "font/cpdf_tounicodemap.h", + "font/cpdf_truetypefont.cpp", + "font/cpdf_truetypefont.h", + "font/cpdf_type1font.cpp", + "font/cpdf_type1font.h", + "font/cpdf_type3char.cpp", + "font/cpdf_type3char.h", + "font/cpdf_type3font.cpp", + "font/cpdf_type3font.h", + "page/cpdf_allstates.cpp", + "page/cpdf_allstates.h", + "page/cpdf_clippath.cpp", + "page/cpdf_clippath.h", + "page/cpdf_color.cpp", + "page/cpdf_color.h", + "page/cpdf_colorspace.cpp", + "page/cpdf_colorspace.h", + "page/cpdf_colorstate.cpp", + "page/cpdf_colorstate.h", + "page/cpdf_contentmarkitem.cpp", + "page/cpdf_contentmarkitem.h", + "page/cpdf_contentmarks.cpp", + "page/cpdf_contentmarks.h", + "page/cpdf_contentparser.cpp", + "page/cpdf_contentparser.h", + "page/cpdf_countedobject.h", + "page/cpdf_devicecs.cpp", + "page/cpdf_devicecs.h", + "page/cpdf_docpagedata.cpp", + "page/cpdf_docpagedata.h", + "page/cpdf_expintfunc.cpp", + "page/cpdf_expintfunc.h", + "page/cpdf_form.cpp", + "page/cpdf_form.h", + "page/cpdf_formobject.cpp", + "page/cpdf_formobject.h", + "page/cpdf_function.cpp", + "page/cpdf_function.h", + "page/cpdf_generalstate.cpp", + "page/cpdf_generalstate.h", + "page/cpdf_graphicstates.cpp", + "page/cpdf_graphicstates.h", + "page/cpdf_iccprofile.cpp", + "page/cpdf_iccprofile.h", + "page/cpdf_image.cpp", + "page/cpdf_image.h", + "page/cpdf_imageobject.cpp", + "page/cpdf_imageobject.h", + "page/cpdf_meshstream.cpp", + "page/cpdf_meshstream.h", + "page/cpdf_page.cpp", + "page/cpdf_page.h", + "page/cpdf_pagemodule.cpp", + "page/cpdf_pagemodule.h", + "page/cpdf_pageobject.cpp", + "page/cpdf_pageobject.h", + "page/cpdf_pageobjectholder.cpp", + "page/cpdf_pageobjectholder.h", + "page/cpdf_pageobjectlist.cpp", + "page/cpdf_pageobjectlist.h", + "page/cpdf_path.cpp", + "page/cpdf_path.h", + "page/cpdf_pathobject.cpp", + "page/cpdf_pathobject.h", + "page/cpdf_pattern.cpp", + "page/cpdf_pattern.h", + "page/cpdf_patterncs.cpp", + "page/cpdf_patterncs.h", + "page/cpdf_psengine.cpp", + "page/cpdf_psengine.h", + "page/cpdf_psfunc.cpp", + "page/cpdf_psfunc.h", + "page/cpdf_sampledfunc.cpp", + "page/cpdf_sampledfunc.h", + "page/cpdf_shadingobject.cpp", + "page/cpdf_shadingobject.h", + "page/cpdf_shadingpattern.cpp", + "page/cpdf_shadingpattern.h", + "page/cpdf_stitchfunc.cpp", + "page/cpdf_stitchfunc.h", + "page/cpdf_streamcontentparser.cpp", + "page/cpdf_streamcontentparser.h", + "page/cpdf_streamparser.cpp", + "page/cpdf_streamparser.h", + "page/cpdf_textobject.cpp", + "page/cpdf_textobject.h", + "page/cpdf_textstate.cpp", + "page/cpdf_textstate.h", + "page/cpdf_tilingpattern.cpp", + "page/cpdf_tilingpattern.h", + "page/ipdf_page.h", + "parser/cfdf_document.cpp", + "parser/cfdf_document.h", + "parser/cpdf_array.cpp", + "parser/cpdf_array.h", + "parser/cpdf_boolean.cpp", + "parser/cpdf_boolean.h", + "parser/cpdf_cross_ref_avail.cpp", + "parser/cpdf_cross_ref_avail.h", + "parser/cpdf_cross_ref_table.cpp", + "parser/cpdf_cross_ref_table.h", + "parser/cpdf_crypto_handler.cpp", + "parser/cpdf_crypto_handler.h", + "parser/cpdf_data_avail.cpp", + "parser/cpdf_data_avail.h", + "parser/cpdf_dictionary.cpp", + "parser/cpdf_dictionary.h", + "parser/cpdf_document.cpp", + "parser/cpdf_document.h", + "parser/cpdf_hint_tables.cpp", + "parser/cpdf_hint_tables.h", + "parser/cpdf_indirect_object_holder.cpp", + "parser/cpdf_indirect_object_holder.h", + "parser/cpdf_linearized_header.cpp", + "parser/cpdf_linearized_header.h", + "parser/cpdf_name.cpp", + "parser/cpdf_name.h", + "parser/cpdf_null.cpp", + "parser/cpdf_null.h", + "parser/cpdf_number.cpp", + "parser/cpdf_number.h", + "parser/cpdf_object.cpp", + "parser/cpdf_object.h", + "parser/cpdf_object_avail.cpp", + "parser/cpdf_object_avail.h", + "parser/cpdf_object_stream.cpp", + "parser/cpdf_object_stream.h", + "parser/cpdf_object_walker.cpp", + "parser/cpdf_object_walker.h", + "parser/cpdf_page_object_avail.cpp", + "parser/cpdf_page_object_avail.h", + "parser/cpdf_parser.cpp", + "parser/cpdf_parser.h", + "parser/cpdf_read_validator.cpp", + "parser/cpdf_read_validator.h", + "parser/cpdf_reference.cpp", + "parser/cpdf_reference.h", + "parser/cpdf_security_handler.cpp", + "parser/cpdf_security_handler.h", + "parser/cpdf_simple_parser.cpp", + "parser/cpdf_simple_parser.h", + "parser/cpdf_stream.cpp", + "parser/cpdf_stream.h", + "parser/cpdf_stream_acc.cpp", + "parser/cpdf_stream_acc.h", + "parser/cpdf_string.cpp", + "parser/cpdf_string.h", + "parser/cpdf_syntax_parser.cpp", + "parser/cpdf_syntax_parser.h", + "parser/fpdf_parser_decode.cpp", + "parser/fpdf_parser_decode.h", + "parser/fpdf_parser_utility.cpp", + "parser/fpdf_parser_utility.h", + "render/cpdf_charposlist.cpp", + "render/cpdf_charposlist.h", + "render/cpdf_devicebuffer.cpp", + "render/cpdf_devicebuffer.h", + "render/cpdf_dibbase.cpp", + "render/cpdf_dibbase.h", + "render/cpdf_dibtransferfunc.cpp", + "render/cpdf_dibtransferfunc.h", + "render/cpdf_docrenderdata.cpp", + "render/cpdf_docrenderdata.h", + "render/cpdf_imagecacheentry.cpp", + "render/cpdf_imagecacheentry.h", + "render/cpdf_imageloader.cpp", + "render/cpdf_imageloader.h", + "render/cpdf_imagerenderer.cpp", + "render/cpdf_imagerenderer.h", + "render/cpdf_pagerendercache.cpp", + "render/cpdf_pagerendercache.h", + "render/cpdf_progressiverenderer.cpp", + "render/cpdf_progressiverenderer.h", + "render/cpdf_rendercontext.cpp", + "render/cpdf_rendercontext.h", + "render/cpdf_renderoptions.cpp", + "render/cpdf_renderoptions.h", + "render/cpdf_renderstatus.cpp", + "render/cpdf_renderstatus.h", + "render/cpdf_scaledrenderbuffer.cpp", + "render/cpdf_scaledrenderbuffer.h", + "render/cpdf_textrenderer.cpp", + "render/cpdf_textrenderer.h", + "render/cpdf_transferfunc.cpp", + "render/cpdf_transferfunc.h", + "render/cpdf_transparency.cpp", + "render/cpdf_transparency.h", + "render/cpdf_type3cache.cpp", + "render/cpdf_type3cache.h", + "render/cpdf_type3glyphs.cpp", + "render/cpdf_type3glyphs.h", + ] + configs += [ "../../:pdfium_core_config" ] + deps = [ + "../../:fxcrt", + "../../third_party:lcms2", + ] + visibility = [ "../../*" ] +} diff --git a/core/fpdfdoc/BUILD.gn b/core/fpdfdoc/BUILD.gn new file mode 100644 index 0000000000..e76486dee3 --- /dev/null +++ b/core/fpdfdoc/BUILD.gn @@ -0,0 +1,90 @@ +# 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") + +jumbo_source_set("fpdfdoc") { + sources = [ + "cline.cpp", + "cline.h", + "cpdf_aaction.cpp", + "cpdf_aaction.h", + "cpdf_action.cpp", + "cpdf_action.h", + "cpdf_actionfields.cpp", + "cpdf_actionfields.h", + "cpdf_annot.cpp", + "cpdf_annot.h", + "cpdf_annotlist.cpp", + "cpdf_annotlist.h", + "cpdf_apsettings.cpp", + "cpdf_apsettings.h", + "cpdf_bookmark.cpp", + "cpdf_bookmark.h", + "cpdf_bookmarktree.cpp", + "cpdf_bookmarktree.h", + "cpdf_defaultappearance.cpp", + "cpdf_defaultappearance.h", + "cpdf_dest.cpp", + "cpdf_dest.h", + "cpdf_docjsactions.cpp", + "cpdf_docjsactions.h", + "cpdf_filespec.cpp", + "cpdf_filespec.h", + "cpdf_formcontrol.cpp", + "cpdf_formcontrol.h", + "cpdf_formfield.cpp", + "cpdf_formfield.h", + "cpdf_iconfit.cpp", + "cpdf_iconfit.h", + "cpdf_interactiveform.cpp", + "cpdf_interactiveform.h", + "cpdf_link.cpp", + "cpdf_link.h", + "cpdf_linklist.cpp", + "cpdf_linklist.h", + "cpdf_metadata.cpp", + "cpdf_metadata.h", + "cpdf_nametree.cpp", + "cpdf_nametree.h", + "cpdf_numbertree.cpp", + "cpdf_numbertree.h", + "cpdf_occontext.cpp", + "cpdf_occontext.h", + "cpdf_pagelabel.cpp", + "cpdf_pagelabel.h", + "cpdf_structelement.cpp", + "cpdf_structelement.h", + "cpdf_structtree.cpp", + "cpdf_structtree.h", + "cpdf_variabletext.cpp", + "cpdf_variabletext.h", + "cpdf_viewerpreferences.cpp", + "cpdf_viewerpreferences.h", + "cpvt_floatrect.h", + "cpvt_fontmap.cpp", + "cpvt_fontmap.h", + "cpvt_generateap.cpp", + "cpvt_generateap.h", + "cpvt_line.h", + "cpvt_lineinfo.h", + "cpvt_word.h", + "cpvt_wordinfo.cpp", + "cpvt_wordinfo.h", + "cpvt_wordplace.h", + "cpvt_wordrange.h", + "csection.cpp", + "csection.h", + "ctypeset.cpp", + "ctypeset.h", + "ipdf_formnotify.h", + "ipvt_fontmap.h", + ] + configs += [ "../../:pdfium_core_config" ] + deps = [ + "../../:fxcrt", + ] + visibility = [ "../../*" ] +} diff --git a/core/fpdftext/BUILD.gn b/core/fpdftext/BUILD.gn new file mode 100644 index 0000000000..9f3104e50a --- /dev/null +++ b/core/fpdftext/BUILD.gn @@ -0,0 +1,24 @@ +# 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") + +jumbo_source_set("fpdftext") { + sources = [ + "cpdf_linkextract.cpp", + "cpdf_linkextract.h", + "cpdf_textpage.cpp", + "cpdf_textpage.h", + "cpdf_textpagefind.cpp", + "cpdf_textpagefind.h", + "unicodenormalizationdata.cpp", + "unicodenormalizationdata.h", + ] + configs += [ "../../:pdfium_core_config" ] + deps = [ + "../../:fxcrt", + ] + visibility = [ "../../*" ] +} diff --git a/core/fxcodec/BUILD.gn b/core/fxcodec/BUILD.gn new file mode 100644 index 0000000000..ec4843f700 --- /dev/null +++ b/core/fxcodec/BUILD.gn @@ -0,0 +1,124 @@ +# 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") + +jumbo_source_set("fxcodec") { + sources = [ + "JBig2_DocumentContext.h", + "codec/ccodec_basicmodule.h", + "codec/ccodec_faxmodule.cpp", + "codec/ccodec_faxmodule.h", + "codec/ccodec_flatemodule.cpp", + "codec/ccodec_flatemodule.h", + "codec/ccodec_iccmodule.cpp", + "codec/ccodec_iccmodule.h", + "codec/ccodec_jbig2module.cpp", + "codec/ccodec_jbig2module.h", + "codec/ccodec_jpegmodule.cpp", + "codec/ccodec_jpegmodule.h", + "codec/ccodec_jpxmodule.cpp", + "codec/ccodec_jpxmodule.h", + "codec/ccodec_scanlinedecoder.cpp", + "codec/ccodec_scanlinedecoder.h", + "codec/cfx_codec_memory.cpp", + "codec/cfx_codec_memory.h", + "codec/cjpx_decoder.h", + "codec/codec_int.h", + "codec/codec_module_iface.h", + "codec/fx_codec.cpp", + "fx_codec.h", + "fx_codec_def.h", + "jbig2/JBig2_ArithDecoder.cpp", + "jbig2/JBig2_ArithDecoder.h", + "jbig2/JBig2_ArithIntDecoder.cpp", + "jbig2/JBig2_ArithIntDecoder.h", + "jbig2/JBig2_BitStream.cpp", + "jbig2/JBig2_BitStream.h", + "jbig2/JBig2_Context.cpp", + "jbig2/JBig2_Context.h", + "jbig2/JBig2_Define.h", + "jbig2/JBig2_GrdProc.cpp", + "jbig2/JBig2_GrdProc.h", + "jbig2/JBig2_GrrdProc.cpp", + "jbig2/JBig2_GrrdProc.h", + "jbig2/JBig2_HtrdProc.cpp", + "jbig2/JBig2_HtrdProc.h", + "jbig2/JBig2_HuffmanDecoder.cpp", + "jbig2/JBig2_HuffmanDecoder.h", + "jbig2/JBig2_HuffmanTable.cpp", + "jbig2/JBig2_HuffmanTable.h", + "jbig2/JBig2_Image.cpp", + "jbig2/JBig2_Image.h", + "jbig2/JBig2_Page.h", + "jbig2/JBig2_PatternDict.cpp", + "jbig2/JBig2_PatternDict.h", + "jbig2/JBig2_PddProc.cpp", + "jbig2/JBig2_PddProc.h", + "jbig2/JBig2_SddProc.cpp", + "jbig2/JBig2_SddProc.h", + "jbig2/JBig2_Segment.cpp", + "jbig2/JBig2_Segment.h", + "jbig2/JBig2_SymbolDict.cpp", + "jbig2/JBig2_SymbolDict.h", + "jbig2/JBig2_TrdProc.cpp", + "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 += [ + "codec/ccodec_progressivedecoder.cpp", + "codec/ccodec_progressivedecoder.h", + ] + if (pdf_enable_xfa_bmp) { + sources += [ + "bmp/cfx_bmpcontext.cpp", + "bmp/cfx_bmpcontext.h", + "bmp/cfx_bmpdecompressor.cpp", + "bmp/cfx_bmpdecompressor.h", + "bmp/fx_bmp.cpp", + "bmp/fx_bmp.h", + "codec/ccodec_bmpmodule.cpp", + "codec/ccodec_bmpmodule.h", + ] + } + if (pdf_enable_xfa_gif) { + sources += [ + "codec/ccodec_gifmodule.cpp", + "codec/ccodec_gifmodule.h", + "gif/cfx_gif.cpp", + "gif/cfx_gif.h", + "gif/cfx_gifcontext.cpp", + "gif/cfx_gifcontext.h", + "gif/cfx_lzwdecompressor.cpp", + "gif/cfx_lzwdecompressor.h", + ] + } + if (pdf_enable_xfa_png) { + sources += [ + "codec/ccodec_pngmodule.cpp", + "codec/ccodec_pngmodule.h", + ] + deps += [ "../../third_party:png" ] + } + if (pdf_enable_xfa_tiff) { + sources += [ + "codec/ccodec_tiffmodule.cpp", + "codec/ccodec_tiffmodule.h", + ] + deps += [ "../../third_party:fx_tiff" ] + } + } + visibility = [ "../../*" ] +} diff --git a/core/fxge/BUILD.gn b/core/fxge/BUILD.gn new file mode 100644 index 0000000000..9d50e0abb0 --- /dev/null +++ b/core/fxge/BUILD.gn @@ -0,0 +1,177 @@ +# 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/freetype/freetype.gni") +import("//build/config/jumbo.gni") +import("../../pdfium.gni") + +config("fxge_warnings") { + visibility = [ ":*" ] + if (is_clang) { + cflags = [ + # http://code.google.com/p/pdfium/issues/detail?id=188 + "-Wno-switch", + ] + } +} + +jumbo_source_set("fxge") { + sources = [ + "android/cfpf_skiadevicemodule.cpp", + "android/cfpf_skiadevicemodule.h", + "android/cfpf_skiafont.cpp", + "android/cfpf_skiafont.h", + "android/cfpf_skiafontmgr.cpp", + "android/cfpf_skiafontmgr.h", + "android/cfpf_skiapathfont.cpp", + "android/cfpf_skiapathfont.h", + "android/cfx_androidfontinfo.cpp", + "android/cfx_androidfontinfo.h", + "android/fx_android_imp.cpp", + "cfx_cliprgn.cpp", + "cfx_cliprgn.h", + "cfx_color.cpp", + "cfx_color.h", + "cfx_defaultrenderdevice.h", + "cfx_facecache.cpp", + "cfx_facecache.h", + "cfx_folderfontinfo.cpp", + "cfx_folderfontinfo.h", + "cfx_font.cpp", + "cfx_fontcache.cpp", + "cfx_fontcache.h", + "cfx_fontmapper.cpp", + "cfx_fontmapper.h", + "cfx_fontmgr.cpp", + "cfx_fontmgr.h", + "cfx_gemodule.cpp", + "cfx_gemodule.h", + "cfx_graphstate.cpp", + "cfx_graphstate.h", + "cfx_graphstatedata.cpp", + "cfx_graphstatedata.h", + "cfx_pathdata.cpp", + "cfx_pathdata.h", + "cfx_renderdevice.cpp", + "cfx_renderdevice.h", + "cfx_substfont.cpp", + "cfx_substfont.h", + "cfx_unicodeencoding.cpp", + "cfx_unicodeencoding.h", + "cttfontdesc.cpp", + "cttfontdesc.h", + "dib/cfx_bitmapcomposer.cpp", + "dib/cfx_bitmapcomposer.h", + "dib/cfx_bitmapstorer.cpp", + "dib/cfx_bitmapstorer.h", + "dib/cfx_dibbase.cpp", + "dib/cfx_dibbase.h", + "dib/cfx_dibextractor.cpp", + "dib/cfx_dibextractor.h", + "dib/cfx_dibitmap.cpp", + "dib/cfx_dibitmap.h", + "dib/cfx_filtereddib.cpp", + "dib/cfx_filtereddib.h", + "dib/cfx_imagerenderer.cpp", + "dib/cfx_imagerenderer.h", + "dib/cfx_imagestretcher.cpp", + "dib/cfx_imagestretcher.h", + "dib/cfx_imagetransformer.cpp", + "dib/cfx_imagetransformer.h", + "dib/cfx_scanlinecompositor.cpp", + "dib/cfx_scanlinecompositor.h", + "dib/cstretchengine.cpp", + "dib/cstretchengine.h", + "dib/fx_dib_main.cpp", + "dib/scanlinecomposer_iface.h", + "fontdata/chromefontdata/FoxitDingbats.cpp", + "fontdata/chromefontdata/FoxitFixed.cpp", + "fontdata/chromefontdata/FoxitFixedBold.cpp", + "fontdata/chromefontdata/FoxitFixedBoldItalic.cpp", + "fontdata/chromefontdata/FoxitFixedItalic.cpp", + "fontdata/chromefontdata/FoxitSans.cpp", + "fontdata/chromefontdata/FoxitSansBold.cpp", + "fontdata/chromefontdata/FoxitSansBoldItalic.cpp", + "fontdata/chromefontdata/FoxitSansItalic.cpp", + "fontdata/chromefontdata/FoxitSansMM.cpp", + "fontdata/chromefontdata/FoxitSerif.cpp", + "fontdata/chromefontdata/FoxitSerifBold.cpp", + "fontdata/chromefontdata/FoxitSerifBoldItalic.cpp", + "fontdata/chromefontdata/FoxitSerifItalic.cpp", + "fontdata/chromefontdata/FoxitSerifMM.cpp", + "fontdata/chromefontdata/FoxitSymbol.cpp", + "fontdata/chromefontdata/chromefontdata.h", + "freetype/fx_freetype.cpp", + "fx_dib.h", + "fx_font.h", + "fx_freetype.h", + "fx_ge_fontmap.cpp", + "fx_ge_linux.cpp", + "fx_ge_text.cpp", + "renderdevicedriver_iface.cpp", + "renderdevicedriver_iface.h", + "systemfontinfo_iface.h", + "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 += [ + "cfx_unicodeencodingex.cpp", + "cfx_unicodeencodingex.h", + ] + } + + if (pdf_use_skia || pdf_use_skia_paths) { + sources += [ "skia/fx_skia_device.cpp" ] + deps += [ "//skia" ] + } else { + sources += [ + "agg/fx_agg_driver.cpp", + "agg/fx_agg_driver.h", + ] + deps += [ "../../third_party:fx_agg" ] + } + + if (is_mac) { + sources += [ + "apple/apple_int.h", + "apple/fx_apple_platform.cpp", + "apple/fx_mac_imp.cpp", + "apple/fx_quartz_device.cpp", + ] + } + + if (is_win) { + sources += [ + "cfx_windowsrenderdevice.h", + "win32/cfx_psrenderer.cpp", + "win32/cfx_psrenderer.h", + "win32/cpsoutput.cpp", + "win32/cpsoutput.h", + "win32/fx_win32_device.cpp", + "win32/fx_win32_dib.cpp", + "win32/fx_win32_gdipext.cpp", + "win32/fx_win32_print.cpp", + "win32/win32_int.h", + ] + configs -= [ "//build/config/win:lean_and_mean" ] + } + + visibility = [ "../../*" ] +} -- cgit v1.2.3