| # Copyright 2016 The PDFium 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("../../pdfium.gni") |
| |
| config("fuzzer_config") { |
| configs = [ "../..:pdfium_core_config" ] |
| |
| defines = [ |
| "PNG_PREFIX", |
| "PNG_USE_READ_MACROS", |
| ] |
| include_dirs = [ "../.." ] |
| if (pdf_enable_v8) { |
| defines += [ "PDF_ENABLE_V8" ] |
| } |
| if (pdf_enable_xfa) { |
| defines += [ "PDF_ENABLE_XFA" ] |
| } |
| } |
| |
| group("fuzzers") { |
| testonly = true |
| deps = [ |
| ":pdf_cmap_fuzzer_src", |
| ":pdf_codec_a85_fuzzer_src", |
| ":pdf_codec_fax_fuzzer_src", |
| ":pdf_codec_icc_fuzzer_src", |
| ":pdf_codec_jbig2_fuzzer_src", |
| ":pdf_codec_rle_fuzzer_src", |
| ":pdf_font_fuzzer_src", |
| ":pdf_hint_table_fuzzer_src", |
| ":pdf_jpx_fuzzer_src", |
| ":pdf_psengine_fuzzer_src", |
| ":pdf_streamparser_fuzzer_src", |
| ":pdf_xml_fuzzer_src", |
| ] |
| if (pdf_enable_xfa) { |
| deps += [ |
| ":pdf_bidi_fuzzer_src", |
| ":pdf_cfx_barcode_fuzzer_src", |
| ":pdf_codec_jpeg_fuzzer_src", |
| ":pdf_css_fuzzer_src", |
| ":pdf_fm2js_fuzzer_src", |
| ":pdf_formcalc_fuzzer_src", |
| ] |
| if (pdf_enable_xfa_bmp) { |
| deps += [ ":pdf_codec_bmp_fuzzer_src" ] |
| } |
| if (pdf_enable_xfa_gif) { |
| deps += [ |
| ":pdf_codec_gif_fuzzer_src", |
| ":pdf_lzw_fuzzer_src", |
| ] |
| } |
| if (pdf_enable_xfa_png) { |
| deps += [ ":pdf_codec_png_fuzzer_src" ] |
| } |
| if (pdf_enable_xfa_tiff) { |
| deps += [ ":pdf_codec_tiff_fuzzer_src" ] |
| } |
| } |
| } |
| |
| template("pdfium_fuzzer") { |
| source_set(target_name) { |
| sources = invoker.sources + [ "pdf_fuzzer_init.cc" ] |
| deps = [ |
| "../..:pdfium", |
| ] |
| if (defined(invoker.deps)) { |
| deps += invoker.deps |
| } |
| testonly = true |
| configs -= [ "//build/config/compiler:chromium_code" ] |
| configs += [ |
| "//build/config/compiler:no_chromium_code", |
| ":fuzzer_config", |
| ] |
| } |
| } |
| |
| if (pdf_enable_xfa) { |
| pdfium_fuzzer("pdf_bidi_fuzzer_src") { |
| sources = [ |
| "pdf_bidi_fuzzer.cc", |
| ] |
| } |
| |
| pdfium_fuzzer("pdf_cfx_barcode_fuzzer_src") { |
| sources = [ |
| "pdf_cfx_barcode_fuzzer.cc", |
| ] |
| } |
| |
| if (pdf_enable_xfa_bmp) { |
| pdfium_fuzzer("pdf_codec_bmp_fuzzer_src") { |
| sources = [ |
| "pdf_codec_bmp_fuzzer.cc", |
| "xfa_codec_fuzzer.h", |
| ] |
| deps = [ |
| "../../:test_support", |
| ] |
| } |
| } |
| |
| if (pdf_enable_xfa_gif) { |
| pdfium_fuzzer("pdf_codec_gif_fuzzer_src") { |
| sources = [ |
| "pdf_codec_gif_fuzzer.cc", |
| "xfa_codec_fuzzer.h", |
| ] |
| deps = [ |
| "../../:test_support", |
| ] |
| } |
| |
| pdfium_fuzzer("pdf_lzw_fuzzer_src") { |
| sources = [ |
| "pdf_lzw_fuzzer.cc", |
| ] |
| } |
| } |
| |
| pdfium_fuzzer("pdf_codec_jpeg_fuzzer_src") { |
| sources = [ |
| "pdf_codec_jpeg_fuzzer.cc", |
| "xfa_codec_fuzzer.h", |
| ] |
| deps = [ |
| "../../:test_support", |
| ] |
| } |
| |
| if (pdf_enable_xfa_png) { |
| pdfium_fuzzer("pdf_codec_png_fuzzer_src") { |
| sources = [ |
| "pdf_codec_png_fuzzer.cc", |
| "xfa_codec_fuzzer.h", |
| ] |
| deps = [ |
| "../../:test_support", |
| ] |
| } |
| } |
| |
| if (pdf_enable_xfa_tiff) { |
| pdfium_fuzzer("pdf_codec_tiff_fuzzer_src") { |
| sources = [ |
| "pdf_codec_tiff_fuzzer.cc", |
| "xfa_codec_fuzzer.h", |
| ] |
| deps = [ |
| "../../:test_support", |
| ] |
| } |
| } |
| |
| pdfium_fuzzer("pdf_css_fuzzer_src") { |
| sources = [ |
| "pdf_css_fuzzer.cc", |
| ] |
| } |
| |
| pdfium_fuzzer("pdf_fm2js_fuzzer_src") { |
| sources = [ |
| "pdf_fm2js_fuzzer.cc", |
| ] |
| } |
| |
| pdfium_fuzzer("pdf_formcalc_fuzzer_src") { |
| sources = [ |
| "pdf_formcalc_fuzzer.cc", |
| ] |
| } |
| } |
| |
| pdfium_fuzzer("pdf_cmap_fuzzer_src") { |
| sources = [ |
| "pdf_cmap_fuzzer.cc", |
| ] |
| } |
| |
| pdfium_fuzzer("pdf_codec_a85_fuzzer_src") { |
| sources = [ |
| "pdf_codec_a85_fuzzer.cc", |
| ] |
| } |
| |
| pdfium_fuzzer("pdf_codec_fax_fuzzer_src") { |
| sources = [ |
| "pdf_codec_fax_fuzzer.cc", |
| ] |
| } |
| |
| pdfium_fuzzer("pdf_codec_icc_fuzzer_src") { |
| deps = [ |
| "../../third_party/:lcms2", |
| ] |
| sources = [ |
| "pdf_codec_icc_fuzzer.cc", |
| ] |
| } |
| |
| pdfium_fuzzer("pdf_codec_jbig2_fuzzer_src") { |
| sources = [ |
| "pdf_codec_jbig2_fuzzer.cc", |
| ] |
| } |
| |
| pdfium_fuzzer("pdf_codec_rle_fuzzer_src") { |
| sources = [ |
| "pdf_codec_rle_fuzzer.cc", |
| ] |
| } |
| |
| pdfium_fuzzer("pdf_font_fuzzer_src") { |
| sources = [ |
| "pdf_font_fuzzer.cc", |
| ] |
| } |
| |
| pdfium_fuzzer("pdf_hint_table_fuzzer_src") { |
| sources = [ |
| "pdf_hint_table_fuzzer.cc", |
| ] |
| } |
| |
| pdfium_fuzzer("pdf_jpx_fuzzer_src") { |
| sources = [ |
| "pdf_jpx_fuzzer.cc", |
| ] |
| } |
| |
| pdfium_fuzzer("pdf_psengine_fuzzer_src") { |
| sources = [ |
| "pdf_psengine_fuzzer.cc", |
| ] |
| } |
| |
| pdfium_fuzzer("pdf_streamparser_fuzzer_src") { |
| sources = [ |
| "pdf_streamparser_fuzzer.cc", |
| ] |
| } |
| |
| pdfium_fuzzer("pdf_xml_fuzzer_src") { |
| sources = [ |
| "pdf_xml_fuzzer.cc", |
| ] |
| } |