123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147 |
- # 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("hunspell_config") {
- defines = [
- "HUNSPELL_STATIC",
- "HUNSPELL_CHROME_CLIENT",
- "USE_HUNSPELL",
- ]
- }
- config("hunspell_warnings") {
- if (is_clang) {
- cflags = [ "-Wno-unused-private-field" ]
- }
- }
- static_library("hunspell") {
- sources = [
- "google/bdict.cc",
- "google/bdict.h",
- "google/bdict_reader.cc",
- "google/bdict_reader.h",
- "google/bdict_writer.cc",
- "google/bdict_writer.h",
- "src/hunspell/affentry.cxx",
- "src/hunspell/affentry.hxx",
- "src/hunspell/affixmgr.cxx",
- "src/hunspell/affixmgr.hxx",
- "src/hunspell/atypes.hxx",
- "src/hunspell/baseaffix.hxx",
- "src/hunspell/csutil.cxx",
- "src/hunspell/csutil.hxx",
- "src/hunspell/filemgr.cxx",
- "src/hunspell/filemgr.hxx",
- "src/hunspell/hashmgr.cxx",
- "src/hunspell/hashmgr.hxx",
- "src/hunspell/htypes.hxx",
- "src/hunspell/hunspell.cxx",
- "src/hunspell/hunspell.h",
- "src/hunspell/hunspell.hxx",
- "src/hunspell/hunzip.cxx",
- "src/hunspell/hunzip.hxx",
- "src/hunspell/langnum.hxx",
- "src/hunspell/phonet.cxx",
- "src/hunspell/phonet.hxx",
- "src/hunspell/replist.cxx",
- "src/hunspell/replist.hxx",
- "src/hunspell/suggestmgr.cxx",
- "src/hunspell/suggestmgr.hxx",
- "src/hunspell/w_char.hxx",
- "src/parsers/textparser.cxx",
- "src/parsers/textparser.hxx",
- ]
- configs -= [ "//build/config/compiler:chromium_code" ]
- configs += [
- "//build/config/compiler:no_chromium_code",
- # Must be after no_chromium_code for warning flags to be ordered correctly.
- ":hunspell_warnings",
- ]
- public_configs = [ ":hunspell_config" ]
- defines = [ "OPENOFFICEORG" ]
- deps = [
- "//base",
- "//third_party/icu",
- ]
- cflags = []
- if (is_win) {
- cflags += [
- # TODO(jschuh): http://crbug.com/167187 size_t -> int
- "/wd4267",
- ]
- }
- if (is_posix && !is_mac && !is_clang) {
- cflags += [
- "-Wno-unused-value",
- "-Wno-unused-variable",
- "-Wno-write-strings",
- ]
- }
- if (is_posix && !is_apple && !is_clang) {
- cflags += [
- # affentry.hxx has NULL as default parameter for a FLAG in two
- # places.
- "-Wno-conversion-null",
- ]
- }
- if (is_clang) {
- cflags += [
- # affentry.cxx has one `while ((p = nextchar(p)));` parsing loop.
- "-Wno-empty-body",
- # affentry.hxx has NULL as default parameter for a FLAG in two
- # places.
- "-Wno-null-conversion",
- ]
- }
- }
- fuzzer_test("hunspell_spell_fuzzer") {
- sources = [
- "fuzz/hunspell_fuzzer_hunspell_dictionary.h",
- "fuzz/hunspell_spell_fuzzer.cc",
- ]
- deps = [
- ":hunspell",
- "//base:base",
- ]
- # This is a dictionary for the fuzzer, not a spellcheck dictionary.
- dict = "fuzz/hunspell.dict"
- }
- fuzzer_test("hunspell_suggest_fuzzer") {
- sources = [
- "fuzz/hunspell_fuzzer_hunspell_dictionary.h",
- "fuzz/hunspell_suggest_fuzzer.cc",
- ]
- deps = [
- ":hunspell",
- "//base:base",
- ]
- # This is a dictionary for the fuzzer, not a spellcheck dictionary.
- dict = "fuzz/hunspell.dict"
- }
- fuzzer_test("bdict_fuzzer") {
- sources = [ "fuzz/bdict_fuzzer.cc" ]
- deps = [
- ":hunspell",
- "//base:base",
- ]
- seed_corpus = "fuzz/bdict_corpus"
- }
|