# Copyright 2014 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/buildflag_header.gni") import("//build/config/features.gni") import("//build/config/jumbo.gni") import("//pdf/features.gni") import("//testing/test.gni") import("//third_party/pdfium/pdfium.gni") import("//v8/gni/v8.gni") # Generate a buildflag header for compile-time checking of PDF support. buildflag_header("buildflags") { header = "buildflags.h" flags = [ "ENABLE_PDF=$enable_pdf" ] } if (enable_pdf) { pdf_engine = 0 # 0 PDFium jumbo_static_library("pdf") { deps = [ "//base", "//gin", "//net", "//ppapi/cpp:objects", "//ppapi/cpp/private:internal_module", "//ui/base", "//ui/gfx/range", ] public = [ "pdf.h", "pdf_ppapi.h", ] sources = [ "chunk_stream.h", "document_loader.h", "document_loader_impl.cc", "document_loader_impl.h", "draw_utils.cc", "draw_utils.h", "out_of_process_instance.cc", "out_of_process_instance.h", "paint_aggregator.cc", "paint_aggregator.h", "paint_manager.cc", "paint_manager.h", "pdf.cc", "pdf.h", "pdf_engine.cc", "pdf_engine.h", "pdf_ppapi.cc", "pdf_ppapi.h", "pdf_transform.cc", "pdf_transform.h", "preview_mode_client.cc", "preview_mode_client.h", "range_set.cc", "range_set.h", "url_loader_wrapper.h", "url_loader_wrapper_impl.cc", "url_loader_wrapper_impl.h", ] include_dirs = [] defines = [] if (pdf_engine == 0) { deps += [ "//pdf/pdfium/fuzzers", "//printing", "//third_party/pdfium", ] sources += [ "pdfium/pdfium_api_string_buffer_adapter.cc", "pdfium/pdfium_api_string_buffer_adapter.h", "pdfium/pdfium_assert_matching_enums.cc", "pdfium/pdfium_document.cc", "pdfium/pdfium_document.h", "pdfium/pdfium_engine.cc", "pdfium/pdfium_engine.h", "pdfium/pdfium_engine_exports.cc", "pdfium/pdfium_engine_exports.h", "pdfium/pdfium_form_filler.cc", "pdfium/pdfium_form_filler.h", "pdfium/pdfium_mem_buffer_file_read.cc", "pdfium/pdfium_mem_buffer_file_read.h", "pdfium/pdfium_mem_buffer_file_write.cc", "pdfium/pdfium_mem_buffer_file_write.h", "pdfium/pdfium_page.cc", "pdfium/pdfium_page.h", "pdfium/pdfium_print.cc", "pdfium/pdfium_print.h", "pdfium/pdfium_range.cc", "pdfium/pdfium_range.h", "pdfium/pdfium_unsupported_features.cc", "pdfium/pdfium_unsupported_features.h", ] include_dirs += [ "//third_party/pdfium" ] defines += [ "PDFIUM_PRINT_TEXT_WITH_GDI" ] if (pdf_enable_xfa) { defines += [ "PDF_ENABLE_XFA" ] } } } test("pdf_unittests") { sources = [ "chunk_stream_unittest.cc", "document_loader_impl_unittest.cc", "pdf_transform_unittest.cc", "range_set_unittest.cc", "run_all_unittests.cc", ] deps = [ ":pdf", "//base", "//base/test:test_support", "//ppapi/c", "//ppapi/cpp", "//testing/gmock", "//testing/gtest", "//ui/gfx/range", ] data = [ "test/data/", ] if (pdf_engine == 0) { configs += [ "//v8:external_startup_data" ] sources += [ "pdfium/findtext_unittest.cc", "pdfium/pdfium_engine_exports_unittest.cc", ] include_dirs = [ "//third_party/pdfium" ] if (v8_use_external_startup_data) { data += [ "$root_out_dir/natives_blob.bin", "$root_out_dir/snapshot_blob.bin", ] } } } } else { # Dummy group when PDF support is disabled so targets can unconditionally # depend on it. group("pdf") { } }