OLD | NEW |
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/crypto.gni") | 11 import("//build/config/crypto.gni") |
12 import("//build/config/features.gni") | 12 import("//build/config/features.gni") |
13 import("//build/config/ui.gni") | 13 import("//build/config/ui.gni") |
14 import("//build/module_args/v8.gni") | 14 import("//build/module_args/v8.gni") |
15 | 15 |
16 if (is_android) { | 16 if (is_android) { |
17 import("//build/config/android/config.gni") | 17 import("//build/config/android/config.gni") |
18 } | 18 } |
19 | 19 |
20 declare_args() { | 20 declare_args() { |
21 # A list of extra dependencies to add to the root target. This allows a | 21 # A list of extra dependencies to add to the root target. This allows a |
22 # checkout to add additional targets without explicitly changing any checked- | 22 # checkout to add additional targets without explicitly changing any checked- |
23 # in files. | 23 # in files. |
24 root_extra_deps = [] | 24 root_extra_deps = [] |
25 } | 25 } |
26 | 26 |
27 # The "gn_all" target should list every root target (target that | 27 # This file defines the following three main targets: |
28 # nothing else depends on) built by both GN and GYP. One should | |
29 # be able to run 'ninja gn_all gn_only gn_groups' and then run | |
30 # 'ninja' a second time and have the second ninja invocation do nothing. | |
31 # | 28 # |
32 # In addition, the "gn_all" target serves to pull in all of the other | 29 # "both_gn_and_gyp" should list every root target (target that nothing else |
33 # build files needed for the build. | 30 # depends on) built by GN that is also built in the GYP build. |
34 # | 31 # |
35 # TODO(GYP): make sure that the above is true and there are scripts run | 32 # "gn_all" should (transitively) cause everything to be built; if you run |
36 # on the bots that enforce this. | 33 # 'ninja gn_all' and then 'ninja all', the second build should do no work. |
| 34 # |
| 35 # "gn_only" should list every root target that is *not* intended to be built |
| 36 # in a GYP build. Because GN has different rules for deciding what an 'all' |
| 37 # build is, this may end up including targets that are actually defined in a |
| 38 # GYP build but not dependencies of GYP's "all" (and so not actually built). |
| 39 # |
| 40 # TODO(GYP): crbug.com/481694. Make sure that the above is true and there are |
| 41 # scripts run on the bots that enforce this. Once the GYP migration is over, |
| 42 # we can collapse all of these targets as desired. |
37 | 43 |
38 group("gn_all") { | 44 group("gn_all") { |
39 testonly = true | 45 testonly = true |
40 | 46 |
41 deps = [ | 47 deps = [ |
| 48 ":both_gn_and_gyp", |
| 49 ":gn_only", |
| 50 ] |
| 51 } |
| 52 |
| 53 # The "both_gn_and_gyp" target should reflect every target that is built |
| 54 # in both the GN and GYP builds, and ideally it should match the |
| 55 # "both_gn_and_gyp" target in build/gn_migration.gypi line-for-line. |
| 56 # |
| 57 # TODO(GYP): Add build steps that check and enforce this on the bots. |
| 58 group("both_gn_and_gyp") { |
| 59 testonly = true |
| 60 |
| 61 deps = [ |
42 "//base:base_unittests", | 62 "//base:base_unittests", |
43 "//cc:cc_unittests", | 63 "//cc:cc_unittests", |
44 "//chrome", | 64 "//chrome", |
45 "//chrome/test:browser_tests", | 65 "//chrome/test:browser_tests", |
46 "//chrome/test:interactive_ui_tests", | 66 "//chrome/test:interactive_ui_tests", |
47 "//chrome/test:sync_integration_tests", | 67 "//chrome/test:sync_integration_tests", |
48 "//chrome/test:unit_tests", | 68 "//chrome/test:unit_tests", |
49 "//chrome/test/chromedriver:chromedriver_unittests", | 69 "//chrome/test/chromedriver:chromedriver_unittests", |
50 "//components:components_browsertests", | 70 "//components:components_browsertests", |
51 "//components:components_unittests", | 71 "//components:components_unittests", |
52 "//content/shell:content_shell", | 72 "//content/shell:content_shell", |
53 "//content/test:content_browsertests", | 73 "//content/test:content_browsertests", |
54 "//content/test:content_perftests", | 74 "//content/test:content_perftests", |
55 "//content/test:content_unittests", | 75 "//content/test:content_unittests", |
56 "//crypto:crypto_unittests", | 76 "//crypto:crypto_unittests", |
57 "//device:device_unittests", | 77 "//device:device_unittests", |
58 "//extensions:extensions_browsertests", | 78 "//extensions:extensions_browsertests", |
59 "//extensions:extensions_unittests", | 79 "//extensions:extensions_unittests", |
60 "//google_apis/gcm:gcm_unit_tests", | 80 "//google_apis/gcm:gcm_unit_tests", |
61 "//gpu:gpu_unittests", | 81 "//gpu:gpu_unittests", |
62 "//ipc:ipc_tests", | 82 "//ipc:ipc_tests", |
63 "//ipc/mojo:ipc_mojo_unittests", | 83 "//ipc/mojo:ipc_mojo_unittests", |
64 "//jingle:jingle_unittests", | 84 "//jingle:jingle_unittests", |
65 "//mandoline:mandoline_all", | |
66 "//media:media_unittests", | 85 "//media:media_unittests", |
67 "//media/cast:cast_unittests", | 86 "//media/cast:cast_unittests", |
68 "//mojo", | 87 "//mojo", |
69 "//mojo/application", | 88 "//mojo/application", |
70 "//mojo/common:mojo_common_unittests", | 89 "//mojo/common:mojo_common_unittests", |
71 "//net:hpack_example_generator", | 90 "//net:hpack_example_generator", |
72 "//net:hpack_fuzz_mutator", | 91 "//net:hpack_fuzz_mutator", |
73 "//net:hpack_fuzz_wrapper", | 92 "//net:hpack_fuzz_wrapper", |
74 "//net:net_perftests", | 93 "//net:net_perftests", |
75 "//net:net_unittests", | 94 "//net:net_unittests", |
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
546 "//net:net_unittests", # TODO(GYP) | 565 "//net:net_unittests", # TODO(GYP) |
547 ] | 566 ] |
548 } else if (!is_android) { | 567 } else if (!is_android) { |
549 deps += [ "//breakpad:symupload" ] | 568 deps += [ "//breakpad:symupload" ] |
550 } | 569 } |
551 } | 570 } |
552 | 571 |
553 group("gn_only") { | 572 group("gn_only") { |
554 testonly = true | 573 testonly = true |
555 | 574 |
556 deps = [] | 575 deps = [ |
| 576 "//mandoline:mandoline_all", |
| 577 ] |
557 | 578 |
558 if (!is_android && !is_ios) { | 579 if (!is_android && !is_ios) { |
559 deps += [ "//components/proximity_auth:proximity_auth_unittests" ] | 580 deps += [ "//components/proximity_auth:proximity_auth_unittests" ] |
560 } | 581 } |
561 | 582 |
562 if (is_linux && !is_chromeos) { | 583 if (is_linux && !is_chromeos) { |
563 # TODO(GYP): Figure out if any of these should be in gn_all | 584 # TODO(GYP): Figure out if any of these should be in gn_all |
564 # and figure out how cross-platform they are | 585 # and figure out how cross-platform they are |
565 deps += [ | 586 deps += [ |
566 ":gn_mojo_targets", | 587 ":gn_mojo_targets", |
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
820 "//url:url_unittests", # PASSES 4/17/2015 | 841 "//url:url_unittests", # PASSES 4/17/2015 |
821 | 842 |
822 # TODO(GYP) installer_util_unittests | 843 # TODO(GYP) installer_util_unittests |
823 # TODO(GYP) app_installer_unittests | 844 # TODO(GYP) app_installer_unittests |
824 # TODO(GYP) nacl_integration | 845 # TODO(GYP) nacl_integration |
825 # TODO(GYP) telemetry_perf_unittests | 846 # TODO(GYP) telemetry_perf_unittests |
826 # TODO(GYP) telemetry_unittests | 847 # TODO(GYP) telemetry_unittests |
827 ] | 848 ] |
828 } | 849 } |
829 } | 850 } |
OLD | NEW |