blob: 0a9d56c4cb4ab216fc90be4b1fada3734355fdf0 [file] [log] [blame]
[email protected]f0e7ff882013-12-26 21:23:091# Copyright (c) 2013 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# This is the root build file for GN. GN will start processing by loading this
6# file, and recursively load all dependencies until all dependencies are either
7# resolved or known not to exist (which will cause the build to fail). So if
8# you add a new build file, there must be some path of dependencies from this
9# file to your new one or GN won't know about it.
10
dprankead249c72016-06-11 18:01:2211import("//build/config/compiler/compiler.gni")
rockot2f1326e2015-02-23 23:53:5112import("//build/config/features.gni")
aizatskyfc46a9f2015-10-09 21:20:0813import("//build/config/sanitizers/sanitizers.gni")
[email protected]378b4f02014-06-10 15:58:4514import("//build/config/ui.gni")
Dirk Prankeccc0c362017-09-28 22:15:1115import("//components/nacl/features.gni")
Christopher Grant193648b2017-06-07 15:08:3616import("//device/vr/features/features.gni")
brettw00899e62016-11-12 02:10:1717import("//extensions/features/features.gni")
mostynb2196a462015-08-20 17:22:1018import("//media/media_options.gni")
Alexandre Courbot8ad2427d2017-08-25 14:04:5519import("//media/gpu/args.gni")
brettw2b112cd2016-10-12 19:35:3620import("//remoting/remoting_enable.gni")
hbos17a7b4a22015-12-07 10:49:4521import("//third_party/openh264/openh264_args.gni")
thakis3f7d4fc2016-06-10 18:47:5022import("//tools/ipc_fuzzer/ipc_fuzzer.gni")
Peter Beverloo69948322017-07-28 19:01:5723import("//ui/base/ui_features.gni")
kylechar50abf5a2016-11-29 16:03:0724import("//ui/ozone/ozone.gni")
machenbachd65ec5c2016-07-22 09:05:2325import("//v8/gni/v8.gni")
dpranke8a2de902016-07-14 20:08:3726import("//v8/snapshot_toolchain.gni")
dprankee2ef3822015-02-24 21:42:1827
cjhopmanca675d3e2014-10-24 03:50:4528if (is_android) {
29 import("//build/config/android/config.gni")
30}
[email protected]378b4f02014-06-10 15:58:4531
brettwb84b29472014-10-22 22:58:4532declare_args() {
33 # A list of extra dependencies to add to the root target. This allows a
34 # checkout to add additional targets without explicitly changing any checked-
35 # in files.
36 root_extra_deps = []
37}
38
brucedawsonc8d6d652016-09-02 19:43:1839if (is_official_build) {
40 # An official (maximally optimized!) component (optimized for build times)
41 # build doesn't make sense and usually doesn't work.
42 assert(!is_component_build)
43}
44
thakis75b3b452017-04-25 22:27:3745# This file defines the following three main targets:
dpranked62d8512015-03-02 03:06:0346#
dprankeddc174902015-04-29 01:38:3547# "gn_all" should (transitively) cause everything to be built; if you run
48# 'ninja gn_all' and then 'ninja all', the second build should do no work.
49#
dprankeb6128d02015-05-01 16:40:3050# "gn_visibility": targets that are normally not visible to top-level targets,
dprankeef9c5e582015-11-15 23:22:0851# but are built anyway by "all". Since we don't want any such targets, we have
52# this placeholder to make sure hidden targets that aren't otherwise depended
53# on yet are accounted for.
54#
55# "All" is an alias for "gn_all". It exists for bot compatibility w/ GYP for
56# the iOS bots and the official builders, but should not be generally used
57# during the GYP->GN migration. We cannot guarantee that GN's "All" builds the
58# same set of targets as GYP's "All" does, because GYP's "All" supports
59# wildcards.
60#
61# Lastly, none of these targets are guaranteed to be the same as what ninja
thakis75b3b452017-04-25 22:27:3762# will build with "all". For more on how "all" works and how GN determines
63# "all", see crbug.com/503241.
dprankeb6128d02015-05-01 16:40:3064#
brettwf9427f92016-05-05 23:18:5565# TODO(GYP_GONE): crbug.com/481694. Make sure that the above is true and there
66# are scripts run on the bots that enforce this. Once the GYP migration is
67# over, we can collapse all of these targets as desired.
dprankeff30e3d2015-02-24 06:52:3968
dprankee2ef3822015-02-24 21:42:1869group("gn_all") {
70 testonly = true
71
72 deps = [
dprankeb6128d02015-05-01 16:40:3073 ":gn_visibility",
Robert Liao38b1b4f2017-09-06 20:32:2474 "//base:base_perftests",
dprankee2ef3822015-02-24 21:42:1875 "//base:base_unittests",
brettwa874dcc2015-08-28 23:59:1876 "//chrome/installer",
sheroukce1c7d72015-08-24 15:21:5977 "//net:net_unittests",
Sergey Ulanovdd606ed2017-07-13 00:44:2478 "//skia:skia_unittests",
brettwa874dcc2015-08-28 23:59:1879 "//sql:sql_unittests",
ochangcc11d0e2016-04-26 19:58:2680 "//tools/ipc_fuzzer:ipc_fuzzer_all",
Sergey Ulanovfbd2fea2017-07-14 01:01:3881 "//ui/base:ui_base_unittests",
sherouk4fb74d42015-08-24 15:58:4182 "//url:url_unittests",
dprankee2ef3822015-02-24 21:42:1883 ]
dpranke2a294622015-08-07 05:23:0184
sdefresne21832bf92016-03-30 22:01:0285 if (!is_android && !is_chromecast) {
86 deps += [
87 "//crypto:crypto_unittests",
88 "//google_apis/gcm:gcm_unit_tests",
89 ]
90 }
91
scottmg2f97ee122017-05-12 17:50:3792 if (!is_fuchsia) {
93 deps += [
94 "//components:components_unittests",
Colin Blundell055484e2017-06-15 12:47:5995 "//services:services_unittests",
96 "//services/service_manager/public/cpp",
scottmg2f97ee122017-05-12 17:50:3797 "//tools/metrics:metrics_metadata",
scottmg2f97ee122017-05-12 17:50:3798 "//ui/gfx:gfx_unittests",
99 ]
100 }
101
102 if (!is_ios && !is_android && !is_chromecast && !is_fuchsia) {
sherouk53f0f1a2015-08-03 15:59:35103 deps += [
sherouk53f0f1a2015-08-03 15:59:35104 "//chrome",
etiennepaef136b2017-06-20 22:36:10105 "//chrome/installer/zucchini:zucchini",
106 "//chrome/installer/zucchini:zucchini_unittests",
sherouk53f0f1a2015-08-03 15:59:35107 "//chrome/test:browser_tests",
108 "//chrome/test:interactive_ui_tests",
109 "//chrome/test:sync_integration_tests",
sherouk53f0f1a2015-08-03 15:59:35110 "//chrome/test/chromedriver:chromedriver_unittests",
Max Boguefef332d2016-07-28 22:09:09111 "//components/sync/tools:sync_client",
112 "//components/sync/tools:sync_listen_notifications",
dprankedbdd9d82015-08-12 21:18:18113 "//gpu/gles2_conform_support:gles2_conform_test",
stevenjb604316362016-05-06 22:10:26114 "//gpu/khronos_glcts_support:khronos_glcts_test",
sherouk53f0f1a2015-08-03 15:59:35115 "//jingle:jingle_unittests",
sherouk53f0f1a2015-08-03 15:59:35116 "//net:hpack_example_generator",
sherouk53f0f1a2015-08-03 15:59:35117 "//ppapi:ppapi_unittests",
118 "//ppapi/examples/2d",
119 "//ppapi/examples/audio",
120 "//ppapi/examples/audio_input",
121 "//ppapi/examples/compositor",
122 "//ppapi/examples/crxfs",
123 "//ppapi/examples/enumerate_devices",
124 "//ppapi/examples/file_chooser",
125 "//ppapi/examples/flash_topmost",
126 "//ppapi/examples/font",
127 "//ppapi/examples/gamepad",
128 "//ppapi/examples/gles2",
129 "//ppapi/examples/gles2_spinning_cube",
130 "//ppapi/examples/ime",
131 "//ppapi/examples/input",
132 "//ppapi/examples/media_stream_audio",
133 "//ppapi/examples/media_stream_video",
134 "//ppapi/examples/mouse_cursor",
135 "//ppapi/examples/mouse_lock",
136 "//ppapi/examples/printing",
137 "//ppapi/examples/scaling",
138 "//ppapi/examples/scripting",
139 "//ppapi/examples/stub",
140 "//ppapi/examples/threading",
141 "//ppapi/examples/url_loader",
142 "//ppapi/examples/video_capture",
143 "//ppapi/examples/video_decode",
144 "//ppapi/examples/video_effects",
145 "//ppapi/examples/video_encode",
146 "//printing:printing_unittests",
sherouk53f0f1a2015-08-03 15:59:35147 "//third_party/cacheinvalidation:cacheinvalidation_unittests",
pkotwicz558d5252015-10-19 21:09:55148 "//third_party/pdfium/samples:pdfium_test",
Edward Lemur1f4d4f32017-07-04 19:18:23149 "//third_party/webrtc/rtc_tools:frame_analyzer",
charliea00055282016-01-26 00:15:15150 "//tools/battor_agent",
charliea5daef2bb2016-01-29 00:13:25151 "//tools/battor_agent:battor_agent_unittests",
pkotwicz558d5252015-10-19 21:09:55152 "//tools/perf/clear_system_cache",
rhalavati3051a402017-04-21 07:12:41153 "//tools/traffic_annotation/auditor:traffic_annotation_auditor",
Ramin Halavatide8f7f72017-07-10 10:31:38154 "//tools/traffic_annotation/auditor:traffic_annotation_auditor_unittests",
pkotwicz558d5252015-10-19 21:09:55155 "//ui/accessibility:accessibility_unittests",
wnwen2c84eb652017-03-20 23:21:27156 "//ui/accessibility/extensions",
pkotwicz558d5252015-10-19 21:09:55157 ]
158 }
159
Sergey Ulanovfbd2fea2017-07-14 01:01:38160 if (!is_ios) {
161 deps += [
Wez57c96392017-12-05 22:19:05162 "//cc:cc_unittests",
163 "//components/policy:policy_templates",
164 "//content/shell:content_shell",
165 "//content/test:content_browsertests",
166 "//content/test:content_perftests",
167 "//content/test:content_unittests",
168 "//gpu:gpu_unittests",
169 "//gpu/ipc/service:gpu_ipc_service_unittests",
170 "//ipc:ipc_tests",
Sergey Ulanov135ba082017-07-18 19:39:22171 "//media:media_unittests",
Wez57c96392017-12-05 22:19:05172 "//media/midi:midi_unittests",
173 "//media/mojo:media_mojo_unittests",
Sergey Ulanovfbd2fea2017-07-14 01:01:38174 "//mojo",
175 "//mojo/common:mojo_common_unittests",
176 "//mojo/edk/system:mojo_system_unittests",
177 "//mojo/edk/test:mojo_public_bindings_unittests",
178 "//mojo/edk/test:mojo_public_system_unittests",
Wez57c96392017-12-05 22:19:05179 "//net:net_perftests",
180 "//third_party/WebKit/Source/controller:webkit_unit_tests",
181 "//third_party/WebKit/Source/platform/wtf:wtf_unittests",
Sergey Ulanovfbd2fea2017-07-14 01:01:38182 "//ui/gl:gl_unittests",
Wez57c96392017-12-05 22:19:05183 "//url/ipc:url_ipc_unittests",
Sergey Ulanovfbd2fea2017-07-14 01:01:38184 ]
185 }
186
James Robinsonbe8980d42017-09-25 22:00:30187 if (!is_ios && !is_android && !is_chromecast) {
188 deps += [
189 "//tools/gn",
190 "//tools/gn:gn_unittests",
191 ]
192 }
193
scottmg2f97ee122017-05-12 17:50:37194 if (!is_ios && !is_fuchsia) {
pkotwicz558d5252015-10-19 21:09:55195 deps += [
stipc6de0f492016-06-01 20:05:03196 "//chrome/test:telemetry_perf_unittests",
pkotwicz558d5252015-10-19 21:09:55197 "//chrome/test:unit_tests",
198 "//components:components_browsertests",
danakjc391f332017-07-12 20:45:52199 "//components/viz:viz_perftests",
kylechara16d2572017-07-10 17:41:32200 "//components/viz:viz_unittests",
danakj8d87b632017-06-27 20:34:35201 "//components/viz/common:viz_benchmark",
pkotwicz558d5252015-10-19 21:09:55202 "//device:device_unittests",
varkha5aa18a02017-05-31 22:39:50203 "//google_apis/gcm:mcs_probe",
mcasasd2f53ea2016-06-24 19:24:27204 "//media/capture:capture_unittests",
miu45b848fe2015-11-26 01:23:29205 "//media/cast:cast_unittests",
pwnall9f1622a2017-04-21 09:39:02206 "//storage:storage_unittests",
Dirk Pranke49802732015-12-10 01:36:41207 "//third_party/WebKit/Source/platform:blink_platform_unittests",
brettw4a6700a2016-09-01 01:24:01208 "//third_party/WebKit/Source/platform/heap:blink_heap_unittests",
brettwc5fcdd02016-10-12 07:25:12209 "//third_party/angle/src/tests:angle_end2end_tests",
210 "//third_party/angle/src/tests:angle_unittests",
ynovikov55e66c22017-02-16 15:45:37211 "//third_party/angle/src/tests:angle_white_box_tests",
nednguyenc42bf912016-01-27 01:39:28212 "//third_party/catapult/telemetry:bitmaptools($host_toolchain)",
sherouk53f0f1a2015-08-03 15:59:35213 "//third_party/smhasher:pmurhash",
214 "//tools/imagediff($host_toolchain)",
sherouk53f0f1a2015-08-03 15:59:35215 "//ui/display:display_unittests",
216 "//ui/events:events_unittests",
mfomitchev3ba450ad2017-04-03 18:20:40217 "//ui/latency:latency_unittests",
sherouk53f0f1a2015-08-03 15:59:35218 "//ui/touch_selection:ui_touch_selection_unittests",
tfarina79acccf2017-05-10 13:04:16219 "//v8:gn_all",
sherouk53f0f1a2015-08-03 15:59:35220 ]
scottmg2f97ee122017-05-12 17:50:37221 } else if (is_ios) {
sdefresne88abe362016-06-01 10:40:11222 deps += [ "//ios:all" ]
Scott Graham677e79102017-08-15 20:07:37223 } else if (is_fuchsia) {
224 deps += [ ":d8_fuchsia" ]
sherouk53f0f1a2015-08-03 15:59:35225 }
dprankee2ef3822015-02-24 21:42:18226
scottmg34fb7e52014-12-03 23:27:24227 deps += root_extra_deps
[email protected]fce5c3fe2014-04-10 21:13:05228
tfarina4aa9edc2015-10-26 22:14:02229 if (enable_extensions) {
thestig344fe3f2017-06-08 23:42:13230 deps += [
231 "//extensions:extensions_browsertests",
232 "//extensions:extensions_unittests",
233 "//extensions/shell:app_shell_unittests",
234 ]
rockot2f1326e2015-02-23 23:53:51235 }
236
garykac3eddb5b2015-04-17 23:16:38237 if (enable_remoting) {
238 deps += [ "//remoting:remoting_all" ]
dprankece5eb832015-04-01 20:21:05239 }
240
dprankee2ef3822015-02-24 21:42:18241 if (toolkit_views) {
ellyjones41c21fe2016-06-09 17:10:19242 deps += [
243 "//ui/views:views_unittests",
244 "//ui/views/examples:views_examples_exe",
245 "//ui/views/examples:views_examples_with_content_exe",
246 ]
James Robinson060f2e32014-09-10 22:31:37247 }
248
jamescook4c02a0b2016-12-02 23:14:42249 if (use_aura) {
250 deps += [
mswda0133e62016-02-16 20:50:02251 "//ui/aura:aura_unittests",
mswda0133e62016-02-16 20:50:02252 "//ui/aura:demo",
253 "//ui/wm:wm_unittests",
254 ]
dprankee2ef3822015-02-24 21:42:18255 }
256
257 if (use_ozone) {
kylechar5c9a1fb62016-10-21 13:17:25258 deps += [
259 "//ui/ozone",
260 "//ui/ozone:ozone_unittests",
kylechar5c9a1fb62016-10-21 13:17:25261 ]
Wez57c96392017-12-05 22:19:05262
263 # TODO(crbug.com/766360): These require a working GL implementation.
264 if (!is_fuchsia) {
265 deps += [
266 "//ui/ozone/demo",
267 "//ui/ozone/gl:ozone_gl_unittests",
268 ]
269 }
Elliot Glayshera3ad4ce2017-12-08 20:37:29270
271 if (ozone_platform_x11) {
272 deps += [ "//ui/ozone:ozone_x11_unittests" ]
273 }
[email protected]a306aaa2014-05-24 13:21:50274 }
275
thomasandersonaf830f3a2016-12-07 04:52:02276 if (use_x11 || ozone_platform_x11) {
277 deps += [ "//tools/xdisplaycheck" ]
278 }
279
brettw66e3feab2015-07-20 23:52:22280 if (is_win) {
brettwf986f9572015-10-07 17:18:15281 deps += [
282 "//chrome/installer/gcapi",
283 "//chrome/tools/build/win/syzygy:chrome_dll_syzygy",
284 ]
brettw66e3feab2015-07-20 23:52:22285 }
286
thakisdc11faf52017-04-25 21:49:42287 if (is_mac) {
288 deps += [ "//chrome/installer/gcapi_mac:gcapi_example" ]
289 }
290
[email protected]5a8d5162014-04-12 01:19:16291 if (is_android) {
[email protected]26046b52014-07-16 00:11:03292 deps += [
pkotwicze2dae8b2015-11-03 20:12:55293 "//base:base_junit_tests",
Eric Stevensonc3c269a32017-08-02 21:40:06294 "//base/android/jni_generator:jni_generator_tests",
dpranke244f973d62015-11-20 05:38:10295 "//base/android/linker:chromium_android_linker",
cjhopman3d85c6d2014-11-18 03:39:38296 "//build/android/gyp/test:hello_world",
tfarina79acccf2017-05-10 13:04:16297 "//build/android/gyp/test:hello_world",
agrievea350dbdb2017-07-05 15:27:17298 "//build/android/stacktrace:java_deobfuscate",
pkotwicz2dd67962016-05-10 00:21:08299 "//chrome/android/webapk/shell_apk:webapk",
tfarina79acccf2017-05-10 13:04:16300 "//chrome/test/vr/perf:motopho_latency_test",
pkotwicze2dae8b2015-11-03 20:12:55301 "//components/invalidation/impl:components_invalidation_impl_junit_tests",
302 "//components/policy/android:components_policy_junit_tests",
303 "//content/public/android:content_junit_tests",
pkotwicz8adff4e2015-12-17 21:55:45304 "//content/shell/android:content_shell_apk",
mcasaseddfbeb2017-05-10 04:47:49305 "//device:device_junit_tests",
markdittmer6e70beb82016-05-02 05:40:47306 "//media/gpu:video_decode_accelerator_unittest",
pkotwicze2dae8b2015-11-03 20:12:55307 "//net/android:net_junit_tests",
ke.heaf8ead22017-05-13 03:54:30308 "//services:service_junit_tests",
jbudorick5ef42902016-04-07 04:17:11309 "//testing/android/junit:junit_unit_tests",
wnwen41f70b92016-06-22 14:48:56310 "//third_party/android_async_task:android_async_task_java",
John Budorick3fa43152017-06-12 19:13:20311 "//third_party/catapult/devil",
Peter Wend0cc6d62017-11-02 16:32:30312 "//third_party/errorprone:errorprone_java",
pkotwicz8adff4e2015-12-17 21:55:45313 "//third_party/smhasher:murmurhash3",
pkotwicze38594d2015-09-25 00:05:10314 "//tools/android:android_tools",
pkotwicz6b5571b2015-12-08 21:54:49315 "//tools/android:memconsumer",
mikecasef5e98302016-03-11 18:38:34316 "//tools/android:push_apps_to_background",
jbudorickdfc01f62016-06-01 15:42:12317 "//tools/android/audio_focus_grabber:audio_focus_grabber_apk",
318 "//tools/android/customtabs_benchmark:customtabs_benchmark_apk",
Peter Wend0cc6d62017-11-02 16:32:30319 "//tools/android/errorprone_plugin:errorprone_plugin_java",
dgn28050da2015-10-19 10:16:43320 "//tools/android/kerberos/SpnegoAuthenticator:spnego_authenticator_apk",
pkotwicz077093762015-12-21 16:47:15321 "//tools/cygprofile:cygprofile_unittests",
newt9e226032016-01-26 01:30:15322 "//ui/android:ui_junit_tests",
dprankee2ef3822015-02-24 21:42:18323 ]
324 deps -= [
rockot9c67e5f2015-03-12 20:01:21325 "//net:net_perftests",
dprankee2ef3822015-02-24 21:42:18326 "//url:url_unittests",
[email protected]26046b52014-07-16 00:11:03327 ]
328
pkotwicz92e2e2312015-12-15 22:29:46329 if (!is_component_build) {
330 deps += [
agrievee23386b2016-01-05 04:47:58331 "//components/cronet/android:cronet_package",
jbudorickdfc01f62016-06-01 15:42:12332 "//components/cronet/android:cronet_perf_test_apk",
pkotwicz92e2e2312015-12-15 22:29:46333 "//components/cronet/android:cronet_sample_apk",
334 "//components/cronet/android:cronet_sample_test_apk",
335 "//components/cronet/android:cronet_test_apk",
336 "//components/cronet/android:cronet_test_instrumentation_apk",
337 "//components/cronet/android:cronet_unittests",
338 ]
339 }
340
pkotwicz061c5a42015-09-30 02:16:54341 if (!is_chromecast) {
342 deps += [
michaelbaicbcc7e62015-11-12 04:29:53343 "//android_webview",
agrieveb08e2f5b2015-12-29 01:17:30344 "//android_webview/test",
mikecasecb1b5062016-07-01 20:53:44345 "//android_webview/tools/automated_ui_tests:webview_ui_test_app",
mikecase49971fc2016-03-21 21:18:05346 "//android_webview/tools/system_webview_shell",
pkotwicze2dae8b2015-11-03 20:12:55347 "//chrome/android:chrome_junit_tests",
pkotwicz061c5a42015-09-30 02:16:54348 "//chrome/android:chrome_public_apk",
smaierd50624e2016-08-05 14:21:10349 "//chrome/android:chrome_public_test_apk",
350 "//chrome/android:chrome_sync_shell_test_apk",
pkotwicz061c5a42015-09-30 02:16:54351 "//chrome/test/chromedriver/test/webview_shell:chromedriver_webview_shell_apk",
agrieve473155b42015-12-28 20:23:11352 "//content/shell/android:content_shell_test_apk",
pkotwicz0a2255e2015-10-06 16:29:05353 "//third_party/custom_tabs_client:custom_tabs_client_example_apk",
pkotwicz061c5a42015-09-30 02:16:54354 ]
355 }
356
pkotwicz06a4b4b42015-10-29 23:11:11357 if (target_cpu != "x64") {
jbudorickdfc01f62016-06-01 15:42:12358 deps += [
359 "//content/shell/android:chromium_linker_test_apk",
360 "//third_party/android_platform:android_relocation_packer_unittests($host_toolchain)",
361 ]
pkotwicz06a4b4b42015-10-29 23:11:11362 }
363
dgnd1e190d2017-03-17 13:34:49364 if (enable_chrome_android_internal) {
brettwf9427f92016-05-05 23:18:55365 deps += [ "//clank" ]
cjhopmanca675d3e2014-10-24 03:50:45366 }
dprankedb5527d72015-03-08 04:22:47367 }
368
brettwf9427f92016-05-05 23:18:55369 if (is_linux || is_android) {
dprankefd1813272015-04-13 23:56:00370 deps += [
Mark Mentovaiebb9ddd62017-09-25 17:24:41371 "//third_party/breakpad:breakpad_unittests",
372 "//third_party/breakpad:core-2-minidump",
373 "//third_party/breakpad:generate_test_dump",
374 "//third_party/breakpad:minidump-2-core",
dprankefd1813272015-04-13 23:56:00375 ]
376 }
377
dpranke6293d252015-04-14 19:12:00378 if (is_chromeos) {
379 deps += [
James Cookf8a2bf72017-10-16 18:51:39380 "//ash:ash_content_unittests",
381 "//ash:ash_shell_with_content",
382 "//ash:ash_unittests",
dpranke6293d252015-04-14 19:12:00383 "//chromeos:chromeos_unittests",
khorimoto4c539952016-12-04 02:37:11384 "//chromeos/components:chromeos_components_unittests",
jamescook4c02a0b2016-12-02 23:14:42385 "//components/session_manager/core",
estade835d5502017-01-04 16:44:06386 "//ui/app_list:app_list_unittests",
387 "//ui/app_list/presenter:app_list_presenter_unittests",
yoshiki8e2ddbb2016-03-10 07:11:22388 "//ui/arc:ui_arc_unittests",
dpranke6293d252015-04-14 19:12:00389 "//ui/chromeos:ui_chromeos_unittests",
390 ]
391 }
392
dprankefd1813272015-04-13 23:56:00393 if (is_chromeos || is_mac || is_win) {
394 deps += [
395 "//rlz:rlz_id",
396 "//rlz:rlz_lib",
397 "//rlz:rlz_unittests",
398 ]
399 }
400
Aaron Leventhal8a54c742017-10-17 23:37:24401 # Accessibility API debugging tools.
402 if (is_win) {
Aaron Leventhal77c82742017-09-27 14:38:56403 deps += [ "//tools/accessibility/inspect:ax_dump_events" ]
Aaron Leventhal8a54c742017-10-17 23:37:24404 deps += [ "//tools/accessibility/inspect:ax_dump_tree" ]
Aaron Leventhal77c82742017-09-27 14:38:56405 }
406
dprankedb5527d72015-03-08 04:22:47407 if (is_linux) {
408 # The following are definitely linux-only.
hiroshigee6d374c2015-02-24 07:54:06409 deps += [
dpranke2bc89212015-11-18 00:24:43410 "//chrome:xdg_mime",
dprankedb5527d72015-03-08 04:22:47411 "//net:disk_cache_memory_test",
dprankedb5527d72015-03-08 04:22:47412 "//net:quic_client",
413 "//net:quic_server",
414 "//sandbox/linux:chrome_sandbox",
dprankee2ef3822015-02-24 21:42:18415 "//sandbox/linux:sandbox_linux_unittests",
hiroshigee6d374c2015-02-24 07:54:06416 ]
dnicoara8c6aa8e2015-03-11 23:20:32417
mbjorgea12e5a52016-05-31 22:15:17418 if (use_dbus) {
419 deps += [
420 "//dbus:dbus_test_server",
421 "//dbus:dbus_unittests",
422 ]
423 }
424
dpranke2bc89212015-11-18 00:24:43425 if (is_chrome_branded && is_official_build) {
426 # TODO(dpranke): add the linux_dump_symbols flag?
427 deps += [ "//chrome:linux_symbols" ]
428 }
dprankedb5527d72015-03-08 04:22:47429 }
430
sherouke1859f92015-08-05 10:19:10431 if (is_ios || is_win || (is_linux && !is_chromeos)) {
432 deps += [
433 "//base:base_i18n_perftests",
sherouk710734d2015-09-02 19:02:58434 "//google_apis:google_apis_unittests",
sherouke1859f92015-08-05 10:19:10435 ]
436 }
437
Nicolas Capense0eba5e2017-06-21 13:52:23438 if ((is_win || is_mac || is_linux || is_chromeos) &&
sugoia1b7b922016-12-13 12:52:49439 (target_cpu == "x86" || target_cpu == "x64")) {
sugoiabe91892016-09-20 12:53:51440 deps += [ "//third_party/swiftshader" ]
441 }
442
thakis507c15c2016-06-01 00:26:01443 # TODO(GYP): Figure out which of these should (and can) build
444 # for chromeos/ios.
scottmg2f97ee122017-05-12 17:50:37445 if (!is_chromeos && !is_ios && !is_fuchsia) {
tfarina9e7cf702015-02-23 21:13:44446 deps += [
dprankedb5527d72015-03-08 04:22:47447 "//base:build_utf8_validator_tables",
dpranke244f973d62015-11-20 05:38:10448 "//base:check_example",
dprankedb5527d72015-03-08 04:22:47449 "//cc:cc_perftests",
dprankefd1813272015-04-13 23:56:00450 "//cc/blink:cc_blink_unittests",
dprankedb5527d72015-03-08 04:22:47451 "//components:components_perftests",
dprankedb5527d72015-03-08 04:22:47452 "//device:device_unittests",
453 "//gin:gin_shell",
dprankedb5527d72015-03-08 04:22:47454 "//gin:gin_unittests",
Antoine Labourc6ade252017-10-19 01:01:16455 "//gpu:command_buffer_perftests",
dprankefd1813272015-04-13 23:56:00456 "//gpu:gl_tests",
dpranke244f973d62015-11-20 05:38:10457 "//gpu:gpu_perftests",
dprankedb5527d72015-03-08 04:22:47458 "//ipc:ipc_perftests",
dprankedb5527d72015-03-08 04:22:47459 "//media:media_perftests",
dprankefd1813272015-04-13 23:56:00460 "//net:dump_cache",
dprankefd1813272015-04-13 23:56:00461 "//third_party/libphonenumber:libphonenumber_unittests",
dprankedb5527d72015-03-08 04:22:47462 "//ui/compositor:compositor_unittests",
463 ]
464
agrieve473155b42015-12-28 20:23:11465 if (!is_android) {
466 deps += [
467 "//chrome/test:load_library_perf_tests",
468 "//chrome/test:sync_performance_tests",
469 "//chrome/test/chromedriver:chromedriver",
470 "//chrome/test/chromedriver:chromedriver_tests",
Sergey Ulanovec1d3de2017-09-19 19:27:47471 "//components/sync:run_sync_testserver",
agrieve473155b42015-12-28 20:23:11472 "//courgette:courgette",
473 "//courgette:courgette_fuzz",
474 "//courgette:courgette_minimal_tool",
475 "//courgette:courgette_unittests",
stevenjb7b6fd642016-05-18 18:15:30476 "//media/cast:generate_barcode_video",
477 "//media/cast:generate_timecode_audio",
agrieve473155b42015-12-28 20:23:11478 "//net:crash_cache",
479 "//net:crl_set_dump",
480 "//net:dns_fuzz_stub",
481 "//net:gdig",
482 "//net:get_server_time",
483 "//net:net_watcher", # TODO(GYP): This should be conditional on use_v8_in_net
484 "//net:run_testserver",
485 "//net:stress_cache",
486 "//net:tld_cleanup",
487 "//ppapi:pepper_hash_for_uma",
488 "//ppapi:ppapi_perftests",
agrieve473155b42015-12-28 20:23:11489 "//third_party/leveldatabase:env_chromium_unittests",
490 "//third_party/libaddressinput:libaddressinput_unittests",
491 ]
492 }
dpranke7e19b472015-11-13 00:49:33493
jamescookfbbf9112016-06-14 16:24:49494 if (enable_extensions) {
michaelpg32ba3902017-06-10 00:00:01495 deps += [
496 "//extensions/shell:app_shell",
497 "//extensions/shell/installer:app_shell_installer",
498 ]
jamescookfbbf9112016-06-14 16:24:49499 }
500
dprankedb5527d72015-03-08 04:22:47501 if (enable_nacl) {
brettwf4b4a4282015-12-16 00:41:13502 deps += [ "//components/nacl/loader:nacl_loader_unittests" ]
dpranke2bc89212015-11-18 00:24:43503
504 if (is_linux) {
505 # TODO(dpranke): Figure out what platforms should actually have this.
milko.leporis3de038d2016-08-18 09:59:37506 deps += [ "//components/nacl/loader:nacl_helper" ]
507
508 if (enable_nacl_nonsfi) {
509 deps += [
510 "//components/nacl/loader:helper_nonsfi",
511 "//components/nacl/loader:nacl_helper_nonsfi_unittests",
512 ]
513 }
dpranke2bc89212015-11-18 00:24:43514 }
dprankedb5527d72015-03-08 04:22:47515 }
516
xhwangfa2d9d472015-12-18 23:31:18517 if (media_use_ffmpeg && !is_android) {
mostynb2196a462015-08-20 17:22:10518 deps += [ "//media:ffmpeg_regression_tests" ]
519 }
dprankefd1813272015-04-13 23:56:00520 }
521
agrieve473155b42015-12-28 20:23:11522 if (is_android || (is_linux && !is_chromeos)) {
dprankefd1813272015-04-13 23:56:00523 deps += [
dprankefd1813272015-04-13 23:56:00524 "//components/network_hints/browser",
dprankefd1813272015-04-13 23:56:00525 "//content/public/app:browser",
526 "//content/public/app:child",
rockotc637caf9b2016-02-10 09:57:08527 "//mojo/edk/test:mojo_public_system_perftests",
rockot734fb662016-10-15 16:41:30528 "//services/service_manager/public/cpp",
dprankefd1813272015-04-13 23:56:00529 "//testing/gmock:gmock_main",
Mark Mentovaiebb9ddd62017-09-25 17:24:41530 "//third_party/breakpad:dump_syms($host_toolchain)",
531 "//third_party/breakpad:microdump_stackwalk($host_toolchain)",
532 "//third_party/breakpad:minidump_dump($host_toolchain)",
533 "//third_party/breakpad:minidump_stackwalk($host_toolchain)",
dprankefd1813272015-04-13 23:56:00534 ]
535
agrieve473155b42015-12-28 20:23:11536 if (!is_android) {
537 deps += [
agrieve473155b42015-12-28 20:23:11538 "//chrome/test:chrome_app_unittests",
brettwf9427f92016-05-05 23:18:55539 "//gpu/khronos_glcts_support:khronos_glcts_test",
agrieve473155b42015-12-28 20:23:11540 "//media/cast:cast_benchmarks",
541 "//media/cast:tap_proxy",
542 "//skia:filter_fuzz_stub",
543 "//skia:image_operations_bench",
agrieve473155b42015-12-28 20:23:11544 "//third_party/sqlite:sqlite_shell",
545 "//ui/keyboard:keyboard_unittests",
agrieve473155b42015-12-28 20:23:11546 "//ui/snapshot:snapshot_unittests",
agrieve473155b42015-12-28 20:23:11547 ]
dprankefd1813272015-04-13 23:56:00548
agrieve473155b42015-12-28 20:23:11549 if (!is_debug && !is_component_build) {
550 deps += [ "//chrome/tools/service_discovery_sniffer" ]
551 }
dprankefd1813272015-04-13 23:56:00552 }
553
dprankedb5527d72015-03-08 04:22:47554 if (use_x11) {
wtc6e2e29c2015-03-13 01:09:44555 if (target_cpu != "arm") {
tfarina8944e6f2015-03-25 20:06:59556 deps += [ "//gpu/tools/compositor_model_bench" ]
wtc6e2e29c2015-03-13 01:09:44557 }
dprankedb5527d72015-03-08 04:22:47558 }
559 }
560
561 if (is_mac) {
562 deps += [
tfarina9e7cf702015-02-23 21:13:44563 "//third_party/apple_sample_code",
Mark Mentovaiebb9ddd62017-09-25 17:24:41564 "//third_party/breakpad:crash_inspector",
565 "//third_party/breakpad:dump_syms",
tfarina9e7cf702015-02-23 21:13:44566 "//third_party/molokocacao",
567 ]
dpranke43760592014-11-08 02:59:57568 deps -= [
brettw011138d2015-10-21 03:05:38569 # Mojo in GN contains some things which are never compiled in GYP on Mac,
570 # so compilation fails on Mac. They need porting.
brettwe1d40652015-10-23 23:06:10571 "//mojo",
dprankecf8465db72014-11-10 23:51:22572 ]
dprankefd1813272015-04-13 23:56:00573 }
574
575 if (is_win) {
576 deps += [
577 "//base:pe_image_test",
anantaf2e54a92016-05-28 00:39:16578 "//chrome/install_static:install_static_unittests",
grt734e87b2015-07-06 19:36:43579 "//chrome/installer/setup:setup_unittests",
Penny MacNeila9753d02017-10-02 16:57:45580 "//chrome_elf:chrome_elf_import_unittests",
dprankefd1813272015-04-13 23:56:00581 "//chrome_elf:chrome_elf_unittests",
582 "//chrome_elf:dll_hash_main",
pastarmovj02d5cc992016-12-05 17:55:24583 "//cloud_print:cloud_print_unittests",
dprankefd1813272015-04-13 23:56:00584 "//components/wifi:wifi_test",
585 "//net:quic_client",
586 "//net:quic_server",
587 "//sandbox/win:pocdll",
588 "//sandbox/win:sandbox_poc",
589 "//sandbox/win:sbox_integration_tests",
590 "//sandbox/win:sbox_unittests",
591 "//sandbox/win:sbox_validation_tests",
592 "//testing/gtest:gtest_main",
ajwongbf193272017-03-16 00:00:44593 "//third_party/tcmalloc:addr2line-pdb",
robliaofd54b5c2017-01-13 00:41:30594 "//tools/win/chromeexts:chromeexts",
dprankefd1813272015-04-13 23:56:00595 ]
fdorayfb048bff2016-04-28 22:07:36596
597 if (!(is_component_build && is_debug && target_cpu == "x86")) {
598 deps +=
599 [ "//chrome/installer/mini_installer:next_version_mini_installer" ]
600 }
scottmg6ea9ff3e2017-05-19 00:08:16601 } else if (!is_android && !is_ios && !is_fuchsia) {
Mark Mentovaiebb9ddd62017-09-25 17:24:41602 deps += [ "//third_party/breakpad:symupload($host_toolchain)" ]
mohsenf837da7c2014-12-09 19:01:34603 }
rsesek985bd812016-04-26 21:06:15604
slance9d62f2015-11-04 01:15:01605 if (is_chromecast) {
606 deps += [ "//chromecast:cast_shell" ]
607 }
miu45b848fe2015-11-26 01:23:29608
rsesek985bd812016-04-26 21:06:15609 if (is_mac || is_win) {
610 deps += [
Mark Mentovai1782adb2017-11-08 05:11:27611 "//third_party/crashpad/crashpad:crashpad_tests",
rsesek985bd812016-04-26 21:06:15612 "//third_party/crashpad/crashpad/handler:crashpad_handler",
613 "//third_party/crashpad/crashpad/tools:crashpad_database_util",
614 ]
615 }
616
hbos17a7b4a22015-12-07 10:49:45617 if (use_openh264) {
618 deps += [
619 "//third_party/openh264:common",
620 "//third_party/openh264:encoder",
621 "//third_party/openh264:processing",
622 ]
623 }
dpranke2a294622015-08-07 05:23:01624
Peter Beverloo69948322017-07-28 19:01:57625 if (enable_message_center) {
626 deps += [ "//ui/message_center:message_center_unittests" ]
627 }
628
scottmg2f97ee122017-05-12 17:50:37629 if (!is_android && !is_ios && !is_fuchsia) {
scheib35dc9202016-04-26 22:35:43630 deps += [ "//content/browser/bluetooth/tools:bluetooth_metrics_hash" ]
631 }
632
scottmg2f97ee122017-05-12 17:50:37633 if (!is_android && !is_ios && !is_chromeos && !is_fuchsia) {
xjz9da998022016-10-26 01:22:11634 deps += [ "//components/proximity_auth:proximity_auth_unittests" ]
isherman0f89b43eb2015-04-11 00:02:45635 }
636
ben8f4e95ad2015-12-01 18:35:58637 if (is_win || is_linux) {
sky70471b22016-01-14 16:20:54638 deps += [
639 "//mash:all",
xhwang9c958fd2016-12-05 23:17:16640 "//media/mojo/services:media_service_unittests",
skyfcde3a42016-02-09 20:27:44641 "//mojo",
ben6b0453d12016-07-02 04:27:19642 "//services/ui/demo",
643 "//services/ui/ws:tests",
qyearsley88bc4802016-05-17 18:02:34644 "//ui/views/mus:views_mus_interactive_ui_tests",
bena5d1cd42016-04-29 22:59:53645 "//ui/views/mus:views_mus_unittests",
sky70471b22016-01-14 16:20:54646 ]
kylechar5c9a1fb62016-10-21 13:17:25647
wez0ee841c2016-12-21 20:36:20648 # crbug.com/676055: media_service_unittests fails to link under Windows
649 # component builds, due to duplicate symbol definitions.
650 if (is_win && is_component_build) {
651 deps -= [ "//media/mojo/services:media_service_unittests" ]
652 }
sky97b65592015-11-02 20:08:25653 }
654
stevenjb7b6fd642016-05-18 18:15:30655 if (is_linux && !is_chromeos && !is_chromecast) {
dprankedb5527d72015-03-08 04:22:47656 # TODO(GYP): Figure out if any of these should be in gn_all
657 # and figure out how cross-platform they are
isherman0f89b43eb2015-04-11 00:02:45658 deps += [
dprankedb5527d72015-03-08 04:22:47659 "//chrome/installer/util:strings",
dprankedb5527d72015-03-08 04:22:47660 "//chrome/tools/convert_dict",
661 "//components/constrained_window:unit_tests",
erg4652931e2016-04-27 22:15:40662 "//components/filesystem:filesystem_service_unittests",
ergf1f689f2016-03-22 00:51:20663 "//components/leveldb:leveldb_service_unittests",
dprankedb5527d72015-03-08 04:22:47664 "//components/metrics:serialization",
isherman0f89b43eb2015-04-11 00:02:45665 "//components/password_manager/content/renderer:browser_tests",
dprankedb5527d72015-03-08 04:22:47666 "//components/rappor:unit_tests",
667 "//components/sessions:unit_tests",
668 "//media/blink:media_blink_unittests",
stevenjb7b6fd642016-05-18 18:15:30669 "//media/cast:udp_proxy",
dprankedb5527d72015-03-08 04:22:47670 "//storage/browser:dump_file_system",
671 "//third_party/angle:libANGLE",
672 "//third_party/angle:libEGL",
673 "//third_party/angle:libGLESv2",
pwnallcfb346f12017-03-02 22:01:37674 "//third_party/leveldatabase:leveldb_test_targets",
dprankedb5527d72015-03-08 04:22:47675 "//third_party/libjpeg_turbo:simd",
dprankedb5527d72015-03-08 04:22:47676 "//third_party/opus:opus_compare",
677 "//third_party/opus:opus_demo",
dpranke244f973d62015-11-20 05:38:10678 "//third_party/opus:test_opus_api",
dprankedb5527d72015-03-08 04:22:47679 "//third_party/opus:test_opus_decode",
680 "//third_party/opus:test_opus_encode",
dprankedb5527d72015-03-08 04:22:47681 "//third_party/opus:test_opus_padding",
682 "//third_party/webrtc/system_wrappers:field_trial_default",
683 "//third_party/webrtc/system_wrappers:metrics_default",
684 "//ui/display/types",
685 "//ui/shell_dialogs:shell_dialogs_unittests",
dprankedb5527d72015-03-08 04:22:47686 ]
dprankeb0713542015-07-31 21:07:21687
ossy.szegedd584dd72016-11-21 11:36:18688 if (enable_nacl) {
689 deps += [ "//native_client/src/trusted/debug_stub:gdb_rsp_unittest" ]
690 }
691
Gordana.Cmiljanovic85746ff12015-04-28 08:17:16692 if (target_cpu == "x86" || target_cpu == "x64") {
agrieve473155b42015-12-28 20:23:11693 if (!is_android) {
694 deps += [ "//chrome/test:load_library_perf_tests" ]
695 }
Dirk Pranke4dabe802017-11-02 07:18:55696 if (enable_nacl) {
697 deps += [ "//native_client/src/trusted/platform_qualify:vcpuid" ]
698 }
699 deps += [ "//third_party/libjpeg_turbo:simd_asm" ]
Gordana.Cmiljanovic85746ff12015-04-28 08:17:16700 }
dpranke807f602b2015-03-17 23:20:56701 if (is_linux && current_toolchain == host_toolchain) {
jochen11513aa02016-05-11 09:59:51702 deps += [ "//v8:v8_shell" ]
dpranke807f602b2015-03-17 23:20:56703 }
dprankedb5527d72015-03-08 04:22:47704 }
dprankeb0713542015-07-31 21:07:21705
aizatskyaf496112016-04-15 19:26:32706 if ((is_linux && !is_chromeos && !is_chromecast) || (is_win && use_drfuzz) ||
707 (use_libfuzzer && is_mac)) {
708 deps += [
709 "//testing/libfuzzer/fuzzers",
710 "//testing/libfuzzer/tests:libfuzzer_tests",
aizatsky3f560172016-06-03 23:26:06711 "//third_party/icu/fuzzers",
noel6997c5c2017-04-13 14:12:18712 "//third_party/qcms:fuzzers",
Lei Zhang1295fa762017-12-12 00:49:16713 "//third_party/zlib/contrib/tests/fuzzers",
aizatskyaf496112016-04-15 19:26:32714 ]
715 }
716
sbc92b4d572016-02-18 03:28:23717 if (enable_nacl) {
718 deps += [ "//native_client_sdk/src:nacl_core_sdk" ]
719 }
720
skyostilfe116162016-02-26 20:53:33721 if (is_linux && use_ozone) {
722 deps += [
723 "//headless",
724 "//headless:headless_tests",
725 ]
726 }
Christopher Grant193648b2017-06-07 15:08:36727
728 if (enable_vr) {
Tibor Goldschwendt213a42202017-10-17 20:13:44729 deps += [
730 "//chrome/browser/vr:vr_common_perftests",
731 "//chrome/browser/vr:vr_common_unittests",
Christopher Grant55c15892017-11-21 14:03:32732 "//chrome/browser/vr:vr_pixeltests",
Tibor Goldschwendt213a42202017-10-17 20:13:44733 ]
Christopher Grant16c6f4e2017-09-29 02:12:13734 if (is_linux && use_ozone) {
735 deps += [ "//chrome/browser/vr/testapp:vr_testapp" ]
736 }
Yash Malik8109b5bb2017-07-13 22:40:03737 if (is_android) {
738 deps += [ "//tools/perf/contrib/vr_benchmarks:vr_perf_tests" ]
739 }
Christopher Grant193648b2017-06-07 15:08:36740 }
Scott Grahamf24e3742017-08-11 17:50:22741
742 if (is_fuchsia) {
Wez57c96392017-12-05 22:19:05743 deps += [
744 "//headless",
745 "//headless:headless_shell",
746 "//headless:headless_tests",
747 ]
Scott Grahamf24e3742017-08-11 17:50:22748 }
tfarinafbc992492017-03-08 22:44:04749}
750
751# TODO(GYP_GONE): This target exists for compatibility with GYP, specifically
752# for the iOS bots and the official builders.
753group("All") {
754 testonly = true
755
756 deps = [
757 ":gn_all",
758 ]
759}
760
Scott Graham677e79102017-08-15 20:07:37761if (is_fuchsia) {
762 # TODO(https://crbug.com/731217): This can't practically be in //v8 without
763 # duplicating all the Fuchsia running infrastructure there.
764 fuchsia_executable_runner("d8_fuchsia") {
Kevin Marshalldc4c6c92017-08-30 17:01:03765 exe_target = "//v8:d8"
Scott Graham677e79102017-08-15 20:07:37766 }
767}
768
tfarinafbc992492017-03-08 22:44:04769# TODO(GYP_GONE): Figure out if we really need this target or if there's
770# some better way to specify things.
771if (is_win) {
772 group("chrome_official_builder_no_unittests") {
773 deps = [
probergefe476002017-06-23 14:29:01774 "//chrome/common/win:eventlog_provider",
tfarinafbc992492017-03-08 22:44:04775 "//chrome/installer/gcapi",
776 "//chrome/installer/mini_installer",
777 "//cloud_print",
778 "//cloud_print/virtual_driver/win/port_monitor:copy_gcp_portmon_binaries",
779 "//components/policy:pack_policy_templates",
780 "//courgette",
781 "//courgette:copy_courgette_binaries",
782 "//remoting/webapp",
holteb87f01f52017-04-10 20:45:53783 "//tools/metrics:metrics_metadata",
tfarinafbc992492017-03-08 22:44:04784 ]
785
786 if (target_cpu == "x86") {
787 if (is_clang) {
Nico Weber94d731c12017-07-25 19:40:46788 deps += [ "//courgette(//build/toolchain/win:win_clang_x64)" ]
tfarinafbc992492017-03-08 22:44:04789 } else {
790 deps += [ "//courgette(//build/toolchain/win:x64)" ]
791 }
792 }
793 if (is_chrome_branded) {
794 deps += [ "//remoting/host:remoting_host_installation" ]
795 }
796 }
797
798 group("chrome_official_builder") {
799 testonly = true
800
801 deps = [
802 ":chrome_official_builder_no_unittests",
803 "//base:base_unittests",
804 "//chrome/test:browser_tests",
tfarinafbc992492017-03-08 22:44:04805 "//ipc:ipc_tests",
806 "//media:media_unittests",
807 "//media/midi:midi_unittests",
808 "//net:net_unittests",
809 "//printing:printing_unittests",
810 "//sql:sql_unittests",
811 "//ui/base:ui_base_unittests",
812 "//ui/gfx:gfx_unittests",
813 "//ui/touch_selection:ui_touch_selection_unittests",
814 "//ui/views:views_unittests",
815 "//url:url_unittests",
816 ]
817 }
818
819 group("All_syzygy") {
820 if (is_syzyasan) {
821 deps = [
822 "//chrome/installer/mini_installer:mini_installer",
823 "//chrome/installer/mini_installer:mini_installer_syzygy",
824 ]
825 }
826 }
827
828 if (is_syzyasan) {
829 group("chrome_official_syzyasan_builder") {
830 deps = [
831 ":All_syzygy",
832 ":chrome_official_builder_no_unittests",
833 ]
834 }
835 }
836}
837
838if (is_chromeos) {
839 group("chromiumos_preflight") {
840 testonly = true
841 deps = [
tfarinafbc992492017-03-08 22:44:04842 "//chrome",
843 "//chrome/test/chromedriver",
844 "//media:media_unittests",
tfarinafbc992492017-03-08 22:44:04845 "//ppapi/examples/video_decode",
846 "//sandbox/linux:chrome_sandbox",
847 "//sandbox/linux:sandbox_linux_unittests",
Mark Mentovaiebb9ddd62017-09-25 17:24:41848 "//third_party/breakpad:minidump_stackwalk($host_toolchain)",
tfarinafbc992492017-03-08 22:44:04849
850 # Blocked on https://github.com/catapult-project/catapult/issues/2297
851 #"//third_party/catapult/telemetry:bitmaptools",
852 "//tools/perf/clear_system_cache",
853 ]
Alexandre Courbot8ad2427d2017-08-25 14:04:55854
855 if (use_v4l2_codec || use_vaapi) {
856 deps += [
857 "//media/gpu:video_decode_accelerator_unittest",
858 "//media/gpu:video_encode_accelerator_unittest",
859 ]
860 }
tfarinafbc992492017-03-08 22:44:04861 }
dprankedb5527d72015-03-08 04:22:47862}
863
dprankedb5527d72015-03-08 04:22:47864group("gn_visibility") {
dpranked62d8512015-03-02 03:06:03865 deps = [
dprankeb6128d02015-05-01 16:40:30866 "//build/config/sanitizers:options_sources",
dprankedb5527d72015-03-08 04:22:47867 # "//third_party/pdfium:pdfium_embeddertests", # TODO(GYP): visibility?
868 # "//third_party/pdfium:pdfium_unittests", # TODO(GYP): visibility?
dpranked62d8512015-03-02 03:06:03869 ]
dpranked2fb5222015-09-10 22:39:05870
871 if (!is_ios) {
872 deps += [
dpranked2fb5222015-09-10 22:39:05873 "//v8:postmortem-metadata",
dpranke244f973d62015-11-20 05:38:10874 "//v8:v8_snapshot",
dpranked2fb5222015-09-10 22:39:05875 ]
876 }
dpranked62d8512015-03-02 03:06:03877}
878
scottmg2f97ee122017-05-12 17:50:37879if (!is_ios && !is_fuchsia) {
tfarinacb2638b2015-05-12 03:24:15880 # This group includes all of the targets needed to build and test Blink,
881 # including running the layout tests (see below).
882 group("blink_tests") {
883 testonly = true
884
885 deps = [
tansell88df42592016-11-15 07:22:59886 ":webkit_layout_tests",
tfarinacb2638b2015-05-12 03:24:15887 "//third_party/WebKit/public:all_blink",
tansell88df42592016-11-15 07:22:59888 ]
889 }
890
891 # Layout tests runner
892 # third_party/WebKit/Tools/Scripts/run-webkit-tests
893 group("run_webkit_tests") {
894 testonly = true
895 deps = [
896 ":webkit_layout_tests",
897 ]
898 }
899
900 # https://www.chromium.org/developers/testing/webkit-layout-tests
tansell0e6baaf22017-02-16 09:14:53901
902 # The _exparchive at the end of the name indicates to the isolate recipe
903 # that the isolate should be archived separately using the `exparchive`
904 # command, rather than as part of the normal `batcharchive` command.
905 group("webkit_layout_tests_exparchive") {
906 testonly = true
907 deps = [
908 ":webkit_layout_tests",
909 ]
910 data_deps = [
911 ":webkit_layout_tests",
912 ]
913 }
914
915 # This target contains only a small subset of the layout tests,
916 # and is useful for testing with the regular isolate mechanism.
917 # To run the full layout test suite you need to use
918 # :webkit_layout_tests_exparchive, above, instead.
tansell88df42592016-11-15 07:22:59919 group("webkit_layout_tests") {
920 testonly = true
tansell88df42592016-11-15 07:22:59921 data_deps = [
yzshena0646992017-04-02 22:01:27922 ":layout_test_data_mojo_bindings",
tansell88df42592016-11-15 07:22:59923 "//content/shell:content_shell",
yzshen9e737bf2017-06-21 19:38:23924 "//content/test:mojo_layouttest_bindings_js_data_deps",
925 "//device/bluetooth/public/interfaces:fake_bluetooth_interfaces_js_data_deps",
yzshen9e737bf2017-06-21 19:38:23926 "//device/geolocation/public/interfaces:interfaces_js_data_deps",
927 "//device/usb/public/interfaces:interfaces_js_data_deps",
928 "//device/vr:mojo_bindings_js_data_deps",
929 "//media/capture/mojo:image_capture_js_data_deps",
930 "//mojo/public/interfaces/bindings/tests:test_data_deps",
931 "//services/device/public/interfaces:interfaces_js_data_deps",
Ke He60718292017-07-06 04:08:11932 "//services/device/public/interfaces:generic_sensor_js_data_deps",
yzshen9e737bf2017-06-21 19:38:23933 "//services/shape_detection/public/interfaces:interfaces_js_data_deps",
tansell2bf83ac2017-02-18 04:01:14934 "//third_party/WebKit/public:blink_devtools_frontend_resources_files",
yzshen9e737bf2017-06-21 19:38:23935 "//third_party/WebKit/public:mojo_bindings_js_data_deps",
tansellaac85d72017-02-17 05:13:04936 "//third_party/mesa:osmesa",
agrieve993374cf2016-04-13 00:05:39937 "//tools/imagediff",
tfarinacb2638b2015-05-12 03:24:15938 ]
939
tfarinacb2638b2015-05-12 03:24:15940 if (is_android) {
tansell88df42592016-11-15 07:22:59941 data_deps += [
Mark Mentovaiebb9ddd62017-09-25 17:24:41942 "//third_party/breakpad:breakpad_unittests",
943 "//third_party/breakpad:dump_syms",
944 "//third_party/breakpad:microdump_stackwalk",
945 "//third_party/breakpad:minidump_dump",
946 "//third_party/breakpad:minidump_stackwalk",
947 "//third_party/breakpad:symupload",
jbudoricke7bcf092016-09-28 18:24:14948 "//tools/android/forwarder2",
ojan94989c72015-07-17 21:56:42949 ]
tfarinacb2638b2015-05-12 03:24:15950 }
951
tfarinacb2638b2015-05-12 03:24:15952 if (!is_win && !is_android) {
Mark Mentovaiebb9ddd62017-09-25 17:24:41953 data_deps +=
954 [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
tfarinacb2638b2015-05-12 03:24:15955 }
956
957 if (is_mac) {
Mark Mentovaiebb9ddd62017-09-25 17:24:41958 data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
tfarinacb2638b2015-05-12 03:24:15959 }
960
961 if (is_linux) {
Mark Mentovaiebb9ddd62017-09-25 17:24:41962 data_deps += [ "//third_party/breakpad:dump_syms($host_toolchain)" ]
tfarinacb2638b2015-05-12 03:24:15963 }
qyearsley165a17a82016-08-01 17:58:50964
965 data = [
tansell55090912017-02-20 12:54:31966 "$root_build_dir/resources/inspector/",
tansell88df42592016-11-15 07:22:59967 "//testing/scripts/common.py",
tansell0e6baaf22017-02-16 09:14:53968 "//testing/scripts/run_isolated_script_test.py",
tansell55090912017-02-20 12:54:31969 "//testing/xvfb.py",
qyearsley165a17a82016-08-01 17:58:50970 "//third_party/WebKit/LayoutTests/",
tansell2bf83ac2017-02-18 04:01:14971 "//third_party/WebKit/PerformanceTests/",
qyearsley165a17a82016-08-01 17:58:50972 "//third_party/WebKit/Tools/Scripts/",
973 ]
tansell0e6baaf22017-02-16 09:14:53974
tansell820f7df2017-02-16 13:59:15975 if (is_win) {
tansell1b05bbd2017-05-04 09:30:32976 data += [
977 "//third_party/apache-win32/",
tansell1b05bbd2017-05-04 09:30:32978 "//third_party/perl/",
979 ]
tansell820f7df2017-02-16 13:59:15980 }
981
tansell0e6baaf22017-02-16 09:14:53982 if (is_android) {
983 data += [
984 "//third_party/catapult/",
985 "//build/android/",
986 ]
987 }
tfarinacb2638b2015-05-12 03:24:15988 }
yzshena0646992017-04-02 22:01:27989
990 copy("layout_test_data_mojo_bindings") {
991 testonly = true
992
993 sources = [
994 "$root_gen_dir/mojo/public/js/mojo_bindings.js",
995 ]
996
997 outputs = [
998 "$root_gen_dir/layout_test_data/mojo/public/js/mojo_bindings.js",
999 ]
1000
1001 deps = [
Yuzhu Shen4ccd2692017-12-11 19:14:251002 "//mojo/public/js:bindings",
yzshena0646992017-04-02 22:01:271003 ]
1004 }
Dirk Pranke43a5c812017-09-06 03:25:411005
1006 group("webkit_python_tests") {
1007 data = [
1008 "//build/android/",
1009 "//components/crash/content/tools/generate_breakpad_symbols.py",
1010 "//testing/scripts/common.py",
1011 "//testing/scripts/run_isolated_script_test.py",
1012 "//testing/test_env.py",
1013 "//testing/xvfb.py",
1014 "//third_party/WebKit/LayoutTests/ASANExpectations",
1015 "//third_party/WebKit/LayoutTests/LeakExpectations",
1016 "//third_party/WebKit/LayoutTests/MSANExpectations",
1017 "//third_party/WebKit/LayoutTests/NeverFixTests",
1018 "//third_party/WebKit/LayoutTests/StaleTestExpectations",
1019 "//third_party/WebKit/LayoutTests/SlowTests",
1020 "//third_party/WebKit/LayoutTests/TestExpectations",
1021 "//third_party/WebKit/LayoutTests/VirtualTestSuites",
1022 "//third_party/WebKit/Source/bindings/scripts/",
1023 "//third_party/WebKit/Tools/Scripts/",
1024 "//third_party/blink/tools/",
1025 "//third_party/catapult/common/py_utils/",
1026 "//third_party/catapult/devil/",
1027 "//third_party/catapult/dependency_manager/",
1028 "//third_party/catapult/third_party/zipfile/",
1029 "//third_party/depot_tools/pylint.py",
1030 "//third_party/depot_tools/pylintrc",
1031 "//third_party/depot_tools/third_party/logilab/",
1032 "//third_party/depot_tools/third_party/pylint/",
1033 "//third_party/depot_tools/third_party/pylint.py",
1034 "//third_party/ply/",
1035 "//third_party/pymock/",
1036 "//third_party/typ/",
1037 "//tools/idl_parser/",
1038 ]
1039 }
tfarinacb2638b2015-05-12 03:24:151040}
1041
dpranke2302dfa2015-09-29 02:21:521042group("chromium_builder_perf") {
1043 testonly = true
1044
scottmg2f97ee122017-05-12 17:50:371045 if (!is_ios && !is_android && !is_chromecast && !is_fuchsia) {
malets6b7062402016-09-15 08:14:261046 data_deps = [
dpranke2302dfa2015-09-29 02:21:521047 "//cc:cc_perftests",
dpranke2302dfa2015-09-29 02:21:521048 "//chrome/test:load_library_perf_tests",
eyaiche1605ca2016-09-14 14:34:051049 "//chrome/test:telemetry_perf_tests",
kraynovc0797582016-10-25 16:45:061050 "//components/tracing:tracing_perftests",
Antoine Labourc6ade252017-10-19 01:01:161051 "//gpu:command_buffer_perftests",
dpranke2302dfa2015-09-29 02:21:521052 "//gpu:gpu_perftests",
1053 "//media:media_perftests",
kbr1e58e782016-05-27 17:21:191054 "//tools/perf/chrome_telemetry_build:telemetry_chrome_test",
dpranke2302dfa2015-09-29 02:21:521055 ]
1056
nednguyen6451d7d2017-05-09 14:37:541057 if (is_android) {
1058 data += [ "//third_party/android_tools/sdk/platform-tools/adb" ]
1059 }
1060
dpranke2302dfa2015-09-29 02:21:521061 if (!is_chromeos) {
malets6b7062402016-09-15 08:14:261062 data_deps += [ "//chrome/test:performance_browser_tests" ]
dpranke2302dfa2015-09-29 02:21:521063 }
1064 if (is_linux && !is_chromeos) {
dpranke9aed5d582015-11-22 23:22:041065 if (is_official_build) {
1066 # In GN builds, this is controlled by the 'linux_dump_symbols'
1067 # flag, which defaults to 1 for official builds. For now,
1068 # we skip the separate flag and just key off of is_official_build.
malets6b7062402016-09-15 08:14:261069 data_deps += [ "//chrome:linux_symbols" ]
dpranke9aed5d582015-11-22 23:22:041070 }
dpranke2302dfa2015-09-29 02:21:521071
kraynovc0797582016-10-25 16:45:061072 data_deps += [ "//tools/perf/clear_system_cache" ]
dpranke2302dfa2015-09-29 02:21:521073 }
1074
1075 if (is_win) {
Yuly Novikov8a6e6352017-11-11 02:00:401076 data_deps += [ "//chrome/installer/mini_installer:mini_installer" ]
dpranke2302dfa2015-09-29 02:21:521077 } else {
Mark Mentovaiebb9ddd62017-09-25 17:24:411078 data_deps +=
1079 [ "//third_party/breakpad:minidump_stackwalk($host_toolchain)" ]
dpranke2302dfa2015-09-29 02:21:521080 }
Yuly Novikov8a6e6352017-11-11 02:00:401081 if (is_win || is_android) {
1082 data_deps += [ "//chrome/test:angle_perftests" ]
1083 }
dpranke2302dfa2015-09-29 02:21:521084 }
1085}
agrieve017b91f2016-02-29 20:15:061086
scottmg2f97ee122017-05-12 17:50:371087if (!is_ios && !is_android && !is_chromecast && !is_fuchsia) {
thakis3f7d4fc2016-06-10 18:47:501088 group("chromium_builder_asan") {
1089 testonly = true
1090
1091 deps = [
1092 "//chrome:chrome",
1093 "//content/shell:content_shell",
1094 "//v8:d8",
1095 ]
1096 if (!is_win) {
1097 deps += [
1098 "//net:dns_fuzz_stub",
thakis3f7d4fc2016-06-10 18:47:501099 "//skia:filter_fuzz_stub",
1100 ]
1101 }
1102 if (enable_ipc_fuzzer && !is_component_build) {
1103 deps += [ "//tools/ipc_fuzzer:ipc_fuzzer_all" ]
1104 }
1105 if (!is_chromeos) {
1106 deps += [
1107 "//third_party/pdfium/samples:pdfium_test",
dpranke8a2de902016-07-14 20:08:371108 "//v8:v8_shell($v8_snapshot_toolchain)",
thakis3f7d4fc2016-06-10 18:47:501109 ]
1110 }
thakis3f7d4fc2016-06-10 18:47:501111 if (is_win && symbol_level == 2 && target_cpu == "x86" && is_syzyasan) {
1112 deps += [
1113 "//chrome/tools/build/win/syzygy:chrome_dll_syzygy",
sebmarchanda2df3392016-07-13 15:34:591114 "//content/shell:content_shell_syzyasan",
thakis3f7d4fc2016-06-10 18:47:501115 ]
thakis3f7d4fc2016-06-10 18:47:501116 }
1117 }
1118}
1119
agrieve95ba4442016-04-25 15:47:131120if (is_android) {
1121 group("optimize_gn_gen") {
1122 deps = [
1123 # These run expensive scripts in non-default toolchains. Generally, host
1124 # toolchain targets are loaded in the later part of the run, and the
1125 # result is they push out the end of generation. By preloading these, the
1126 # scripts can be parallelized with the rest of the load.
1127 "//build/config/linux(//build/toolchain/linux:clang_x64)",
1128 "//build/config/posix(//build/toolchain/linux:clang_x64)",
1129
1130 # Include x86 toolchains as well since V8 uses them for 32-bit snapshot
1131 # generation.
1132 "//build/config/linux(//build/toolchain/linux:clang_x86)",
1133 "//build/config/posix(//build/toolchain/linux:clang_x86)",
1134 ]
1135 }
1136}
1137
agrieve017b91f2016-02-29 20:15:061138# Because of the source assignment filter, many targets end up over-filtering
1139# their sources if the output directory contains a platform name. Assert that
1140# this doesn't happen. http://crbug.com/548283
1141template("assert_valid_out_dir") {
1142 # List copied from //build/config/BUILDCONFIG.gn.
1143 set_sources_assignment_filter([
1144 "*\bandroid/*",
1145 "*\bchromeos/*",
1146 "*\bcocoa/*",
1147 "*\bios/*",
1148 "*\blinux/*",
1149 "*\bmac/*",
1150 "*\bposix/*",
1151 "*\bwin/*",
1152 ])
1153 assert(target_name != "") # Mark as used.
1154 sources = invoker.actual_sources
1155 assert(
1156 sources == invoker.actual_sources,
1157 "Do not use a platform name in your output directory (found \"$root_build_dir\"). http://crbug.com/548283")
1158}
1159
Christopher Lam997fd812017-11-03 03:42:401160if (!is_win || !is_clang) {
1161 group("webui_closure_compile") {
1162 data_deps = []
1163 if (is_chromeos) {
1164 data_deps +=
1165 [ "//chrome/browser/resources/chromeos/login:closure_compile" ]
1166 }
1167 }
1168}
1169
agrieve017b91f2016-02-29 20:15:061170assert_valid_out_dir("_unused") {
1171 actual_sources = [ "$root_build_dir/foo" ]
1172}