Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(17)

Side by Side Diff: BUILD.gn

Issue 967683003: Re-land "Clean up the top level BUILD.gn file." (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: merge to #318628 Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 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 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 # This is the root build file for GN. GN will start processing by loading this 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 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 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 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. 9 # file to your new one or GN won't know about it.
10 10
11 import("//build/config/features.gni") 11 import("//build/config/features.gni")
12 import("//build/config/ui.gni") 12 import("//build/config/ui.gni")
13 13
14 if (is_android) { 14 if (is_android) {
15 import("//build/config/android/config.gni") 15 import("//build/config/android/config.gni")
16 } 16 }
17 17
18 declare_args() { 18 declare_args() {
19 # A list of extra dependencies to add to the root target. This allows a 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- 20 # checkout to add additional targets without explicitly changing any checked-
21 # in files. 21 # in files.
22 root_extra_deps = [] 22 root_extra_deps = []
23 } 23 }
24 24
25 group("gyp_all") { 25 # The "gn_all" target should list every root target (target that
26 testonly = true 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.
29 #
30 # In addition, the "gn_all" target serves to pull in all of the other
31 # build files needed for the build.
32 #
33 # TODO(GYP): make sure that the above is true and there are scripts run
34 # on the bots that enforce this.
27 35
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
31 # gn_all.
32
33 deps = [
34 ":gn_all",
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)
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.
52 group("gn_all") { 36 group("gn_all") {
53 testonly = true 37 testonly = true
54 38
55 deps = [ 39 deps = [
56 "//base:base_unittests", 40 "//base:base_unittests",
57 "//cc:cc_unittests", 41 "//cc:cc_unittests",
58 "//chrome", 42 "//chrome",
59 "//chrome/test:browser_tests", 43 "//chrome/test:browser_tests",
60 "//chrome/test:interactive_ui_tests", 44 "//chrome/test:interactive_ui_tests",
61 "//chrome/test:sync_integration_tests", 45 "//chrome/test:sync_integration_tests",
62 "//chrome/test:unit_tests", 46 "//chrome/test:unit_tests",
63 "//chrome/test/chromedriver:chromedriver_unittests", 47 "//chrome/test/chromedriver:chromedriver_unittests",
64 "//components:components_unittests", 48 "//components:components_unittests",
65 "//content/shell:content_shell", 49 "//content/shell:content_shell",
66 "//content/test:content_browsertests", 50 "//content/test:content_browsertests",
67 "//content/test:content_perftests", 51 "//content/test:content_perftests",
68 "//content/test:content_unittests", 52 "//content/test:content_unittests",
69 "//crypto:crypto_unittests", 53 "//crypto:crypto_unittests",
70 "//extensions:extensions_browsertests", 54 "//extensions:extensions_browsertests",
71 "//extensions:extensions_unittests", 55 "//extensions:extensions_unittests",
72 "//google_apis/gcm:gcm_unit_tests", 56 "//google_apis/gcm:gcm_unit_tests",
73 "//gpu:gpu_unittests", 57 "//gpu:gpu_unittests",
74 "//ipc:ipc_tests", 58 "//ipc:ipc_tests",
75 "//ipc/mojo:ipc_mojo_unittests", 59 "//ipc/mojo:ipc_mojo_unittests",
76 "//jingle:jingle_unittests", 60 "//jingle:jingle_unittests",
77 "//media:media_unittests", 61 "//media:media_unittests",
78 "//media/mojo", # only builds in mojo
79 "//media/cast:cast_unittests", 62 "//media/cast:cast_unittests",
80 "//mojo", 63 "//mojo",
81 "//mojo/common:mojo_common_unittests", 64 "//mojo/common:mojo_common_unittests",
82
83 # "//mojo/services/html_viewer:tests", # TODO(GYP): Do we need this?
84 "//net:net_unittests", 65 "//net:net_unittests",
85 "//ppapi/examples", # TODO(GYP): What's the GYP equivalent? 66 "//ppapi/examples", # TODO(GYP): What's the GYP equivalent?
86 "//printing:printing_unittests", 67 "//printing:printing_unittests",
87 "//skia:skia_unittests", 68 "//skia:skia_unittests",
88 "//sql:sql_unittests", 69 "//sql:sql_unittests",
89 "//sync:sync_unit_tests", 70 "//sync:sync_unit_tests",
90 71 "//third_party/WebKit/public:blink_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", 72 "//third_party/cacheinvalidation:cacheinvalidation_unittests",
98
99 # TODO(GYP): This is needed only w/ cld_version==1. What configs set that?
100 "//third_party/cld",
101 "//third_party/codesighs", 73 "//third_party/codesighs",
102
103 # TODO(GYP): This is needed only w/ use_system_fontconfig==0.
104 # What configs set that?
105 # "//third_party/fontconfig",
106
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", 74 "//third_party/mojo/src/mojo/edk/system:mojo_system_unittests",
111 "//third_party/mojo/src/mojo/edk/test:mojo_public_bindings_unittests", 75 "//third_party/mojo/src/mojo/edk/test:mojo_public_bindings_unittests",
112 "//third_party/mojo/src/mojo/edk/test:mojo_public_environment_unittests", 76 "//third_party/mojo/src/mojo/edk/test:mojo_public_environment_unittests",
113 "//third_party/mojo/src/mojo/edk/test:mojo_public_system_unittests", 77 "//third_party/mojo/src/mojo/edk/test:mojo_public_system_unittests",
114 "//third_party/mojo/src/mojo/edk/test:mojo_public_utility_unittests", 78 "//third_party/mojo/src/mojo/edk/test:mojo_public_utility_unittests",
115 "//third_party/pdfium/samples:pdfium_test", 79 "//third_party/pdfium/samples:pdfium_test",
116
117 # TODO(GYP): Verify that this is no longer needed.
118 "//third_party/smhasher:pmurhash", 80 "//third_party/smhasher:pmurhash",
119
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)", 81 "//tools/imagediff($host_toolchain)",
124 "//tools/gn", 82 "//tools/gn",
125 "//tools/gn:gn_unittests", 83 "//tools/gn:gn_unittests",
126 "//tools/telemetry:bitmaptools($host_toolchain)", 84 "//tools/telemetry:bitmaptools($host_toolchain)",
127 "//ui/accessibility:accessibility_unittests", 85 "//ui/accessibility:accessibility_unittests",
128 "//ui/app_list:app_list_unittests", 86 "//ui/app_list:app_list_unittests",
129 "//ui/base:ui_base_unittests", 87 "//ui/base:ui_base_unittests",
130 "//ui/display:display_unittests", 88 "//ui/display:display_unittests",
131 "//ui/events:events_unittests", 89 "//ui/events:events_unittests",
132 "//ui/gfx:gfx_unittests", 90 "//ui/gfx:gfx_unittests",
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 "//chrome/test:interactive_ui_tests", # TODO(GYP) 240 "//chrome/test:interactive_ui_tests", # TODO(GYP)
283 "//chrome/test:sync_integration_tests", # TODO(GYP) 241 "//chrome/test:sync_integration_tests", # TODO(GYP)
284 "//chrome/test:unit_tests", # TODO(GYP) 242 "//chrome/test:unit_tests", # TODO(GYP)
285 "//components:components_unittests", # TODO(GYP) 243 "//components:components_unittests", # TODO(GYP)
286 "//content/test:content_browsertests", # TODO(GYP) 244 "//content/test:content_browsertests", # TODO(GYP)
287 "//content/test:content_perftests", # TODO(GYP) 245 "//content/test:content_perftests", # TODO(GYP)
288 "//content/test:content_unittests", # TODO(GYP) 246 "//content/test:content_unittests", # TODO(GYP)
289 "//extensions:extensions_browsertests", # TODO(GYP) 247 "//extensions:extensions_browsertests", # TODO(GYP)
290 "//extensions:extensions_unittests", # TODO(GYP) 248 "//extensions:extensions_unittests", # TODO(GYP)
291 "//net:net_unittests", # TODO(GYP) 249 "//net:net_unittests", # TODO(GYP)
292 "//third_party/usrsctp", # TODO(GYP)
293 "//ui/app_list:app_list_unittests", # TODO(GYP) 250 "//ui/app_list:app_list_unittests", # TODO(GYP)
294 "//ui/gfx:gfx_unittests", # TODO(GYP) 251 "//ui/gfx:gfx_unittests", # TODO(GYP)
295 ] 252 ]
296 } else if (is_win) { 253 } else if (is_win) {
297 deps += [ "//ui/metro_viewer" ] 254 deps += [ "//ui/metro_viewer" ]
298 deps -= [ 255 deps -= [
299 "//crypto:crypto_unittests", # TODO(GYP) 256 "//crypto:crypto_unittests", # TODO(GYP)
300 "//net:net_unittests", # TODO(GYP) 257 "//net:net_unittests", # TODO(GYP)
301 ] 258 ]
302 } 259 }
303 } 260 }
304 261
262 group("gn_only") {
263 deps = [
264 "//media/mojo",
265 # "//mojo/services/html_viewer:tests", # TODO(GYP): Do we need this?
266 ]
267 }
268
305 if (is_linux) { 269 if (is_linux) {
306 # This group corresponds to the list of tests run on the waterfall for 270 # 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 271 # desktop Linux GYP builds from testing/buildbot/chromium.linux.json. It's
308 # here to help track GYP -> GN conversion progress. 272 # here to help track GYP -> GN conversion progress.
309 group("linux_default_tests") { 273 group("linux_default_tests") {
310 testonly = true 274 testonly = true
311 deps = [ 275 deps = [
312 # components_browsertests TODO(GYP) 276 # components_browsertests TODO(GYP)
313 # device_unittests TODO(GYP) 277 # device_unittests TODO(GYP)
314 # nacl_loader_unittests TODO(GYP) 278 # nacl_loader_unittests TODO(GYP)
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 "//ui/touch_selection:ui_touch_selection_unittests", # PASSES 2/25/2015 325 "//ui/touch_selection:ui_touch_selection_unittests", # PASSES 2/25/2015
362 "//ui/views:views_unittests", # PASSES (*) 2/25/2015 326 "//ui/views:views_unittests", # PASSES (*) 2/25/2015
363 "//ui/wm:wm_unittests", # PASSES 2/25/2015 327 "//ui/wm:wm_unittests", # PASSES 2/25/2015
364 "//url:url_unittests", # PASSES 2/25/2015 328 "//url:url_unittests", # PASSES 2/25/2015
365 329
366 # Note: 330 # Note:
367 # (*) Fails but failures match GYP build at time of testing. 331 # (*) Fails but failures match GYP build at time of testing.
368 ] 332 ]
369 } 333 }
370 } 334 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698