Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / libaddressinput / BUILD.gn
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.
4
5 import("//tools/grit/grit_rule.gni")
6
7 libaddressinput_util_files = [
8   "src/cpp/src/address_data.cc",
9   "src/cpp/src/address_field.cc",
10   "src/cpp/src/address_field_util.cc",
11   "src/cpp/src/address_formatter.cc",
12   "src/cpp/src/address_metadata.cc",
13   "src/cpp/src/address_ui.cc",
14   "src/cpp/src/format_element.cc",
15   "src/cpp/src/language.cc",
16   "src/cpp/src/localization.cc",
17   "src/cpp/src/lookup_key.cc",
18   "src/cpp/src/region_data_constants.cc",
19   "src/cpp/src/rule.cc",
20   "src/cpp/src/util/cctype_tolower_equal.cc",
21   "src/cpp/src/util/json.cc",
22   "src/cpp/src/util/string_split.cc",
23   "src/cpp/src/util/string_util.cc",
24 ]
25
26 # GYP version: third_party/libaddressinput/libaddressinput.gyp:libaddressinput_strings
27 grit("strings") {
28   source = "//chrome/app/address_input_strings.grd"
29   outputs = [
30     "messages.h",
31     "en_messages.cc",
32     "address_input_strings_am.pak",
33     "address_input_strings_ar.pak",
34     "address_input_strings_bg.pak",
35     "address_input_strings_bn.pak",
36     "address_input_strings_ca.pak",
37     "address_input_strings_cs.pak",
38     "address_input_strings_da.pak",
39     "address_input_strings_de.pak",
40     "address_input_strings_el.pak",
41     "address_input_strings_en-GB.pak",
42     "address_input_strings_en-US.pak",
43     "address_input_strings_es.pak",
44     "address_input_strings_es-419.pak",
45     "address_input_strings_et.pak",
46     "address_input_strings_fa.pak",
47     "address_input_strings_fake-bidi.pak",
48     "address_input_strings_fi.pak",
49     "address_input_strings_fil.pak",
50     "address_input_strings_fr.pak",
51     "address_input_strings_gu.pak",
52     "address_input_strings_he.pak",
53     "address_input_strings_hi.pak",
54     "address_input_strings_hr.pak",
55     "address_input_strings_hu.pak",
56     "address_input_strings_id.pak",
57     "address_input_strings_it.pak",
58     "address_input_strings_ja.pak",
59     "address_input_strings_kn.pak",
60     "address_input_strings_ko.pak",
61     "address_input_strings_lt.pak",
62     "address_input_strings_lv.pak",
63     "address_input_strings_ml.pak",
64     "address_input_strings_mr.pak",
65     "address_input_strings_ms.pak",
66     "address_input_strings_nl.pak",
67     "address_input_strings_nb.pak",
68     "address_input_strings_pl.pak",
69     "address_input_strings_pt-BR.pak",
70     "address_input_strings_pt-PT.pak",
71     "address_input_strings_ro.pak",
72     "address_input_strings_ru.pak",
73     "address_input_strings_sk.pak",
74     "address_input_strings_sl.pak",
75     "address_input_strings_sr.pak",
76     "address_input_strings_sv.pak",
77     "address_input_strings_sw.pak",
78     "address_input_strings_ta.pak",
79     "address_input_strings_te.pak",
80     "address_input_strings_th.pak",
81     "address_input_strings_tr.pak",
82     "address_input_strings_uk.pak",
83     "address_input_strings_vi.pak",
84     "address_input_strings_zh-CN.pak",
85     "address_input_strings_zh-TW.pak",
86   ]
87 }
88
89 config("libaddressinput_config") {
90   defines = [
91     "I18N_ADDRESSINPUT_USE_BASICTYPES_OVERRIDE=1",
92     "I18N_ADDRESS_VALIDATION_DATA_URL=\"https://i18napis.appspot.com/ssl-aggregate-address/\"",
93   ]
94   include_dirs = [
95     "src/cpp/include",
96     "chromium/override",
97   ]
98 }
99
100 # This target provides basic functionality which is cooked into the build.
101 # GYP version: third_party/libaddressinput/libaddressinput.gyp:libaddressinput_util
102 static_library("util") {
103   sources = libaddressinput_util_files
104   sources += [
105     "chromium/addressinput_util.cc",
106     "chromium/json.cc",
107   ]
108   sources -= [
109     "src/cpp/src/util/json.cc",
110   ]
111
112   configs -= [ "//build/config/compiler:chromium_code" ]
113   configs += [ "//build/config/compiler:no_chromium_code" ]
114
115   public_configs = [ ":libaddressinput_config" ]
116
117   include_dirs = [ "$root_gen_dir/third_party/libaddressinput" ]
118
119   deps = [
120     ":strings",
121     "//base",
122     "//base:i18n",
123     "//third_party/icu",
124     "//third_party/re2",
125   ]
126 }
127
128 if (is_android) {
129   import("//build/config/android/rules.gni")
130
131   # GYP: //third_party/libaddressinput/libaddressinput.gyp:libaddressinput_android_strings_grd
132   java_strings_grd("libaddressinput_android_strings_grd") {
133     grd_file = "//chrome/app/address_input_strings_android.grd"
134     outputs = [
135       "values-am/address_input_strings.xml",
136       "values-ar/address_input_strings.xml",
137       "values-bg/address_input_strings.xml",
138       "values-ca/address_input_strings.xml",
139       "values-cs/address_input_strings.xml",
140       "values-da/address_input_strings.xml",
141       "values-de/address_input_strings.xml",
142       "values-el/address_input_strings.xml",
143       "values-en-rGB/address_input_strings.xml",
144       "values-es-rUS/address_input_strings.xml",
145       "values-es/address_input_strings.xml",
146       "values-fa/address_input_strings.xml",
147       "values-fi/address_input_strings.xml",
148       "values-fr/address_input_strings.xml",
149       "values-hi/address_input_strings.xml",
150       "values-hr/address_input_strings.xml",
151       "values-hu/address_input_strings.xml",
152       "values-in/address_input_strings.xml",
153       "values-it/address_input_strings.xml",
154       "values-iw/address_input_strings.xml",
155       "values-ja/address_input_strings.xml",
156       "values-ko/address_input_strings.xml",
157       "values-lt/address_input_strings.xml",
158       "values-lv/address_input_strings.xml",
159       "values-nb/address_input_strings.xml",
160       "values-nl/address_input_strings.xml",
161       "values-pl/address_input_strings.xml",
162       "values-pt-rBR/address_input_strings.xml",
163       "values-pt-rPT/address_input_strings.xml",
164       "values-ro/address_input_strings.xml",
165       "values-ru/address_input_strings.xml",
166       "values-sk/address_input_strings.xml",
167       "values-sl/address_input_strings.xml",
168       "values-sr/address_input_strings.xml",
169       "values-sv/address_input_strings.xml",
170       "values-sw/address_input_strings.xml",
171       "values-th/address_input_strings.xml",
172       "values-tl/address_input_strings.xml",
173       "values-tr/address_input_strings.xml",
174       "values-uk/address_input_strings.xml",
175       "values-vi/address_input_strings.xml",
176       "values-zh-rCN/address_input_strings.xml",
177       "values-zh-rTW/address_input_strings.xml",
178       "values/address_input_strings.xml",
179     ]
180   }
181
182   android_resources("android_addressinput_widget_resources") {
183     custom_package = "com.android.i18n.addressinput"
184     resource_dirs = [ "src/java/res" ]
185     v14_verify_only = true
186   }
187
188   # GYP: //third_party/libaddressinput/libaddressinput.gyp:android_addressinput_widget
189   android_library("android_addressinput_widget_java") {
190     DEPRECATED_java_in_dir = "src/java/src"
191     deps = [
192       ":android_addressinput_widget_resources",
193       ":libaddressinput_android_strings_grd",
194     ]
195   }
196 } else {
197   # The list of files in libaddressinput.gypi.
198   gypi_values = exec_script(
199       "//build/gypi_to_gn.py",
200       [ rebase_path("src/cpp/libaddressinput.gypi") ],
201       "scope",
202       [ "src/cpp/libaddressinput.gypi" ])
203
204
205   # This target provides more complicated functionality like pinging servers
206   # for validation rules.
207   # GYP version: third_party/libaddressinput/libaddressinput.gyp:libaddressinput
208   static_library("libaddressinput") {
209     sources = rebase_path(gypi_values.libaddressinput_files, ".", "src/cpp")
210     sources += [
211       "chromium/chrome_address_validator.cc",
212       "chromium/chrome_metadata_source.cc",
213       "chromium/chrome_storage_impl.cc",
214       "chromium/fallback_data_store.cc",
215       "chromium/input_suggester.cc",
216       "chromium/string_compare.cc",
217       "chromium/trie.cc",
218     ]
219     sources -= libaddressinput_util_files
220     sources -= [
221       "src/cpp/src/util/string_compare.cc",
222     ]
223
224     configs -= [ "//build/config/compiler:chromium_code" ]
225     configs += [ "//build/config/compiler:no_chromium_code" ]
226
227     public_configs = [ ":libaddressinput_config" ]
228
229     deps = [
230       ":strings",
231       ":util",
232       "//base",
233       "//base:i18n",
234       "//third_party/icu",
235       "//third_party/re2",
236     ]
237   }
238
239   test("libaddressinput_unittests") {
240     sources = rebase_path(
241         gypi_values.libaddressinput_test_files, ".", "src/cpp")
242     sources += [
243       "chromium/addressinput_util_unittest.cc",
244       "chromium/chrome_address_validator_unittest.cc",
245       "chromium/chrome_metadata_source_unittest.cc",
246       "chromium/chrome_storage_impl_unittest.cc",
247       "chromium/fallback_data_store_unittest.cc",
248       "chromium/storage_test_runner.cc",
249       "chromium/string_compare_unittest.cc",
250       "chromium/trie_unittest.cc",
251     ]
252
253     configs -= [ "//build/config/compiler:chromium_code" ]
254     configs += [ "//build/config/compiler:no_chromium_code" ]
255
256     defines = [
257       "TEST_DATA_DIR=\"third_party/libaddressinput/src/testdata\"",
258     ]
259
260     include_dirs = [
261       "src/cpp/src",
262     ]
263
264     deps = [
265       ":libaddressinput",
266       ":strings",
267       "//base:prefs",
268       "//base/test:run_all_unittests",
269       "//net:test_support",
270       "//testing/gtest",
271     ]
272   }
273 }