Make moderate binding testable by command line switches
[chromium-blink-merge.git] / third_party / hunspell / BUILD.gn
blob80a27c80d8da6b33fd1145a37f08d04fb3becc78
1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 config("hunspell_config") {
6   defines = [
7     "HUNSPELL_STATIC",
8     "HUNSPELL_CHROME_CLIENT",
9     "USE_HUNSPELL",
10   ]
13 source_set("hunspell") {
14   sources = [
15     "google/bdict.cc",
16     "google/bdict.h",
17     "google/bdict_reader.cc",
18     "google/bdict_reader.h",
19     "google/bdict_writer.cc",
20     "google/bdict_writer.h",
21     "src/hunspell/affentry.cxx",
22     "src/hunspell/affentry.hxx",
23     "src/hunspell/affixmgr.cxx",
24     "src/hunspell/affixmgr.hxx",
25     "src/hunspell/atypes.hxx",
26     "src/hunspell/baseaffix.hxx",
27     "src/hunspell/csutil.cxx",
28     "src/hunspell/csutil.hxx",
29     "src/hunspell/dictmgr.cxx",
30     "src/hunspell/dictmgr.hxx",
31     "src/hunspell/filemgr.cxx",
32     "src/hunspell/filemgr.hxx",
33     "src/hunspell/hashmgr.cxx",
34     "src/hunspell/hashmgr.hxx",
35     "src/hunspell/htypes.hxx",
36     "src/hunspell/hunspell.cxx",
37     "src/hunspell/hunspell.h",
38     "src/hunspell/hunspell.hxx",
39     "src/hunspell/hunzip.cxx",
40     "src/hunspell/hunzip.hxx",
41     "src/hunspell/langnum.hxx",
42     "src/hunspell/phonet.cxx",
43     "src/hunspell/phonet.hxx",
44     "src/hunspell/replist.cxx",
45     "src/hunspell/replist.hxx",
46     "src/hunspell/suggestmgr.cxx",
47     "src/hunspell/suggestmgr.hxx",
48     "src/hunspell/utf_info.hxx",
49     "src/hunspell/w_char.hxx",
50     "src/parsers/textparser.cxx",
51     "src/parsers/textparser.hxx",
52   ]
54   configs -= [ "//build/config/compiler:chromium_code" ]
55   configs += [ "//build/config/compiler:no_chromium_code" ]
56   direct_dependent_configs = [ ":hunspell_config" ]
58   defines = [ "OPENOFFICEORG" ]
60   deps = [
61     "//base",
62     "//third_party/icu",
63   ]
65   cflags = []
67   if (is_win) {
68     cflags += [
69       # TODO(jschuh): http://crbug.com/167187 size_t -> int
70       "/wd4267",
71     ]
72   }
74   if (is_posix && !is_mac) {
75     cflags += [
76       "-Wno-unused-value",
77       "-Wno-unused-variable",
78       "-Wno-write-strings",
79     ]
80   }
82   if (is_posix && !is_mac && !is_ios) {
83     cflags += [
84       # affentry.hxx has NULL as default parameter for a FLAG in two
85       # places.
86       "-Wno-conversion-null",
87     ]
88   }
90   if (is_clang) {
91     cflags += [
92       # affentry.cxx has one `while ((p = nextchar(p)));` parsing loop.
93       "-Wno-empty-body",
95       # affentry.hxx has NULL as default parameter for a FLAG in two
96       # places.
97       "-Wno-null-conversion",
98     ]
99   }