1# Copyright 2018 The PDFium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5import("../../../pdfium.gni") 6import("../../../testing/test.gni") 7 8source_set("parser") { 9 sources = [ 10 "cfdf_document.cpp", 11 "cfdf_document.h", 12 "cpdf_array.cpp", 13 "cpdf_array.h", 14 "cpdf_boolean.cpp", 15 "cpdf_boolean.h", 16 "cpdf_cross_ref_avail.cpp", 17 "cpdf_cross_ref_avail.h", 18 "cpdf_cross_ref_table.cpp", 19 "cpdf_cross_ref_table.h", 20 "cpdf_crypto_handler.cpp", 21 "cpdf_crypto_handler.h", 22 "cpdf_data_avail.cpp", 23 "cpdf_data_avail.h", 24 "cpdf_dictionary.cpp", 25 "cpdf_dictionary.h", 26 "cpdf_document.cpp", 27 "cpdf_document.h", 28 "cpdf_encryptor.cpp", 29 "cpdf_encryptor.h", 30 "cpdf_flateencoder.cpp", 31 "cpdf_flateencoder.h", 32 "cpdf_hint_tables.cpp", 33 "cpdf_hint_tables.h", 34 "cpdf_indirect_object_holder.cpp", 35 "cpdf_indirect_object_holder.h", 36 "cpdf_linearized_header.cpp", 37 "cpdf_linearized_header.h", 38 "cpdf_name.cpp", 39 "cpdf_name.h", 40 "cpdf_null.cpp", 41 "cpdf_null.h", 42 "cpdf_number.cpp", 43 "cpdf_number.h", 44 "cpdf_object.cpp", 45 "cpdf_object.h", 46 "cpdf_object_avail.cpp", 47 "cpdf_object_avail.h", 48 "cpdf_object_stream.cpp", 49 "cpdf_object_stream.h", 50 "cpdf_object_walker.cpp", 51 "cpdf_object_walker.h", 52 "cpdf_page_object_avail.cpp", 53 "cpdf_page_object_avail.h", 54 "cpdf_parser.cpp", 55 "cpdf_parser.h", 56 "cpdf_read_validator.cpp", 57 "cpdf_read_validator.h", 58 "cpdf_reference.cpp", 59 "cpdf_reference.h", 60 "cpdf_security_handler.cpp", 61 "cpdf_security_handler.h", 62 "cpdf_simple_parser.cpp", 63 "cpdf_simple_parser.h", 64 "cpdf_stream.cpp", 65 "cpdf_stream.h", 66 "cpdf_stream_acc.cpp", 67 "cpdf_stream_acc.h", 68 "cpdf_string.cpp", 69 "cpdf_string.h", 70 "cpdf_syntax_parser.cpp", 71 "cpdf_syntax_parser.h", 72 "fpdf_parser_decode.cpp", 73 "fpdf_parser_decode.h", 74 "fpdf_parser_utility.cpp", 75 "fpdf_parser_utility.h", 76 ] 77 configs += [ "../../../:pdfium_core_config" ] 78 deps = [ 79 "../../../constants", 80 "../../fdrm", 81 "../../fxcodec", 82 "../../fxcrt", 83 ] 84 allow_circular_includes_from = [] 85 visibility = [ "../../../*" ] 86 87 if (pdf_enable_xfa) { 88 sources += [ 89 "cpdf_seekablemultistream.cpp", 90 "cpdf_seekablemultistream.h", 91 ] 92 } 93 if (pdf_use_skia || pdf_use_skia_paths) { 94 deps += [ "../../fxge" ] 95 allow_circular_includes_from += [ "../../fxge" ] 96 } 97} 98 99pdfium_unittest_source_set("unittests") { 100 sources = [ 101 "cpdf_array_unittest.cpp", 102 "cpdf_cross_ref_avail_unittest.cpp", 103 "cpdf_document_unittest.cpp", 104 "cpdf_hint_tables_unittest.cpp", 105 "cpdf_indirect_object_holder_unittest.cpp", 106 "cpdf_object_avail_unittest.cpp", 107 "cpdf_object_unittest.cpp", 108 "cpdf_object_walker_unittest.cpp", 109 "cpdf_page_object_avail_unittest.cpp", 110 "cpdf_parser_unittest.cpp", 111 "cpdf_read_validator_unittest.cpp", 112 "cpdf_simple_parser_unittest.cpp", 113 "cpdf_stream_acc_unittest.cpp", 114 "cpdf_syntax_parser_unittest.cpp", 115 "fpdf_parser_decode_unittest.cpp", 116 "fpdf_parser_utility_unittest.cpp", 117 ] 118 deps = [ 119 ":parser", 120 "../../../constants", 121 "../page", 122 "../render", 123 ] 124 pdfium_root_dir = "../../../" 125 126 if (pdf_enable_xfa) { 127 sources += [ "cpdf_seekablemultistream_unittest.cpp" ] 128 } 129 if (is_clang) { 130 # Suppress no override warning for overridden functions. 131 cflags = [ "-Wno-inconsistent-missing-override" ] 132 } 133} 134 135pdfium_embeddertest_source_set("embeddertests") { 136 sources = [ 137 "cpdf_parser_embeddertest.cpp", 138 "cpdf_security_handler_embeddertest.cpp", 139 "fpdf_parser_decode_embeddertest.cpp", 140 ] 141 deps = [ ":parser" ] 142 pdfium_root_dir = "../../../" 143} 144