Reland "Use upstream libaddressinput in Chrome."
[chromium-blink-merge.git] / components / autofill / core / browser / BUILD.gn
blob189ad75effa8b2359de7942c7e7be46f2ba24392
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 if (is_android) {
6   import("//build/config/android/config.gni")
7   autofill_enable_sync = !is_android_webview_build
8 } else {
9   autofill_enable_sync = true
12 config("autofill_browser_config") {
13   if (autofill_enable_sync) {
14     defines = [ "AUTOFILL_ENABLE_SYNC" ]
15   }
18 # GYP version: components/autofill.gyp:autofill_regexes
19 action("regexes") {
20   visibility = "//components/autofill/*"
21   script = "//build/escape_unicode.py"
23   inputs = [
24     "autofill_regex_constants.cc.utf8",
25   ]
26   outputs = [
27     "$target_gen_dir/autofill_regex_constants.cc",
28   ]
30   args = [ "-o", rebase_path(target_gen_dir, root_build_dir) ]
31   args += rebase_path(inputs, root_build_dir)
34 # GYP version: components/autofill.gyp:autofill_core_browser
35 static_library("browser") {
36   sources = [
37     "address.cc",
38     "address.h",
39     "address_field.cc",
40     "address_field.h",
41     "address_i18n.cc",
42     "address_i18n.h",
43     "autocomplete_history_manager.cc",
44     "autocomplete_history_manager.h",
45     "autofill-inl.h",
46     "autofill_country.cc",
47     "autofill_country.h",
48     "autofill_data_model.cc",
49     "autofill_data_model.h",
50     "autofill_download.cc",
51     "autofill_download.h",
52     "autofill_driver.h",
53     "autofill_external_delegate.cc",
54     "autofill_external_delegate.h",
55     "autofill_field.cc",
56     "autofill_field.h",
57     "autofill_ie_toolbar_import_win.cc",
58     "autofill_ie_toolbar_import_win.h",
59     "autofill_manager.cc",
60     "autofill_manager.h",
61     "autofill_client.h",
62     "autofill_manager_test_delegate.h",
63     "autofill_metrics.cc",
64     "autofill_metrics.h",
65     "autofill_popup_delegate.h",
66     "autofill_profile.cc",
67     "autofill_profile.h",
68     "autofill_regex_constants.cc.utf8",
69     "autofill_regex_constants.h",
70     "autofill_regexes.cc",
71     "autofill_regexes.h",
72     "autofill_scanner.cc",
73     "autofill_scanner.h",
74     "autofill_server_field_info.h",
75     "autofill_type.cc",
76     "autofill_type.h",
77     "autofill_xml_parser.cc",
78     "autofill_xml_parser.h",
79     "contact_info.cc",
80     "contact_info.h",
81     "credit_card.cc",
82     "credit_card.h",
83     "credit_card_field.cc",
84     "credit_card_field.h",
85     "email_field.cc",
86     "email_field.h",
87     "field_types.h",
88     "form_field.cc",
89     "form_field.h",
90     "form_group.cc",
91     "form_group.h",
92     "form_structure.cc",
93     "form_structure.h",
94     "name_field.cc",
95     "name_field.h",
96     "password_generator.cc",
97     "password_generator.h",
98     "personal_data_manager.cc",
99     "personal_data_manager.h",
100     "personal_data_manager_mac.mm",
101     "personal_data_manager_observer.h",
102     "phone_field.cc",
103     "phone_field.h",
104     "phone_number.cc",
105     "phone_number.h",
106     "phone_number_i18n.cc",
107     "phone_number_i18n.h",
108     "popup_item_ids.h",
109     "state_names.cc",
110     "state_names.h",
111     "validation.cc",
112     "validation.h",
113     "webdata/autofill_change.cc",
114     "webdata/autofill_change.h",
115     "webdata/autofill_entry.cc",
116     "webdata/autofill_entry.h",
117     "webdata/autofill_profile_syncable_service.cc",
118     "webdata/autofill_profile_syncable_service.h",
119     "webdata/autofill_table.cc",
120     "webdata/autofill_table.h",
121     "webdata/autofill_webdata.h",
122     "webdata/autofill_webdata_backend.h",
123     "webdata/autofill_webdata_backend_impl.cc",
124     "webdata/autofill_webdata_backend_impl.h",
125     "webdata/autofill_webdata_service.cc",
126     "webdata/autofill_webdata_service.h",
127     "webdata/autofill_webdata_service_observer.h",
128   ]
130   # Compile the generated regex file.
131   sources += get_target_outputs(":regexes")
133   deps = [
134     ":regexes",
135     "//base",
136     "//base:i18n",
137     "//base:prefs",
138     "//components/autofill/core/common",
139     "//components/keyed_service/core",
140     "//components/os_crypt",
141     "//components/resources",
142     "//components/strings",
143     "//components/webdata/common",
144     "//google_apis",
145     "//skia",
146     "//sql",
147     "//third_party/icu",
148     "//third_party/libaddressinput:util",
149     "//third_party/libphonenumber",
150     "//ui/base",
151     "//ui/gfx",
152     "//ui/gfx/geometry",
153     "//url",
154     #'../third_party/fips181/fips181.gyp:fips181',  TODO(GYP)
155     # TODO(GYP) also remove libjingle_stub_config below when this is added:
156     #'../third_party/libjingle/libjingle.gyp:libjingle',  TODO(GYP)
157     #'pref_registry',  TODO(GYP)
158   ]
160   configs += [ "//content:libjingle_stub_config" ]
161   direct_dependent_configs = [ ":autofill_browser_config" ]
163   if (autofill_enable_sync) {
164     deps += [ "//sync" ]
165   } else {
166     sources -= [
167       "webdata/autofill_profile_syncable_service.cc",
168       "webdata/autofill_profile_syncable_service.h",
169     ]
170   }
172   if (is_win) {
173     # TODO(jschuh): crbug.com/167187 fix size_t to int truncations.
174     cflags = [ "/wd4267" ]
175   }
178 static_library("test_support") {
179   sources = [
180     "android/test_auxiliary_profile_loader_android.cc",
181     "android/test_auxiliary_profile_loader_android.h",
182     "autofill_test_utils.cc",
183     "autofill_test_utils.h",
184     "data_driven_test.cc",
185     "data_driven_test.h",
186     "test_autofill_client.cc",
187     "test_autofill_client.h",
188     "test_autofill_driver.cc",
189     "test_autofill_driver.h",
190     "test_autofill_external_delegate.cc",
191     "test_autofill_external_delegate.h",
192     "test_personal_data_manager.cc",
193     "test_personal_data_manager.h",
194   ]
196   deps = [
197     "//components/autofill/core/browser",
198     "//components/autofill/core/common",
199     "//skia",
200     "//testing/gtest",
201   ]