summaryrefslogtreecommitdiffstats
path: root/chromium/pdf/BUILD.gn
blob: 34c33a4c378ec260687a8bd67fb0dd5010f67853 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
# 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("//pdf/features.gni")
import("//testing/test.gni")
import("//third_party/pdfium/pdfium.gni")

# Generate a buildflag header for compile-time checking of PDF support.
buildflag_header("features") {
  header = "features.h"
  flags = [ "ENABLE_PDF=$enable_pdf" ]
}

if (enable_pdf) {
  pdf_engine = 0  # 0 PDFium

  static_library("pdf") {
    deps = [
      "//base",
      "//gin",
      "//net",
      "//ppapi/cpp:objects",
      "//ppapi/cpp/private:internal_module",
      "//ui/base",
      "//ui/gfx/range",
    ]

    sources = [
      "chunk_stream.h",
      "document_loader.cc",
      "document_loader.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",
      "preview_mode_client.cc",
      "preview_mode_client.h",
      "range_set.cc",
      "range_set.h",
      "timer.cc",
      "timer.h",
      "url_loader_wrapper.h",
      "url_loader_wrapper_impl.cc",
      "url_loader_wrapper_impl.h",
    ]

    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_engine.cc",
        "pdfium/pdfium_engine.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_range.cc",
        "pdfium/pdfium_range.h",
      ]
    }

    defines = [ "PDFIUM_PRINT_TEXT_WITH_GDI" ]
    if (pdf_enable_xfa) {
      defines += [ "PDF_ENABLE_XFA" ]
    }
  }

  test("pdf_unittests") {
    sources = [
      "chunk_stream_unittest.cc",
      "document_loader_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",
    ]
  }
} else {
  # Dummy group when PDF support is disabled so targets can unconditionally
  # depend on it.
  group("pdf") {
  }
}