1 # Copyright 2014 The Chromium 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.
5 import("//build/buildflag_header.gni")
6 import("//build/config/features.gni")
7 import("//build/config/jumbo.gni")
8 import("//pdf/features.gni")
9 import("//testing/test.gni")
10 import("//third_party/pdfium/pdfium.gni")
11 import("//v8/gni/v8.gni")
13 # Generate a buildflag header for compile-time checking of PDF support.
14 buildflag_header("buildflags") {
15 header = "buildflags.h"
16 flags = [ "ENABLE_PDF=$enable_pdf" ]
20 pdf_engine = 0 # 0 PDFium
22 config("pdf_common_config") {
23 if (pdf_engine == 0) {
24 include_dirs = [ "//third_party/pdfium" ]
28 jumbo_static_library("pdf") {
29 configs += [ ":pdf_common_config" ]
34 "//ppapi/cpp:objects",
35 "//ppapi/cpp/private:internal_module",
54 "document_loader_impl.cc",
55 "document_loader_impl.h",
58 "out_of_process_instance.cc",
59 "out_of_process_instance.h",
60 "paint_aggregator.cc",
72 "preview_mode_client.cc",
73 "preview_mode_client.h",
76 "url_loader_wrapper.h",
77 "url_loader_wrapper_impl.cc",
78 "url_loader_wrapper_impl.h",
81 if (pdf_engine == 0) {
83 "//pdf/pdfium/fuzzers",
85 "//third_party/pdfium",
89 "pdfium/pdfium_api_string_buffer_adapter.cc",
90 "pdfium/pdfium_api_string_buffer_adapter.h",
91 "pdfium/pdfium_assert_matching_enums.cc",
92 "pdfium/pdfium_document.cc",
93 "pdfium/pdfium_document.h",
94 "pdfium/pdfium_engine.cc",
95 "pdfium/pdfium_engine.h",
96 "pdfium/pdfium_engine_exports.cc",
97 "pdfium/pdfium_engine_exports.h",
98 "pdfium/pdfium_form_filler.cc",
99 "pdfium/pdfium_form_filler.h",
100 "pdfium/pdfium_mem_buffer_file_read.cc",
101 "pdfium/pdfium_mem_buffer_file_read.h",
102 "pdfium/pdfium_mem_buffer_file_write.cc",
103 "pdfium/pdfium_mem_buffer_file_write.h",
104 "pdfium/pdfium_page.cc",
105 "pdfium/pdfium_page.h",
106 "pdfium/pdfium_print.cc",
107 "pdfium/pdfium_print.h",
108 "pdfium/pdfium_range.cc",
109 "pdfium/pdfium_range.h",
110 "pdfium/pdfium_unsupported_features.cc",
111 "pdfium/pdfium_unsupported_features.h",
116 source_set("features") {
117 configs += [ ":pdf_common_config" ]
132 source_set("pdf_test_utils") {
135 "test/test_client.cc",
136 "test/test_client.h",
137 "test/test_document_loader.cc",
138 "test/test_document_loader.h",
147 test("pdf_unittests") {
149 configs += [ ":pdf_common_config" ]
151 "chunk_stream_unittest.cc",
152 "document_loader_impl_unittest.cc",
153 "out_of_process_instance_unittest.cc",
154 "pdf_transform_unittest.cc",
155 "range_set_unittest.cc",
162 "//base/test:run_all_unittests",
163 "//base/test:test_support",
174 if (pdf_engine == 0) {
175 configs += [ "//v8:external_startup_data" ]
177 # Explicitly depend on PDFium to pick up its public configs, which are
178 # not transitive, possibly because the "pdf" target is a static_library.
179 "//third_party/pdfium",
182 "pdfium/accessibility_unittest.cc",
183 "pdfium/findtext_unittest.cc",
184 "pdfium/pdfium_engine_exports_unittest.cc",
185 "pdfium/pdfium_print_unittest.cc",
186 "pdfium/pdfium_test_base.cc",
187 "pdfium/pdfium_test_base.h",
190 if (v8_use_external_startup_data) {
192 "$root_out_dir/natives_blob.bin",
193 "$root_out_dir/snapshot_blob.bin",
199 # Dummy group when PDF support is disabled so targets can unconditionally