mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 14:26:09 +03:00
136 lines
3.0 KiB
Plaintext
136 lines
3.0 KiB
Plaintext
|
# 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_mac && !is_ios && !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_fuzzer") {
|
||
|
sources = [
|
||
|
"fuzz/hunspell_fuzzer.cc",
|
||
|
"fuzz/hunspell_fuzzer_hunspell_dictionary.h",
|
||
|
]
|
||
|
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"
|
||
|
}
|