blob: 6e61827fb4410e4ce3c415ea4f12769be1f1e70b [file] [log] [blame]
Oliver Change67d2182016-02-16 11:42:07 -08001# Copyright 2016 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
dsinclair038bf0b2016-04-30 06:00:05 -07005import("../../pdfium.gni")
Oliver Change67d2182016-02-16 11:42:07 -08006
7config("libfuzzer_config") {
thestig62114cf2016-11-08 12:59:30 -08008 configs = [ "../..:pdfium_core_config" ]
dsinclair756d3792016-06-14 07:34:20 -07009
Oliver Change67d2182016-02-16 11:42:07 -080010 defines = [
11 "PNG_PREFIX",
Oliver Change67d2182016-02-16 11:42:07 -080012 "PNG_USE_READ_MACROS",
13 ]
14 include_dirs = [ "../.." ]
15 if (pdf_enable_v8) {
16 defines += [ "PDF_ENABLE_V8" ]
17 }
18 if (pdf_enable_xfa) {
19 defines += [ "PDF_ENABLE_XFA" ]
20 }
21}
22
thestig62114cf2016-11-08 12:59:30 -080023group("libfuzzer") {
Lei Zhang0acfff32017-05-02 16:40:04 -070024 testonly = true
25 deps = [
26 ":pdf_cmap_fuzzer",
27 ":pdf_codec_a85_fuzzer",
28 ":pdf_codec_fax_fuzzer",
29 ":pdf_codec_icc_fuzzer",
30 ":pdf_codec_jbig2_fuzzer",
31 ":pdf_codec_rle_fuzzer",
Nicolas Pena26853182017-05-17 17:10:36 -040032 ":pdf_font_fuzzer",
Lei Zhang0acfff32017-05-02 16:40:04 -070033 ":pdf_hint_table_fuzzer",
34 ":pdf_jpx_fuzzer",
35 ":pdf_psengine_fuzzer",
36 ":pdf_streamparser_fuzzer",
37 ]
38 if (pdf_enable_xfa) {
39 deps += [
40 ":pdf_cfx_barcode_fuzzer",
41 ":pdf_cfx_saxreader_fuzzer",
42 ":pdf_codec_bmp_fuzzer",
43 ":pdf_codec_gif_fuzzer",
44 ":pdf_codec_jpeg_fuzzer",
45 ":pdf_codec_png_fuzzer",
46 ":pdf_codec_tiff_fuzzer",
47 ":pdf_css_fuzzer",
48 ":pdf_fm2js_fuzzer",
49 ":pdf_xml_fuzzer",
50 ]
51 }
thestig62114cf2016-11-08 12:59:30 -080052}
53
54template("pdfium_fuzzer") {
55 source_set(target_name) {
Dan Sinclair8149ae12017-03-28 12:40:20 -040056 sources = invoker.sources + [ "pdf_fuzzer_init.cc" ]
thestig62114cf2016-11-08 12:59:30 -080057 deps = [
58 "../..:pdfium",
59 ]
60 testonly = true
61 configs -= [ "//build/config/compiler:chromium_code" ]
62 configs += [
63 "//build/config/compiler:no_chromium_code",
64 ":libfuzzer_config",
65 ]
66 }
67}
68
npm9adabf82016-11-07 08:34:09 -080069if (pdf_enable_xfa) {
Tom Sepez5628fd72017-04-27 14:58:53 -070070 pdfium_fuzzer("pdf_cfx_barcode_fuzzer") {
71 sources = [
72 "pdf_cfx_barcode_fuzzer.cc",
73 ]
74 }
75
thestig62114cf2016-11-08 12:59:30 -080076 pdfium_fuzzer("pdf_cfx_saxreader_fuzzer") {
npm9adabf82016-11-07 08:34:09 -080077 sources = [
78 "pdf_cfx_saxreader_fuzzer.cc",
79 ]
npm9adabf82016-11-07 08:34:09 -080080 }
thestig62114cf2016-11-08 12:59:30 -080081
82 pdfium_fuzzer("pdf_codec_bmp_fuzzer") {
npm9adabf82016-11-07 08:34:09 -080083 sources = [
84 "pdf_codec_bmp_fuzzer.cc",
85 "xfa_codec_fuzzer.h",
86 ]
thestig62114cf2016-11-08 12:59:30 -080087 }
88
89 pdfium_fuzzer("pdf_codec_gif_fuzzer") {
90 sources = [
91 "pdf_codec_gif_fuzzer.cc",
92 "xfa_codec_fuzzer.h",
npm9adabf82016-11-07 08:34:09 -080093 ]
94 }
thestig62114cf2016-11-08 12:59:30 -080095
96 pdfium_fuzzer("pdf_codec_jpeg_fuzzer") {
97 sources = [
98 "pdf_codec_jpeg_fuzzer.cc",
99 "xfa_codec_fuzzer.h",
100 ]
101 }
102
103 pdfium_fuzzer("pdf_codec_png_fuzzer") {
104 sources = [
105 "pdf_codec_png_fuzzer.cc",
106 "xfa_codec_fuzzer.h",
107 ]
108 }
109
110 pdfium_fuzzer("pdf_codec_tiff_fuzzer") {
npm9adabf82016-11-07 08:34:09 -0800111 sources = [
112 "pdf_codec_tiff_fuzzer.cc",
113 "xfa_codec_fuzzer.h",
114 ]
npm9adabf82016-11-07 08:34:09 -0800115 }
thestig62114cf2016-11-08 12:59:30 -0800116
117 pdfium_fuzzer("pdf_css_fuzzer") {
npm9adabf82016-11-07 08:34:09 -0800118 sources = [
119 "pdf_css_fuzzer.cc",
120 ]
thestig62114cf2016-11-08 12:59:30 -0800121 }
122
123 pdfium_fuzzer("pdf_fm2js_fuzzer") {
124 sources = [
125 "pdf_fm2js_fuzzer.cc",
npm9adabf82016-11-07 08:34:09 -0800126 ]
thestig62114cf2016-11-08 12:59:30 -0800127 }
128
129 pdfium_fuzzer("pdf_xml_fuzzer") {
130 sources = [
131 "pdf_xml_fuzzer.cc",
thestig470b5fa2016-11-07 06:24:48 -0800132 ]
133 }
134}
135
thestig62114cf2016-11-08 12:59:30 -0800136pdfium_fuzzer("pdf_cmap_fuzzer") {
kcwua177d1c2016-09-26 12:09:30 -0700137 sources = [
138 "pdf_cmap_fuzzer.cc",
139 ]
kcwua177d1c2016-09-26 12:09:30 -0700140}
141
rbpotterdb764702017-01-12 10:31:43 -0800142pdfium_fuzzer("pdf_codec_a85_fuzzer") {
143 sources = [
144 "pdf_codec_a85_fuzzer.cc",
145 ]
146}
147
thestig62114cf2016-11-08 12:59:30 -0800148pdfium_fuzzer("pdf_codec_fax_fuzzer") {
kcwub1a71342016-09-19 11:06:32 -0700149 sources = [
150 "pdf_codec_fax_fuzzer.cc",
151 ]
kcwub1a71342016-09-19 11:06:32 -0700152}
153
thestig62114cf2016-11-08 12:59:30 -0800154pdfium_fuzzer("pdf_codec_icc_fuzzer") {
kcwuda4bd102016-09-22 10:30:18 -0700155 sources = [
156 "pdf_codec_icc_fuzzer.cc",
157 ]
kcwuda4bd102016-09-22 10:30:18 -0700158}
159
thestig62114cf2016-11-08 12:59:30 -0800160pdfium_fuzzer("pdf_codec_jbig2_fuzzer") {
kcwuec7a9452016-09-27 14:06:50 -0700161 sources = [
162 "pdf_codec_jbig2_fuzzer.cc",
163 ]
thestig470b5fa2016-11-07 06:24:48 -0800164}
165
rbpotterdb764702017-01-12 10:31:43 -0800166pdfium_fuzzer("pdf_codec_rle_fuzzer") {
167 sources = [
168 "pdf_codec_rle_fuzzer.cc",
169 ]
170}
171
Nicolas Pena26853182017-05-17 17:10:36 -0400172pdfium_fuzzer("pdf_font_fuzzer") {
173 sources = [
174 "pdf_font_fuzzer.cc",
175 ]
176}
177
thestig62114cf2016-11-08 12:59:30 -0800178pdfium_fuzzer("pdf_hint_table_fuzzer") {
npm9adabf82016-11-07 08:34:09 -0800179 sources = [
180 "pdf_hint_table_fuzzer.cc",
181 ]
thestig62114cf2016-11-08 12:59:30 -0800182}
183
184pdfium_fuzzer("pdf_jpx_fuzzer") {
185 sources = [
186 "pdf_jpx_fuzzer.cc",
npm9adabf82016-11-07 08:34:09 -0800187 ]
188}
189
thestig62114cf2016-11-08 12:59:30 -0800190pdfium_fuzzer("pdf_psengine_fuzzer") {
191 sources = [
192 "pdf_psengine_fuzzer.cc",
193 ]
194}
195
196pdfium_fuzzer("pdf_streamparser_fuzzer") {
tsepez236e47a2016-08-22 13:11:21 -0700197 sources = [
198 "pdf_streamparser_fuzzer.cc",
199 ]
tsepez236e47a2016-08-22 13:11:21 -0700200}