xref: /aosp_15_r20/external/pdfium/testing/fuzzers/BUILD.gn (revision 3ac0a46f773bac49fa9476ec2b1cf3f8da5ec3a4)
1*3ac0a46fSAndroid Build Coastguard Worker# Copyright 2016 The PDFium Authors
2*3ac0a46fSAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*3ac0a46fSAndroid Build Coastguard Worker# found in the LICENSE file.
4*3ac0a46fSAndroid Build Coastguard Worker
5*3ac0a46fSAndroid Build Coastguard Workerimport("../../pdfium.gni")
6*3ac0a46fSAndroid Build Coastguard Worker
7*3ac0a46fSAndroid Build Coastguard Workerconfig("fuzzer_config") {
8*3ac0a46fSAndroid Build Coastguard Worker  configs = [
9*3ac0a46fSAndroid Build Coastguard Worker    "../..:pdfium_strict_config",
10*3ac0a46fSAndroid Build Coastguard Worker    "../..:pdfium_noshorten_config",
11*3ac0a46fSAndroid Build Coastguard Worker  ]
12*3ac0a46fSAndroid Build Coastguard Worker  defines = []
13*3ac0a46fSAndroid Build Coastguard Worker  include_dirs = [ "../.." ]
14*3ac0a46fSAndroid Build Coastguard Worker}
15*3ac0a46fSAndroid Build Coastguard Worker
16*3ac0a46fSAndroid Build Coastguard Worker# All possible "pdfium_fuzzer"s.
17*3ac0a46fSAndroid Build Coastguard Workerfuzzer_list = [
18*3ac0a46fSAndroid Build Coastguard Worker  "pdf_cmap_fuzzer",
19*3ac0a46fSAndroid Build Coastguard Worker  "pdf_codec_a85_fuzzer",
20*3ac0a46fSAndroid Build Coastguard Worker  "pdf_codec_fax_fuzzer",
21*3ac0a46fSAndroid Build Coastguard Worker  "pdf_codec_icc_fuzzer",
22*3ac0a46fSAndroid Build Coastguard Worker  "pdf_codec_jbig2_fuzzer",
23*3ac0a46fSAndroid Build Coastguard Worker  "pdf_codec_rle_fuzzer",
24*3ac0a46fSAndroid Build Coastguard Worker  "pdf_font_fuzzer",
25*3ac0a46fSAndroid Build Coastguard Worker  "pdf_hint_table_fuzzer",
26*3ac0a46fSAndroid Build Coastguard Worker  "pdf_jpx_fuzzer",
27*3ac0a46fSAndroid Build Coastguard Worker  "pdf_psengine_fuzzer",
28*3ac0a46fSAndroid Build Coastguard Worker  "pdf_scanlinecompositor_fuzzer",
29*3ac0a46fSAndroid Build Coastguard Worker  "pdf_streamparser_fuzzer",
30*3ac0a46fSAndroid Build Coastguard Worker  "pdf_xml_fuzzer",
31*3ac0a46fSAndroid Build Coastguard Worker  "pdfium_fuzzer",
32*3ac0a46fSAndroid Build Coastguard Worker]
33*3ac0a46fSAndroid Build Coastguard Workerif (pdf_enable_v8) {
34*3ac0a46fSAndroid Build Coastguard Worker  fuzzer_list += [
35*3ac0a46fSAndroid Build Coastguard Worker    "pdf_cjs_util_fuzzer",
36*3ac0a46fSAndroid Build Coastguard Worker    "pdf_fx_date_helpers_fuzzer",
37*3ac0a46fSAndroid Build Coastguard Worker  ]
38*3ac0a46fSAndroid Build Coastguard Worker  if (pdf_enable_xfa) {
39*3ac0a46fSAndroid Build Coastguard Worker    fuzzer_list += [
40*3ac0a46fSAndroid Build Coastguard Worker      "pdf_bidi_fuzzer",
41*3ac0a46fSAndroid Build Coastguard Worker      "pdf_cfgas_stringformatter_fuzzer",
42*3ac0a46fSAndroid Build Coastguard Worker      "pdf_cfx_barcode_fuzzer",
43*3ac0a46fSAndroid Build Coastguard Worker      "pdf_codec_jpeg_fuzzer",
44*3ac0a46fSAndroid Build Coastguard Worker      "pdf_css_fuzzer",
45*3ac0a46fSAndroid Build Coastguard Worker      "pdf_formcalc_context_fuzzer",
46*3ac0a46fSAndroid Build Coastguard Worker      "pdf_formcalc_fuzzer",
47*3ac0a46fSAndroid Build Coastguard Worker      "pdf_formcalc_translate_fuzzer",
48*3ac0a46fSAndroid Build Coastguard Worker      "pdfium_xfa_fuzzer",
49*3ac0a46fSAndroid Build Coastguard Worker      "pdfium_xfa_lpm_fuzzer",
50*3ac0a46fSAndroid Build Coastguard Worker    ]
51*3ac0a46fSAndroid Build Coastguard Worker    if (pdf_enable_xfa_bmp) {
52*3ac0a46fSAndroid Build Coastguard Worker      fuzzer_list += [ "pdf_codec_bmp_fuzzer" ]
53*3ac0a46fSAndroid Build Coastguard Worker    }
54*3ac0a46fSAndroid Build Coastguard Worker    if (pdf_enable_xfa_gif) {
55*3ac0a46fSAndroid Build Coastguard Worker      fuzzer_list += [
56*3ac0a46fSAndroid Build Coastguard Worker        "pdf_codec_gif_fuzzer",
57*3ac0a46fSAndroid Build Coastguard Worker        "pdf_lzw_fuzzer",
58*3ac0a46fSAndroid Build Coastguard Worker      ]
59*3ac0a46fSAndroid Build Coastguard Worker    }
60*3ac0a46fSAndroid Build Coastguard Worker    if (pdf_enable_xfa_png) {
61*3ac0a46fSAndroid Build Coastguard Worker      fuzzer_list += [ "pdf_codec_png_fuzzer" ]
62*3ac0a46fSAndroid Build Coastguard Worker    }
63*3ac0a46fSAndroid Build Coastguard Worker    if (pdf_enable_xfa_tiff) {
64*3ac0a46fSAndroid Build Coastguard Worker      fuzzer_list += [ "pdf_codec_tiff_fuzzer" ]
65*3ac0a46fSAndroid Build Coastguard Worker    }
66*3ac0a46fSAndroid Build Coastguard Worker  }
67*3ac0a46fSAndroid Build Coastguard Worker}
68*3ac0a46fSAndroid Build Coastguard Workerif (is_clang) {
69*3ac0a46fSAndroid Build Coastguard Worker  # Fuzzers that use FuzzedDataProvider can only be built with Clang.
70*3ac0a46fSAndroid Build Coastguard Worker  fuzzer_list += [
71*3ac0a46fSAndroid Build Coastguard Worker    "pdf_cpdf_tounicodemap_fuzzer",
72*3ac0a46fSAndroid Build Coastguard Worker    "pdf_nametree_fuzzer",
73*3ac0a46fSAndroid Build Coastguard Worker  ]
74*3ac0a46fSAndroid Build Coastguard Worker  if (pdf_enable_xfa) {
75*3ac0a46fSAndroid Build Coastguard Worker    fuzzer_list += [
76*3ac0a46fSAndroid Build Coastguard Worker      "pdf_xfa_fdp_fuzzer",
77*3ac0a46fSAndroid Build Coastguard Worker      "pdf_xfa_raw_fuzzer",
78*3ac0a46fSAndroid Build Coastguard Worker      "pdf_xfa_xdp_fdp_fuzzer",
79*3ac0a46fSAndroid Build Coastguard Worker    ]
80*3ac0a46fSAndroid Build Coastguard Worker  }
81*3ac0a46fSAndroid Build Coastguard Worker}
82*3ac0a46fSAndroid Build Coastguard Worker
83*3ac0a46fSAndroid Build Coastguard Worker# Note that this only compiles all the fuzzers, to prevent compile breakages.
84*3ac0a46fSAndroid Build Coastguard Worker# It does not link and create fuzzer executables. That is done in Chromium.
85*3ac0a46fSAndroid Build Coastguard Workergroup("fuzzers") {
86*3ac0a46fSAndroid Build Coastguard Worker  testonly = true
87*3ac0a46fSAndroid Build Coastguard Worker  deps = []
88*3ac0a46fSAndroid Build Coastguard Worker  foreach(fuzzer, fuzzer_list) {
89*3ac0a46fSAndroid Build Coastguard Worker    deps += [ ":${fuzzer}_src" ]
90*3ac0a46fSAndroid Build Coastguard Worker  }
91*3ac0a46fSAndroid Build Coastguard Worker
92*3ac0a46fSAndroid Build Coastguard Worker  if (is_component_build) {
93*3ac0a46fSAndroid Build Coastguard Worker    deps += [ ":fuzzer_impls" ]
94*3ac0a46fSAndroid Build Coastguard Worker  }
95*3ac0a46fSAndroid Build Coastguard Worker}
96*3ac0a46fSAndroid Build Coastguard Worker
97*3ac0a46fSAndroid Build Coastguard Workersource_set("fuzzer_pdf_templates") {
98*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "pdf_fuzzer_templates.h" ]
99*3ac0a46fSAndroid Build Coastguard Worker}
100*3ac0a46fSAndroid Build Coastguard Worker
101*3ac0a46fSAndroid Build Coastguard Workersource_set("fuzzer_init") {
102*3ac0a46fSAndroid Build Coastguard Worker  testonly = true
103*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "pdf_fuzzer_init.cc" ]
104*3ac0a46fSAndroid Build Coastguard Worker  include_dirs = [ "../.." ]
105*3ac0a46fSAndroid Build Coastguard Worker  deps = [
106*3ac0a46fSAndroid Build Coastguard Worker    "../../:pdfium_public_headers",
107*3ac0a46fSAndroid Build Coastguard Worker    "../../fpdfsdk",
108*3ac0a46fSAndroid Build Coastguard Worker  ]
109*3ac0a46fSAndroid Build Coastguard Worker}
110*3ac0a46fSAndroid Build Coastguard Worker
111*3ac0a46fSAndroid Build Coastguard Workerif (pdf_enable_xfa) {
112*3ac0a46fSAndroid Build Coastguard Worker  assert(pdf_enable_v8)
113*3ac0a46fSAndroid Build Coastguard Worker  source_set("fuzzer_xfa_process_state") {
114*3ac0a46fSAndroid Build Coastguard Worker    testonly = !is_component_build
115*3ac0a46fSAndroid Build Coastguard Worker    sources = [
116*3ac0a46fSAndroid Build Coastguard Worker      "xfa_process_state.cc",
117*3ac0a46fSAndroid Build Coastguard Worker      "xfa_process_state.h",
118*3ac0a46fSAndroid Build Coastguard Worker    ]
119*3ac0a46fSAndroid Build Coastguard Worker    configs += [ ":fuzzer_config" ]
120*3ac0a46fSAndroid Build Coastguard Worker    deps = [
121*3ac0a46fSAndroid Build Coastguard Worker      "../../fxjs:gc",
122*3ac0a46fSAndroid Build Coastguard Worker      "//v8",
123*3ac0a46fSAndroid Build Coastguard Worker    ]
124*3ac0a46fSAndroid Build Coastguard Worker  }
125*3ac0a46fSAndroid Build Coastguard Worker}
126*3ac0a46fSAndroid Build Coastguard Worker
127*3ac0a46fSAndroid Build Coastguard Workersource_set("fuzzer_init_public") {
128*3ac0a46fSAndroid Build Coastguard Worker  testonly = true
129*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "pdf_fuzzer_init_public.cc" ]
130*3ac0a46fSAndroid Build Coastguard Worker  include_dirs = [ "../.." ]
131*3ac0a46fSAndroid Build Coastguard Worker  deps = [
132*3ac0a46fSAndroid Build Coastguard Worker    ":fuzzer_utils",
133*3ac0a46fSAndroid Build Coastguard Worker    "../../:pdfium_public_headers",
134*3ac0a46fSAndroid Build Coastguard Worker    "../../fpdfsdk",
135*3ac0a46fSAndroid Build Coastguard Worker  ]
136*3ac0a46fSAndroid Build Coastguard Worker  if (pdf_enable_v8) {
137*3ac0a46fSAndroid Build Coastguard Worker    configs += [ "//v8:external_startup_data" ]
138*3ac0a46fSAndroid Build Coastguard Worker    deps += [
139*3ac0a46fSAndroid Build Coastguard Worker      "../:test_support",
140*3ac0a46fSAndroid Build Coastguard Worker      "../../fxjs",
141*3ac0a46fSAndroid Build Coastguard Worker      "//v8",
142*3ac0a46fSAndroid Build Coastguard Worker      "//v8:v8_libplatform",
143*3ac0a46fSAndroid Build Coastguard Worker    ]
144*3ac0a46fSAndroid Build Coastguard Worker    if (pdf_enable_xfa) {
145*3ac0a46fSAndroid Build Coastguard Worker      deps += [ ":fuzzer_xfa_process_state" ]
146*3ac0a46fSAndroid Build Coastguard Worker    }
147*3ac0a46fSAndroid Build Coastguard Worker  }
148*3ac0a46fSAndroid Build Coastguard Worker}
149*3ac0a46fSAndroid Build Coastguard Worker
150*3ac0a46fSAndroid Build Coastguard Workerif (is_component_build) {
151*3ac0a46fSAndroid Build Coastguard Worker  group("fuzzer_impls") {
152*3ac0a46fSAndroid Build Coastguard Worker    testonly = true
153*3ac0a46fSAndroid Build Coastguard Worker    deps = []
154*3ac0a46fSAndroid Build Coastguard Worker    foreach(fuzzer, fuzzer_list) {
155*3ac0a46fSAndroid Build Coastguard Worker      deps += [ ":${fuzzer}_impl" ]
156*3ac0a46fSAndroid Build Coastguard Worker    }
157*3ac0a46fSAndroid Build Coastguard Worker    if (pdf_enable_xfa) {
158*3ac0a46fSAndroid Build Coastguard Worker      deps += [ ":fuzzer_xfa_process_state" ]
159*3ac0a46fSAndroid Build Coastguard Worker    }
160*3ac0a46fSAndroid Build Coastguard Worker  }
161*3ac0a46fSAndroid Build Coastguard Worker}
162*3ac0a46fSAndroid Build Coastguard Worker
163*3ac0a46fSAndroid Build Coastguard Workersource_set("fuzzer_helper") {
164*3ac0a46fSAndroid Build Coastguard Worker  testonly = !is_component_build
165*3ac0a46fSAndroid Build Coastguard Worker  sources = [
166*3ac0a46fSAndroid Build Coastguard Worker    "pdfium_fuzzer_helper.cc",
167*3ac0a46fSAndroid Build Coastguard Worker    "pdfium_fuzzer_helper.h",
168*3ac0a46fSAndroid Build Coastguard Worker  ]
169*3ac0a46fSAndroid Build Coastguard Worker  configs += [ ":fuzzer_config" ]
170*3ac0a46fSAndroid Build Coastguard Worker  deps = [
171*3ac0a46fSAndroid Build Coastguard Worker    "../../:pdfium_public_headers",
172*3ac0a46fSAndroid Build Coastguard Worker    "../../fpdfsdk",
173*3ac0a46fSAndroid Build Coastguard Worker    "../../third_party:pdfium_base",
174*3ac0a46fSAndroid Build Coastguard Worker  ]
175*3ac0a46fSAndroid Build Coastguard Worker}
176*3ac0a46fSAndroid Build Coastguard Worker
177*3ac0a46fSAndroid Build Coastguard Workersource_set("fuzzer_utils") {
178*3ac0a46fSAndroid Build Coastguard Worker  # In component builds, the pdfium target (which is not testonly) depends on
179*3ac0a46fSAndroid Build Coastguard Worker  # the fuzzer sources, which may depend on this target, so add testonly only in
180*3ac0a46fSAndroid Build Coastguard Worker  # non-component builds.
181*3ac0a46fSAndroid Build Coastguard Worker  testonly = !is_component_build
182*3ac0a46fSAndroid Build Coastguard Worker  sources = [
183*3ac0a46fSAndroid Build Coastguard Worker    "pdfium_fuzzer_util.cc",
184*3ac0a46fSAndroid Build Coastguard Worker    "pdfium_fuzzer_util.h",
185*3ac0a46fSAndroid Build Coastguard Worker  ]
186*3ac0a46fSAndroid Build Coastguard Worker  deps = [ "../../:pdfium_public_headers" ]
187*3ac0a46fSAndroid Build Coastguard Worker  include_dirs = [ "../.." ]
188*3ac0a46fSAndroid Build Coastguard Worker}
189*3ac0a46fSAndroid Build Coastguard Worker
190*3ac0a46fSAndroid Build Coastguard Workertemplate("pdfium_fuzzer") {
191*3ac0a46fSAndroid Build Coastguard Worker  is_public = defined(invoker.public_fuzzer) && invoker.public_fuzzer
192*3ac0a46fSAndroid Build Coastguard Worker  if (is_public) {
193*3ac0a46fSAndroid Build Coastguard Worker    init_dep = ":fuzzer_init_public"
194*3ac0a46fSAndroid Build Coastguard Worker  } else {
195*3ac0a46fSAndroid Build Coastguard Worker    init_dep = ":fuzzer_init"
196*3ac0a46fSAndroid Build Coastguard Worker  }
197*3ac0a46fSAndroid Build Coastguard Worker  if (is_component_build) {
198*3ac0a46fSAndroid Build Coastguard Worker    # In component builds, fuzzers are split into "_impl" and "_src" targets.
199*3ac0a46fSAndroid Build Coastguard Worker    # The "_impl" target exports the fuzzer implementation. The "_src" target
200*3ac0a46fSAndroid Build Coastguard Worker    # is a thin wrapper that imports the fuzzer from PDFium; this gets linked
201*3ac0a46fSAndroid Build Coastguard Worker    # into the real fuzzer executable. The real fuzzer target has to depend on
202*3ac0a46fSAndroid Build Coastguard Worker    # both the "_impl" and "_src" targets.
203*3ac0a46fSAndroid Build Coastguard Worker    # In static builds, there's only a single "_src" target that contains the
204*3ac0a46fSAndroid Build Coastguard Worker    # implementation and statically links in PDFium.
205*3ac0a46fSAndroid Build Coastguard Worker
206*3ac0a46fSAndroid Build Coastguard Worker    impl_name = target_name + "_impl"
207*3ac0a46fSAndroid Build Coastguard Worker    template_target_name = target_name
208*3ac0a46fSAndroid Build Coastguard Worker    source_set("${target_name}_src") {
209*3ac0a46fSAndroid Build Coastguard Worker      testonly = true
210*3ac0a46fSAndroid Build Coastguard Worker      sources = [ "component_fuzzer_template.cc" ]
211*3ac0a46fSAndroid Build Coastguard Worker      deps = [
212*3ac0a46fSAndroid Build Coastguard Worker        "../../:pdfium_public_headers",
213*3ac0a46fSAndroid Build Coastguard Worker        init_dep,
214*3ac0a46fSAndroid Build Coastguard Worker      ]
215*3ac0a46fSAndroid Build Coastguard Worker      configs += [ ":fuzzer_config" ]
216*3ac0a46fSAndroid Build Coastguard Worker      defines = [ "FUZZER_IMPL=${template_target_name}" ]
217*3ac0a46fSAndroid Build Coastguard Worker    }
218*3ac0a46fSAndroid Build Coastguard Worker  } else {
219*3ac0a46fSAndroid Build Coastguard Worker    impl_name = target_name + "_src"
220*3ac0a46fSAndroid Build Coastguard Worker  }
221*3ac0a46fSAndroid Build Coastguard Worker  source_set(impl_name) {
222*3ac0a46fSAndroid Build Coastguard Worker    testonly = true
223*3ac0a46fSAndroid Build Coastguard Worker    sources = invoker.sources
224*3ac0a46fSAndroid Build Coastguard Worker    defines = []
225*3ac0a46fSAndroid Build Coastguard Worker    deps = []
226*3ac0a46fSAndroid Build Coastguard Worker    if (defined(invoker.deps)) {
227*3ac0a46fSAndroid Build Coastguard Worker      deps += invoker.deps
228*3ac0a46fSAndroid Build Coastguard Worker    }
229*3ac0a46fSAndroid Build Coastguard Worker    configs += [ ":fuzzer_config" ]
230*3ac0a46fSAndroid Build Coastguard Worker    if (is_component_build) {
231*3ac0a46fSAndroid Build Coastguard Worker      # |export| should be consistent with FPDF_EXPORT In public/fpdfview.h.
232*3ac0a46fSAndroid Build Coastguard Worker      if (is_win) {
233*3ac0a46fSAndroid Build Coastguard Worker        export = "__declspec(dllexport)"
234*3ac0a46fSAndroid Build Coastguard Worker      } else {
235*3ac0a46fSAndroid Build Coastguard Worker        export = "__attribute__((visibility(\"default\")))"
236*3ac0a46fSAndroid Build Coastguard Worker      }
237*3ac0a46fSAndroid Build Coastguard Worker      defines += [ "LLVMFuzzerTestOneInput=${export} ${template_target_name}" ]
238*3ac0a46fSAndroid Build Coastguard Worker      deps += [ "../../:pdfium_public_headers" ]
239*3ac0a46fSAndroid Build Coastguard Worker    } else {
240*3ac0a46fSAndroid Build Coastguard Worker      testonly = true
241*3ac0a46fSAndroid Build Coastguard Worker      deps += [
242*3ac0a46fSAndroid Build Coastguard Worker        "../../:pdfium",
243*3ac0a46fSAndroid Build Coastguard Worker        init_dep,
244*3ac0a46fSAndroid Build Coastguard Worker      ]
245*3ac0a46fSAndroid Build Coastguard Worker    }
246*3ac0a46fSAndroid Build Coastguard Worker    if (is_public && pdf_enable_xfa) {
247*3ac0a46fSAndroid Build Coastguard Worker      deps += [ ":fuzzer_xfa_process_state" ]
248*3ac0a46fSAndroid Build Coastguard Worker    }
249*3ac0a46fSAndroid Build Coastguard Worker  }
250*3ac0a46fSAndroid Build Coastguard Worker}
251*3ac0a46fSAndroid Build Coastguard Worker
252*3ac0a46fSAndroid Build Coastguard Workerif (pdf_enable_v8) {
253*3ac0a46fSAndroid Build Coastguard Worker  pdfium_fuzzer("pdf_cjs_util_fuzzer") {
254*3ac0a46fSAndroid Build Coastguard Worker    sources = [ "pdf_cjs_util_fuzzer.cc" ]
255*3ac0a46fSAndroid Build Coastguard Worker    deps = [
256*3ac0a46fSAndroid Build Coastguard Worker      "../../core/fxcrt",
257*3ac0a46fSAndroid Build Coastguard Worker      "../../fpdfsdk",
258*3ac0a46fSAndroid Build Coastguard Worker      "../../fxjs",
259*3ac0a46fSAndroid Build Coastguard Worker    ]
260*3ac0a46fSAndroid Build Coastguard Worker  }
261*3ac0a46fSAndroid Build Coastguard Worker  pdfium_fuzzer("pdf_fx_date_helpers_fuzzer") {
262*3ac0a46fSAndroid Build Coastguard Worker    sources = [ "pdf_fx_date_helpers_fuzzer.cc" ]
263*3ac0a46fSAndroid Build Coastguard Worker    deps = [
264*3ac0a46fSAndroid Build Coastguard Worker      "../../core/fxcrt",
265*3ac0a46fSAndroid Build Coastguard Worker      "../../fpdfsdk",
266*3ac0a46fSAndroid Build Coastguard Worker      "../../fxjs",
267*3ac0a46fSAndroid Build Coastguard Worker    ]
268*3ac0a46fSAndroid Build Coastguard Worker  }
269*3ac0a46fSAndroid Build Coastguard Worker
270*3ac0a46fSAndroid Build Coastguard Worker  if (pdf_enable_xfa) {
271*3ac0a46fSAndroid Build Coastguard Worker    pdfium_fuzzer("pdf_bidi_fuzzer") {
272*3ac0a46fSAndroid Build Coastguard Worker      sources = [ "pdf_bidi_fuzzer.cc" ]
273*3ac0a46fSAndroid Build Coastguard Worker      deps = [
274*3ac0a46fSAndroid Build Coastguard Worker        "../../:freetype_common",
275*3ac0a46fSAndroid Build Coastguard Worker        "../../core/fxcrt",
276*3ac0a46fSAndroid Build Coastguard Worker        "../../core/fxge",
277*3ac0a46fSAndroid Build Coastguard Worker        "../../xfa/fgas/font",
278*3ac0a46fSAndroid Build Coastguard Worker        "../../xfa/fgas/layout",
279*3ac0a46fSAndroid Build Coastguard Worker        "//third_party/icu:icuuc",
280*3ac0a46fSAndroid Build Coastguard Worker      ]
281*3ac0a46fSAndroid Build Coastguard Worker    }
282*3ac0a46fSAndroid Build Coastguard Worker
283*3ac0a46fSAndroid Build Coastguard Worker    pdfium_fuzzer("pdf_cfgas_stringformatter_fuzzer") {
284*3ac0a46fSAndroid Build Coastguard Worker      sources = [ "pdf_cfgas_stringformatter_fuzzer.cc" ]
285*3ac0a46fSAndroid Build Coastguard Worker      deps = [
286*3ac0a46fSAndroid Build Coastguard Worker        ":fuzzer_utils",
287*3ac0a46fSAndroid Build Coastguard Worker        "../../core/fxcrt",
288*3ac0a46fSAndroid Build Coastguard Worker        "../../fpdfsdk",
289*3ac0a46fSAndroid Build Coastguard Worker        "../../fxjs:gc",
290*3ac0a46fSAndroid Build Coastguard Worker        "../../xfa/fgas/crt",
291*3ac0a46fSAndroid Build Coastguard Worker        "../../xfa/fxfa",
292*3ac0a46fSAndroid Build Coastguard Worker        "../../xfa/fxfa/parser",
293*3ac0a46fSAndroid Build Coastguard Worker      ]
294*3ac0a46fSAndroid Build Coastguard Worker      public_fuzzer = true
295*3ac0a46fSAndroid Build Coastguard Worker    }
296*3ac0a46fSAndroid Build Coastguard Worker
297*3ac0a46fSAndroid Build Coastguard Worker    pdfium_fuzzer("pdf_cfx_barcode_fuzzer") {
298*3ac0a46fSAndroid Build Coastguard Worker      sources = [ "pdf_cfx_barcode_fuzzer.cc" ]
299*3ac0a46fSAndroid Build Coastguard Worker      deps = [
300*3ac0a46fSAndroid Build Coastguard Worker        "../../core/fxcrt",
301*3ac0a46fSAndroid Build Coastguard Worker        "../../fxbarcode",
302*3ac0a46fSAndroid Build Coastguard Worker        "//third_party/icu:icuuc",
303*3ac0a46fSAndroid Build Coastguard Worker      ]
304*3ac0a46fSAndroid Build Coastguard Worker    }
305*3ac0a46fSAndroid Build Coastguard Worker
306*3ac0a46fSAndroid Build Coastguard Worker    if (pdf_enable_xfa_bmp) {
307*3ac0a46fSAndroid Build Coastguard Worker      pdfium_fuzzer("pdf_codec_bmp_fuzzer") {
308*3ac0a46fSAndroid Build Coastguard Worker        sources = [
309*3ac0a46fSAndroid Build Coastguard Worker          "pdf_codec_bmp_fuzzer.cc",
310*3ac0a46fSAndroid Build Coastguard Worker          "xfa_codec_fuzzer.h",
311*3ac0a46fSAndroid Build Coastguard Worker        ]
312*3ac0a46fSAndroid Build Coastguard Worker        deps = [
313*3ac0a46fSAndroid Build Coastguard Worker          "../../core/fxcodec",
314*3ac0a46fSAndroid Build Coastguard Worker          "../../core/fxcrt",
315*3ac0a46fSAndroid Build Coastguard Worker          "../../core/fxge",
316*3ac0a46fSAndroid Build Coastguard Worker          "../../third_party:pdfium_base",
317*3ac0a46fSAndroid Build Coastguard Worker        ]
318*3ac0a46fSAndroid Build Coastguard Worker      }
319*3ac0a46fSAndroid Build Coastguard Worker    }
320*3ac0a46fSAndroid Build Coastguard Worker
321*3ac0a46fSAndroid Build Coastguard Worker    if (pdf_enable_xfa_gif) {
322*3ac0a46fSAndroid Build Coastguard Worker      pdfium_fuzzer("pdf_codec_gif_fuzzer") {
323*3ac0a46fSAndroid Build Coastguard Worker        sources = [
324*3ac0a46fSAndroid Build Coastguard Worker          "pdf_codec_gif_fuzzer.cc",
325*3ac0a46fSAndroid Build Coastguard Worker          "xfa_codec_fuzzer.h",
326*3ac0a46fSAndroid Build Coastguard Worker        ]
327*3ac0a46fSAndroid Build Coastguard Worker        deps = [
328*3ac0a46fSAndroid Build Coastguard Worker          "../../core/fxcodec",
329*3ac0a46fSAndroid Build Coastguard Worker          "../../core/fxcrt",
330*3ac0a46fSAndroid Build Coastguard Worker          "../../core/fxge",
331*3ac0a46fSAndroid Build Coastguard Worker          "../../third_party:pdfium_base",
332*3ac0a46fSAndroid Build Coastguard Worker        ]
333*3ac0a46fSAndroid Build Coastguard Worker      }
334*3ac0a46fSAndroid Build Coastguard Worker
335*3ac0a46fSAndroid Build Coastguard Worker      pdfium_fuzzer("pdf_lzw_fuzzer") {
336*3ac0a46fSAndroid Build Coastguard Worker        sources = [ "pdf_lzw_fuzzer.cc" ]
337*3ac0a46fSAndroid Build Coastguard Worker        deps = [
338*3ac0a46fSAndroid Build Coastguard Worker          "../../core/fxcodec",
339*3ac0a46fSAndroid Build Coastguard Worker          "../../third_party:pdfium_base",
340*3ac0a46fSAndroid Build Coastguard Worker        ]
341*3ac0a46fSAndroid Build Coastguard Worker      }
342*3ac0a46fSAndroid Build Coastguard Worker    }
343*3ac0a46fSAndroid Build Coastguard Worker
344*3ac0a46fSAndroid Build Coastguard Worker    pdfium_fuzzer("pdf_codec_jpeg_fuzzer") {
345*3ac0a46fSAndroid Build Coastguard Worker      sources = [
346*3ac0a46fSAndroid Build Coastguard Worker        "pdf_codec_jpeg_fuzzer.cc",
347*3ac0a46fSAndroid Build Coastguard Worker        "xfa_codec_fuzzer.h",
348*3ac0a46fSAndroid Build Coastguard Worker      ]
349*3ac0a46fSAndroid Build Coastguard Worker      deps = [
350*3ac0a46fSAndroid Build Coastguard Worker        "../../core/fxcodec",
351*3ac0a46fSAndroid Build Coastguard Worker        "../../core/fxcrt",
352*3ac0a46fSAndroid Build Coastguard Worker        "../../core/fxge",
353*3ac0a46fSAndroid Build Coastguard Worker        "../../third_party:pdfium_base",
354*3ac0a46fSAndroid Build Coastguard Worker      ]
355*3ac0a46fSAndroid Build Coastguard Worker    }
356*3ac0a46fSAndroid Build Coastguard Worker
357*3ac0a46fSAndroid Build Coastguard Worker    if (pdf_enable_xfa_png) {
358*3ac0a46fSAndroid Build Coastguard Worker      pdfium_fuzzer("pdf_codec_png_fuzzer") {
359*3ac0a46fSAndroid Build Coastguard Worker        sources = [
360*3ac0a46fSAndroid Build Coastguard Worker          "pdf_codec_png_fuzzer.cc",
361*3ac0a46fSAndroid Build Coastguard Worker          "xfa_codec_fuzzer.h",
362*3ac0a46fSAndroid Build Coastguard Worker        ]
363*3ac0a46fSAndroid Build Coastguard Worker        deps = [
364*3ac0a46fSAndroid Build Coastguard Worker          "../../core/fxcodec",
365*3ac0a46fSAndroid Build Coastguard Worker          "../../core/fxcrt",
366*3ac0a46fSAndroid Build Coastguard Worker          "../../core/fxge",
367*3ac0a46fSAndroid Build Coastguard Worker          "../../third_party:pdfium_base",
368*3ac0a46fSAndroid Build Coastguard Worker        ]
369*3ac0a46fSAndroid Build Coastguard Worker      }
370*3ac0a46fSAndroid Build Coastguard Worker    }
371*3ac0a46fSAndroid Build Coastguard Worker
372*3ac0a46fSAndroid Build Coastguard Worker    if (pdf_enable_xfa_tiff) {
373*3ac0a46fSAndroid Build Coastguard Worker      pdfium_fuzzer("pdf_codec_tiff_fuzzer") {
374*3ac0a46fSAndroid Build Coastguard Worker        sources = [
375*3ac0a46fSAndroid Build Coastguard Worker          "pdf_codec_tiff_fuzzer.cc",
376*3ac0a46fSAndroid Build Coastguard Worker          "xfa_codec_fuzzer.h",
377*3ac0a46fSAndroid Build Coastguard Worker        ]
378*3ac0a46fSAndroid Build Coastguard Worker        deps = [
379*3ac0a46fSAndroid Build Coastguard Worker          "../../core/fxcodec",
380*3ac0a46fSAndroid Build Coastguard Worker          "../../core/fxcrt",
381*3ac0a46fSAndroid Build Coastguard Worker          "../../core/fxge",
382*3ac0a46fSAndroid Build Coastguard Worker          "../../third_party:pdfium_base",
383*3ac0a46fSAndroid Build Coastguard Worker        ]
384*3ac0a46fSAndroid Build Coastguard Worker      }
385*3ac0a46fSAndroid Build Coastguard Worker    }
386*3ac0a46fSAndroid Build Coastguard Worker
387*3ac0a46fSAndroid Build Coastguard Worker    pdfium_fuzzer("pdf_css_fuzzer") {
388*3ac0a46fSAndroid Build Coastguard Worker      sources = [ "pdf_css_fuzzer.cc" ]
389*3ac0a46fSAndroid Build Coastguard Worker      deps = [
390*3ac0a46fSAndroid Build Coastguard Worker        "../../core/fxcrt",
391*3ac0a46fSAndroid Build Coastguard Worker        "../../core/fxcrt/css",
392*3ac0a46fSAndroid Build Coastguard Worker      ]
393*3ac0a46fSAndroid Build Coastguard Worker    }
394*3ac0a46fSAndroid Build Coastguard Worker
395*3ac0a46fSAndroid Build Coastguard Worker    pdfium_fuzzer("pdf_formcalc_translate_fuzzer") {
396*3ac0a46fSAndroid Build Coastguard Worker      sources = [ "pdf_formcalc_translate_fuzzer.cc" ]
397*3ac0a46fSAndroid Build Coastguard Worker      deps = [
398*3ac0a46fSAndroid Build Coastguard Worker        ":fuzzer_utils",
399*3ac0a46fSAndroid Build Coastguard Worker        "../../core/fxcrt",
400*3ac0a46fSAndroid Build Coastguard Worker        "../../fpdfsdk",
401*3ac0a46fSAndroid Build Coastguard Worker        "../../fxjs",
402*3ac0a46fSAndroid Build Coastguard Worker      ]
403*3ac0a46fSAndroid Build Coastguard Worker      public_fuzzer = true
404*3ac0a46fSAndroid Build Coastguard Worker    }
405*3ac0a46fSAndroid Build Coastguard Worker
406*3ac0a46fSAndroid Build Coastguard Worker    pdfium_fuzzer("pdf_formcalc_context_fuzzer") {
407*3ac0a46fSAndroid Build Coastguard Worker      sources = [ "pdf_formcalc_context_fuzzer.cc" ]
408*3ac0a46fSAndroid Build Coastguard Worker      deps = [
409*3ac0a46fSAndroid Build Coastguard Worker        ":fuzzer_helper",
410*3ac0a46fSAndroid Build Coastguard Worker        "../../:pdfium_public_headers",
411*3ac0a46fSAndroid Build Coastguard Worker        "../../core/fxcrt",
412*3ac0a46fSAndroid Build Coastguard Worker        "../../fpdfsdk",
413*3ac0a46fSAndroid Build Coastguard Worker        "../../fpdfsdk/fpdfxfa",
414*3ac0a46fSAndroid Build Coastguard Worker        "../../fxjs",
415*3ac0a46fSAndroid Build Coastguard Worker        "../../xfa/fxfa",
416*3ac0a46fSAndroid Build Coastguard Worker      ]
417*3ac0a46fSAndroid Build Coastguard Worker      public_fuzzer = true
418*3ac0a46fSAndroid Build Coastguard Worker    }
419*3ac0a46fSAndroid Build Coastguard Worker
420*3ac0a46fSAndroid Build Coastguard Worker    pdfium_fuzzer("pdf_formcalc_fuzzer") {
421*3ac0a46fSAndroid Build Coastguard Worker      sources = [ "pdf_formcalc_fuzzer.cc" ]
422*3ac0a46fSAndroid Build Coastguard Worker      deps = [
423*3ac0a46fSAndroid Build Coastguard Worker        ":fuzzer_utils",
424*3ac0a46fSAndroid Build Coastguard Worker        "../../core/fxcrt",
425*3ac0a46fSAndroid Build Coastguard Worker        "../../fxjs:gc",
426*3ac0a46fSAndroid Build Coastguard Worker        "../../xfa/fxfa/formcalc",
427*3ac0a46fSAndroid Build Coastguard Worker      ]
428*3ac0a46fSAndroid Build Coastguard Worker      public_fuzzer = true
429*3ac0a46fSAndroid Build Coastguard Worker    }
430*3ac0a46fSAndroid Build Coastguard Worker
431*3ac0a46fSAndroid Build Coastguard Worker    pdfium_fuzzer("pdfium_xfa_fuzzer") {
432*3ac0a46fSAndroid Build Coastguard Worker      sources = [ "pdfium_xfa_fuzzer.cc" ]
433*3ac0a46fSAndroid Build Coastguard Worker      deps = [
434*3ac0a46fSAndroid Build Coastguard Worker        ":fuzzer_helper",
435*3ac0a46fSAndroid Build Coastguard Worker        "../../:pdfium_public_headers",
436*3ac0a46fSAndroid Build Coastguard Worker      ]
437*3ac0a46fSAndroid Build Coastguard Worker      public_fuzzer = true
438*3ac0a46fSAndroid Build Coastguard Worker    }
439*3ac0a46fSAndroid Build Coastguard Worker
440*3ac0a46fSAndroid Build Coastguard Worker    pdfium_fuzzer("pdfium_xfa_lpm_fuzzer") {
441*3ac0a46fSAndroid Build Coastguard Worker      sources = [
442*3ac0a46fSAndroid Build Coastguard Worker        "pdfium_xfa_lpm_fuzz_stub.cc",
443*3ac0a46fSAndroid Build Coastguard Worker        "pdfium_xfa_lpm_fuzz_stub.h",
444*3ac0a46fSAndroid Build Coastguard Worker      ]
445*3ac0a46fSAndroid Build Coastguard Worker      deps = [
446*3ac0a46fSAndroid Build Coastguard Worker        ":fuzzer_helper",
447*3ac0a46fSAndroid Build Coastguard Worker        "../../:pdfium_public_headers",
448*3ac0a46fSAndroid Build Coastguard Worker      ]
449*3ac0a46fSAndroid Build Coastguard Worker      public_fuzzer = true
450*3ac0a46fSAndroid Build Coastguard Worker    }
451*3ac0a46fSAndroid Build Coastguard Worker  }
452*3ac0a46fSAndroid Build Coastguard Worker}
453*3ac0a46fSAndroid Build Coastguard Worker
454*3ac0a46fSAndroid Build Coastguard Workerif (is_clang) {
455*3ac0a46fSAndroid Build Coastguard Worker  pdfium_fuzzer("pdf_cpdf_tounicodemap_fuzzer") {
456*3ac0a46fSAndroid Build Coastguard Worker    sources = [ "pdf_cpdf_tounicodemap_fuzzer.cc" ]
457*3ac0a46fSAndroid Build Coastguard Worker    deps = [
458*3ac0a46fSAndroid Build Coastguard Worker      "../../core/fpdfapi/font",
459*3ac0a46fSAndroid Build Coastguard Worker      "../../core/fpdfapi/parser",
460*3ac0a46fSAndroid Build Coastguard Worker      "../../core/fxcrt",
461*3ac0a46fSAndroid Build Coastguard Worker    ]
462*3ac0a46fSAndroid Build Coastguard Worker  }
463*3ac0a46fSAndroid Build Coastguard Worker
464*3ac0a46fSAndroid Build Coastguard Worker  pdfium_fuzzer("pdf_nametree_fuzzer") {
465*3ac0a46fSAndroid Build Coastguard Worker    sources = [ "pdf_nametree_fuzzer.cc" ]
466*3ac0a46fSAndroid Build Coastguard Worker    deps = [
467*3ac0a46fSAndroid Build Coastguard Worker      "../../core/fpdfapi/page",
468*3ac0a46fSAndroid Build Coastguard Worker      "../../core/fpdfapi/parser",
469*3ac0a46fSAndroid Build Coastguard Worker      "../../core/fpdfdoc",
470*3ac0a46fSAndroid Build Coastguard Worker      "../../third_party:pdfium_base",
471*3ac0a46fSAndroid Build Coastguard Worker    ]
472*3ac0a46fSAndroid Build Coastguard Worker  }
473*3ac0a46fSAndroid Build Coastguard Worker  if (pdf_enable_xfa) {
474*3ac0a46fSAndroid Build Coastguard Worker    pdfium_fuzzer("pdf_xfa_fdp_fuzzer") {
475*3ac0a46fSAndroid Build Coastguard Worker      sources = [ "pdf_xfa_fdp_fuzzer.cc" ]
476*3ac0a46fSAndroid Build Coastguard Worker      deps = [
477*3ac0a46fSAndroid Build Coastguard Worker        ":fuzzer_helper",
478*3ac0a46fSAndroid Build Coastguard Worker        ":fuzzer_pdf_templates",
479*3ac0a46fSAndroid Build Coastguard Worker        "../../third_party:pdfium_base",
480*3ac0a46fSAndroid Build Coastguard Worker      ]
481*3ac0a46fSAndroid Build Coastguard Worker      public_fuzzer = true
482*3ac0a46fSAndroid Build Coastguard Worker    }
483*3ac0a46fSAndroid Build Coastguard Worker    pdfium_fuzzer("pdf_xfa_raw_fuzzer") {
484*3ac0a46fSAndroid Build Coastguard Worker      sources = [ "pdf_xfa_raw_fuzzer.cc" ]
485*3ac0a46fSAndroid Build Coastguard Worker      deps = [
486*3ac0a46fSAndroid Build Coastguard Worker        ":fuzzer_helper",
487*3ac0a46fSAndroid Build Coastguard Worker        ":fuzzer_pdf_templates",
488*3ac0a46fSAndroid Build Coastguard Worker        "../../third_party:pdfium_base",
489*3ac0a46fSAndroid Build Coastguard Worker      ]
490*3ac0a46fSAndroid Build Coastguard Worker      public_fuzzer = true
491*3ac0a46fSAndroid Build Coastguard Worker    }
492*3ac0a46fSAndroid Build Coastguard Worker    pdfium_fuzzer("pdf_xfa_xdp_fdp_fuzzer") {
493*3ac0a46fSAndroid Build Coastguard Worker      sources = [ "pdf_xfa_xdp_fdp_fuzzer.cc" ]
494*3ac0a46fSAndroid Build Coastguard Worker      deps = [
495*3ac0a46fSAndroid Build Coastguard Worker        ":fuzzer_helper",
496*3ac0a46fSAndroid Build Coastguard Worker        ":fuzzer_pdf_templates",
497*3ac0a46fSAndroid Build Coastguard Worker      ]
498*3ac0a46fSAndroid Build Coastguard Worker      public_fuzzer = true
499*3ac0a46fSAndroid Build Coastguard Worker    }
500*3ac0a46fSAndroid Build Coastguard Worker  }
501*3ac0a46fSAndroid Build Coastguard Worker}
502*3ac0a46fSAndroid Build Coastguard Worker
503*3ac0a46fSAndroid Build Coastguard Workerpdfium_fuzzer("pdf_cmap_fuzzer") {
504*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "pdf_cmap_fuzzer.cc" ]
505*3ac0a46fSAndroid Build Coastguard Worker  deps = [
506*3ac0a46fSAndroid Build Coastguard Worker    "../../:freetype_common",
507*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fpdfapi/font",
508*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fxcrt",
509*3ac0a46fSAndroid Build Coastguard Worker    "../../third_party:pdfium_base",
510*3ac0a46fSAndroid Build Coastguard Worker  ]
511*3ac0a46fSAndroid Build Coastguard Worker}
512*3ac0a46fSAndroid Build Coastguard Worker
513*3ac0a46fSAndroid Build Coastguard Workerpdfium_fuzzer("pdf_codec_a85_fuzzer") {
514*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "pdf_codec_a85_fuzzer.cc" ]
515*3ac0a46fSAndroid Build Coastguard Worker  deps = [
516*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fxcodec",
517*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fxcrt",
518*3ac0a46fSAndroid Build Coastguard Worker  ]
519*3ac0a46fSAndroid Build Coastguard Worker}
520*3ac0a46fSAndroid Build Coastguard Worker
521*3ac0a46fSAndroid Build Coastguard Workerpdfium_fuzzer("pdf_codec_fax_fuzzer") {
522*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "pdf_codec_fax_fuzzer.cc" ]
523*3ac0a46fSAndroid Build Coastguard Worker  deps = [
524*3ac0a46fSAndroid Build Coastguard Worker    ":fuzzer_utils",
525*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fxcodec",
526*3ac0a46fSAndroid Build Coastguard Worker  ]
527*3ac0a46fSAndroid Build Coastguard Worker}
528*3ac0a46fSAndroid Build Coastguard Worker
529*3ac0a46fSAndroid Build Coastguard Workerpdfium_fuzzer("pdf_codec_icc_fuzzer") {
530*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "pdf_codec_icc_fuzzer.cc" ]
531*3ac0a46fSAndroid Build Coastguard Worker  deps = [
532*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fxcodec",
533*3ac0a46fSAndroid Build Coastguard Worker    "../../third_party:pdfium_base",
534*3ac0a46fSAndroid Build Coastguard Worker    "../../third_party/:lcms2",
535*3ac0a46fSAndroid Build Coastguard Worker  ]
536*3ac0a46fSAndroid Build Coastguard Worker}
537*3ac0a46fSAndroid Build Coastguard Worker
538*3ac0a46fSAndroid Build Coastguard Workerpdfium_fuzzer("pdf_codec_jbig2_fuzzer") {
539*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "pdf_codec_jbig2_fuzzer.cc" ]
540*3ac0a46fSAndroid Build Coastguard Worker  deps = [
541*3ac0a46fSAndroid Build Coastguard Worker    ":fuzzer_utils",
542*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fpdfapi/parser",
543*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fxcodec",
544*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fxcrt",
545*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fxge",
546*3ac0a46fSAndroid Build Coastguard Worker  ]
547*3ac0a46fSAndroid Build Coastguard Worker}
548*3ac0a46fSAndroid Build Coastguard Worker
549*3ac0a46fSAndroid Build Coastguard Workerpdfium_fuzzer("pdf_codec_rle_fuzzer") {
550*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "pdf_codec_rle_fuzzer.cc" ]
551*3ac0a46fSAndroid Build Coastguard Worker  deps = [
552*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fxcodec",
553*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fxcrt",
554*3ac0a46fSAndroid Build Coastguard Worker  ]
555*3ac0a46fSAndroid Build Coastguard Worker}
556*3ac0a46fSAndroid Build Coastguard Worker
557*3ac0a46fSAndroid Build Coastguard Workerpdfium_fuzzer("pdf_font_fuzzer") {
558*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "pdf_font_fuzzer.cc" ]
559*3ac0a46fSAndroid Build Coastguard Worker  deps = [ "../../:pdfium_public_headers" ]
560*3ac0a46fSAndroid Build Coastguard Worker}
561*3ac0a46fSAndroid Build Coastguard Worker
562*3ac0a46fSAndroid Build Coastguard Workerpdfium_fuzzer("pdf_hint_table_fuzzer") {
563*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "pdf_hint_table_fuzzer.cc" ]
564*3ac0a46fSAndroid Build Coastguard Worker  deps = [
565*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fpdfapi/parser",
566*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fxcrt",
567*3ac0a46fSAndroid Build Coastguard Worker    "../../third_party:pdfium_base",
568*3ac0a46fSAndroid Build Coastguard Worker  ]
569*3ac0a46fSAndroid Build Coastguard Worker}
570*3ac0a46fSAndroid Build Coastguard Worker
571*3ac0a46fSAndroid Build Coastguard Workerpdfium_fuzzer("pdf_jpx_fuzzer") {
572*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "pdf_jpx_fuzzer.cc" ]
573*3ac0a46fSAndroid Build Coastguard Worker  deps = [
574*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fpdfapi/page",
575*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fxcodec",
576*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fxcrt",
577*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fxge",
578*3ac0a46fSAndroid Build Coastguard Worker  ]
579*3ac0a46fSAndroid Build Coastguard Worker}
580*3ac0a46fSAndroid Build Coastguard Worker
581*3ac0a46fSAndroid Build Coastguard Workerpdfium_fuzzer("pdf_psengine_fuzzer") {
582*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "pdf_psengine_fuzzer.cc" ]
583*3ac0a46fSAndroid Build Coastguard Worker  deps = [
584*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fpdfapi/page",
585*3ac0a46fSAndroid Build Coastguard Worker    "../../third_party:pdfium_base",
586*3ac0a46fSAndroid Build Coastguard Worker  ]
587*3ac0a46fSAndroid Build Coastguard Worker}
588*3ac0a46fSAndroid Build Coastguard Worker
589*3ac0a46fSAndroid Build Coastguard Workerpdfium_fuzzer("pdf_scanlinecompositor_fuzzer") {
590*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "pdf_scanlinecompositor_fuzzer.cc" ]
591*3ac0a46fSAndroid Build Coastguard Worker  deps = [
592*3ac0a46fSAndroid Build Coastguard Worker    ":fuzzer_utils",
593*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fxcrt",
594*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fxge",
595*3ac0a46fSAndroid Build Coastguard Worker    "../../third_party:pdfium_base",
596*3ac0a46fSAndroid Build Coastguard Worker  ]
597*3ac0a46fSAndroid Build Coastguard Worker}
598*3ac0a46fSAndroid Build Coastguard Worker
599*3ac0a46fSAndroid Build Coastguard Workerpdfium_fuzzer("pdf_streamparser_fuzzer") {
600*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "pdf_streamparser_fuzzer.cc" ]
601*3ac0a46fSAndroid Build Coastguard Worker  deps = [
602*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fpdfapi/page",
603*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fpdfapi/parser",
604*3ac0a46fSAndroid Build Coastguard Worker    "../../third_party:pdfium_base",
605*3ac0a46fSAndroid Build Coastguard Worker  ]
606*3ac0a46fSAndroid Build Coastguard Worker}
607*3ac0a46fSAndroid Build Coastguard Worker
608*3ac0a46fSAndroid Build Coastguard Workerpdfium_fuzzer("pdf_xml_fuzzer") {
609*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "pdf_xml_fuzzer.cc" ]
610*3ac0a46fSAndroid Build Coastguard Worker  deps = [
611*3ac0a46fSAndroid Build Coastguard Worker    "../../core/fxcrt",
612*3ac0a46fSAndroid Build Coastguard Worker    "../../third_party:pdfium_base",
613*3ac0a46fSAndroid Build Coastguard Worker  ]
614*3ac0a46fSAndroid Build Coastguard Worker}
615*3ac0a46fSAndroid Build Coastguard Worker
616*3ac0a46fSAndroid Build Coastguard Workerpdfium_fuzzer("pdfium_fuzzer") {
617*3ac0a46fSAndroid Build Coastguard Worker  sources = [ "pdfium_fuzzer.cc" ]
618*3ac0a46fSAndroid Build Coastguard Worker  deps = [ ":fuzzer_helper" ]
619*3ac0a46fSAndroid Build Coastguard Worker  public_fuzzer = true
620*3ac0a46fSAndroid Build Coastguard Worker}
621