# 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("//testing/libfuzzer/fuzzer_test.gni") config("ots_config") { include_dirs = [ "include" ] } static_library("ots") { sources = [ "include/opentype-sanitiser.h", "include/ots-memory-stream.h", "src/cff.cc", "src/cff.h", "src/cff_type2_charstring.cc", "src/cff_type2_charstring.h", "src/cmap.cc", "src/cmap.h", "src/cvt.cc", "src/cvt.h", "src/fpgm.cc", "src/fpgm.h", "src/gasp.cc", "src/gasp.h", "src/gdef.cc", "src/gdef.h", "src/glyf.cc", "src/glyf.h", "src/gpos.cc", "src/gpos.h", "src/gsub.cc", "src/gsub.h", "src/hdmx.cc", "src/hdmx.h", "src/head.cc", "src/head.h", "src/hhea.cc", "src/hhea.h", "src/hmtx.cc", "src/hmtx.h", "src/kern.cc", "src/kern.h", "src/layout.cc", "src/layout.h", "src/loca.cc", "src/loca.h", "src/ltsh.cc", "src/ltsh.h", "src/math.cc", "src/math_.h", "src/maxp.cc", "src/maxp.h", "src/metrics.cc", "src/metrics.h", "src/name.cc", "src/name.h", "src/os2.cc", "src/os2.h", "src/ots.cc", "src/ots.h", "src/post.cc", "src/post.h", "src/prep.cc", "src/prep.h", "src/vdmx.cc", "src/vdmx.h", "src/vhea.cc", "src/vhea.h", "src/vmtx.cc", "src/vmtx.h", "src/vorg.cc", "src/vorg.h", ] public_configs = [ ":ots_config" ] deps = [ "//third_party/brotli:dec", "//third_party/woff2:woff2_dec", "//third_party/zlib", ] if (is_win) { cflags = [ "/wd4267", # Conversion from size_t to 'type'. "/wd4334", # 32-bit shift implicitly converted to 64-bits. ] } } fuzzer_test("ots_fuzzer") { sources = [ "fuzz/ots_fuzzer.cc", ] deps = [ ":ots", ] libfuzzer_options = [ "max_len=16800" ] seed_corpus = "//third_party/harfbuzz-ng/fuzz/seed_corpus" }