blob: f9c011078990d2cc46dc40b319a842921d26cd94 [file] [log] [blame]
Torne (Richard Coles)5d1f7b12014-02-21 12:16:55 +00001# 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
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +010011import("//build/config/ui.gni")
12
Torne (Richard Coles)5d1f7b12014-02-21 12:16:55 +000013# In GN, a "group" is a dummy target that just lists other targets.
14group("root") {
Primiano Tucci1320f922014-09-30 14:45:55 +010015 # This should not be linked into production and depends on test targets.
16 testonly = true
17
Torne (Richard Coles)23730a62014-03-21 14:25:57 +000018 # Note that some dependencies are commented out. These are things that are
19 # currently written but not hooked up to the build yet. They may need to be
20 # completed or possibly just tested and then re-enabled.
Torne (Richard Coles)5d1f7b12014-02-21 12:16:55 +000021 deps = [
Torne (Richard Coles)03b57e02014-08-28 12:05:23 +010022 "//apps",
Ben Murdoch116680a2014-07-20 18:25:52 -070023 "//ash",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010024 "//cc",
Torne (Richard Coles)03b57e02014-08-28 12:05:23 +010025 "//cc/blink",
Ben Murdoch116680a2014-07-20 18:25:52 -070026 "//chrome/browser",
27 "//chrome/browser/devtools",
Torne (Richard Coles)6d86b772014-06-25 10:30:53 +010028 "//chrome/common",
Ben Murdoch116680a2014-07-20 18:25:52 -070029 "//chrome/plugin",
30 "//chrome/renderer",
Ben Murdoch116680a2014-07-20 18:25:52 -070031 "//chrome/utility",
Torne (Richard Coles)6d86b772014-06-25 10:30:53 +010032 "//components:all_components",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +010033 "//content",
Torne (Richard Coles)5f1c9432014-08-12 13:47:38 +010034 "//content/shell:content_shell",
35 "//content/test:test_support",
Ben Murdocha02191e2014-04-16 11:17:03 +010036 "//crypto",
Ben Murdoch116680a2014-07-20 18:25:52 -070037 "//device/bluetooth",
38 "//device/nfc",
Torne (Richard Coles)5f1c9432014-08-12 13:47:38 +010039 "//extensions/browser",
40 "//extensions/common",
Ben Murdoch116680a2014-07-20 18:25:52 -070041 "//extensions/common/api",
Torne (Richard Coles)5f1c9432014-08-12 13:47:38 +010042 "//extensions/renderer",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010043 "//gin",
44 "//gpu",
45 "//google_apis",
Ben Murdoch116680a2014-07-20 18:25:52 -070046 "//google_apis/gcm",
Ben Murdoche5d81f52014-04-03 12:29:45 +010047 "//ipc",
Torne (Richard Coles)5f1c9432014-08-12 13:47:38 +010048 "//ipc/mojo",
Primiano Tucci1320f922014-09-30 14:45:55 +010049 "//jingle:notifier",
Ben Murdoch116680a2014-07-20 18:25:52 -070050 "//media",
Primiano Tucci1320f922014-09-30 14:45:55 +010051 "//media/blink",
Torne (Richard Coles)5f1c9432014-08-12 13:47:38 +010052 "//media/cast",
Primiano Tucci1320f922014-09-30 14:45:55 +010053 "//media/mojo",
Bo Liu5c02ac12014-05-01 10:37:37 -070054 "//mojo",
Ben Murdoch0529e5d2014-04-24 10:50:13 +010055 "//net",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +010056 "//pdf",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010057 "//ppapi:ppapi_c",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +010058 "//printing",
Primiano Tucci1320f922014-09-30 14:45:55 +010059 "//remoting/client/plugin",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010060 "//sandbox",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +010061 "//sdch",
Ben Murdochc5cede92014-04-10 11:22:14 +010062 "//skia",
Primiano Tucci1320f922014-09-30 14:45:55 +010063 "//storage/browser",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010064 "//sql",
Torne (Richard Coles)5f1c9432014-08-12 13:47:38 +010065 "//sync",
Ben Murdoch116680a2014-07-20 18:25:52 -070066 "//third_party/WebKit/public:all_blink",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010067 "//third_party/angle:translator",
68 "//third_party/brotli",
Ben Murdoch116680a2014-07-20 18:25:52 -070069 "//third_party/cacheinvalidation",
70 "//third_party/cld",
71 "//third_party/cld_2",
Torne (Richard Coles)6d86b772014-06-25 10:30:53 +010072 "//third_party/ffmpeg",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +010073 "//third_party/flac",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010074 "//third_party/harfbuzz-ng",
Ben Murdoch116680a2014-07-20 18:25:52 -070075 "//third_party/hunspell",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010076 "//third_party/iccjpeg",
Ben Murdocha02191e2014-04-16 11:17:03 +010077 "//third_party/icu",
78 "//third_party/leveldatabase",
Ben Murdoch116680a2014-07-20 18:25:52 -070079 "//third_party/libphonenumber",
Primiano Tucci1320f922014-09-30 14:45:55 +010080 "//third_party/libjingle",
Ben Murdochc5cede92014-04-10 11:22:14 +010081 "//third_party/libpng",
Ben Murdoch116680a2014-07-20 18:25:52 -070082 "//third_party/libsrtp",
Ben Murdochc5cede92014-04-10 11:22:14 +010083 "//third_party/libusb",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010084 "//third_party/libwebm",
Ben Murdoch0529e5d2014-04-24 10:50:13 +010085 "//third_party/libwebp",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +010086 "//third_party/libxslt",
Primiano Tucci1320f922014-09-30 14:45:55 +010087 "//third_party/libvpx",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +010088 "//third_party/libyuv",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +010089 "//third_party/lzma_sdk",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +010090 "//third_party/mesa",
Ben Murdoch116680a2014-07-20 18:25:52 -070091 "//third_party/opus",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +010092 "//third_party/ots",
93 "//third_party/protobuf:protobuf_lite",
94 "//third_party/qcms",
Ben Murdochc5cede92014-04-10 11:22:14 +010095 "//third_party/re2",
96 "//third_party/smhasher:cityhash",
97 "//third_party/smhasher:murmurhash3",
98 "//third_party/smhasher:pmurhash",
Ben Murdoch116680a2014-07-20 18:25:52 -070099 "//third_party/snappy",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100100 "//third_party/speex",
Primiano Tucci1320f922014-09-30 14:45:55 +0100101 "//third_party/usrsctp",
Torne (Richard Coles)6d86b772014-06-25 10:30:53 +0100102 "//third_party/widevine/cdm:version_h",
Primiano Tucci1320f922014-09-30 14:45:55 +0100103 "//third_party/webrtc",
Ben Murdochc5cede92014-04-10 11:22:14 +0100104 "//third_party/zlib",
Torne (Richard Coles)010d83a2014-05-14 12:12:37 +0100105 "//third_party:jpeg",
Torne (Richard Coles)5d1f7b12014-02-21 12:16:55 +0000106 "//tools/gn",
Torne (Richard Coles)5f1c9432014-08-12 13:47:38 +0100107 "//tools/imagediff($host_toolchain)",
Primiano Tucci1320f922014-09-30 14:45:55 +0100108 "//ui/accessibility",
Torne (Richard Coles)5f1c9432014-08-12 13:47:38 +0100109 "//ui/app_list",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100110 "//ui/aura",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +0100111 "//ui/base",
Ben Murdoch116680a2014-07-20 18:25:52 -0700112 "//ui/display",
Ben Murdochc5cede92014-04-10 11:22:14 +0100113 "//ui/events",
Ben Murdocha02191e2014-04-16 11:17:03 +0100114 "//ui/gfx",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +0100115 "//ui/gl",
Ben Murdoch116680a2014-07-20 18:25:52 -0700116 "//ui/keyboard",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +0100117 "//ui/native_theme",
Ben Murdoch0529e5d2014-04-24 10:50:13 +0100118 "//ui/resources",
Torne (Richard Coles)cedac222014-06-03 10:58:34 +0100119 "//ui/snapshot",
120 "//ui/strings",
121 "//ui/surface",
Ben Murdoch116680a2014-07-20 18:25:52 -0700122 "//ui/views",
123 "//ui/views/controls/webview",
124 "//ui/web_dialogs",
Ben Murdoche5d81f52014-04-03 12:29:45 +0100125 "//url",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +0100126 "//v8:v8",
Torne (Richard Coles)5d1f7b12014-02-21 12:16:55 +0000127 ]
Ben Murdocha02191e2014-04-16 11:17:03 +0100128
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100129 if (!is_win) {
Torne (Richard Coles)6d86b772014-06-25 10:30:53 +0100130 deps += [ "//breakpad:symupload" ]
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100131 }
132
Ben Murdocha02191e2014-04-16 11:17:03 +0100133 if (is_linux) {
134 deps += [
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100135 "//dbus",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +0100136 "//third_party/fontconfig",
Ben Murdocha02191e2014-04-16 11:17:03 +0100137 "//third_party/freetype2",
138 ]
139 }
140
Torne (Richard Coles)5f1c9432014-08-12 13:47:38 +0100141 if (use_x11) {
142 deps += [ "//tools/xdisplaycheck" ]
143 }
144
Primiano Tucci1320f922014-09-30 14:45:55 +0100145 if (use_aura) {
146 deps += [ "//ui/wm" ]
147 }
148
Torne (Richard Coles)cedac222014-06-03 10:58:34 +0100149 if (is_win) {
150 deps += [
151 "//ui/metro_viewer",
152 ]
153 }
154
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +0100155 if (is_win || is_mac || is_chromeos) {
156 # RLZ works on these platforms.
157 deps += [
158 "//rlz:rlz_lib",
159 ]
160 }
161
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100162 if (cpu_arch == "x86" || cpu_arch == "x64") {
163 # YASM is x86/x64 only.
164 deps += [ "//third_party/yasm($host_toolchain)" ]
165 }
166
Ben Murdocha02191e2014-04-16 11:17:03 +0100167 if (is_android) {
Ben Murdoch116680a2014-07-20 18:25:52 -0700168 deps += [
Primiano Tucci1320f922014-09-30 14:45:55 +0100169 "//third_party/openmax_dl/dl",
170 "//content/shell/android:content_shell_apk",
Torne (Richard Coles)03b57e02014-08-28 12:05:23 +0100171 "//ui/android:ui_java",
Torne (Richard Coles)03b57e02014-08-28 12:05:23 +0100172 "//third_party/android_tools:android_gcm_java",
173 "//third_party/android_tools:uiautomator_java",
174 "//third_party/android_tools:android_support_v13_java",
175 "//third_party/android_tools:android_support_v7_appcompat_java",
176 "//third_party/android_tools:android_support_v7_mediarouter_java",
Primiano Tucci1320f922014-09-30 14:45:55 +0100177 "//third_party/eyesfree:eyesfree_java",
Ben Murdoch116680a2014-07-20 18:25:52 -0700178 ]
179
Ben Murdocha02191e2014-04-16 11:17:03 +0100180 deps -= [
Torne (Richard Coles)03b57e02014-08-28 12:05:23 +0100181 "//apps", # Needs testing.
Primiano Tucci1320f922014-09-30 14:45:55 +0100182 "//chrome/browser",
183 "//chrome/browser/devtools",
184 "//chrome/common",
185 "//chrome/plugin",
186 "//chrome/renderer",
187 "//chrome/utility",
188 "//content/shell:content_shell",
Torne (Richard Coles)5f1c9432014-08-12 13:47:38 +0100189 "//extensions/browser",
190 "//extensions/common",
Ben Murdoch116680a2014-07-20 18:25:52 -0700191 "//extensions/common/api",
Torne (Richard Coles)5f1c9432014-08-12 13:47:38 +0100192 "//extensions/renderer",
Torne (Richard Coles)46d4c2b2014-06-09 12:00:27 +0100193 "//pdf", # Not compiled on Android in GYP yet, either.
Torne (Richard Coles)cedac222014-06-03 10:58:34 +0100194 "//ppapi:ppapi_c",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100195 "//third_party/libusb",
Ben Murdoch116680a2014-07-20 18:25:52 -0700196 "//ui/keyboard", # Blocked on content.
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100197
198 # Seems to not be compiled on Android. Otherwise it will need a config.h.
199 "//third_party/libxslt",
200
Ben Murdoch116680a2014-07-20 18:25:52 -0700201 # Not relevant to Android.
202 "//ash",
Ben Murdocha02191e2014-04-16 11:17:03 +0100203 "//tools/gn",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100204 "//ui/aura",
Ben Murdoch116680a2014-07-20 18:25:52 -0700205 "//ui/display",
206 "//ui/views",
207 "//ui/views/controls/webview",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100208
209 # Fails on Android for unknown reasons.
210 "//third_party/flac",
Torne (Richard Coles)6d86b772014-06-25 10:30:53 +0100211 "//breakpad:symupload",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100212
Torne (Richard Coles)cedac222014-06-03 10:58:34 +0100213 # Not tested on Android yet:
Ben Murdoch116680a2014-07-20 18:25:52 -0700214 "//google_apis/gcm",
Primiano Tucci1320f922014-09-30 14:45:55 +0100215 "//remoting/client/plugin",
216 "//storage/browser",
Ben Murdoch116680a2014-07-20 18:25:52 -0700217 "//third_party/cld_2",
Torne (Richard Coles)6d86b772014-06-25 10:30:53 +0100218 "//third_party/ffmpeg",
Torne (Richard Coles)5f1c9432014-08-12 13:47:38 +0100219 "//ui/app_list",
Ben Murdoch116680a2014-07-20 18:25:52 -0700220 "//ui/web_dialogs",
Ben Murdocha02191e2014-04-16 11:17:03 +0100221 ]
222 }
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100223
224 if (use_ozone) {
225 deps += [
Torne (Richard Coles)5f1c9432014-08-12 13:47:38 +0100226 "//ui/ozone",
227 "//ui/ozone/demo",
Torne (Richard Coles)f8ee7882014-06-20 14:52:04 +0100228 ]
229 }
Torne (Richard Coles)03b57e02014-08-28 12:05:23 +0100230
Primiano Tucci1320f922014-09-30 14:45:55 +0100231 # Non-mobile builds.
232 if (!is_android && !is_ios) {
233 deps += [
234 "//device/usb",
235 ]
236 }
237}