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-
25 # The "gn_all" target should list every root target (target that
26 # nothing else depends on) built by both GN and GYP. One should
27 # be able to run 'ninja gn_all gn_only gn_groups' and then run
28 # 'ninja' a second time and have the second ninja invocation do nothing.
30 # In addition, the "gn_all" target serves to pull in all of the other
31 # build files needed for the build.
33 # TODO(GYP): make sure that the above is true and there are scripts run
34 # on the bots that enforce this.
40 "//base:base_unittests",
43 "//chrome/test:browser_tests",
44 "//chrome/test:interactive_ui_tests",
45 "//chrome/test:sync_integration_tests",
46 "//chrome/test:unit_tests",
47 "//chrome/test/chromedriver:chromedriver_unittests",
48 "//components:components_unittests",
49 "//content/shell:content_shell",
50 "//content/test:content_browsertests",
51 "//content/test:content_perftests",
52 "//content/test:content_unittests",
53 "//crypto:crypto_unittests",
54 "//extensions:extensions_browsertests",
55 "//extensions:extensions_unittests",
56 "//google_apis/gcm:gcm_unit_tests",
57 "//gpu:gpu_unittests",
59 "//ipc/mojo:ipc_mojo_unittests",
60 "//jingle:jingle_unittests",
61 "//media:media_unittests",
62 "//media/cast:cast_unittests",
64 "//mojo/common:mojo_common_unittests",
65 "//net:net_unittests",
66 "//ppapi:ppapi_unittests",
67 "//ppapi/examples", # TODO(GYP): What's the GYP equivalent?
68 "//printing:printing_unittests",
69 "//skia:skia_unittests",
70 "//sql:sql_unittests",
71 "//sync:sync_unit_tests",
72 "//third_party/WebKit/public:blink_tests",
73 "//third_party/cacheinvalidation:cacheinvalidation_unittests",
74 "//third_party/codesighs",
75 "//third_party/mojo/src/mojo/edk/system:mojo_system_unittests",
76 "//third_party/mojo/src/mojo/edk/test:mojo_public_bindings_unittests",
77 "//third_party/mojo/src/mojo/edk/test:mojo_public_environment_unittests",
78 "//third_party/mojo/src/mojo/edk/test:mojo_public_system_unittests",
79 "//third_party/mojo/src/mojo/edk/test:mojo_public_utility_unittests",
80 "//third_party/pdfium/samples:pdfium_test",
81 "//third_party/smhasher:pmurhash",
82 "//tools/imagediff($host_toolchain)",
84 "//tools/gn:gn_unittests",
85 "//tools/telemetry:bitmaptools($host_toolchain)",
86 "//ui/accessibility:accessibility_unittests",
87 "//ui/app_list:app_list_unittests",
88 "//ui/base:ui_base_unittests",
89 "//ui/display:display_unittests",
90 "//ui/events:events_unittests",
91 "//ui/gfx:gfx_unittests",
92 "//ui/touch_selection:ui_touch_selection_unittests",
93 "//url:url_unittests",
96 deps += root_extra_deps
98 # TODO(GYP): Get this working on the mac?
99 if (enable_extensions && !is_mac) {
100 deps += [ "//extensions/shell:app_shell_unittests" ]
104 deps += [ "//remoting:remoting_unittests" ]
108 deps += [ "//breakpad:symupload" ]
112 deps += [ "//tools/xdisplaycheck" ]
116 deps += [ "//ui/views:views_unittests" ]
120 deps += [ "//ui/wm:wm_unittests" ]
126 "//ui/ozone/demo", # GN only
130 if (is_win || is_mac || is_chromeos) {
131 # RLZ works on these platforms.
132 # TODO(GYP): Is this target needed, or pulled in automatically?
133 deps += [ "//rlz:rlz_lib" ]
138 "//base/android/linker:chromium_android_linker",
139 "//build/android/gyp/test:hello_world",
140 "//build/android/rezip",
141 "//chrome/android:chrome_shell_apk",
142 "//chrome/test/chromedriver/test/webview_shell:chromedriver_webview_shell_apk",
143 "//tools/imagediff($host_toolchain)",
145 # TODO(GYP): Remove these when the components_unittests work.
146 "//components/history/core/test:test",
147 "//components/policy:policy_component_test_support",
148 "//components/policy:test_support",
149 "//components/rappor:test_support",
150 "//components/signin/core/browser:test_support",
151 "//components/sync_driver:test_support",
152 "//components/user_manager",
153 "//components/wallpaper",
154 "//content/shell/android:content_shell_apk",
156 # TODO(GYP): Are these needed, or will they be pulled in automatically?
157 "//third_party/android_tools:android_gcm_java",
158 "//third_party/android_tools:uiautomator_java",
159 "//third_party/android_tools:android_support_v13_java",
160 "//third_party/android_tools:android_support_v7_appcompat_java",
161 "//third_party/android_tools:android_support_v7_mediarouter_java",
162 "//third_party/mesa",
163 "//third_party/mockito:mockito_java",
164 "//third_party/openmax_dl/dl",
165 "//third_party/speex",
166 "//ui/android:ui_java",
168 # TODO(GYP): Are these needed?
169 "//chrome/test:test_support_unit",
170 "//third_party/smhasher:murmurhash3",
171 "//ui/message_center:test_support",
174 "//breakpad:symupload", # TODO(GYP) ??
175 "//chrome", # TODO(GYP) ??
176 "//chrome/test:browser_tests", # TODO(GYP) ??
177 "//chrome/test:interactive_ui_tests", # TODO(GYP) ??
178 "//chrome/test:sync_integration_tests", # TODO(GYP) ??
179 "//chrome/test:unit_tests", # TODO(GYP)
181 # Chromedriver shouldn't be compiled on Android.
182 "//chrome/test/chromedriver:chromedriver_unittests",
183 "//extensions:extensions_browsertests",
184 "//extensions:extensions_unittests",
185 "//google_apis/gcm:gcm_unit_tests",
186 "//ipc:ipc_tests", # TODO(GYP) ??
187 "//jingle:jingle_unittests", # TODO(GYP) ??
188 "//net:net_unittests",
190 "//third_party/pdfium/samples:pdfium_test",
192 "//tools/gn:gn_unittests",
193 "//ui/app_list:app_list_unittests",
194 "//url:url_unittests",
197 if (has_chrome_android_internal) {
198 deps += [ "//clank" ] # TODO(GYP) ??
200 } else if (is_linux) {
202 "//dbus:dbus_unittests",
203 "//sandbox/linux:sandbox_linux_unittests",
207 "//third_party/apple_sample_code",
208 "//third_party/molokocacao",
211 # TODO(GYP): Remove these when the targets below work and these
212 # are pulled in automatically.
215 "//components/ui/zoom:ui_zoom",
217 "//content/test:test_support",
219 "//device/bluetooth",
222 "//device/vibration",
226 "//third_party/brotli",
227 "//third_party/flac",
228 "//third_party/hunspell",
229 "//third_party/iccjpeg",
230 "//third_party/libphonenumber",
232 "//third_party/qcms",
233 "//third_party/smhasher:murmurhash3",
234 "//third_party/speex",
235 "//third_party/webrtc/system_wrappers",
241 # TODO(dpranke): These are as-yet untriaged but need at least the above.
243 "//chrome", # TODO(GYP)
244 "//chrome/test:browser_tests", # TODO(GYP)
245 "//chrome/test:interactive_ui_tests", # TODO(GYP)
246 "//chrome/test:sync_integration_tests", # TODO(GYP)
247 "//chrome/test:unit_tests", # TODO(GYP)
248 "//components:components_unittests", # TODO(GYP)
249 "//content/test:content_browsertests", # TODO(GYP)
250 "//content/test:content_perftests", # TODO(GYP)
251 "//content/test:content_unittests", # TODO(GYP)
252 "//extensions:extensions_browsertests", # TODO(GYP)
253 "//extensions:extensions_unittests", # TODO(GYP)
254 "//net:net_unittests", # TODO(GYP)
255 "//ui/app_list:app_list_unittests", # TODO(GYP)
256 "//ui/gfx:gfx_unittests", # TODO(GYP)
259 deps += [ "//ui/metro_viewer" ]
261 "//crypto:crypto_unittests", # TODO(GYP)
262 "//net:net_unittests", # TODO(GYP)
270 # "//mojo/services/html_viewer:tests", # TODO(GYP): Do we need this?
275 # This group corresponds to the list of tests run on the waterfall for
276 # desktop Linux GYP builds from testing/buildbot/chromium.linux.json. It's
277 # here to help track GYP -> GN conversion progress.
278 group("linux_default_tests") {
281 # components_browsertests TODO(GYP)
282 # device_unittests TODO(GYP)
283 # nacl_loader_unittests TODO(GYP)
285 "//base:base_unittests", # PASSES (*) 2/25/2015
286 "//cc:cc_unittests", # PASSES 2/25/2015
287 "//chrome/test:browser_tests",
288 "//chrome/test:interactive_ui_tests",
289 "//chrome/test:sync_integration_tests", # Crashes for brettw in GN and GYP.
290 "//chrome/test:unit_tests", # PASSES 2/25/2015
291 "//chrome/test/chromedriver:chromedriver_unittests", # PASSES 2/25/2015
292 "//components:components_unittests", # PASSES 2/27/2015
293 "//content/test:content_browsertests",
294 "//content/test:content_unittests", # PASSES 2/25/2015
295 "//crypto:crypto_unittests", # PASSES 2/25/2015
296 "//dbus:dbus_unittests", # PASSES 2/25/2015
297 "//extensions:extensions_browsertests", # PASSES 2/25/2015
298 "//extensions:extensions_unittests", # PASSES 2/25/2015
299 "//extensions/shell:app_shell_unittests", # PASSES 2/25/2015
300 "//google_apis/gcm:gcm_unit_tests", # PASSES 2/25/2015
301 "//google_apis:google_apis_unittests", # PASSES 2/25/2015
302 "//gpu:gpu_unittests", # PASSES 2/25/2015
303 "//ipc:ipc_tests", # PASSES 2/25/2015
304 "//ipc/mojo:ipc_mojo_unittests", # PASSES 2/25/2015
305 "//jingle:jingle_unittests", # PASSES 2/25/2015
306 "//media/cast:cast_unittests", # PASSES 2/25/2015
307 "//media:media_unittests", # PASSES 3/3/2015
308 "//mojo/common:mojo_common_unittests", # PASSES 2/25/2015
309 "//net:net_unittests", # PASSES 2/25/2015
310 "//ppapi:ppapi_unittests", # PASSES 2/26/2015
311 "//printing:printing_unittests", # PASSES 2/25/2015
312 "//remoting:remoting_unittests", # Some crashes.
313 "//sandbox/linux:sandbox_linux_unittests", # PASSES 2/25/2015
314 "//skia:skia_unittests", # PASSES 2/25/2015
315 "//sql:sql_unittests", # PASSES 2/25/2015
316 "//sync:sync_unit_tests", # PASSES 2/25/2015
317 "//third_party/cacheinvalidation:cacheinvalidation_unittests", # PASSES 2/25/2015
318 "//third_party/mojo/src/mojo/edk/system:mojo_system_unittests", # PASSES 2/25/2015
319 "//third_party/mojo/src/mojo/edk/test:mojo_public_bindings_unittests", # PASSES 2/25/2015
320 "//third_party/mojo/src/mojo/edk/test:mojo_public_environment_unittests", # PASSES 2/25/2015
321 "//third_party/mojo/src/mojo/edk/test:mojo_public_system_unittests", # PASSES 2/25/2015
322 "//ui/accessibility:accessibility_unittests", # PASSES 2/25/2015
323 "//ui/app_list:app_list_unittests", # PASSES 2/25/2015
324 "//ui/aura:aura_unittests", # PASSES 2/25/2015
325 "//ui/base:ui_base_unittests", # TODO(GYP) ResourceBundleTest.* fails.
326 "//ui/compositor:compositor_unittests", # PASSES 2/25/2015
327 "//ui/display:display_unittests", # PASSES 2/25/2015
328 "//ui/events:events_unittests", # PASSES 2/25/2015
329 "//ui/gfx:gfx_unittests", # PASSES 2/25/2015
330 "//ui/touch_selection:ui_touch_selection_unittests", # PASSES 2/25/2015
331 "//ui/views:views_unittests", # PASSES (*) 2/25/2015
332 "//ui/wm:wm_unittests", # PASSES 2/25/2015
333 "//url:url_unittests", # PASSES 2/25/2015
336 # (*) Fails but failures match GYP build at time of testing.