GN: Specify correct prefix/postfix libs for solink on android
[chromium-blink-merge.git] / components / BUILD.gn
blobebc1e63614b5175d6bcc9374bf46a36eb54ab65c
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 # Collection of all components. You wouldn't link to this, but this is rather
6 # to reference the files so they can be compiled by the build system.
7 group("all_components") {
8   visibility = "//:*"  # Only for the root targets to bring in.
10   deps = [
11     "//components/auto_login_parser",
12     "//components/autocomplete",
13     "//components/autofill/content/browser",
14     "//components/autofill/content/common",
15     "//components/autofill/content/renderer",
16     "//components/bookmarks/browser",
17     "//components/bookmarks/common",
18     "//components/bookmarks/test",
19     "//components/breakpad/app",
20     "//components/breakpad/browser",
21     "//components/captive_portal",
22     "//components/cdm/browser",
23     "//components/cdm/common",
24     "//components/cdm/renderer",
25     "//components/cloud_devices/common",
26     "//components/component_updater",
27     "//components/data_reduction_proxy/browser",
28     "//components/data_reduction_proxy/common",
29     "//components/dom_distiller/core",
30     "//components/domain_reliability",
31     "//components/enhanced_bookmarks",
32     "//components/favicon/core",
33     "//components/favicon_base",
34     "//components/feedback",
35     "//components/gcm_driver",
36     "//components/google/core/browser",
37     "//components/history/core/browser",
38     "//components/history/core/common",
39     "//components/history/core/test",
40     "//components/infobars/core",
41     "//components/infobars/test:test_support",
42     "//components/invalidation",
43     "//components/json_schema",
44     "//components/keyed_service/content",
45     "//components/language_usage_metrics",
46     "//components/leveldb_proto",
47     "//components/metrics",
48     "//components/navigation_interception",
49     "//components/navigation_metrics",
50     "//components/network_time",
51     "//components/omaha_query_params",
52     "//components/onc",
53     "//components/os_crypt",
54     "//components/pairing",
55     "//components/password_manager/content/browser",
56     "//components/password_manager/core/browser",
57     "//components/password_manager/core/common",
58     "//components/plugins/renderer",
59     "//components/policy",
60     "//components/precache/core",
61     "//components/precache/content",
62     "//components/pref_registry",
63     "//components/query_parser",
64     "//components/rappor",
65     "//components/resources:components_resources",
66     "//components/search",
67     "//components/search_engines",
68     "//components/search_provider_logos",
69     "//components/sessions",
70     "//components/signin/core/browser",
71     "//components/startup_metric_utils",
72     "//components/strings",
73     "//components/sync_driver",
74     "//components/tracing",
75     "//components/translate/content/browser",
76     "//components/translate/content/common",
77     "//components/translate/content/renderer",
78     "//components/translate/core/browser",
79     "//components/translate/core/common",
80     "//components/url_fixer",
81     "//components/url_matcher",
82     "//components/usb_service",
83     "//components/user_manager",
84     "//components/user_prefs",
85     "//components/variations",
86     "//components/visitedlink/browser",
87     "//components/visitedlink/common",
88     "//components/visitedlink/renderer",
89     "//components/web_modal",
90     "//components/webdata/common",
91     "//components/wifi",
92   ]
94   if (!is_win && !is_mac) {
95     deps -= [ "//components/wifi" ]
96   }
97   if (!is_chromeos) {
98     deps -= [ "//components/pairing" ]
99   }
101   if (is_ios) {
102     deps -= [ "//components/keyed_service/content" ]
103   }
105   if (is_android) {
106     deps -= [
107       "//components/autocomplete",  # Should work, needs checking.
108       "//components/autofill/content/browser",  # Blocked on content/blink.
109       "//components/autofill/content/common",  # Blocked on content.
110       "//components/autofill/content/renderer",  # Blocked on content/blink.
111       "//components/breakpad/app",  # Should work, needs checking.
112       "//components/breakpad/browser",  # Should work, needs checking.
113       "//components/captive_portal",  # Should work, needs checking.
114       "//components/cloud_devices/common",  # Should work, needs checking.
115       "//components/cdm/browser",  # Blocked on content.
116       "//components/cdm/common",  # Blocked on content.
117       "//components/cdm/renderer",  # Blocked on content.
118       "//components/data_reduction_proxy/browser",  # Should work, needs checking.
119       "//components/data_reduction_proxy/common",  # Should work, needs checking.
120       "//components/dom_distiller/core",  # Blocked on content.
121       "//components/domain_reliability",  # Blocked on content.
122       "//components/favicon_base",  # Should work, needs checking.
123       "//components/favicon/core",  # Blocked on keyed service.
124       "//components/feedback",  # Blocked on content.
125       "//components/gcm_driver",  # Should work, needs checking.
126       "//components/google/core/browser",  # Should work, needs checking.
127       "//components/history/core/browser",  # Should work, needs checking.
128       "//components/history/core/common",  # Should work, needs checking.
129       "//components/history/core/test",  # Should work, needs checking.
130       "//components/infobars/core",  # Should work, needs checking.
131       "//components/infobars/test:test_support",  # Should work, needs checking.
132       "//components/invalidation",  # Should work, needs checking.
133       "//components/json_schema",  # Should work, needs checking.
134       "//components/keyed_service/content",  # Blocked on content.
135       "//components/navigation_interception",  # Blocked on content.
136       "//components/password_manager/content/browser",  # Blocked on content.
137       "//components/password_manager/core/browser",  # Should work, needs checking.
138       "//components/password_manager/core/common",  # Should work, needs checking.
139       "//components/plugins/renderer",  # Blocked on blink.
140       "//components/policy",  # Blocked on content (indirectly via autofill).
141       "//components/precache/content",  # Blocked on content.
142       "//components/precache/core",  # Should work, needs checking.
143       "//components/rappor",  # Should work, needs checking.
144       "//components/search_engines",  # Should work, needs checking.
145       "//components/search_provider_logos",  # Should work, needs checking.
146       "//components/sessions",  # Blocked on content.
147       "//components/signin/core/browser",  # Should work, needs checking.
148       "//components/translate/content/browser",  # Blocked on content.
149       "//components/translate/content/common",  # Blocked on content.
150       "//components/translate/content/renderer",  # Blocked on content.
151       "//components/usb_service",  # Blocked on content.
152       "//components/user_prefs",  # Blocked on content.
153       "//components/visitedlink/browser",  # Blocked on content.
154       "//components/visitedlink/common",  # Blocked on content.
155       "//components/visitedlink/renderer",  # Blocked on blink
156       "//components/web_modal",  # Blocked on content.
157     ]
158   }
160   if (!is_ios && !is_android) {
161     deps += [
162       "//components/storage_monitor",
163     ]
164   }
167 # TODO(GYP) enable when it links.
168 if (false) {
170 # To add a unit test to this target, make a "unit_test" source_set in your
171 # component (it's important to use a source_set instead of a static library or
172 # no tests will run) and add a reference here. You can add more than one unit
173 # test target if convenient.
174 test("components_unittests") {
175   sources = [
176     "test/run_all_unittests.cc",
177   ]
179   # Add only ":unit_tests" dependencies here. If your tests have dependencies
180   # (this would at least include the component itself), they should be on the
181   # test source set and not here.
182   deps = [
183     "//components/auto_login_parser:unit_tests",
184     "//components/autocomplete:unit_tests",
185     "//components/autofill/content/browser:unit_tests",
186     "//components/autofill/core/browser:unit_tests",
187     "//components/autofill/core/common:unit_tests",
188     "//components/bookmarks/browser:unit_tests",
189     "//components/captive_portal:unit_tests",
190     "//components/cloud_devices/common:unit_tests",
191     "//components/data_reduction_proxy/browser:unit_tests",
192     "//components/data_reduction_proxy/common:unit_tests",
193     "//components/dom_distiller/core:unit_tests",
194     "//components/domain_reliability:unit_tests",
195   ]
197   # TODO(GYP) need this target.
198   #'breakpad/app/crash_keys_win_unittest.cc',
200   # Precache tests need these defines.
201   #configs += [ "//components/precache/core:precache_config" ]