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

Side by Side Diff: BUILD.gn

Issue 1411183010: Make MB aware of iOS bot configs and get iOS working. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add passthrough mode to MB, move MB configuration into //ios files Created 5 years, 1 month 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
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/sanitizers/sanitizers.gni") 12 import("//build/config/sanitizers/sanitizers.gni")
13 import("//build/config/ui.gni") 13 import("//build/config/ui.gni")
14 import("//build_overrides/v8.gni") 14 import("//build_overrides/v8.gni")
15 import("//media/media_options.gni") 15 import("//media/media_options.gni")
16 16
17 if (is_android) { 17 if (is_android) {
18 import("//build/config/android/config.gni") 18 import("//build/config/android/config.gni")
19 } 19 }
20 20
21 declare_args() { 21 declare_args() {
22 # A list of extra dependencies to add to the root target. This allows a 22 # A list of extra dependencies to add to the root target. This allows a
23 # checkout to add additional targets without explicitly changing any checked- 23 # checkout to add additional targets without explicitly changing any checked-
24 # in files. 24 # in files.
25 root_extra_deps = [] 25 root_extra_deps = []
26 } 26 }
27 27
28 # This file defines the following four main targets: 28 # This file defines the following five main targets:
29 # 29 #
30 # "both_gn_and_gyp" should list every root target (target that nothing else 30 # "both_gn_and_gyp" should list every root target (target that nothing else
31 # depends on) built by GN that is also built in the GYP build. 31 # depends on) built by GN that is also built in the GYP build.
32 # 32 #
33 # "gn_all" should (transitively) cause everything to be built; if you run 33 # "gn_all" should (transitively) cause everything to be built; if you run
34 # 'ninja gn_all' and then 'ninja all', the second build should do no work. 34 # 'ninja gn_all' and then 'ninja all', the second build should do no work.
35 # 35 #
36 # "gn_only" should list every root target that is *not* intended to be built 36 # "gn_only" should list every root target that is *not* intended to be built in
37 # in a GYP build. Because GN has different rules for deciding what an 'all' 37 # a GYP build. Because GN has different rules for deciding what an 'all' build
38 # build is, this may end up including targets that are actually defined in a 38 # is, this may end up including targets that are actually defined in a GYP
39 # GYP build but not dependencies of GYP's "all" (and so not actually built). 39 # build but not dependencies of GYP's "all" (and so not actually built).
40 # 40 #
41 # "gn_visibility": targets that are normally not visible to top-level targets, 41 # "gn_visibility": targets that are normally not visible to top-level targets,
42 # but are built anyway by "all". Since we don't want any such targets, we 42 # but are built anyway by "all". Since we don't want any such targets, we have
43 # have this placeholder to make sure hidden targets that aren't otherwise 43 # this placeholder to make sure hidden targets that aren't otherwise depended
44 # depended on yet are accounted for. 44 # on yet are accounted for.
45 #
46 # "All" is an alias for "gn_all". It exists for bot compatibility w/ GYP for
47 # the iOS bots, but should not be generally used during the GYP->GN migration.
48 # We cannot guarantee that GN's "All" builds the same set of targets as GYP's
49 # "All" does, because GYP's "All" supports wildcards.
50 #
51 # Lastly, none of these targets are guaranteed to be the same as what ninja
52 # will build with "all". For more on how "all" works and the differences in how
53 # GYP and GN determine "all", see crbug.com/503241.
45 # 54 #
46 # TODO(GYP): crbug.com/481694. Make sure that the above is true and there are 55 # TODO(GYP): crbug.com/481694. Make sure that the above is true and there are
47 # scripts run on the bots that enforce this. Once the GYP migration is over, 56 # scripts run on the bots that enforce this. Once the GYP migration is over, we
48 # we can collapse all of these targets as desired. 57 # can collapse all of these targets as desired.
49 58
50 group("gn_all") { 59 group("gn_all") {
51 testonly = true 60 testonly = true
52 61
53 deps = [ 62 deps = [
54 ":both_gn_and_gyp", 63 ":both_gn_and_gyp",
55 ":gn_only", 64 ":gn_only",
56 ":gn_visibility", 65 ":gn_visibility",
57 ] 66 ]
58 } 67 }
59 68
69 # TODO(GYP): This target exists for compatibility with GYP, specifically
70 # for the iOS bots. We should update the iOS bots to not pass 'All'.
71 group("All") {
72 testonly = true
73
74 deps = [
75 ":gn_all",
76 ]
77 }
78
60 # The "both_gn_and_gyp" target should reflect every target that is built 79 # The "both_gn_and_gyp" target should reflect every target that is built
61 # in both the GN and GYP builds, and ideally it should match the 80 # in both the GN and GYP builds, and ideally it should match the
62 # "both_gn_and_gyp" target in build/gn_migration.gypi line-for-line. 81 # "both_gn_and_gyp" target in build/gn_migration.gypi line-for-line.
63 # 82 #
64 # TODO(GYP): Add build steps that check and enforce this on the bots. 83 # TODO(GYP): Add build steps that check and enforce this on the bots.
65 group("both_gn_and_gyp") { 84 group("both_gn_and_gyp") {
66 testonly = true 85 testonly = true
67 deps = [ 86 deps = [
68 "//base:base_unittests", 87 "//base:base_unittests",
69 "//chrome/installer", 88 "//chrome/installer",
(...skipping 728 matching lines...) Expand 10 before | Expand all | Expand 10 after
798 if (target_cpu == "x86") { 817 if (target_cpu == "x86") {
799 deps += [ 818 deps += [
800 # "//content/shell:crash_service_win64", TODO(GYP): crbug.com/537009 819 # "//content/shell:crash_service_win64", TODO(GYP): crbug.com/537009
801 ] 820 ]
802 } 821 }
803 } else { 822 } else {
804 deps += [ "//breakpad:minidump_stackwalk($host_toolchain)" ] 823 deps += [ "//breakpad:minidump_stackwalk($host_toolchain)" ]
805 } 824 }
806 } 825 }
807 } 826 }
OLDNEW
« no previous file with comments | « no previous file | ios/build/bots/chromium.mac/iOS_Device_GN.json » ('j') | ios/build/bots/chromium.mac/iOS_Device_GN.json » ('J')

Powered by Google App Engine
This is Rietveld 408576698