1 # 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.
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.
11 import("//build/config/features.gni")
12 import("//build/config/ui.gni")
15 import("//build/config/android/config.gni")
19 # A list of extra dependencies to add to the root target. This allows a
20 # checkout to add additional targets without explicitly changing any checked-
28 # TODO(GYP): This target should describe everything that is built by a GYP
29 # build but not yet by a GN build, i.e., these are the targets that still
30 # need to be ported to GN. Eventually this target should be identical to
35 # "//components:components_browsertests", # TODO(GYP)
36 # "//components/nacl:nacl_loader_unittests", # TODO(GYP)
37 # "//google_apis:google_apis_unittests", # TODO(GYP)
38 # "//ui/compositor:compositor_unittests", # TODO(GYP)
39 # "//device:device_unittests", # TODO(GYP)
40 # "//ppapi:ppapi_unittests", # TODO(GYP)
41 # "//remoting:remoting_unittests", # TODO(GYP)
45 # The "gn_all" target matches the "gn_all" target in build/all.gyp.
46 # It is not (yet!) the same as building "all".
47 # TODO(GYP): Make it be basically the same as building all, or at least
48 # be sure that we don't want any of the stuff listed in gn_all to
49 # be built by default.
51 # In GN, a "group" is a dummy target that just lists other targets.
56 "//base:base_unittests",
59 "//chrome/test:browser_tests",
60 "//chrome/test:interactive_ui_tests",
61 "//chrome/test:sync_integration_tests",
62 "//chrome/test:unit_tests",
63 "//chrome/test/chromedriver:chromedriver_unittests",
64 "//components:components_unittests",
65 "//content/shell:content_shell",
66 "//content/test:content_browsertests",
67 "//content/test:content_perftests",
68 "//content/test:content_unittests",
69 "//crypto:crypto_unittests",
70 "//extensions:extensions_browsertests",
71 "//extensions:extensions_unittests",
72 "//google_apis/gcm:gcm_unit_tests",
73 "//gpu:gpu_unittests",
75 "//ipc/mojo:ipc_mojo_unittests",
76 "//jingle:jingle_unittests",
77 "//media:media_unittests",
78 "//media/mojo", # only builds in mojo
79 "//media/cast:cast_unittests",
81 "//mojo/common:mojo_common_unittests",
83 # "//mojo/services/html_viewer:tests", # TODO(GYP): Do we need this?
84 "//net:net_unittests",
85 "//ppapi/examples", # TODO(GYP): What's the GYP equivalent?
86 "//printing:printing_unittests",
87 "//skia:skia_unittests",
88 "//sql:sql_unittests",
89 "//sync:sync_unit_tests",
91 # TODO(GYP): the Blink test targets should be public, but
92 # currently aren't. all_blink pulls them in, though.
93 # "//third_party/WebKit/Source/platform:heap_unittests",
94 # "//third_party/WebKit/Source/platform:platform_unittests",
95 # "//third_party/WebKit/Source/wtf:wtf_unittests",
96 "//third_party/WebKit/public:all_blink",
97 "//third_party/cacheinvalidation:cacheinvalidation_unittests",
99 # TODO(GYP): This is needed only w/ cld_version==1. What configs set that?
101 "//third_party/codesighs",
103 # TODO(GYP): This is needed only w/ use_system_fontconfig==0.
104 # What configs set that?
105 # "//third_party/fontconfig",
107 # TODO(GYP): This will be pulled in automatically when enable_webrtc==true.
108 # For now pull it in manually so that it doesn't regress.
109 "//third_party/libsrtp",
110 "//third_party/mojo/src/mojo/edk/system:mojo_system_unittests",
111 "//third_party/mojo/src/mojo/edk/test:mojo_public_bindings_unittests",
112 "//third_party/mojo/src/mojo/edk/test:mojo_public_environment_unittests",
113 "//third_party/mojo/src/mojo/edk/test:mojo_public_system_unittests",
114 "//third_party/mojo/src/mojo/edk/test:mojo_public_utility_unittests",
115 "//third_party/pdfium/samples:pdfium_test",
117 # TODO(GYP): Verify that this is no longer needed.
118 "//third_party/smhasher:pmurhash",
120 # TODO(GYP): This will be pulled in automatically when enable_webrtc==true.
121 # For now pull it in manually so that it doesn't regress.
122 "//third_party/usrsctp",
123 "//tools/imagediff($host_toolchain)",
125 "//tools/gn:gn_unittests",
126 "//tools/telemetry:bitmaptools($host_toolchain)",
127 "//ui/accessibility:accessibility_unittests",
128 "//ui/app_list:app_list_unittests",
129 "//ui/base:ui_base_unittests",
130 "//ui/display:display_unittests",
131 "//ui/events:events_unittests",
132 "//ui/gfx:gfx_unittests",
133 "//ui/touch_selection:ui_touch_selection_unittests",
134 "//url:url_unittests",
137 deps += root_extra_deps
139 # TODO(GYP): Get this working on the mac?
140 if (enable_extensions && !is_mac) {
141 deps += [ "//extensions/shell:app_shell_unittests" ]
145 deps += [ "//breakpad:symupload" ]
149 deps += [ "//tools/xdisplaycheck" ]
153 deps += [ "//ui/views:views_unittests" ]
157 deps += [ "//ui/wm:wm_unittests" ]
163 "//ui/ozone/demo", # GN only
167 if (is_win || is_mac || is_chromeos) {
168 # RLZ works on these platforms.
169 # TODO(GYP): Is this target needed, or pulled in automatically?
170 deps += [ "//rlz:rlz_lib" ]
175 "//base/android/linker:chromium_android_linker",
176 "//build/android/gyp/test:hello_world",
177 "//build/android/rezip",
178 "//chrome/android:chrome_shell_apk",
179 "//chrome/test/chromedriver/test/webview_shell:chromedriver_webview_shell_apk",
180 "//tools/imagediff($host_toolchain)",
182 # TODO(GYP): Remove these when the components_unittests work.
183 "//components/history/core/test:test",
184 "//components/policy:policy_component_test_support",
185 "//components/policy:test_support",
186 "//components/rappor:test_support",
187 "//components/signin/core/browser:test_support",
188 "//components/sync_driver:test_support",
189 "//components/user_manager",
190 "//components/wallpaper",
191 "//content/shell/android:content_shell_apk",
193 # TODO(GYP): Are these needed, or will they be pulled in automatically?
194 "//third_party/android_tools:android_gcm_java",
195 "//third_party/android_tools:uiautomator_java",
196 "//third_party/android_tools:android_support_v13_java",
197 "//third_party/android_tools:android_support_v7_appcompat_java",
198 "//third_party/android_tools:android_support_v7_mediarouter_java",
199 "//third_party/mesa",
200 "//third_party/mockito:mockito_java",
201 "//third_party/openmax_dl/dl",
202 "//third_party/speex",
203 "//ui/android:ui_java",
205 # TODO(GYP): Are these needed?
206 "//chrome/test:test_support_unit",
207 "//third_party/smhasher:murmurhash3",
208 "//ui/message_center:test_support",
211 "//breakpad:symupload", # TODO(GYP) ??
212 "//chrome", # TODO(GYP) ??
213 "//chrome/test:browser_tests", # TODO(GYP) ??
214 "//chrome/test:interactive_ui_tests", # TODO(GYP) ??
215 "//chrome/test:sync_integration_tests", # TODO(GYP) ??
216 "//chrome/test:unit_tests", # TODO(GYP)
218 # Chromedriver shouldn't be compiled on Android.
219 "//chrome/test/chromedriver:chromedriver_unittests",
220 "//extensions:extensions_browsertests",
221 "//extensions:extensions_unittests",
222 "//google_apis/gcm:gcm_unit_tests",
223 "//ipc:ipc_tests", # TODO(GYP) ??
224 "//jingle:jingle_unittests", # TODO(GYP) ??
225 "//net:net_unittests",
227 "//third_party/pdfium/samples:pdfium_test",
229 "//tools/gn:gn_unittests",
230 "//ui/app_list:app_list_unittests",
231 "//url:url_unittests",
234 if (has_chrome_android_internal) {
235 deps += [ "//clank" ] # TODO(GYP) ??
237 } else if (is_linux) {
239 "//dbus:dbus_unittests",
240 "//sandbox/linux:sandbox_linux_unittests",
244 "//third_party/apple_sample_code",
245 "//third_party/molokocacao",
248 # TODO(GYP): Remove these when the targets below work and these
249 # are pulled in automatically.
252 "//components/ui/zoom:ui_zoom",
254 "//content/test:test_support",
256 "//device/bluetooth",
259 "//device/vibration",
263 "//third_party/brotli",
264 "//third_party/flac",
265 "//third_party/hunspell",
266 "//third_party/iccjpeg",
267 "//third_party/libphonenumber",
269 "//third_party/qcms",
270 "//third_party/smhasher:murmurhash3",
271 "//third_party/speex",
272 "//third_party/webrtc/system_wrappers",
278 # TODO(dpranke): These are as-yet untriaged but need at least the above.
280 "//chrome", # TODO(GYP)
281 "//chrome/test:browser_tests", # TODO(GYP)
282 "//chrome/test:interactive_ui_tests", # TODO(GYP)
283 "//chrome/test:sync_integration_tests", # TODO(GYP)
284 "//chrome/test:unit_tests", # TODO(GYP)
285 "//components:components_unittests", # TODO(GYP)
286 "//content/test:content_browsertests", # TODO(GYP)
287 "//content/test:content_perftests", # TODO(GYP)
288 "//content/test:content_unittests", # TODO(GYP)
289 "//extensions:extensions_browsertests", # TODO(GYP)
290 "//extensions:extensions_unittests", # TODO(GYP)
291 "//net:net_unittests", # TODO(GYP)
292 "//third_party/usrsctp", # TODO(GYP)
293 "//ui/app_list:app_list_unittests", # TODO(GYP)
294 "//ui/gfx:gfx_unittests", # TODO(GYP)
297 deps += [ "//ui/metro_viewer" ]
299 "//crypto:crypto_unittests", # TODO(GYP)
300 "//net:net_unittests", # TODO(GYP)
306 # This group corresponds to the list of tests run on the waterfall for
307 # desktop Linux GYP builds from testing/buildbot/chromium.linux.json. It's
308 # here to help track GYP -> GN conversion progress.
309 group("linux_default_tests") {
312 # components_browsertests TODO(GYP)
313 # device_unittests TODO(GYP)
314 # nacl_loader_unittests TODO(GYP)
315 # ppapi_unittests TODO(GYP)
316 # remoting_unittests TODO(GYP)
318 "//base:base_unittests", # PASSES (*) 2/25/2015
319 "//cc:cc_unittests", # PASSES 2/25/2015
320 "//chrome/test:browser_tests",
321 "//chrome/test:interactive_ui_tests",
322 "//chrome/test:sync_integration_tests", # Crashes for brettw in GN and GYP.
323 "//chrome/test:unit_tests", # PASSES 2/25/2015
324 "//chrome/test/chromedriver:chromedriver_unittests", # PASSES 2/25/2015
325 "//components:components_unittests", # PASSES 2/27/2015
326 "//content/test:content_browsertests",
327 "//content/test:content_unittests", # PASSES 2/25/2015
328 "//crypto:crypto_unittests", # PASSES 2/25/2015
329 "//dbus:dbus_unittests", # PASSES 2/25/2015
330 "//extensions:extensions_browsertests", # PASSES 2/25/2015
331 "//extensions:extensions_unittests", # PASSES 2/25/2015
332 "//extensions/shell:app_shell_unittests", # PASSES 2/25/2015
333 "//google_apis/gcm:gcm_unit_tests", # PASSES 2/25/2015
334 "//google_apis:google_apis_unittests", # PASSES 2/25/2015
335 "//gpu:gpu_unittests", # PASSES 2/25/2015
336 "//ipc:ipc_tests", # PASSES 2/25/2015
337 "//ipc/mojo:ipc_mojo_unittests", # PASSES 2/25/2015
338 "//jingle:jingle_unittests", # PASSES 2/25/2015
339 "//media/cast:cast_unittests", # PASSES 2/25/2015
340 "//media:media_unittests", # TODO(GYP) MidiManagerTest fails.
341 "//mojo/common:mojo_common_unittests", # PASSES 2/25/2015
342 "//net:net_unittests", # PASSES 2/25/2015
343 "//printing:printing_unittests", # PASSES 2/25/2015
344 "//sandbox/linux:sandbox_linux_unittests", # PASSES 2/25/2015
345 "//skia:skia_unittests", # PASSES 2/25/2015
346 "//sql:sql_unittests", # PASSES 2/25/2015
347 "//sync:sync_unit_tests", # PASSES 2/25/2015
348 "//third_party/cacheinvalidation:cacheinvalidation_unittests", # PASSES 2/25/2015
349 "//third_party/mojo/src/mojo/edk/system:mojo_system_unittests", # PASSES 2/25/2015
350 "//third_party/mojo/src/mojo/edk/test:mojo_public_bindings_unittests", # PASSES 2/25/2015
351 "//third_party/mojo/src/mojo/edk/test:mojo_public_environment_unittests", # PASSES 2/25/2015
352 "//third_party/mojo/src/mojo/edk/test:mojo_public_system_unittests", # PASSES 2/25/2015
353 "//ui/accessibility:accessibility_unittests", # PASSES 2/25/2015
354 "//ui/app_list:app_list_unittests", # PASSES 2/25/2015
355 "//ui/aura:aura_unittests", # PASSES 2/25/2015
356 "//ui/base:ui_base_unittests", # TODO(GYP) ResourceBundleTest.* fails.
357 "//ui/compositor:compositor_unittests", # PASSES 2/25/2015
358 "//ui/display:display_unittests", # PASSES 2/25/2015
359 "//ui/events:events_unittests", # PASSES 2/25/2015
360 "//ui/gfx:gfx_unittests", # PASSES 2/25/2015
361 "//ui/touch_selection:ui_touch_selection_unittests", # PASSES 2/25/2015
362 "//ui/views:views_unittests", # PASSES (*) 2/25/2015
363 "//ui/wm:wm_unittests", # PASSES 2/25/2015
364 "//url:url_unittests", # PASSES 2/25/2015
367 # (*) Fails but failures match GYP build at time of testing.