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 # "//chrome/test:chromedriver_unittests", # TODO(GYP)
36 # "//components:components_browsertests", # TODO(GYP)
37 # "//components/nacl:nacl_loader_unittests", # TODO(GYP)
38 # "//google_apis:google_apis_unittests", # TODO(GYP)
39 # "//ui/compositor:compositor_unittests", # TODO(GYP)
40 # "//device:device_unittests", # TODO(GYP)
41 # "//ppapi:ppapi_unittests", # TODO(GYP)
42 # "//remoting:remoting_unittests", # TODO(GYP)
46 # The "gn_all" target matches the "gn_all" target in build/all.gyp.
47 # It is not (yet!) the same as building "all".
48 # TODO(GYP): Make it be basically the same as building all, or at least
49 # be sure that we don't want any of the stuff listed in gn_all to
50 # be built by default.
52 # In GN, a "group" is a dummy target that just lists other targets.
57 "//base:base_unittests",
60 "//chrome/test:browser_tests",
61 "//chrome/test:interactive_ui_tests",
62 "//chrome/test:sync_integration_tests",
63 "//chrome/test:unit_tests",
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)
217 "//extensions:extensions_browsertests",
218 "//extensions:extensions_unittests",
219 "//google_apis/gcm:gcm_unit_tests",
220 "//ipc:ipc_tests", # TODO(GYP) ??
221 "//jingle:jingle_unittests", # TODO(GYP) ??
222 "//net:net_unittests",
224 "//third_party/pdfium/samples:pdfium_test",
226 "//tools/gn:gn_unittests",
227 "//ui/app_list:app_list_unittests",
228 "//url:url_unittests",
231 if (has_chrome_android_internal) {
232 deps += [ "//clank" ] # TODO(GYP) ??
234 } else if (is_linux) {
236 "//dbus:dbus_unittests",
237 "//sandbox/linux:sandbox_linux_unittests",
241 "//third_party/apple_sample_code",
242 "//third_party/molokocacao",
245 # TODO(GYP): Remove these when the targets below work and these
246 # are pulled in automatically.
249 "//components/ui/zoom:ui_zoom",
251 "//content/test:test_support",
253 "//device/bluetooth",
256 "//device/vibration",
260 "//third_party/brotli",
261 "//third_party/flac",
262 "//third_party/hunspell",
263 "//third_party/iccjpeg",
264 "//third_party/libphonenumber",
266 "//third_party/qcms",
267 "//third_party/smhasher:murmurhash3",
268 "//third_party/speex",
269 "//third_party/webrtc/system_wrappers",
275 # TODO(dpranke): These are as-yet untriaged but need at least the above.
277 "//chrome", # TODO(GYP)
278 "//chrome/test:browser_tests", # TODO(GYP)
279 "//chrome/test:interactive_ui_tests", # TODO(GYP)
280 "//chrome/test:sync_integration_tests", # TODO(GYP)
281 "//chrome/test:unit_tests", # TODO(GYP)
282 "//components:components_unittests", # TODO(GYP)
283 "//content/test:content_browsertests", # TODO(GYP)
284 "//content/test:content_perftests", # TODO(GYP)
285 "//content/test:content_unittests", # TODO(GYP)
286 "//extensions:extensions_browsertests", # TODO(GYP)
287 "//extensions:extensions_unittests", # TODO(GYP)
288 "//net:net_unittests", # TODO(GYP)
289 "//third_party/usrsctp", # TODO(GYP)
290 "//ui/app_list:app_list_unittests", # TODO(GYP)
291 "//ui/gfx:gfx_unittests", # TODO(GYP)
294 deps += [ "//ui/metro_viewer" ]
296 "//crypto:crypto_unittests", # TODO(GYP)
297 "//net:net_unittests", # TODO(GYP)