blob: d23fb8837654769144aa9b184b08c9541a4996a3 [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",
Ryan Harrisonc136b312017-10-19 14:37:06 -040049 ":pdf_lzw_fuzzer",
Lei Zhang0acfff32017-05-02 16:40:04 -070050 ":pdf_xml_fuzzer",
51 ]
52 }
thestig62114cf2016-11-08 12:59:30 -080053}
54
55template("pdfium_fuzzer") {
56 source_set(target_name) {
Dan Sinclair8149ae12017-03-28 12:40:20 -040057 sources = invoker.sources + [ "pdf_fuzzer_init.cc" ]
thestig62114cf2016-11-08 12:59:30 -080058 deps = [
59 "../..:pdfium",
60 ]
Lei Zhang61f2f482017-09-19 15:03:15 -070061 if (defined(invoker.deps)) {
62 deps += invoker.deps
63 }
thestig62114cf2016-11-08 12:59:30 -080064 testonly = true
65 configs -= [ "//build/config/compiler:chromium_code" ]
66 configs += [
67 "//build/config/compiler:no_chromium_code",
68 ":libfuzzer_config",
69 ]
70 }
71}
72
npm9adabf82016-11-07 08:34:09 -080073if (pdf_enable_xfa) {
Tom Sepez5628fd72017-04-27 14:58:53 -070074 pdfium_fuzzer("pdf_cfx_barcode_fuzzer") {
75 sources = [
76 "pdf_cfx_barcode_fuzzer.cc",
77 ]
78 }
79
thestig62114cf2016-11-08 12:59:30 -080080 pdfium_fuzzer("pdf_cfx_saxreader_fuzzer") {
npm9adabf82016-11-07 08:34:09 -080081 sources = [
82 "pdf_cfx_saxreader_fuzzer.cc",
83 ]
npm9adabf82016-11-07 08:34:09 -080084 }
thestig62114cf2016-11-08 12:59:30 -080085
86 pdfium_fuzzer("pdf_codec_bmp_fuzzer") {
npm9adabf82016-11-07 08:34:09 -080087 sources = [
88 "pdf_codec_bmp_fuzzer.cc",
89 "xfa_codec_fuzzer.h",
90 ]
thestig62114cf2016-11-08 12:59:30 -080091 }
92
93 pdfium_fuzzer("pdf_codec_gif_fuzzer") {
94 sources = [
95 "pdf_codec_gif_fuzzer.cc",
96 "xfa_codec_fuzzer.h",
npm9adabf82016-11-07 08:34:09 -080097 ]
98 }
thestig62114cf2016-11-08 12:59:30 -080099
100 pdfium_fuzzer("pdf_codec_jpeg_fuzzer") {
101 sources = [
102 "pdf_codec_jpeg_fuzzer.cc",
103 "xfa_codec_fuzzer.h",
104 ]
105 }
106
107 pdfium_fuzzer("pdf_codec_png_fuzzer") {
108 sources = [
109 "pdf_codec_png_fuzzer.cc",
110 "xfa_codec_fuzzer.h",
111 ]
112 }
113
114 pdfium_fuzzer("pdf_codec_tiff_fuzzer") {
npm9adabf82016-11-07 08:34:09 -0800115 sources = [
116 "pdf_codec_tiff_fuzzer.cc",
117 "xfa_codec_fuzzer.h",
118 ]
npm9adabf82016-11-07 08:34:09 -0800119 }
thestig62114cf2016-11-08 12:59:30 -0800120
121 pdfium_fuzzer("pdf_css_fuzzer") {
npm9adabf82016-11-07 08:34:09 -0800122 sources = [
123 "pdf_css_fuzzer.cc",
124 ]
thestig62114cf2016-11-08 12:59:30 -0800125 }
126
127 pdfium_fuzzer("pdf_fm2js_fuzzer") {
128 sources = [
129 "pdf_fm2js_fuzzer.cc",
npm9adabf82016-11-07 08:34:09 -0800130 ]
thestig62114cf2016-11-08 12:59:30 -0800131 }
132
Ryan Harrisonc136b312017-10-19 14:37:06 -0400133 pdfium_fuzzer("pdf_lzw_fuzzer") {
134 sources = [
135 "pdf_lzw_fuzzer.cc",
136 ]
137 }
138
thestig62114cf2016-11-08 12:59:30 -0800139 pdfium_fuzzer("pdf_xml_fuzzer") {
140 sources = [
141 "pdf_xml_fuzzer.cc",
thestig470b5fa2016-11-07 06:24:48 -0800142 ]
143 }
144}
145
thestig62114cf2016-11-08 12:59:30 -0800146pdfium_fuzzer("pdf_cmap_fuzzer") {
kcwua177d1c2016-09-26 12:09:30 -0700147 sources = [
148 "pdf_cmap_fuzzer.cc",
149 ]
kcwua177d1c2016-09-26 12:09:30 -0700150}
151
rbpotterdb764702017-01-12 10:31:43 -0800152pdfium_fuzzer("pdf_codec_a85_fuzzer") {
153 sources = [
154 "pdf_codec_a85_fuzzer.cc",
155 ]
156}
157
thestig62114cf2016-11-08 12:59:30 -0800158pdfium_fuzzer("pdf_codec_fax_fuzzer") {
kcwub1a71342016-09-19 11:06:32 -0700159 sources = [
160 "pdf_codec_fax_fuzzer.cc",
161 ]
kcwub1a71342016-09-19 11:06:32 -0700162}
163
thestig62114cf2016-11-08 12:59:30 -0800164pdfium_fuzzer("pdf_codec_icc_fuzzer") {
Lei Zhang61f2f482017-09-19 15:03:15 -0700165 deps = [
166 "../../third_party/:lcms2",
167 ]
kcwuda4bd102016-09-22 10:30:18 -0700168 sources = [
169 "pdf_codec_icc_fuzzer.cc",
170 ]
kcwuda4bd102016-09-22 10:30:18 -0700171}
172
thestig62114cf2016-11-08 12:59:30 -0800173pdfium_fuzzer("pdf_codec_jbig2_fuzzer") {
kcwuec7a9452016-09-27 14:06:50 -0700174 sources = [
175 "pdf_codec_jbig2_fuzzer.cc",
176 ]
thestig470b5fa2016-11-07 06:24:48 -0800177}
178
rbpotterdb764702017-01-12 10:31:43 -0800179pdfium_fuzzer("pdf_codec_rle_fuzzer") {
180 sources = [
181 "pdf_codec_rle_fuzzer.cc",
182 ]
183}
184
Nicolas Pena26853182017-05-17 17:10:36 -0400185pdfium_fuzzer("pdf_font_fuzzer") {
186 sources = [
187 "pdf_font_fuzzer.cc",
188 ]
189}
190
thestig62114cf2016-11-08 12:59:30 -0800191pdfium_fuzzer("pdf_hint_table_fuzzer") {
npm9adabf82016-11-07 08:34:09 -0800192 sources = [
193 "pdf_hint_table_fuzzer.cc",
194 ]
thestig62114cf2016-11-08 12:59:30 -0800195}
196
197pdfium_fuzzer("pdf_jpx_fuzzer") {
198 sources = [
199 "pdf_jpx_fuzzer.cc",
npm9adabf82016-11-07 08:34:09 -0800200 ]
201}
202
thestig62114cf2016-11-08 12:59:30 -0800203pdfium_fuzzer("pdf_psengine_fuzzer") {
204 sources = [
205 "pdf_psengine_fuzzer.cc",
206 ]
207}
208
209pdfium_fuzzer("pdf_streamparser_fuzzer") {
tsepez236e47a2016-08-22 13:11:21 -0700210 sources = [
211 "pdf_streamparser_fuzzer.cc",
212 ]
tsepez236e47a2016-08-22 13:11:21 -0700213}