# 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",
  ]

  configs -= [ "//build/config/compiler:chromium_code" ]
  configs += [ "//build/config/compiler:no_chromium_code" ]
}

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"
}
