blob: 418030e803198153135f8a3636156d0c94bfe175 [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
rockot2f1326e2015-02-23 23:53:5111import("//build/config/features.gni")
[email protected]378b4f02014-06-10 15:58:4512import("//build/config/ui.gni")
dprankee2ef3822015-02-24 21:42:1813
cjhopmanca675d3e2014-10-24 03:50:4514if (is_android) {
15 import("//build/config/android/config.gni")
16}
[email protected]378b4f02014-06-10 15:58:4517
brettwb84b29472014-10-22 22:58:4518declare_args() {
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-
21 # in files.
22 root_extra_deps = []
23}
24
eroman130761b2015-02-27 22:08:0525group("gyp_all") {
26 testonly = true
dprankeff30e3d2015-02-24 06:52:3927
eroman130761b2015-02-27 22:08:0528 # 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
31 # gn_all.
32
33 deps = [
34 ":gn_all",
eroman130761b2015-02-27 22:08:0535 # "//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)
42 ]
43}
44
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.
50
51# In GN, a "group" is a dummy target that just lists other targets.
dprankee2ef3822015-02-24 21:42:1852group("gn_all") {
53 testonly = true
54
55 deps = [
56 "//base:base_unittests",
57 "//cc:cc_unittests",
58 "//chrome",
59 "//chrome/test:browser_tests",
60 "//chrome/test:interactive_ui_tests",
61 "//chrome/test:sync_integration_tests",
62 "//chrome/test:unit_tests",
brettw922d3aa2015-02-27 22:15:4663 "//chrome/test/chromedriver:chromedriver_unittests",
dprankee2ef3822015-02-24 21:42:1864 "//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",
74 "//ipc:ipc_tests",
75 "//ipc/mojo:ipc_mojo_unittests",
76 "//jingle:jingle_unittests",
77 "//media:media_unittests",
eroman130761b2015-02-27 22:08:0578 "//media/mojo", # only builds in mojo
dprankee2ef3822015-02-24 21:42:1879 "//media/cast:cast_unittests",
80 "//mojo",
81 "//mojo/common:mojo_common_unittests",
eroman130761b2015-02-27 22:08:0582
83 # "//mojo/services/html_viewer:tests", # TODO(GYP): Do we need this?
dprankee2ef3822015-02-24 21:42:1884 "//net:net_unittests",
brettwd04372102015-02-27 23:24:2085 "//ppapi:ppapi_unittests",
dprankee2ef3822015-02-24 21:42:1886 "//ppapi/examples", # TODO(GYP): What's the GYP equivalent?
87 "//printing:printing_unittests",
brettwd04372102015-02-27 23:24:2088 "//remoting:remoting_unittests",
dprankee2ef3822015-02-24 21:42:1889 "//skia:skia_unittests",
90 "//sql:sql_unittests",
91 "//sync:sync_unit_tests",
eroman130761b2015-02-27 22:08:0592
93 # TODO(GYP): the Blink test targets should be public, but
94 # currently aren't. all_blink pulls them in, though.
95 # "//third_party/WebKit/Source/platform:heap_unittests",
96 # "//third_party/WebKit/Source/platform:platform_unittests",
97 # "//third_party/WebKit/Source/wtf:wtf_unittests",
98 "//third_party/WebKit/public:all_blink",
dprankee2ef3822015-02-24 21:42:1899 "//third_party/cacheinvalidation:cacheinvalidation_unittests",
eroman130761b2015-02-27 22:08:05100
101 # TODO(GYP): This is needed only w/ cld_version==1. What configs set that?
102 "//third_party/cld",
dprankee2ef3822015-02-24 21:42:18103 "//third_party/codesighs",
eroman130761b2015-02-27 22:08:05104
105 # TODO(GYP): This is needed only w/ use_system_fontconfig==0.
106 # What configs set that?
107 # "//third_party/fontconfig",
108
109 # TODO(GYP): This will be pulled in automatically when enable_webrtc==true.
110 # For now pull it in manually so that it doesn't regress.
111 "//third_party/libsrtp",
dprankee2ef3822015-02-24 21:42:18112 "//third_party/mojo/src/mojo/edk/system:mojo_system_unittests",
113 "//third_party/mojo/src/mojo/edk/test:mojo_public_bindings_unittests",
114 "//third_party/mojo/src/mojo/edk/test:mojo_public_environment_unittests",
115 "//third_party/mojo/src/mojo/edk/test:mojo_public_system_unittests",
116 "//third_party/mojo/src/mojo/edk/test:mojo_public_utility_unittests",
117 "//third_party/pdfium/samples:pdfium_test",
eroman130761b2015-02-27 22:08:05118
119 # TODO(GYP): Verify that this is no longer needed.
dprankee2ef3822015-02-24 21:42:18120 "//third_party/smhasher:pmurhash",
eroman130761b2015-02-27 22:08:05121
122 # TODO(GYP): This will be pulled in automatically when enable_webrtc==true.
123 # For now pull it in manually so that it doesn't regress.
124 "//third_party/usrsctp",
dprankee2ef3822015-02-24 21:42:18125 "//tools/imagediff($host_toolchain)",
126 "//tools/gn",
127 "//tools/gn:gn_unittests",
128 "//tools/telemetry:bitmaptools($host_toolchain)",
129 "//ui/accessibility:accessibility_unittests",
130 "//ui/app_list:app_list_unittests",
131 "//ui/base:ui_base_unittests",
132 "//ui/display:display_unittests",
133 "//ui/events:events_unittests",
134 "//ui/gfx:gfx_unittests",
135 "//ui/touch_selection:ui_touch_selection_unittests",
136 "//url:url_unittests",
137 ]
138
scottmg34fb7e52014-12-03 23:27:24139 deps += root_extra_deps
[email protected]fce5c3fe2014-04-10 21:13:05140
dpranke021d4c92015-02-24 02:08:25141 # TODO(GYP): Get this working on the mac?
142 if (enable_extensions && !is_mac) {
rockot2f1326e2015-02-23 23:53:51143 deps += [ "//extensions/shell:app_shell_unittests" ]
144 }
145
[email protected]6fa82cc2014-06-18 20:33:07146 if (!is_win) {
[email protected]f8d55d32014-06-19 20:02:29147 deps += [ "//breakpad:symupload" ]
[email protected]6fa82cc2014-06-18 20:33:07148 }
149
[email protected]6b9028ab2014-07-23 17:15:38150 if (use_x11) {
151 deps += [ "//tools/xdisplaycheck" ]
152 }
153
dprankee2ef3822015-02-24 21:42:18154 if (toolkit_views) {
155 deps += [ "//ui/views:views_unittests" ]
James Robinson060f2e32014-09-10 22:31:37156 }
157
dprankee2ef3822015-02-24 21:42:18158 if (use_aura) {
159 deps += [ "//ui/wm:wm_unittests" ]
160 }
161
162 if (use_ozone) {
163 deps += [
164 "//ui/ozone",
165 "//ui/ozone/demo", # GN only
166 ]
[email protected]a306aaa2014-05-24 13:21:50167 }
168
[email protected]2d6893a2014-06-02 19:16:36169 if (is_win || is_mac || is_chromeos) {
170 # RLZ works on these platforms.
dprankee2ef3822015-02-24 21:42:18171 # TODO(GYP): Is this target needed, or pulled in automatically?
scottmg34fb7e52014-12-03 23:27:24172 deps += [ "//rlz:rlz_lib" ]
[email protected]2d6893a2014-06-02 19:16:36173 }
174
[email protected]5a8d5162014-04-12 01:19:16175 if (is_android) {
[email protected]26046b52014-07-16 00:11:03176 deps += [
cjhopman31511332014-10-23 01:05:02177 "//base/android/linker:chromium_android_linker",
cjhopman3d85c6d2014-11-18 03:39:38178 "//build/android/gyp/test:hello_world",
cjhopman31511332014-10-23 01:05:02179 "//build/android/rezip",
hiroshigee6d374c2015-02-24 07:54:06180 "//chrome/android:chrome_shell_apk",
hiroshigee6d374c2015-02-24 07:54:06181 "//chrome/test/chromedriver/test/webview_shell:chromedriver_webview_shell_apk",
dprankee2ef3822015-02-24 21:42:18182 "//tools/imagediff($host_toolchain)",
183
184 # TODO(GYP): Remove these when the components_unittests work.
185 "//components/history/core/test:test",
186 "//components/policy:policy_component_test_support",
187 "//components/policy:test_support",
188 "//components/rappor:test_support",
189 "//components/signin/core/browser:test_support",
190 "//components/sync_driver:test_support",
191 "//components/user_manager",
192 "//components/wallpaper",
193 "//content/shell/android:content_shell_apk",
194
195 # TODO(GYP): Are these needed, or will they be pulled in automatically?
[email protected]684b2292014-08-22 19:12:39196 "//third_party/android_tools:android_gcm_java",
197 "//third_party/android_tools:uiautomator_java",
198 "//third_party/android_tools:android_support_v13_java",
199 "//third_party/android_tools:android_support_v7_appcompat_java",
200 "//third_party/android_tools:android_support_v7_mediarouter_java",
dprankee2ef3822015-02-24 21:42:18201 "//third_party/mesa",
mikecase85e83ed2014-12-08 19:18:29202 "//third_party/mockito:mockito_java",
dprankee2ef3822015-02-24 21:42:18203 "//third_party/openmax_dl/dl",
204 "//third_party/speex",
205 "//ui/android:ui_java",
206
207 # TODO(GYP): Are these needed?
208 "//chrome/test:test_support_unit",
209 "//third_party/smhasher:murmurhash3",
210 "//ui/message_center:test_support",
211 ]
212 deps -= [
213 "//breakpad:symupload", # TODO(GYP) ??
214 "//chrome", # TODO(GYP) ??
215 "//chrome/test:browser_tests", # TODO(GYP) ??
216 "//chrome/test:interactive_ui_tests", # TODO(GYP) ??
217 "//chrome/test:sync_integration_tests", # TODO(GYP) ??
218 "//chrome/test:unit_tests", # TODO(GYP)
brettw922d3aa2015-02-27 22:15:46219
220 # Chromedriver shouldn't be compiled on Android.
221 "//chrome/test/chromedriver:chromedriver_unittests",
dprankee2ef3822015-02-24 21:42:18222 "//extensions:extensions_browsertests",
223 "//extensions:extensions_unittests",
224 "//google_apis/gcm:gcm_unit_tests",
225 "//ipc:ipc_tests", # TODO(GYP) ??
226 "//jingle:jingle_unittests", # TODO(GYP) ??
227 "//net:net_unittests",
228 "//ppapi/examples",
229 "//third_party/pdfium/samples:pdfium_test",
230 "//tools/gn",
231 "//tools/gn:gn_unittests",
232 "//ui/app_list:app_list_unittests",
233 "//url:url_unittests",
[email protected]26046b52014-07-16 00:11:03234 ]
235
cjhopmanca675d3e2014-10-24 03:50:45236 if (has_chrome_android_internal) {
dprankee2ef3822015-02-24 21:42:18237 deps += [ "//clank" ] # TODO(GYP) ??
cjhopmanca675d3e2014-10-24 03:50:45238 }
dprankee2ef3822015-02-24 21:42:18239 } else if (is_linux) {
hiroshigee6d374c2015-02-24 07:54:06240 deps += [
dprankee2ef3822015-02-24 21:42:18241 "//dbus:dbus_unittests",
242 "//sandbox/linux:sandbox_linux_unittests",
hiroshigee6d374c2015-02-24 07:54:06243 ]
dprankee2ef3822015-02-24 21:42:18244 } else if (is_mac) {
tfarina9e7cf702015-02-23 21:13:44245 deps += [
246 "//third_party/apple_sample_code",
247 "//third_party/molokocacao",
248 ]
249
dprankee2ef3822015-02-24 21:42:18250 # TODO(GYP): Remove these when the targets below work and these
251 # are pulled in automatically.
252 deps += [
253 "//cc/blink",
254 "//components/ui/zoom:ui_zoom",
255 "//content",
256 "//content/test:test_support",
257 "//device/battery",
258 "//device/bluetooth",
259 "//device/nfc",
260 "//device/usb",
261 "//device/vibration",
262 "//media/blink",
263 "//pdf",
264 "//storage/browser",
265 "//third_party/brotli",
266 "//third_party/flac",
267 "//third_party/hunspell",
268 "//third_party/iccjpeg",
269 "//third_party/libphonenumber",
270 "//third_party/ots",
271 "//third_party/qcms",
272 "//third_party/smhasher:murmurhash3",
273 "//third_party/speex",
274 "//third_party/webrtc/system_wrappers",
275 "//ui/native_theme",
276 "//ui/snapshot",
277 "//ui/surface",
278 ]
279
dprankecf8465db72014-11-10 23:51:22280 # TODO(dpranke): These are as-yet untriaged but need at least the above.
dpranke43760592014-11-08 02:59:57281 deps -= [
dprankee2ef3822015-02-24 21:42:18282 "//chrome", # TODO(GYP)
283 "//chrome/test:browser_tests", # TODO(GYP)
284 "//chrome/test:interactive_ui_tests", # TODO(GYP)
285 "//chrome/test:sync_integration_tests", # TODO(GYP)
286 "//chrome/test:unit_tests", # TODO(GYP)
287 "//components:components_unittests", # TODO(GYP)
288 "//content/test:content_browsertests", # TODO(GYP)
289 "//content/test:content_perftests", # TODO(GYP)
290 "//content/test:content_unittests", # TODO(GYP)
291 "//extensions:extensions_browsertests", # TODO(GYP)
292 "//extensions:extensions_unittests", # TODO(GYP)
293 "//net:net_unittests", # TODO(GYP)
294 "//third_party/usrsctp", # TODO(GYP)
295 "//ui/app_list:app_list_unittests", # TODO(GYP)
296 "//ui/gfx:gfx_unittests", # TODO(GYP)
dprankecf8465db72014-11-10 23:51:22297 ]
dprankee2ef3822015-02-24 21:42:18298 } else if (is_win) {
299 deps += [ "//ui/metro_viewer" ]
300 deps -= [
301 "//crypto:crypto_unittests", # TODO(GYP)
302 "//net:net_unittests", # TODO(GYP)
303 ]
mohsenf837da7c2014-12-09 19:01:34304 }
[email protected]f0e7ff882013-12-26 21:23:09305}
brettw533c50422015-02-26 17:49:16306
307if (is_linux) {
308 # This group corresponds to the list of tests run on the waterfall for
309 # desktop Linux GYP builds from testing/buildbot/chromium.linux.json. It's
310 # here to help track GYP -> GN conversion progress.
311 group("linux_default_tests") {
312 testonly = true
313 deps = [
brettw533c50422015-02-26 17:49:16314 # components_browsertests TODO(GYP)
315 # device_unittests TODO(GYP)
316 # nacl_loader_unittests TODO(GYP)
brettw533c50422015-02-26 17:49:16317
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",
brettw922d3aa2015-02-27 22:15:46322 "//chrome/test:sync_integration_tests", # Crashes for brettw in GN and GYP.
brettw533c50422015-02-26 17:49:16323 "//chrome/test:unit_tests", # PASSES 2/25/2015
brettw922d3aa2015-02-27 22:15:46324 "//chrome/test/chromedriver:chromedriver_unittests", # PASSES 2/25/2015
brettw77b58722015-02-27 23:35:06325 "//components:components_unittests", # PASSES 2/27/2015
brettw533c50422015-02-26 17:49:16326 "//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
brettwd04372102015-02-27 23:24:20343 "//ppapi:ppapi_unittests", # PASSES 2/26/2015
brettw533c50422015-02-26 17:49:16344 "//printing:printing_unittests", # PASSES 2/25/2015
brettwd04372102015-02-27 23:24:20345 "//remoting:remoting_unittests", # Some crashes.
brettw533c50422015-02-26 17:49:16346 "//sandbox/linux:sandbox_linux_unittests", # PASSES 2/25/2015
347 "//skia:skia_unittests", # PASSES 2/25/2015
348 "//sql:sql_unittests", # PASSES 2/25/2015
349 "//sync:sync_unit_tests", # PASSES 2/25/2015
350 "//third_party/cacheinvalidation:cacheinvalidation_unittests", # PASSES 2/25/2015
351 "//third_party/mojo/src/mojo/edk/system:mojo_system_unittests", # PASSES 2/25/2015
352 "//third_party/mojo/src/mojo/edk/test:mojo_public_bindings_unittests", # PASSES 2/25/2015
353 "//third_party/mojo/src/mojo/edk/test:mojo_public_environment_unittests", # PASSES 2/25/2015
354 "//third_party/mojo/src/mojo/edk/test:mojo_public_system_unittests", # PASSES 2/25/2015
355 "//ui/accessibility:accessibility_unittests", # PASSES 2/25/2015
356 "//ui/app_list:app_list_unittests", # PASSES 2/25/2015
357 "//ui/aura:aura_unittests", # PASSES 2/25/2015
358 "//ui/base:ui_base_unittests", # TODO(GYP) ResourceBundleTest.* fails.
359 "//ui/compositor:compositor_unittests", # PASSES 2/25/2015
360 "//ui/display:display_unittests", # PASSES 2/25/2015
361 "//ui/events:events_unittests", # PASSES 2/25/2015
362 "//ui/gfx:gfx_unittests", # PASSES 2/25/2015
363 "//ui/touch_selection:ui_touch_selection_unittests", # PASSES 2/25/2015
364 "//ui/views:views_unittests", # PASSES (*) 2/25/2015
365 "//ui/wm:wm_unittests", # PASSES 2/25/2015
366 "//url:url_unittests", # PASSES 2/25/2015
367
368 # Note:
369 # (*) Fails but failures match GYP build at time of testing.
370 ]
371 }
372}